大纲

  • 动机
  • 用例
  • 语言建模
  • 进一步阅读

动机

使机器理解我们的语言一直是我们的梦想。自乔姆斯基提出无语语法以来,语言学家一直希望提出解决方案来理解依赖于语境的语法。因此,学术门徒围绕这一主题进化是很自然的。

用例

人们在许多有趣的应用程序中使用了这个概念。很少有令人兴奋的内容包括谷歌翻译,Siri或Gmail自动回复建议。然而,人们正致力于改进这些预测,并且正在研究如何使机器更可靠地回答问题。

自然语言处理的工作原理

早些时候,NLP采用了基于规则的方法,即所有规则都是硬编码的(例如编写语法)。然而,这对语言模型的变化并不十分有效。 目前,NLP过程使用人工智能进行。它们主要依赖于深度学习,这是一种确定数据模式并使用它来训练模型的AI。这种方法比以前使用的方法更好,因为在学习存在的大量数据时,机器可以专注于大多数常见情况,这对于手写规则来说并不容易,因为关于努力的位置并不明显。 。此外,随着数据的增加,这些模型变得更加可靠,但在早期的方法中,只有通过增加规则的复杂性才能使其准确,这是一项更加困难的任务。 该模型通过分析大型典型的现实世界范例来学习语言规则。这种方法需要大量的标记数据,这对NLP来说是一个很大的障碍。

语言建模

对于那些想要进入这个领域的人,我打算用2个概念开始你。

代号化

这里的任务听起来很简单。给定语料库(句子数据集),生成单个标记(有意义的单词)。我们需要标记单词和句子。想到的第一种方法是按时间和空间划分。然而,这不起作用。想想约翰先生。 “先生”和“约翰”有两句话吗?当然不是。现在考虑连字符分隔的单词。你想把它们分成2个单词还是1个单词?这些困难的问题使得标记化的任务不那么简单。继续从nltk中选择一个语料库,并为你自己的tokeniser创建你自己的正则表达式!

n-gram模型

下一个任务是构建语言模型。在这里,我们考虑假设第n个单词仅取决于之前的n-1个单词。最常用的是2克和3克型号。要构建一个3克模型,只需将3个标记组合在一起,并在语料库中计算它们的频率。您现在已准备好预测一组3个单词的概率!

进一步阅读

NLP的领域是巨大的。如果您已经阅读了这篇文章并且已经实现了上述内容,那么您肯定喜欢这个。继续阅读Jurafsky的书,学习更多新概念。请记住,实施它们也很重要。


Contributing to the Guide

This open source guide is curated by thousands of contributors. You can help by researching, writing and updating these articles. It is an easy and fun way to get started with contributing to open source.