当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第十一章:人工智能在自然语言中的应用 > 11.4自然语言处理的挑战及应用
我们来看一下自然语言处理当中的挑战及其应用
自然语言处理当中存在的主要挑战是
自然语言文本和对话的各个层次上
广泛存在着各种各样的歧义性或多义性
首先在词义上可能存在歧义
比如这个例子
I found my wallet near the bank
bank这个单词
我们都知道他有两种含义
银行或者河岸
那在这里
我们就需要通过自然语言处理的方法来识别这个词
在句子当中的词义
在结构上也可能存在歧义
先来看第一个例子
喜欢乡下的孩子
关于鲁迅的文章
那么到底是
乡下的孩子
还是喜欢乡下的孩子
是关于鲁迅的文章
还是这些文章是关于鲁迅先生的
同理
I saw a man with a telescope
那么是我看到了一个拿着望远镜的人
还是我用望远镜看到了一个人
我们都需要通过上下文
通过自然语言处理的方法
来为它的结构赋予一个更加可能的概率
来选择正确的结构
在语法上也可能存在歧义
比如说自动化研究所取得的成就
到底是自动化研究所取得的成就
还是自动化研究所取得的成就
这些问题通过自然语言的有效处理
结合目前的深度学习的方法
某些已经取得了较好的效果
但仍然是一个很大的挑战
自然语言处理它有以下的一些重要的任务和应用
首先关于文本分类
是将一种文本对象
文档或者句子
分类到一个固定的类别
利用机器学习的方法
对标注语句进行训练
学习得到模型参数
从而完成类别检测
其主要的应用有垃圾邮件的识别
新闻主题的分类
以及句子的情感分析等等
第二大类主要应用是
文本匹配或文本相似度计算
常用的方法包括编辑距离
余弦相似度
TF-IDF等等方法来计算相似度
编辑距离的方法
它是指将一个词变换为另外一个词最小的编辑次数
这里的编辑包括插入删除和替换
比如说retire和require这两个词之间的编辑距离为2
因为我们要将retire变换成require
首先需要将t替换为q
然后再插入字母u
所以他的编辑距离为2
余弦相似度的方法是将文本向量化以后
在一个二维的向量空间当中
去求两个向量之间的夹角的余弦
TF-IDF的方法
其中TF用来代表词语在文档当中出现的频率
而IDF是逆文本频率来衡量这个单词的重要程度
利用这些相似度的计算
我们可以对文本进行预测等等
自然语言处理的一些重要应用还包括机器翻译
聊天机器人
知识问答等
我们通过对自然语言进行有效的处理
生成语义丰富的知识库
在这些知识库上
再利用深度学习的方法
进行知识的演绎或者推理
实现知识问答以及文本交互等等
随着深度学习的发展
越来越多的深度学习方法
被应用在自然语言处理的问题当中
神经网络的方法主要应用在词性标记
词语切分
实体命名识别
目的提取等方面
循环神经网络主要应用于机器翻译
问答系统
图像的描述等方面
递归神经网络
主要用在句子分析
情感分析
释义检测
关系分类
以及物体的识别等
而卷积神经网络
主要用在句子文本的分类
关系提取和分类
垃圾邮件的检测
搜索词条的归类以及语义关系的提取等方面
这是传统的自然语言处理
以及基于深度学习的自然语言处理的结构示意图
从这张图中大家可以看到两种方法的基本区别
最后
给大家介绍一些开源的自然语言处理的工具库
这是几种较为流行的常用的工具库
第一个是Apache OpenNLP
它是一种机器学习的工具包
提供标记器
句子分段
词性标注
命名实体提取
分块
解析
共参考解析等等
还有一个常用的自然语言工具包
它涵盖的内容非常多
它提供了用于处理文本
分类
标记化
词法分析
标记
解析等模块的Python库
叫做NLTK
还有斯坦福的NLP
是一整套NLP的工具
提供词性标注
命名实体识别器
共识解析系统
情感分析等等
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试