自然语言处理(NLP)相关学习资料/资源(持续更新)

自然语言处理(NLP)相关学习资料/资源

1. 书籍推荐

自然语言处理方面

自然语言处理导论

作者:张奇,桂韬,黄萱菁

出版社:电子工业出版社;出版年:2023;页数:592

内容简介:全面地介绍了NLP任务,系统描述了基于规则、统计和深度学习的NLP方法,能够对自然语言处理的基础理论、关键技术、常见模型和实际应用进行学习。

 

统计自然语言处理(第2版)

作者:宗成庆

出版社:清华大学出版社;出版年:2013;页数:570

内容简介:系统地描述了神经网络之前的基于统计的NLP方法,能够对NLP各项任务以及经典的算法学习了解。

 

数学之美(第2版)

作者:吴军

出版社:人民邮电出版社;出版年:2014;页数:312

内容简介:讲解了NLP里常用的数学模型,并把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。

 

 

大规模语言模型:从理论到实践

作者:张奇,桂韬,郑锐,黄萱菁

出版社:电子工业出版社;出版年:2024;页数:320

内容简介:全面地介绍了大语言模型基础理论、预训练方法、指令学习和大模型应用。

 

Speech and Language Processing (3rd)

作者:Dan Jurafsky and James H. Martin

Draft chapters in progress

在线网址:https://web.stanford.edu/~jurafsky/slp3/

内容简介:由NLP领域极具影响力的学者Dan和James编写,从第一版开始就很全面系统地描述了NLP领域的各个任务以及常用模型,目前最新第三版还未正式出版,已更新到2024年8月,该版本加入了近几年神经网络方法和大语言模型的内容,是一本极全面经典的NLP书籍。

 

Neural Network Methods for Natural Language Processing

作者:Yoav Goldberg

出版社:Morgan & Claypool Publishers;出版年:2017;页数:310

内容简介:专注神经网络在NLP上的应用,适合初学者入门,主要包括常用的前馈神经网络、卷积神经网络和循环神经网络在NLP上的应用。

 

机器学习方面

统计学习方法(第2版)

作者:李航

出版社:清华大学出版社;出版年:2019;页数:464

内容简介:全面系统地介绍了统计学习的主要方法,包括SVM、最大熵、随机条件场等主流模型。注重模型的原理和公式推导,并有例子,适合对机器学习方法理论的推导学习。第2版新增了无监督学习的相关内容。

 

机器学习

作者:周志华

出版社:清华大学出版社;出版年:2016;页数:425

内容简介:西瓜书以生动形象的例子和图解来介绍机器学习的主要方法,更适合初学者阅读。

 

Deep Learning

作者:Ian Goodfellow, Yashua Bengio, and Aaron Courville

出版社:The MIT Press;出版年:2016;页数:800

内容简介:深度学习权威书籍,系统全面介绍了各种神经网络方法包括其发展历史,更推荐阅读英文原版。

 

人工智能方面

人工智能:一种现代的方法(第3版)

Artificial Intelligence:A Modern Approach (3rd Edition)

作者:Stuart J.Russell,Peter Norvig

出版社:清华大学出版社;出版年:2013;页数:918

内容简介:被广泛使用的经典人工智能教材,内容很丰富,包括了人工智能经典算法,讲解清晰。

 

2. 网络课程推荐

UFLDL Tutorial

网址:http://ufldl.stanford.edu/tutorial/

主讲人:Andrew Ng等人

内容简介:这是stanford一个比较早期的DL(DeepLearning)教程,例如如何使用栈式自编码器构建深度前馈神经网络。内容精短,易于早期入门,快速上手。其实目前无论各种高级的神经网络都离不开最基本的BP(前向后向传播)算法。

deeplearning.ai

网址:https://www.deeplearning.ai/deep-learning-specialization/

主讲人:Andrew Ng等人

内容简介:近期开设的DL公开课,通俗易懂,适合入门。

CSC321 Neural Networks for Machine Learning

网址:http://www.cs.toronto.edu/~hinton/coursera_lectures.html

主讲人:Hinton等人

内容简介:多伦多大学的神经网络机器学习课程,早期是由Hinton本人上课,需要有一定的基础。

CS224N: Natural Language Processing with Deep Learning

网址:http://web.stanford.edu/class/cs224n/

主讲人:Chris Manning等人

内容简介:斯坦福大学的基于深度学习的自然语言处理课程,每年都会有所更新,内容包括了最新的一些基于深度学习的NLP进展。

3. 学术博客推荐

 Google AI Blog

网址:https://ai.googleblog.com/

内容简介:谷歌AI官网博客,很多他们自己的工作也都会在blog上进行介绍。

OpenAI News

网址:https://openai.com/news/

内容简介:OpenAI官网新闻,很多最新发布的技术都在上面有相关介绍,适合跟踪大模型最新动态。

Sebastian Ruder

网址:https://ruder.io/#open

内容简介:NLP学者Sebastian Ruder的个人博客,经常会撰写一些技术博客和参加顶会的感想总结,十分值得学习。包括他整理的NLP-progress项目,可以了解NLP各个任务的SOTA。

Colah‘s blog

网址:https://colah.github.io/

内容简介:虽然现在不怎么更新了,但是之前的一些blog很经典,适合初学者对神经网络的学习理解,当时火热的“Understanding LSTM Networks”就是出自于此。

4. 文献管理工具推荐

 Mendeley

网址:https://www.mendeley.com/

内容简介:免费强大的文献管理工具,具有自动识别文章基本信息、检索、标记、邮件推送等功能。界面简洁、良好,推荐阅读管理文献使用。现在更新为Mendeley Reference Manager。

 

Zotero

网址:https://www.zotero.org/

内容简介:与Mendeley类似的软件。主要优势在于组织和检索。

 

Endnote

网址:https://endnote.com/

内容简介:个人认为在阅读文献时没有Mendeley方便,但是在word插入参考文件功能上比Mendeley流畅一些,看个人喜好。

 

5. 学术论文检索网站推荐

Google Scholar

网址:https://scholar.google.com/

内容简介:全球使用广泛的论文检索网站,每篇论文可以看到被引情况,可以通过设置直接导入Endnote。你还可以建立自己的Google Scholar主页,会根据你的研究进行推荐。

dblp

网址:https://dblp.uni-trier.de/

内容简介:一个计算机学科的文献集成数据库系统,可以根据作者、会议、期刊等分类来找到相关文献,适合需要调研某个特定期刊、会议、作者时使用。

arXiv

网址:https://arxiv.org/

内容简介:一个收录科学文献预印本的在线数据库,科研工作者可以发布未正式出版物的论文,用于同行交流。能够了解研究领域的最新进展。

ACL Anthology

网址:https://aclweb.org/anthology/

内容简介:一个收录计算语言学研究论文的数字档案,对所有人免费开放。它包括NLP领域杂志(Computational Linguistics journal),以及许多相关顶会的文献,例如ACL, EMNLP, NAACL,  COLING等。

中国知网

网址:https://www.cnki.net/

内容简介:国内中文论文检索库,NLP可以重点关注《计算机学报》、《软件学报》、《计算机研究与发展》、《中文信息学报》等期刊,以及一些优秀博士论文。

6. NLP工具推荐

Stanford CoreNLP

网址:https://stanfordnlp.github.io/CoreNLP/

主要支持语言:Arabic, Chinese, English, French, German, Spanish

计算机语言:Java, Python

功能:

  • Part-of-speech (POS) tagger
  • Named entity recognizer (NER)
  • Parser
  • Coreference resolution system
  • Sentiment analysis
  • Bootstrapped pattern learning
  • Open information extraction

内容简介:CoreNLP是斯坦福NLP组集合了他们在NLP上的研究所开发,在各项任务上都有不错的表现,被广泛使用。虽然支持中文,但是中文效果不是很理想

NLTK

网址:http://www.nltk.org/

主要支持语言:English

计算机语言:Python

功能:

  • WordNet
  • Classification
  • Tokenization
  • Stemming
  • Tagging
  • Parsing
  • Semantic reasoning

内容简介:NLTK由宾夕法尼亚大学计算机和信息科学系开发的一个Python开源项目。提供NLP各种任务功能以及一些文本预处理、特征生成等相关函数。

spaCy

网址:https://spacy.io/

主要支持语言:English, Spanish, German, Chinese, and more

计算机语言:Python

功能:

  • Tokenization
  • Part-of-speech tagging
  • Name entity recognition
  • Sentiment analysis
  • Dependency parsing
  • Custom pipelines

内容简介:spaCy是一个开源的自然语言处理库,专为生产环境设计,支持多种语言。它旨在提供高性能和易用性,使得开发者可以快速构建文本处理管道。spaCy拥有丰富的功能,包括文本分词、词性标注、命名实体识别等,并支持用户自定义模型和管道,以适应特定的NLP任务。此外,spaCy还提供了大量的预训练模型,可以用于快速启动项目。

Gensim

网址:https://radimrehurek.com/gensim/index.html

支持语言:根据语料语言而定

计算机语言:Python

主要功能:计算文本之间相似度

内容简介:Gensim是一款开源的第三方Python工具包,主要用于从原始的非结构化的文本中,得到文本的向量表达。它支持包括TF-IDF、LSA、LDA、word2vec等在内的多种算法,支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。

AllenNLP

网址:https://allennlp.org/

主要支持语言:English

计算机语言:Python, 需要PyTorch框架

主要功能:实现了大量先进的基于深度学习的NLP模型

内容简介:AllenNLP是Allen AI实验室的作品,基于PyTorch开发,实现了大量基于深度学习的先进模型。例如Transformer、BERT、ELMo、BiLSTM-CRF等模型。

LTP

网址:http://ltp.ai/index.html

主要支持语言:Chinese

计算机语言:C++, Java, Python

主要功能:

  • 分词
  • 词性标注
  • 命名实体识别
  • 依存句法分析
  • 语义角色标注

内容简介:语言技术平台(Language Technology Platform,LTP)是哈工大社会计算与信息检索研究中心开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等中文处理核心技术),以及基于动态链接库(Dynamic Link Library, DLL)的应用程序接口、可视化工具,并且能够以网络服务(Web Service)的形式进行使用。

HanLP

网址:http://hanlp.com/

主要支持语言:Chinese

计算机语言:Java,有Python接口

主要功能:

  • 分词
  • 词性标注
  • 命名实体识别
  • 关键词提取
  • 自动摘要
  • 短语提取
  • 文本推荐
  • 依存句法分析
  • 文本分类
  • 文本聚类

内容简介:HanLP是一系列模型与算法组成的NLP工具包,主要由何晗开发,HanLP从v1.3版本起至v1.6正式由大快搜索主导开发,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版。

PaddleNLP

网址:https://github.com/paddlepaddle/models#PaddleNLP

主要支持语言:Chinese

计算机语言:Python接口

主要功能:

  • 词法分析
  • 语言模型
  • 语义表示
  • 文本生成
  • 情感分析
  • 机器翻译
  • 对话系统

内容简介:PaddleNLP是基于百度PaddlePaddle深度学习框架开发的自然语言处理工具、算法、模型和数据的开源项目。

NLPIR-ICTCLAS

网址:http://ictclas.nlpir.org/

主要支持语言:Chinese

计算机语言:C#, C++, Java

主要功能:

  • 中文分词
  • 词性标注
  • 命名实体识别
  • 新词识别
  • 关键词提取

内容简介:前身是中科院分词系统ICTCLAS,由张华平博士主导开发。NLPIR系统支持多种编码、多种操作系统、多种开发语言与平台。

THULAC

网址:https://github.com/thunlp/THULAC

主要支持语言:Chinese

计算机语言:C++, Java, Python

主要功能:

  • 中文分词
  • 词性标注

内容简介:THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。

pkuseg

网址:https://github.com/lancopku/pkuseg-python

主要支持语言:Chinese

计算机语言:Python3

主要功能:

  • 中文分词
  • 词性标注

内容简介:由北京大学语言计算与机器学习研究组开发的一个多领域中文分词工具包,具有多领域分词的特点。目前支持了新闻领域、网络领域、医药领域、旅游领域以及混合领域的分词预训练模型。

jieba

网址:https://github.com/fxsjy/jieba

主要支持语言:Chinese

计算机语言:Python, Java, C++等

主要功能:

  • 中文分词
  • 词性标注
  • 关键词抽取

内容简介:支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。支持繁体分词。 支持自定义词典。可以并行分词,速度快。

7. 大语言模型相关项目

LLaMA-Factory

网址:https://github.com/hiyouga/LLaMA-Factory

项目简介:LLaMA-Factory是一个开源的大模型微调框架,它提供了一个简便、高效的工具,使得开发者可以在现有的预训练模型基础上,快速适应特定任务需求,提升模型表现。这个框架支持多种流行的预训练模型,如LLaMA、BLOOM、Mistral、Baichuan等,并涵盖了广泛的应用场景。LLaMA-Factory的特点包括:支持多种模型、集成多种训练方法、多种运算精度和优化算法、用户友好的界面、实验监控、极速推理等。

Firefly: 一站式大模型训练工具

网址:https://github.com/yangjianxin1/Firefly

内容简介:Firefly 是一个开源的大模型训练项目,支持对主流的大模型进行预训练、指令微调和DPO,包括但不限于Qwen2、Yi-1.5、Llama3、Gemma、Qwen1.5、MiniCPM、Llama、InternLM、Baichuan、ChatGLM、Yi、Deepseek、Qwen、Orion、Ziya、Xverse、Mistral、Mixtral-8x7B、Zephyr、Vicuna、Bloom等。 本项目支持全量参数训练、LoRA、QLoRA高效训练,支持预训练、SFT、DPO。

LangChain

网址:https://github.com/langchain-ai/langchain

项目简介:LangChain是一个开源的、基于Python的库,旨在构建和部署使用大型语言模型(LLMs)的应用程序。它提供了一套工具和框架,使得开发者能够轻松地将LLMs集成到他们的项目中,无论是用于数据提取、文本生成、问答系统还是其他多种用途。

 

 

posted on 2019-12-13 16:54  robert_ai  阅读(2449)  评论(0编辑  收藏  举报