--- title: Introduction to NLP localeTitle: NLP简介 --- ## 大纲 * 动机 * 用例 * 语言建模 * 进一步阅读 ## 动机 使机器理解我们的语言一直是我们的梦想。自乔姆斯基提出无语语法以来,语言学家一直希望提出解决方案来理解依赖于语境的语法。因此,学术门徒围绕这一主题进化是很自然的。 ## 用例 人们在许多有趣的应用程序中使用了这个概念。很少有令人兴奋的内容包括谷歌翻译,Siri或Gmail自动回复建议。然而,人们正致力于改进这些预测,并且正在研究如何使机器更可靠地回答问题。 ## 自然语言处理的工作原理 早些时候,NLP采用了基于规则的方法,即所有规则都是硬编码的(例如编写语法)。然而,这对语言模型的变化并不十分有效。 目前,NLP过程使用人工智能进行。它们主要依赖于深度学习,这是一种确定数据模式并使用它来训练模型的AI。这种方法比以前使用的方法更好,因为在学习存在的大量数据时,机器可以专注于大多数常见情况,这对于手写规则来说并不容易,因为关于努力的位置并不明显。 。此外,随着数据的增加,这些模型变得更加可靠,但在早期的方法中,只有通过增加规则的复杂性才能使其准确,这是一项更加困难的任务。 该模型通过分析大型典型的现实世界范例来学习语言规则。这种方法需要大量的标记数据,这对NLP来说是一个很大的障碍。 ## 语言建模 对于那些想要进入这个领域的人,我打算用2个概念开始你。 #### 代号化 这里的任务听起来很简单。给定语料库(句子数据集),生成单个标记(有意义的单词)。我们需要标记单词和句子。想到的第一种方法是按时间和空间划分。然而,这不起作用。想想约翰先生。 “先生”和“约翰”有两句话吗?当然不是。现在考虑连字符分隔的单词。你想把它们分成2个单词还是1个单词?这些困难的问题使得标记化的任务不那么简单。继续从nltk中选择一个语料库,并为你自己的tokeniser创建你自己的正则表达式! #### n-gram模型 下一个任务是构建语言模型。在这里,我们考虑假设第n个单词仅取决于之前的n-1个单词。最常用的是2克和3克型号。要构建一个3克模型,只需将3个标记组合在一起,并在语料库中计算它们的频率。您现在已准备好预测一组3个单词的概率! ## 进一步阅读 NLP的领域是巨大的。如果您已经阅读了这篇文章并且已经实现了上述内容,那么您肯定喜欢这个。继续阅读Jurafsky的书,学习更多新概念。请记住,实施它们也很重要。