前言:
难道你就不好奇,AI音箱是怎样做出决定的吗?这就像别人问你中午吃什么呀,然后你想:我吃这个吧,不,那就那个吧,不,选来选去还是选择了别的.....
正文:
AI与人类不同,它没有发达的大脑,无法自主的做出任何决定。它所有的工作都要通过人类的帮助来实现。那它理解语言的过程究竟是怎样的呢?这就涉及到了NLP(自然语言处理)。顾名思义,它就是AI用来处理语言的方式,而现在大部分公司所使用的工具都是python。
下面举例说明
你 :天是什么颜色
某AI音箱:蓝色
当你说完“天是什么颜色”这句话之后,AI音箱接受到了你的指令,然后它就要去搜索答案。这就涉及到了中文分词和关键词。什么是中文分词呢?就是把一句切分成很多个词组。如:天是什么颜色,它的中文分词可能是:天|是|什么|颜色
那什么是关键词呢?如下:“天是什么颜色的”关键词我们可以标注成,天|颜色。那天和颜色就是这句话的关键词。
然后AI通过分词和关键词去搜索相关的答案,最后给出结果(蓝色)。如果中文分词和关键词有一方标注出错,那出来的结果也会是错误的。这就是我们所说的badcase。在工作中我们需要去改badcase和标注关键词。
badcase有三种:
①中文分词错误 ②关键词错误 ③中文分词和关键词均错
badcase的第一种和第二种,拿过来直接改就好。第三种会比较麻烦,需要同时看中文分词的文件和关键词的文件来处理。而分词本身就很容易出问题,如多音字造成的badcase
例 :花都是什么颜色的?
分词:花 都是 什么 颜色 的 ——正确
花都 是什么 颜色 的 ——错误
上面那句话正常我们都是说花都(dou) ,可花都(du)也是一个词,但程序在切分的时候很容易混淆,所以会出现badcase。
小知识:中文分词上歧义——组合型歧义和交集型歧义
例:研究生物的起源”可以切分为
研究 生物 的 起源
研究生 物 的 起源
其中,“研究生物”为交集歧义字段。
他 从 马 上 下来
他 从 马上 下来
其中,“马上”为组合型歧义字段。
还是以“花都是什么颜色的”为例:
关键词: 花 颜色
分 词 :
① 花都 是 什么 颜色 的
② 花 都是 什么 颜色的
③花都 是 什么 颜色的
④花 都 是 什么 颜色 的
那请问关键词和哪一组分词的组合不是badcase呢?
首先分词1是badcase,因为在这句话的本意不是花都,所以分词错误。
而分词2,没有“花都”的错误,但它有“的”的错误。什么是“的”的错误呢?首先我们需要看关键词,这句话的关键词是花|颜色,所以在分词里面,颜色需要和的分开,所以这分词和关键词的组合是badcase。
再看分词3,它综合了分词1和2的两处错误,“花都”和“的”。所以它也是badcase。
而最后一组和关键词的组合就不是badcase了。
小知识:分词粒度
然后我们在反过来看分词中的词组如“颜色”,它是分词中切分出来的一个序列,它的分词粒度是二。什么是分词粒度,就是这个词组的长度,如果是:“五颜六色”那它的分词粒度就是四。
接着我们来看分词和关键词都有问题的badcase
例句:天为什么是蓝颜色的
① 关键词 蓝 颜色
分 词 天 为什么 是 蓝 颜色的
②关键词 天 颜色的
分 词 天 为什么 是 蓝颜色 的
③关键词 天 颜色
分 词 天 为什么 是 蓝 颜色 的
很明显第三组分词和关键词的组合不是badcase。
第一组错在,关键词没有主语,分词应该吧颜色和的分开。
第二组错在,关键词应该是颜色而不是颜色的,分词应该是 蓝 颜色。
看这组的例句,天为什么是蓝颜色的
在分词正确的情况下,它的关键词有几种标法?
① 天 蓝 ② 天 颜色 ③ 天 蓝颜色
除此之外,NLP里还包含了许多的知识:语料库、词法分析、汉字编码、句法分析、语义分析、文本生成、语音识别、等。更具体的各位可以去咨询自己公司的智慧大脑——研发哥哥们。他们的大脑储存了很多知识,可以去深挖一下~