养卡提额

如何评价百度人工智能机器人百小度?

浏览:253

网友回答

  我尝试从原理性的角度分析一下百小度吧。顺便科普一下问答系统。

首先,我玩了半天百度对话机器人,百小度。开始觉得真的很智能,后来发现其原理大概应该只是识别一个句子的关键词,依据关键词给出准备好的答复。

你可以尝试做一些比较简单的实验:比如重复问一句话十遍,你就会发现百小度的回复基本只有几个特定的句子,甚至大部分情况下只是一个特定的句子。再比如问一些具有相同关键词且相近的句子,结果统计意义上也能比较好地支持我的猜测。手机码字很困难,就不上图了,大家可以自己试试。

于是,我尝试从实现的角度分析一下。

答主是智能科学博士生,研究过问答系统。问答系统属于自然语言处理的范畴,但它和一般的自然语言系统有区别。问答系统处理的句子基本上是短句,也就是字数在二十个字以内的句子。这类句子有一个特点就是中心单一,话题明确。然而即便如此,提高问答系统的能力仍然十分困难。

这里,我们主要提两点困难:第一,人类对话话题太多,很难精确扑捉到对方的意图。而自然语言大多和深层次的常识、知识相关,更是为理解语言的语意雪上加霜。第二,对话系统需要理解语言的上下文环境,这里包括指代消岐等一些自然语言问题,自动推理等形式语言问题,还有在线决策等机器学习问题。理解语言本身就已经困难重重,还要理解语境,更是难上加难。

因此依据话题的范围宽窄,现有的问答系统主要分两种:单独一个领域的垂直问答系统和随机聊天的通用问答系统。

现在,一般实际有效使用的问答系统主要是垂直的,比如三星产品问答系统,常见病医疗问答系统等等。这些系统中,对话的话题会十分单一,也就是说,上述第一个困难几乎没有,第二个困难相对也容易解决。比如在医疗问答系统中,无非就是病症,病名和药物之间的关系,这种情况下,我们可以使用最简单的模板抽取的办法对对话进行分析,提炼相应的信息,之后再分析这些信息中有限的关系,从数据库中抽取信息生成答案。这个过程中,模板数目可能不会超过一百个,考虑信息之间的关系也最多十几个,完全可以手写硬编码到智能系统中。所以,垂直系统的技术成本不高,而效果往往还能满足需求;很适合实用。

另一类,也就是通用问答系统,包括百小度、小冰、小黄鸡等等都是试图挑战图灵测试的问答系统,即使他们距离人类的智能都还比较远。这类系统中第一个困难十分明显,话题范围太广,完全不知道在说什么,反而第二个困难相对容易一些。这类系统到现在还是研究的难点。我简单说一个大家喜闻乐见且和本题可能有关的办法。

检查关键词。没错,十几个字的句子,只要能有效的提取最关键的词就能大体了解语意。首先把句子分词,然后利用最简单都的 TFIDF 就能找出最有代表性的词汇。我们事先准备一个大语料库,为每一个话题或者每一个关键词,准备一个句子集。这样,利用我们提取出来的关键词,就能找出相应句子集,再从句子集中计算出离对话最近句子进行回复。从而达到了让你觉得回复和对话是相关的目的。这里,这个大语料库一般是自动生成的当然也有很多人工的因素。现在有一句话叫:有多少人工,就有多少智能。当然这也不绝对,差不多就是个段子。

其余的方法还有:利用检索引擎的方法,利用组合垂直问答系统的方法等等。尤其利用检索引擎的方法也十分可能是百小度的原理,李航老师在 NIPS 上发过相关论文,还为我们组做过报告,我感觉也十分靠谱。

大体上,这个领域比较经验化,需要很大程度上的技术和技巧。如果大家有兴趣可以找几篇论文读读,或者自己动手实现一个简单的垂直问答系统。最后,很不要脸的说一句,看在码字这么累的份上,求点赞 (๑Ő௰Ő๑) 。

© YangKaTie.Com All Rights Reserved HTML地图 | xml地图 | txt地图 桂ICP备16002597号-7