Chinese_Chatbot_Torch icon indicating copy to clipboard operation
Chinese_Chatbot_Torch copied to clipboard

兄弟,很恐怖

Open qiujunhan opened this issue 4 years ago • 21 comments

刚跑了一下第一个chat_log,结果一打开大量重复的记录,冗余太大了吧,我这有700多M的聊天记录txt,感觉跑完我电脑会炸。 而且chat_log里面的date = [] 是错的,应该是data = []

qiujunhan avatar Sep 25 '20 20:09 qiujunhan

当时做的时候是想的这样处理记录
从:

someone A someone B
你说1
我说2
你说3
我说4

变成

someone A someone B
你说1 我说2
我说2 我说3
你说3 我说4

所以大小倍增,做完下一步之后会有更多文件

这种做法实际效果并不是很好,之前做的时候纯当技术实现
而且你700M记录如果是没做过滤处理的,期望效果应该会更差

Ninzore avatar Sep 25 '20 21:09 Ninzore

现在的情况是

someone A someone B
你说1 null
你说1 我说2 null
你说1 我说2 你说3 null
你说1 我说2 你说3 我说4 null

我想用大量的群聊数据对话去训练一个机器人,数据量这么大效果应该还是有一点的

qiujunhan avatar Sep 26 '20 02:09 qiujunhan

你要跑完第二个preprocess.py,之后会有个corpus_paris,那个才是我说的那个样子。
再试试?

Ninzore avatar Sep 26 '20 02:09 Ninzore

这个有点难,因为数据太多了,我尝试把代码合并在一起吧

qiujunhan avatar Sep 26 '20 04:09 qiujunhan

 77     if not isinstance(sentence, text_type):
 78         try:

---> 79 sentence = sentence.decode('utf-8') 80 except UnicodeDecodeError: 81 sentence = sentence.decode('gbk', 'ignore')

AttributeError: 'NoneType' object has no attribute 'decode'

失败了

qiujunhan avatar Sep 26 '20 05:09 qiujunhan

貌似sentence丢了,你能把你的prepreprocess发出来看下吗,名字那些信息打码
正确的prepreprocess.csv应该是这样

date time name uid sentence
yyyy-mm-dd hh:mm:ss 昵称 QQ号 blabla

Ninzore avatar Sep 26 '20 06:09 Ninzore

我那个东西跑了一会就暂停的都有1G多,打开后很卡 http://www.qjhyuki.top/kodexplorer/index.php?share/file&user=1&sid=zPJedWYf http://www.qjhyuki.top/kodexplorer/index.php?share/file&user=1&sid=hEaMXWbA 后面基本上都是一样的内容

qiujunhan avatar Sep 26 '20 11:09 qiujunhan

草,你原始聊天记录第一句对话开始前所有的字全删了要不然有bug,readme写了的

Ninzore avatar Sep 26 '20 11:09 Ninzore

啊这,我试试

qiujunhan avatar Sep 26 '20 12:09 qiujunhan

http://www.qjhyuki.top/kodexplorer/index.php?share/file&user=1&sid=P9k5RXdm 还是不行,而且从第一句对话开始,那第一个用户的名字就被删掉了

qiujunhan avatar Sep 26 '20 13:09 qiujunhan

啊这,可能是我问题或者QQ日志改版了??
我明天看下

Ninzore avatar Sep 26 '20 13:09 Ninzore

啊这,可能是我问题或者QQ日志改版了?? 我明天看下

可以尝试一下是不是因为聊天记录字符编码问题,因为导出的格式是utf-8-bom形式,关于聊天记录的解析可以参考我的项目

DingHanyang avatar Sep 27 '20 02:09 DingHanyang

我试了一下,跑出来了没有问题啊.... 我的原始记录是这样 image

然后跑完chat_log后是这样
image

目前看到的bug

  1. 我的文件后缀名有误,用的\t作为分隔符但是扩展名是.csv不是.tsv,用excel打开可能有问题
  2. data = [] 打错成 date了

试试改了data之后会不会继续有问题 如果还是有,那我表示迷惑 如果没有,使用以下步骤运行preprocess (源文件中注释掉了)

index2voc, voc2index = wordCount()
saveWordToIndexLog(index2voc, voc2index)
save(index2voc, voc2index)
pairsGen(preprocess_path, corpus_paris_path)

然后你应该会得到这个,就算是成功了 image

Ninzore avatar Sep 27 '20 19:09 Ninzore

我试了一下,跑出来了没有问题啊.... 我的原始记录是这样 image

然后跑完chat_log后是这样 image

目前看到的bug

  1. 我的文件后缀名有误,用的\t作为分隔符但是扩展名是.csv不是.tsv,用excel打开可能有问题
  2. data = [] 打错成 date了

试试改了data之后会不会继续有问题 如果还是有,那我表示迷惑 如果没有,使用以下步骤运行preprocess (源文件中注释掉了)

index2voc, voc2index = wordCount()
saveWordToIndexLog(index2voc, voc2index)
save(index2voc, voc2index)
pairsGen(preprocess_path, corpus_paris_path)

然后你应该会得到这个,就算是成功了 image

data我改过了,我的是这样的 QQ截图20200929124905

看来确实是文件出了问题,我有空再试试,或者按照你的格式自己写一个

qiujunhan avatar Sep 29 '20 04:09 qiujunhan

咦为什么你的记录没有QQ号?是这个地方出的问题吗

Ninzore avatar Sep 29 '20 04:09 Ninzore

咦为什么你的记录没有QQ号?是这个地方出的问题吗

你看到我的图片了吗,我还以为图传不上去,确实没有QQ号,我聊天记录14年开始就没删过,不知道是不是这个原因

qiujunhan avatar Sep 29 '20 04:09 qiujunhan

并不会我的聊天记录都10年了,你试试用比较新的组导出一下记录看会不会有QQ号 如果没有,试着改一下chat_log里面的正则应该会有效果

Ninzore avatar Sep 29 '20 05:09 Ninzore

并不会我的聊天记录都10年了,你试试用比较新的组导出一下记录看会不会有QQ号 如果没有,试着改一下chat_log里面的正则应该会有效果

新的组指的是什么,我是点右上角的小三角导出为.txt文件的,没有组选择

qiujunhan avatar Sep 29 '20 05:09 qiujunhan

QQ的左下角那个image, 然后选消息管理,选到群聊,右键一个群然后导出,选择格式为txt

Ninzore avatar Sep 29 '20 05:09 Ninzore

QQ截图20200929133203 成功了!但是只能分析一个群的,我想要分析所有群的记录,最后整出一个沙雕群聊机器人,这个只能靠后面魔改了

qiujunhan avatar Sep 29 '20 05:09 qiujunhan

那你导出全部就行了,在我的群聊那里右键 image

我记得这个出来每个群中间会有一串字符隔开,你做个正则给过滤一下就行

Ninzore avatar Sep 29 '20 05:09 Ninzore