freeCodeCamp/guide/chinese/natural-language-processing/index.md

38 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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的书学习更多新概念。请记住实施它们也很重要。