NLP 相关的应用领域
- 强调应用驱动或者需求驱动,要与实际相结合,解决现实中存在的问题或解放人力,节省物力。
目前较好的应用领域
- 一类是指令式的,比如智能家居,你下达指令,让它开灯关灯;车载环境下也是指令类。车载环境真的不方便用手了,智能用嘴去下达指令,你可能会说,给我老妈拨个电话,或是把刚刚收到的微信信息读一下。
- 另一类是QA 类的,基本应用在客服上。这一块最近用得非常多。大企业会自己做客服系统,借助自身大量的客户积累,去实现问题和回答的匹配。当然有一些中小企业和传统企业,没有这个能力,所以有一些创业公司就切进去了。
- 还有一类,就是利用NLP 技术对以前积累的数据和知识进行分析和处理,比如文本构成的知识库,像卷宗、病历等等,用 Watson 这样的系统去分析它,尝试发掘一些规则的知识。
自然语言的五个重要特点:
- 语言是不完全有规律的,规律是错综复杂的。有一定的规律,也有很多例外。因为语言是经过上万年的时间发明的,这一过程类似于建立维基百科。因此,一定会出现功能冗余、逻辑不一致等现象。但是语言依旧有一定的规律,若不遵循一定的规范,交流会比较困难;
- 语言是可以组合的。语言的重要特点是能够将词语组合起来形成句子,能够组成复杂的语言表达;语言是可以组合的。语言的重要特点是能够将词语组合起来形成句子,能够组成复杂的语言表达;
- 语言是一个开放的集合。我们可以任意地发明创造一些新的表达。比如,微信中“潜水”的表达就是一种比喻。一旦形成之后,大家都会使用,形成固定说法。语言本质的发明创造就是通过比喻扩展出来的;
- 语言需要联系到实践知识;
- 语言的使用要基于环境。在人与人之间的互动中被使用。如果在外语的语言环境里去学习外语,人们就会学习得非常快,理解得非常深。
机器翻译思路
- 基于深度学习的机器翻译与对话系统:
即把一个文字的字符翻译成另外一个文字字符,那么单轮对话的产生也可以看成是机器翻译。序列对序列学习,sequenceto sequence learning,可以用到这种单轮对话中。每个单词其实是用一个实数值向量表示,就是编码,之后用实数值向量分解成一个回复的一句,叫做解码。通过这种编码、解码这两个过程的话,我们把原始的数据转化成中间表示,再把中间表示,转换成为应该回复的话,可以产生对话系统。 - 目前对话系统的现状:
单轮的问答,特别是场景驱动的单轮的问答,可能慢慢会开始使用。但是多轮对话技术还是比较难。马尔可夫决策过程实际上是还是个统计学习模型,本质特点就是需要有大量的数据去学习。其实我们人在做多轮对话的时候,并不需要重复才能掌握这种天生能力。这些是否能够用马尔科夫决策过程去模拟或者近似还不是很清楚。还有一个重要的问题就是多轮对话的数据不够,不能够很好地去学习这样的模型,去研究这些问题。即使是特定任务,多轮对话还比较困难,如果是任务不特定,比如聊天机器人就更难了,我们都不知道该怎么去做,马尔科夫决策过程都用不上。现实当中的一些聊天机器人就是用单轮技术堆起来,但是形成不了一个很自然合理的多轮对话,变成大家用起来觉得很奇怪的东西。总结起来就是多轮对话,在任务驱动的简单场景,有了更多的数据,我们是有可能做的越来越好。
原文链接:https://blog.youkuaiyun.com/AMDS123/article/details/70244041