网络天才游戏技巧相关内容里,先从最基础的关键词匹配讲起,再介绍基于搜索引擎、文本挖掘和自然语言处理的实现方式。下面按照原文顺序整理这两种方法,并保留各自的问题说明和处理流程,方便对照查看。
网络天才游戏技巧
1、最初级的实现方法:关键词匹配
做法是先建立一个关键词词库,把用户输入的语句拿来和词库做匹配,再根据匹配结果调用对应的知识库。
这种方式的入门要求不高,普通程序员基本都能做出来。微信公众平台里的智能回复、不少网站使用的敏感词过滤,都属于这一类。
不过,它也有不少问题,例如:

a、因为依靠关键词匹配,当用户一句话里出现多个关键词时,就会牵涉关键词权重等问题,要和知识库中的关键词做对比,这时关键词匹配就不太擅长处理了。
b、这种方式并不理解用户输入语句的语义,容易出现答非所问。产品上遇到回答不了的问题,也会用卖萌的方式绕过去。
c、它基本没有自学习能力,规则只能靠人工维护,而且规则通常是固定不变的。
d、性能和扩展性也偏弱。仍以一句话里包含多个关键词为例,用普通程序语言做关键词匹配,性能很差;即使使用一些文本处理算法,比如 Double-array trie tree,也很难支撑大规模场景。
2、稍微高级点的实现方法:基于搜索引擎、文本挖掘、自然语言处理(NLP)等技术来实现
和1中的关键词匹配相比,这种方法要处理的核心问题可以理解为:根据一段短文本(比如用户问的一句话)的语义,判断用户最可能的意图,再从大量知识库内容里找出相似度*的结果。
具体技术实现这里不展开。下面用一个比较粗糙的例子说明处理思路(并不严谨,只为讲清思路)。

假设用户问:北京后天的温度是多少度?
如果按纯搜索引擎的思路来处理(基于文本挖掘、NLP 的思路不完全相同,但可以参考这个思路),实际流程大致分为几步:
1、先对输入语句分词,得到北京、后天、温度3个关键词。分词时用到预先建好的行业词库:“北京”对应城市库,“后天”对应日期库,“温度”对应气象库。
2、把分词结果和规则库按一定算法做匹配,得到匹配度*的规则。假设规则库中有一条天气规则:城市库+日期库+气象库,这样就可以大致推测出用户想问某个地方某天的天气。
3、再对语义做具体解析,确认城市是北京、日期是后天,要获取的知识是天气预报。
4、调用第三方天气接口,比如中国天气网-专业天气预报、气象服务门户的数据。
小编就整理到这里,以上两种实现方式和示例流程可供对照查看。








