像微信和淘宝那种自动回复机器人是怎么实现的

2016-03-22 14:37:29 +08:00
 domty

需要做一个类似功能的机器人客服, 现在的需求比较简单,我这有一串问答列表。只要能根据关键字回复相应的答案就行。 所以现在怎么搞,找个 nlp 服务提供商把挨个问题的关键字提取出来?再放到数据库里做匹配?

本来上午花了几个钟头找合适的云服务提供商的,奈何提供的服务远大于目前的需求。试用次数不多,过量就得付费试用了,感觉成本太高。

7924 次点击
所在节点    Java
11 条回复
qcloud
2016-03-22 15:23:13 +08:00
图灵机器人
qcloud
2016-03-22 15:25:25 +08:00
lcj2class
2016-03-22 16:09:07 +08:00
可以用 es 呀
Wenwei
2016-03-22 16:13:53 +08:00
可以用 elasticsearch 搭个搜索引擎啊。
jugelizi
2016-03-22 16:14:12 +08:00
那不就是全文检索类似的嘛 分词去查权重高的就解决了啊
domty
2016-03-22 16:35:36 +08:00
@qcloud
非常不好用,它把它自己的知识库和我给的 Q&A 合起来了。
问我 Q&A 的关键字回复的都不是我想要的答案
menc
2016-03-22 16:46:25 +08:00
@domty

自己用一些简单的 NLP 方法来做,分词配上 TF-IDF ,或者手动修改下 idf 提升下权值。
或者自己做一个 reinforcement learning 的框架你自己多试几次就好了。


如果不想尝试机器学习方法,推荐用哈工大的 ltp ,有 python wrapper , pip install pyltp ,下载他们放在百度网盘里的训练好的模型大概 2G ,就可以自己来做 NER , POS 等等内容了
domty
2016-03-22 17:01:30 +08:00
@menc
我是尽量避免使用机器学习类的东西,因为我手头的数据样本只有不到 20 条问答,加起来不到 1000 字的水平。
像上机器学习模型或者楼上连分布式的全文搜索引擎都出来了,觉得这样搞有点大炮打蚊子的感觉。

我个人的思路是给问题做分词提取关键词然后加权,然后往数据库一放做关键字检索取权值最大的做答案回复就好了。但是两个关键的问题就是怎么分词和怎么给关键字权级。
menc
2016-03-22 17:07:42 +08:00
@domty
- tf-idf 赋权做空间向量模型对 FAQ 的库做下余弦距离
- 句法依存树找关键词和 LAT


走 old-school qa system 那一套,我本科毕设就做的这个
murmur
2016-03-22 17:12:23 +08:00
其实最简单的就是一个 lucene 配置一下分词机制去一下停用词 就能用了
821579877
2018-09-25 19:07:22 +08:00
不知道楼主最后做了没...我最近也想做个类似的呢,不知道楼主有没有啥方案可以分享一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265446

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX