@ -4,18 +4,18 @@
## [课前测验 ](https://white-water-09ec41f0f.azurestaticapps.net/quiz/31/ )
## [课前测验 ](https://white-water-09ec41f0f.azurestaticapps.net/quiz/31/ )
## 介绍
## 介绍
众所周知,自然语言处理 (Natural Language Processing, NLP) 是机器学习在生产软件中应用最广泛的领域之一。
众所周知,自然语言处理( Natural Language Processing, NLP) 是机器学习在生产软件中应用最广泛的领域之一。
✅ 你能想到哪些你日常生活中使用的软件可能嵌入了自然语言处理技术呢?或者,你经常使用的文字处理程序或移动应用程序中是否嵌入了自然语言处理技术呢?
✅ 你能想到哪些你日常生活中使用的软件可能嵌入了自然语言处理技术呢?或者,你经常使用的文字处理程序或移动应用程序中是否嵌入了自然语言处理技术呢?
你将会学习到:
你将会学习到:
- ** 什么是「语言」**。语言的发展历程,以及相关研究的主要领域。
- ** 什么是「语言」**。语言的发展历程,以及相关研究的主要领域。
- ** 定义和概念**。你还将了解关于计算机文本处理的概念。包括解析 (parsing)、语法 (grammar) 以及识别名词与动词。这节课中有一些编程任务;还有一些重要概念将在以后的课程中被引入,届时你也会练习通过编程实现其它概念。
- ** 定义和概念**。你还将了解关于计算机文本处理的概念。包括解析( parsing) 、语法( grammar) 以及识别名词与动词。这节课中有一些编程任务;还有一些重要概念将在以后的课程中被引入,届时你也会练习通过编程实现其它概念。
## 计算语言学
## 计算语言学
计算语言学 (Computational Linguistics) 是一个经过几十年研究和发展的领域,它研究如何让计算机能使用、理解、翻译语言并使用语言交流。自然语言处理 (NLP) 是计算语言学中一个专注于计算机如何处理「自然的」(或者说,人类的)语言的相关领域。
计算语言学 (Computational Linguistics) 是一个经过几十年研究和发展的领域,它研究如何让计算机能使用、理解、翻译语言并使用语言交流。自然语言处理( NLP) 是计算语言学中一个专注于计算机如何处理「自然的」(或者说,人类的)语言的相关领域。
### 举例:电话号码识别
### 举例:电话号码识别
@ -30,7 +30,7 @@
现在,你可能会想起课堂上老师讲解的语法。在某些国家/地区,语法和语言学知识是学生的专题课内容。但在另一些国家/地区,不管是从小学习的第一语言(学习阅读和写作),还是之后学习的第二语言中,语法及语言学知识都是作为语言的一部分教学的。所以,如果你不能很好地区分名词与动词或者区分副词与形容词,请不要担心!
现在,你可能会想起课堂上老师讲解的语法。在某些国家/地区,语法和语言学知识是学生的专题课内容。但在另一些国家/地区,不管是从小学习的第一语言(学习阅读和写作),还是之后学习的第二语言中,语法及语言学知识都是作为语言的一部分教学的。所以,如果你不能很好地区分名词与动词或者区分副词与形容词,请不要担心!
你还为难以区分*一般现在时*与*现在进行时*而烦恼吗?没关系的,即使是对以这门语言为母语的人在内的大多数人来说,区分它们都很有挑战性。但是,计算机非常善于应用标准的规则,你将学会编写可以像人一样"解析" 句子的代码。稍后你将面对的更大挑战是理解句子的*语义*和*情绪*。
你还为难以区分*一般现在时*与*现在进行时*而烦恼吗?没关系的,即使是对以这门语言为母语的人在内的大多数人来说,区分它们都很有挑战性。但是,计算机非常善于应用标准的规则,你将学会编写可以像人一样“解析” 句子的代码。稍后你将面对的更大挑战是理解句子的*语义*和*情绪*。
## 前提
## 前提
@ -41,15 +41,15 @@
在本节中你将需要并使用如下技能:
在本节中你将需要并使用如下技能:
- **Python 3** 。你需要能够理解并使用 Python 3. 本课将会使用输入、循环、文件读取、数组功能。
- **Python 3** 。你需要能够理解并使用 Python 3. 本课将会使用输入、循环、文件读取、数组功能。
- **Visual Studio Code + 扩展** . 我们将使用 Visual Studio Code 及其 Python 扩展。你也可以使用你喜欢的 Python IDE。
- **Visual Studio Code + 扩展** 。 我们将使用 Visual Studio Code 及其 Python 扩展。你也可以使用你喜欢的 Python IDE。
- **TextBlob** . [TextBlob ](https://github.com/sloria/TextBlob ) 是一个精简的 Python 文本处理库。请按照 TextBlob 网站上的说明,在您的系统上安装它(也需要安装语料库,安装代码如下所示):
- **TextBlob** 。[TextBlob](https://github.com/sloria/TextBlob) 是一个精简的 Python 文本处理库。请按照 TextBlob 网站上的说明,在您的系统上安装它(也需要安装语料库,安装代码如下所示):
-
-
```bash
```bash
pip install -U textblob
pip install -U textblob
python -m textblob.download_corpora
python -m textblob.download_corpora
```
```
> 💡 提示:你可以在 VS Code 环境中直接运行 Python。 点击[docs]( https://code.visualstudio.com/docs/languages/python?WT.mc_id=academic-15963-cxa)查看更多信息。
> 💡 提示:你可以在 VS Code 环境中直接运行 Python。 点击 [文档 ]( https://code.visualstudio.com/docs/languages/python?WT.mc_id=academic-15963-cxa ) 查看更多信息。
## 与机器对话
## 与机器对话
@ -140,6 +140,7 @@
3. 如果机器人真的可以“理解”一个句子的意思,它是否也需要“记住”前面句子的意思?
3. 如果机器人真的可以“理解”一个句子的意思,它是否也需要“记住”前面句子的意思?
---
---
## 🚀挑战
## 🚀挑战
在上面的「停下来,思考一下」板块中选择一个问题,尝试编程实现它们,或使用伪代码在纸上编写解决方案。
在上面的「停下来,思考一下」板块中选择一个问题,尝试编程实现它们,或使用伪代码在纸上编写解决方案。