整体框架

刘知远认为的中文NLP发展技术趋势:

刘知远

对话管理体系:

对话管理

从整体上看,NLP可以分为两大块,分别是NLU和NLG。目前主要的研究和落地集中在NLU这块,而我司除了NLU,NLG也占了相当一部分业务。NLU是从NL中进行信息压缩,目标是得到关键信息;NLG是进行信息扩张,目标是扩张到NL的水平,实际上目前还差很远。这种关系在上图对话管理系统中体现的比较明显。从另外一个角度来看,目前相对成功的应用是从复杂输入到简单输出的任务,这里的输入和输出仅仅是从表层来讲的,比如一些NLU任务,一些CV任务,例如分类,回归等;有一些复杂输入到复杂输出的任务,不严格的说,例如图片风格转换等;难度最大的是简单输入到复杂输出的任务,例如各种生成任务;

NLP的知识体系

NLP的知识体系

语言学单词解释: Phonology【音系学,声音】,Morphology【词态学,构词法】,Syntax【句法学,语句结构】,Semantics【语义句法学,理解】,Pragmatics【语用学】

围绕这幅图,左侧分支比较具体,一般文献中讨论更多的是从lexical(词法),syntactic(句法)到semantic(语义)。另外一种角度是认为NLP主要分为五类技术,具体包括分类(如,情感分类等),匹配(如搜索,问答,基于检索的单轮对话等),翻译(基于生成的单轮对话等),结构预测(NER, POS tagging)和序列决策过程(多轮对话等)。

NLG的体系

NLG的体系

一个具体的例子如下,不完全契合,但是基本一致。

DEMO

阿里的“莎士比亚”系统(搜索事业部-北京)和上述流程契合。

方法

基于模板,基于NN,基于强化学习

评价指标

一个具体的评估场景如下,

评估场景

Intrinsic Methods主要包括以下两类:

最重要的评测方法(人工):流畅度,可读性,信息量,正确性,冗余度

次要的评测方法(非人工,基于语料):基于n-gram的BLUE和ROUGE(文本长度敏感,该类指标用于更短的文本可能导致更低的分数),基于字符距离的Edit Distance等,基于内容Coverage比率的Jarcard距离等

一个更具体的列表如下,同时给出了指标来源:

Based Corpus-0

Based Corpus-1

Extrinsic Methods用于评估NLG的生成内容对于目标实现的有效性,NLG的标准体系中含有目标输入。这种评估虽然满足科学性,不过站在一个工程师角度,不具备可行性(个人观点)。

其他生成相关的评价要点,Yoav Goldberg对GAN for NLG的评价

总结:NLG的评估之所以比较难,还是要回到算法的定义本身来看。从算法的输入角度来看,输入是可变的;从输出角度来看,存在多个可能的输出。难但是不一定不能做,只不过在现行的评估体系下,似乎找不到可以借鉴的地方。现有的各种机器评估指标之间存在不一致;同时机器评估指标和人类评估结果存在不一致。所以,目前对NLG的建议是:能用多少指标就用多少指标吧。

参考实现

《Natural Language Processing with TensorFlow》这本书是2018年5月份正式发布,目前没有中文版。这本书中的Demo Code是围绕NLG展开的。

应用案例

1.NLG在房地产领域的应用:陈然的公司例子,技术博客

2.文因互联鲍捷的一个调研

3.用于面试的对话机器人

4.京东”莎士比亚”系统

阿里“莎士比亚”系统的具体技术实践

5.相声生成器:捧哏和逗哏

6.如何应用NLP技术屏蔽某些弹幕

7.古诗,古词,对联,文章,笑话等生成,为啥没有歇后语呢?

8.解说系统。例如足球解说,天气预报解说,游戏解说,车辆解说(我司合作项目懂车帝)等

9.新闻自动生成系统

10.ui设计转化为代码。参考1参考2

参考资料

1.自然语言处理NLP全领域综述

这是一个NLP领域的各种资料的大杂烩。

2.《A Bit of Progress in Language Modeling》

几乎写了关于N-gram的所有相关的内容,附加一个参考资料

3.QA和NMT的一个论文总结一

4.QA和NMT的一个论文总结二

5.《Survey of the State of the Art in Natural Language Generation: Core tasks, applications and evaluation》

截止2018年2月的一个survey。

6.大众点评信息流基于文本生成的创意优化实践

这篇文章可以配合阿里的”莎士比亚”系统一块思考。