本周「指南」栏目将带来由「助理来也」技术合伙人、资深算法研究员刘振华关于 NLP 算法工程师成长的分享。主要包括以下六个方面:

1.NLP解决什么问题

2.NLP算法发展简史

3.检索式问答系统的语义匹配模型

4.任务型对话系统背后的算法实例

5.创业公司NLP工程师的工作职责

6.NLP算法工程师面试注意事项

本篇为上篇,主要包括前两部分:NLP 解决什么问题和 NLP算法发展简史。

一、NLP 解决什么问题

NLP 算法的主要目标与难点

NLP 是一个交叉性的学科,它和计算机科学,人工智能,计算语言学这三门都有交叉,是一门对综合要求比较高的学科。它的主要目标是解决计算机和人类(自然)语言的交互问题,随着近年来 UGC 内容的越来越多,NLP 在很大程度上需要解决无结构化的语料怎么让机器更好的理解。因此 NLP 学习起来也有些难度,主要难点为

语言本身复杂:大家想象一下语言本身有多复杂,比如我们在学习外语的时候都有各种各样的语法规则,就可以知道让计算机去理解人类的自然语言是多么复杂的一件事情。

语境相关:在不同的语境里面同样的一句话可以有不同的理解。

抽象概念联系:我们在提到一个概念的时候,需要我们对概念的相关抽象概念有一些历史上的认识,比如说以前见过或者以前看过相关的东西才能把它联想起来。

所以人跟人之间的正常交流都需要很多语言本身之外的东西,可以想像让计算机来完成这件事情难度是非常大的。

NLP 解决的基本问题

NLP 解决的五个基本问题,这五个是李航老师在北大的 AI 公开课上提出来的,分别为:

1. 分类问题:分类问题大家平时表容易见到,比如文本分类,情感分析目的是把一段文本打上一个或多个标签。

2. 匹配问题:比较常见的是检索,检索与某句话类似的话或者是与它相关的回答,这个就是匹配。

3. 翻译问题:类似于两种语言之间的翻译,把一种语言翻译成跟它语义相似的另外一种。

4. 结构化预测:把一段文本结构化,所谓的结构化类比于一段文本中的词对应的是动词还是名词,语法角色是主语还是谓语,将其转化为结构化的输出序列。

5. 马氏(马尔可夫)决策过程:当前要采取的动作和上一个状态和动作相关,这是一个典型的马氏链的过程。代表性的系统是对话,如何回复当前用户的话,是和最近的上下文相关的,这就是马氏决策过程。

综述上面所讲的五个基本问题,结合这张图来看一下它的应用实例。

这张图从上到下总共有四个任务,是用 Stanford CoreNLP 来标识的。

第一个任务是词性标注,所谓的词性标注,它是一个典型的序列任务,把一段文本中的每一个词的词性标注上,如名词,动词,副词。

第二个任务是结构性预测任务,把一段文本中跟实体有关的词,打上实体的标签,如人名,机构名,地点,日期。

第三个任务是指代消歧,将句中的 3 个代词反推回去,和人名一一对应。

第四个任务是句法依赖,把某些词和其他的词是修饰关系还是组合关系,统称为依赖关系,建成一棵依赖树。

生活中 NLP 都能够应用在哪些方面?

以搜索引擎为例,在使用搜索引擎的过程中肯定有遇到出错词这样的纠错算法,这就是 NLP 的一个应用。

还有文本分词以及搜索词改写,所谓的搜索词改写就是我们输入的词,系统会给我们做泛化,把同义词也进行检索,扩大了搜索结果。

还有意图识别,比如在电商中搜索一件商品,比如苹果,是指你想要买手机还是水果,意图的识别率会影响到它的一个转化率。

结果排序是更重要的,所有的网页质量都有一套排序算法,排序算法中很多都会涉及到 NLP 算法,尤其是文本分析相关的技术。最后还有搜索推荐,比如你在网站上搜索一个词的时候,下面有一块会提示出大家还在搜的词,你可能还想搜索的词语,这都是根据文本相似度的理解去做的。

二、NLP 算法发展简史

NLP算法对语言理解的三个层次

NLP 算法对于语言的理解分为三个层次,分别为:

语法,是指我怎样说是符合语法规则的,类比程序上没有编译错误。

语义,是指我这句话表达的是什么意思,是否是正确的意思。

语用,是指我把这句话放在一个上下文的环境中这样说是不是合理,以及它是不是当前最合适的说法,类比于在程序中我们在一个约束条件下,是否实现了正确的算法。

从上面的图片中我们可以看出来目前 NLP 处在语义的阶段中,至于语用属于刚刚起步的状态。

NLP 算法发展的三阶段与趋势

从图片上可以看到 NLP 从被提出到现在基本上经历了三个阶段:

第一个阶段是基于规则的 NLP

第二个阶段是基于统计学习方法的 NLP

第三个阶段是涉足深度学习的 NLP,这个阶段从 2012 年开始的。

从上面这张图中可以很明显的看出深度学习在NLP领域的发展趋势。

以上就是关于 NLP 算法的基本介绍,剩下关于 NLP 算法在问答系统和对话系统中的作用和典型的模型将在下周的「指南」栏目中继续放送。当然,如果想优先 get 全部内容,欢迎大家点击阅读原文,获取完成知乎 Live。

欢迎大家提前锁定我们的订阅号,获取更多一手专业的互联网圈内信息。

---

更多「指南」文章:

Hax 教你如何学习和实践ES201X?

如何做好一款优秀的互联网产品?

研究了大半个月,我决定在北上深杭扎根

相关文章