研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?

NLP 和语言学有很大关系,感觉要做些高端的东西,需要把语言的本质好好理解一番。有哪些值得推荐的语言学方面的书籍呢?包括卢梭的论语言的起源等一类的。
收藏者
0
被浏览
138

5 个回答

pxwwwd LV

发表于 2025-4-9 11:24:10

书单比较长,请访问原文: 2019 最佳自然语言工具书籍

Natural Language Processing with TensorFlow - 2018.pdf



研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?-1.jpg



图片.png

https://github.com/PacktPublishing/Natural-Language-Processing-with-TensorFlow
Mastering Natural Language Processing with Python - 2016.pdf



研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?-2.jpg



图片.png

精通Python自然语言处理.pdf
斯坦福权威教程  Speech and Language Processing (3rd edition in making) - Dan Jurafsky, James H. Martin  可在线下载



研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?-3.jpg



图片.png

适合人群:初级到中级学者
推荐指数:★★★★★
主要内容:本书内容涵盖了自然语言处理的方方面面,从底层的词法分词、语法分析和语义分析,到和应用更为接近的自然语言处理任务,如信息抽取、机器翻译、自动问答、文本摘要、对话系统等。书中将自然语言处理、计算语言学以及语音识别等内容融合在一起,把各种技术相互联系起来,让读者了解怎样才能最佳地利用每种技术,怎样才能将各种技术结合起来使用。
推荐理由:最经典的自然语言处理的入门教程,也被国外许多著名大学选为自然语言处理和计算语言学课程的主要教材。本书写作风格引人入胜,深入技术细节而又不让人感觉枯燥,不仅可以作为高等学校自然语言处理和计算语言学等课程的本科生和研究生教材,对于自然语言处理相关领域的研究人员和技术人员也是不可或缺的权威参考书。
斯坦福权威教程  Foundations of Statistical Natural Language Processing - Chris Manning, Hinrich Schütze -- 有点老



研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?-4.jpg



image

主要内容:本书涵盖的内容十分广泛,分为四个部分,共16章,包括了构建自然语言处理软件工具将用到的几乎所有理论和算法。全书的论述过程由浅入深,从数学基础到精确的理论算法,从简单的词法分析到复杂的语法分析,适合不同水平的读者群的需求。同时,《统计自然语言处理基础:国外计算机科学教材系列》将理论与实践紧密联系在一起,在介绍理论知识的基础上给出了自然语言处理技术的高层应用(如信息检索等)。
推荐理由:经典的统计自然语言处理的入门教材。内容涉及统计自然语言处理用到的数学基础,词法到语法分析,以及自然语言处理的基本任务(比如文本分类、聚类,统计机器翻译,以及信息检索)。本教材成书较早(1999年),但是自然语言处理领域的基本概念和任务没有太大的变化,仍然适用于初学者快速了解自然语言处理相关的概念和任务。
Foundations of Statistical Natural Language Processing - 1999.pdf

88h8 LV

发表于 2025-4-9 11:38:42

我看大家把主流的图书都推荐了,我推荐一下国内外的导师及其团队吧。其实个人感觉好的团队比好的书籍更重要,毕竟NLP圈技术更新换代非常快(我一个朋友刚给他的团队培训完elmo,以便于让大家替换掉常用的w2v、glove和fasttext,结果刚培训完几天就出现bert了。。。其实elmo出现时间也还不长),图书相对paper劣势太大了。
NLP要想学好,我个人感觉一方面是个人的努力,另一方面也需要名师的指点。暂且不说名师跟非名师在能力、经验、眼界和学术品位方面的差异,单就资源方面两者就没可比性。好的资源可以更快的提高一个人的能力,在学习之前先找到好的资源可能更重要,磨刀不误砍柴工嘛。
至于好的资源,可以参考我的文章:
cstghitpku:国内外NLP领域学术界和工业界的牛人和团队祝好!

LJZ LV

发表于 2025-4-9 11:52:12

首先,做nlp不一定要很懂语言学,也不一定要跟语言学扯上关系。nlp可以仅是data mining,features engineering, 也的确有很多work目前在用文本或者对话做为数据集,然后用统计学方法实现目的,比如deep learning 。在某些任务上统计学模型功不可没,比如machine translation, speech recognition, question answering, etc.
如果题主只是对nlp的应用感兴趣,想泛泛了解一下目前进展的话,以上几个回答已经非常详细了,我接下来的回答可以不用看。许多主流大公司目前的力度都在deep learning, 学好nlp基本知识,做工程就够了(当然你还需要cs的background), 语言学的东西不用太深入研究。
-------------------------------------3.17 update-------------------------------
看了一下其他答案,大家的讨论和见解都很有趣,上来更新一点。
大多数人对nlp和语言学联系的了解,在于认为rule-based的nlp就是基于语言学。的确rule-based是语言学里广泛使用的,尤其是语法(syntax, syntactic structure)。现在machine learning的发展已经可以将rules转换为hidden states,人不用去操心提出大量rules来做exhaustive search。

但computational linguistics所包含的,远远大于rules。人类语言是漫长历史进化的高级产物,远不是成千上万个rules能描述清楚的。能被nlp利用的语言学,除了枚举rules外还有很多很多。
比如定义。个人认为,在研究任何问题前,都必须要想清楚你的问题是什么,怎么定义。许许多多nlp research都是基于语言学上的定义,像我下文会提到的semantics, grammar。可是如果没有从沿用语言学的定义到nlp,这个0到1的过程,最早做researchers的人该如何想明白他们的research question?
做对话系统的同学应该很熟悉dialogue acts. 现在的对话系统发展迅猛,很多新应用都基于reinforcement learning, 并且取得显著成就。尤其是某些task-oriented dialogue generator, 早就不是十多年前的rule-based system了。但任何一个系统在设计之初都要采用dialouge acts定义(当然还有其他定义),来明确该系统的目的。不然该系统如何区分wh-question, yes-no question, greetings, 还有其他?(如果觉得见到“wh-”开头,问号结尾,就是一个wh-question rule, 那我不知道该说什么好了)

以上讨论不在于反驳其他答主。很开心看到这么多人对nlp有热情并且愿意分享。只是做为一个看过很多nlp research,并且投身于natural language understanding(还稍微有点爱较真)的科研工作者,想要澄清人们对nlp和computational linguistics的一些误解做的小贡献。

明确自己的research task并且贯彻到底是好事,如果要做language modeling,基于machine learning/deep learning, 那真的不用费时间在语言学上。但觉得语言学是rule based已经过时了被淘汰了,这个锅语言学真的背的有点冤呀。
----------------------(我真的不能再答题了该赶due了....)---------------------------
接下来的回答是,给真正对computational linguistics和nlp本身感兴趣的,对某些语言现象感兴趣,并打算在这条路上开始钻研的同学的一些建议。(想忽略细节的同学请直接拉到答案最后找reference)

=========================枯燥理论高能预警========================

人大脑工作不是靠probablistic language modeling,咱们谁的脑袋里都不会听到一个词然后跑一遍hidden markov,毕竟也进化了这么多年了不是。
与nlp相关,跟概率论并进的,除了传统的语言学,还有logic呢,Lofti Zadeh老爷爷研究了一辈子的fuzzy logic,也是在探究semantics&world knowledge (再次感谢老爷爷的贡献,r.i.p)。
我也并不是在强调概率模型不重要,概率模型和现在很火的deep learning architecture像是基本功一样,而且是很好用的工具,其他答主已经强调很多,我就不再重复了。 除了这些,还有很多知识可以深入了解。
另外,语言学自身是个很大又很宽泛,又互相交叉的学科。有很多研究是跟literatures and arts有关,有的是跟cognitive science有关,还有neuroscience, mathematics, education, psychology, etc。我涉猎有限,在此只能回答跟computational linguistics有关("to the best of my knowledge")。
回归正题。语言学方面的书籍有很多,我接下来谈一下应该如何选和如何看。以下讨论只限英文,中文的工作我不了解,希望其他答主可以帮忙。
Grammar是我会首先推荐的方向。Grammar分为morphology&syntax. 在这里我主要指syntax.细节可以看Chomsky, Michael Colins, Jason Eisner等人的工作。现在大家用的最多的应该是stanford的syntactic parsing吧。这方面的工作已经很成熟,要处理语言基本是拿来就能用了。 但是语法树到底是什么,怎么构建,syntatic parsing优势,如何处理ambiguity,  想要做computational linguistics的话,这些很有必要知道。最基本的例子是,当用parser来处理你的句子,你起码要能看懂这个parser output是否make sense.
接着我会推荐Semantics. 这个部分是我做最多的,感觉也是被误解最多的。尤其推荐 “Meaning in language: An introduction to Semantics and Pragmatics.” 我并没有看完。Semantics是个很复杂的研究,可以涉及到语法,句法,world knowledge, 但最终还是回归semantics自身。目前nlp里很火的有distributional semantic representation (word embedding, phrase embedding, sentence embedding, etc), semantic parsing (logical form, etc), 等等等等。同一句话可以表达的意思太多了,同一个意思带来的表达形式也太多了。一个简单句子里包含的意思会涉及到当下对话双方的情景,以前或者以后会发生的事,等等。举个个人很喜欢的例子:

  • 2016年美国大选first presidential debate, Clinton vs Trump, 当trump被问到 “does the public's right to know outweigh your personal .. (taxes)”, Trump: "... I will release my tax returns -- against my lawyer's wishes -- when she releases her 33000 emails that have been deleted. As soon as she releases them, I will release. ". 最后一句话(粗体)包含的语意有:

  • 等Hilary公开邮件记录之后,我就公开我的税务信息(动作和时间点);
  • Hilary没公开,我也没公开(当下既定事实);
  • Hilary不愿公开,我也不愿公开(sentiment)。
  • She -- Clinton, I, my, -- Trump, them -- 33000 emails (co-reference).
第一层意思是直观semantics, 能够被目前的semantic representation捕捉到。第二层是presupposition, 代表着在说话当下当事人双方默认已经发生的事情,是semantics研究中的难点;第三层包含了sentiment, 做情感分析的同学应该很了解,能否被目前的classifier捕捉到我不清楚。第四层是现在也很火的coreference resolution, 虽然原文里没有明确指代每个人称代词,但听众和当事人很直接能把每个人物代入,甚至包括Trump省略的"I will release (my taxes)". 目前的co-reference resolution,e.g. stanford corenlp,  可以解决前三个代词,但省略的部分似乎还做不到。
(我还有很多例子,有空再上来更新)
对Semantic要求最高也是最难的,在nlp中应该是在natural language understanding相关应用了。Semantics里包含了太多太多的现象,如果能稍微研究并且model其中一小部分,对downstream application来说都会是一个很大的boost。前段时间有个shared task,叫 "hedge detection",目的是找出文本信息中的hedges and cues。大部分人会关注这个shared  task下哪个模型做的最好,个人认为难点是在定义。有“but”,"however"出现语意就一定转折了么?如果被转折,是所在句子,还是段落还是一个小phrase呢?有dependency存在么? 另一个相似shared task是negation detection. 想要理解这些问题本身和其难点所在,computational linguistics的前期知识储备是并不可少的。
以上两个方面应该可以展现一个big picture:前者代表语言结构是如何构建的,后者代表meaning是如何被赋予到某种结构里面的。
------------小分割线-------------
除了大框架外,小的方向取决于你的兴趣和目标所在。对话?文本?natural language understanding or natural language generation?
另外提两个我觉得必看的,很重要的理论,是computational pragmatics范畴里的:Grice's maxims,Rational Speech Act(RSA). 这两个理论其实紧密相关。 前者理论关于谈话双方为了有效沟通会有意识的遵守的一些principle, (同时可见“cooperative principle”), 后者关于为了达到这种有效沟通,对话当中存在的一种recursive process, 并且是bayesian inference. 如果你的工作跟 inference, reasoning相关,请一定要阅读。做对话系统的应该已经很熟悉了。
最后一个比较偏门的方向是我前面提到的fuzzy logic。目前还是有researcher继承Zadeh老爷爷的衣钵,并且用fuzzy logic做出了很多natural language generation, information extraction方面的成就。个人经验而言,我博士第一年(2014)一直在关注deep learning/machine learning方面,当时觉得它们是万能的。直到第二年夏天在忙一个project, 阅读了Zadeh老爷爷的大量工作,才感觉自己一直在以很片面的眼光看research。当时真的做了满满一本笔记。

研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?-1.jpg


===========================好累先写到这=========================
最后,如果兴趣在建modeling,deep learning architecture, 语言学方面的part-of-speech也好,parsing也好,都只是你的工具;
同样,如果兴趣在computational linguistics,语言现象,deep learning/machine learning都是你的工具。
取决与你的任务是什么,取决于你有没有完全dedicated的信心。毕竟巴菲特和Geff Hinton是少数,大多数人都无法预测20年后火的适合什么。

感谢阅读。希望能给在犹豫是否开始computational linguistics和nlp研究同学们一些帮助。
(任何不准确的地方还请大家指正)
=============================================================
Reference:
(大方向书籍,我要是能全部买下来就好了...并没有全部看完,有的只是看过某一章节。Grammar和syntax知乎里面有很多问答跟这方面有关,在此不重复了。)
Cruse, Alan. "Meaning in language: An introduction to semantics and pragmatics." (2011).
Karttunen, Lauri (1974) [1]. Theoretical Linguistics 1 181-94. Also in Pragmatics: A Reader, Steven Davis (ed.), pages 406-415, Oxford University Press, 1991.
Kadmon, Nirit. "Formal pragmatics semantics, pragmatics, presupposition, and focus." (2001).
Levinson, Stephen C. Pragmatics.Cambridge: Cambridge University Press, 1983, pp. 181-184.
Wardhaugh, Ronald. An introduction to sociolinguistics. John Wiley & Sons, 2010. (这本书的影响力很大,有很多跟social science的讨论)
(具体其他上面提到的,每一篇我都仔细读过的)
Grice's Maxims
Monroe, Will, and Christopher Potts. "Learning in the rational speech acts model." arXiv preprint arXiv:1510.06807 (2015).(这篇是关于rsa如何被用于具体task上的)
Farkas, Richárd, et al. "The CoNLL-2010 shared task: learning to detect hedges and their scope in natural language text." Proceedings of the Fourteenth Conference on Computational Natural Language Learning---Shared Task. Association for Computational Linguistics, 2010. (上文提到的hedge and cues shared task,关于linguistics里的现象是如何被formulate成nlp问题的)
Morante, Roser, and Eduardo Blanco. "* SEM 2012 shared task: Resolving the scope and focus of negation." Proceedings of the First Joint Conference on Lexical and Computational Semantics-Volume 1: Proceedings of the main conference and the shared task, and Volume 2: Proceedings of the Sixth International Workshop on Semantic Evaluation. Association for Computational Linguistics, 2012. (negation 的shared task)
最后附上两篇老爷爷对我影响最大的:
Zadeh, Lotfi Asker. "The concept of a linguistic variable and its application to approximate reasoning—I." Information sciences 8.3 (1975): 199-249.
Zadeh, Lotfi A. "The concept of a linguistic variable and its application to approximate reasoning—II." Information sciences 8.4 (1975): 301-357.( 这系列work分两部。)
Zadeh, Lotfi A. "Toward a theory of fuzzy information granulation and its centrality in human reasoning and fuzzy logic." Fuzzy sets and systems 90.2 (1997): 111-127.


研究 NLP(自然语言处理)的大神有哪些值得推荐的语言学方面的书籍?-2.jpg

晴天 LV

发表于 2025-4-9 12:06:55

您说这话可外行了啊。玩NLP的集体diss语言学家您难道不知道么?NLP,shallow的用统计,deep的用机器学习。不需要(至少目前)依靠语言学的那一套理论。

这个原因在哪里呢。你如果用规则(语法)做NLP,算法复杂度会巨大无比。可能一个小段落就要用超级计算机了。

找几本统计,机器学习的书好好看吧。当然其他的书,玩票着看绝对没毛病。但是核心,还是数学,统计,机器学习,这个顺序可千万不能错。

cuiweizuishuai LV

发表于 2025-4-9 12:16:27

不是大神,简单说一些我自己看过的书吧。不过题主没讲自己偏向于工程还是学术,如果是工程,其实看多少书都没有自己动手做一些应用好。如果是学术,其实看书也仅仅是了解一下过去十几年都研究了些什么东西,主要还是看每年NLP领域的顶会论文。如果你对NLP和语言学的关系有困惑,你可以先看一下<统计自然语言处理>(宗成庆)的前几章。
工程方面我大概看过几本

  • Python自然语义处理。 比较简单的一本书,使用NLTK做一些简单的工作。不会有公式推导,也不会介绍算法背后的原理,属于入门读物吧。
  • 数学之美。吴军博士写的,确实是一本不错的书,这本书我还没读完就没看了。里面会介绍一些自然语义处理的概念和应用。和Python自然语言处理差不多属于入门读物吧。
  • 机器学习系统设计。 也是一本比较简单的书,但是这种工程性的书都会教你怎么做一些简单的应用。比如让你做一些句子相似度计算,做一下主题模型,情感分析之类的应用。也是属于比较入门级别的。
  • http://www.aioptify.com/topmldmbooks.php
如果是偏学术,我看过的几本书

  • 统计学习方法。李航老师的作品,好像大家都知道这本书吧。理论性比较强,我自己也觉得不错。如果对数学不那么讨厌,可以买回来慢慢看。
  • 统计自然语言处理。 很大很厚的一本书,总体来说算是最好的中文读物了。会介绍自然语言处理各个方面的技术。从分词,词性标注,命名实体识别,句法分析,语义分析,文本分类,情感分析到机器翻译,NLP涉及的话题都有提及。每个领域都会介绍一些前人的工作成果。可以跟统计学习方法一起看。
  • Springer出版社的读物了。这个比较贵,可以去网上下载一些PDF版。偏工程的就是PAKDD,NIPS这类的。如果你想看往年的ACL EMNLP,你也可以买。。
好像并没有回答有哪些语言学的书。如果是纯语言学,不如去问问中文系的同学们都用什么书。我说的都是和NLP相关的了,就这样吧,希望对你有帮助。

您需要登录后才可以回帖 登录 | 立即注册