想制作聊天机器人,有哪些不错的语料库呢?

2015-05-03 12:54:43 +08:00
 aseec
15109 次点击
所在节点    问与答
16 条回复
imydou
2015-05-03 13:11:00 +08:00
猜想 随机把提问转发给siri 小冰 获得回复
jacob
2015-05-03 15:16:21 +08:00
@imydou 你玩双簧呢?
xavierskip
2015-05-03 16:47:52 +08:00
三句话搞定

好厉害!

真的吗?

然后呢?
kidding
2015-05-03 20:22:05 +08:00
@xavierskip example:(C++)
<pre>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <time.h>
#define random(x) (rand()%x)

using namespace std;

int main()
{
string replies[8] = {"你真棒!","真的嘛?","然后呢~","真厉害啊...","大赞欸!","好棒!","听起来不错哦!","再讲点别的吧"},str;
cout<<"你: ";
getline(cin, str);
while(str!="不聊了"){
cout<<"AI: "<<replies[random(8)]<<endl;
cout<<"你: ";
getline(cin, str);
srand((int)time(0));
}
cout<<"AI: "<<"拜拜~"<<endl;
return 0;
}
</pre>
ChiangDi
2015-05-03 20:26:14 +08:00
我上次弄了个,有点蠢,基于 http://www.tuling123.com/openapi

http://v2ex.com/t/186295#reply1
staticor
2015-05-03 20:37:58 +08:00
aseec
2015-05-03 20:53:49 +08:00
@ChiangDi @staticor 我想找到类似小黄鸡、微软小冰等的词库,好像v2ex上以前有人爬取过小黄鸡的全部词库
elvba
2015-05-03 21:41:34 +08:00
把词库弄权做出来的机器人太无聊了。
听过白丝魔理沙没?
vimutt
2015-05-03 22:16:07 +08:00
现阶段最实用的 还是雇两个闲人,假装聊天机器人,绝对高智商,不行还可以用b and g搜索大法 哈哈。
aPsyduck
2015-05-03 22:19:33 +08:00
我有一个脑洞大开的想法,先自己随便说句,转给siri,再把siri回复的东西发给小冰,他们是不是会一直聊下去。。。。。。
xenme
2015-05-03 22:29:11 +08:00
@aPsyduck 然后Siri回复了一句:我不知道你在说什么,然后两个人开始循环
zxhzxhz
2015-05-04 02:24:36 +08:00
萌娘回路
Moec Core
Huadb
2015-05-04 04:04:49 +08:00
百度知道
supman
2015-05-04 05:09:21 +08:00
@xavierskip 多了。。两句话就行了


关你什么事?
关我什么事?
xwzhong
2017-02-07 09:45:32 +08:00
1. 电影,电视剧等字幕对话。至于哪些方面的数据能用,需要看你针对的方面,比如日常对话,可以多找找符合生活方面的影视作品。
2. 百度贴吧、微博等社区平台去爬。爬虫技术要求较高,需要突破平台的反扒机制, sina 微博还需要模拟登陆,当然你也可以使用 sina 开放平台提供的 api ,但是有频率限制。最好是根据自己的需要前往指定的平台爬取数据,比如你计划专注于汽车领域的问题,可以去汽车之家这些特定的平台爬取。
3. 写个程序,用两个机器人互相对话,比如:小冰、小黄鸡、图灵机器人等。能用性待调研。(我预测不太行,除了小冰的回答准确率高一点,其他的待商榷)
4. 看看别人做 chatbot 的时候用的语料是什么,论文一般会有说 5. 最后一个虽然需要买,但个人认为最优质的语料: http://blog.sina.com.cn/s/blog_16d74e01f0102x0o6.html

作者:诺言
链接: https://www.zhihu.com/question/44764422/answer/137439552
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
06HouLuGuo
2019-06-30 11:58:54 +08:00
#include<bits/stdc++.h>//主要是针对某网络社区小学生制作的
using namespace std;
int main(){
string a,ans[53]={"我在的呢!","我讨厌你说脏话!","你好呀,很高兴见到你!","你好呀,很高兴见到你!","我在的呢!","你猜","才不好笑","不要笑了","你很讨厌哎!","笑什么?","你很讨厌哎!","你很讨厌哎!","你很讨厌哎!","再聊一会呗,为什么不聊了","你可以和我日常聊天","你好呀,很高兴见到你!","你好呀,很高兴见到你!","你好呀,很高兴见到你!","你好呀,很高兴见到你!","迷你就是这样!","我是小星机器人","应该很好吧!","我是 2005 年 4 月 1 日生的,你猜我多少岁!","我也是呢!","谢谢你的评价!","我可以给你讲笑话","这是第 2 代!","会回复的!","我是 2004 年 4 月 4 日 4:44 生的,你猜我多少岁!","0 是介于-1 和 1 之间的整数。是最小的自然数,也是有理数。0 既不是正数也不是负数,而是正数和负数的分界点。0 没有倒数,0 的相反数是 0,0 的绝对值是 0,0 的平方根是 0,0 的立方根是 0,0 乘任何数都等于 0,除 0 之外任何数的 0 次方等于 1。0 不能作为分母出现,0 的所有倍数都是 0。0 不能作为除数。","为什么烦呢?","应该是的。","我是小星机器人!","你比我牛呢!","我知道的没你多啦!","我是小星机器人!","我的智商低,你的智商可高这呢!","我的智商低,你的智商可高这呢!","你猜!","我不是十万个为什么!","你猜!","你就是很帅呀","你就是很聪明呀","你就是很美呀","这个很难说!","你就这么直接吗?","我不知道!","你先说!","你很酷,总行了吧!","我很讨厌你为难我","你确定?我不信","我不知道","我搜集到的笑话:还没有呢 "};
string que[53]={"在","去","你好","nihao","人","还","233","啊哈","额","呵","em","哦","…","不聊了","help","Hi","hi","Hello","hello","迷你","你是谁","天气","大","爱","作品好","无聊","更新了吗","回复","岁","0","烦","大佬","叫","牛","知道","名字","智","iq","男","为什么","女","帅","聪","美","会","不会","怎么","说","酷","为难","已经","是不是","笑话"};
while(1){
int j=-1;
cout<<"你的想说的话:";
cin>>a;
for(int i=0;i<53;i++){
if(a.find(que[i])!=-1){
j=i;
}
}
if(j==-1)cout<<"小星机器人:不知道该怎么回答好"<<endl;
else cout<<"小星机器人:"<<ans[j]<<endl;
}
return 0;
}

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

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

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

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

© 2021 V2EX