02-自然语言处理与自然语言理解

继续人工智能领域的胡说八道,这回是来聊聊语言识别,专业的说法是NLU与NLP。
一般上说NLP含概的功能包含NLU的,但在中文领域很奇怪几大分平台做到语言处理API中都不包含NLU的功能,微软的Azure有NLU的功能,但相当于BAT平台的NLP功能又欠缺。
虽然很麻烦我还是一图来讲吧,下面是NLP的功能表,以及NLU的功能表。(图片来自网络)


02-自然语言处理与自然语言理解_第1张图片
20180108095003191.jpeg

通过上图可以看到这是百度的一个PPT对于NLP的功能说明,图中红框的部分是NLU的功能,这就是一般意义上说的NLP包含NLU的功能。但下面我们再来看看百度现在提供的NLP服务列表。


02-自然语言处理与自然语言理解_第2张图片
NLP功能

好像很全面了,但如果用过微软家的Azure LUIS 就知道差异了,在词法分析中百度只会把一句话切分成主谓宾、定状补。假设我们想要实现一个查天气的功能。基于百度的实现方案,把输入给分解后由用户匹配判断。
02-自然语言处理与自然语言理解_第3张图片
百度词法分析

而LUIS是让用户列举出N种表达方式后进行训练,最终产生一个专用的NLU模型,将用户的调用匹配用户训练并合出相似度。
明显LUIS的方式更好吗!更好使用,更好优化,更简单。

中文语言处理的挑战 分词

中文的表达和英语不一样,人家天然就通过空格分词了,中文没有一句语不同的分词结果会有不一样的理解。分词其实就是老祖宗的断句,断句不一样意思不一样,论语没事就新解一下也是这样原因。
这部分因为老外不需要所以全由汉语圈在研究,BAT都没什么贡献,Python上较推荐的是jieba,其它语言也有相应的库。

预告,下期会基于一堆开源的组件做一个聊天机器人

你可能感兴趣的:(02-自然语言处理与自然语言理解)