NLP实战1--词典、停用词、问答对的准备
语料的准备
1.词典 2.停用词 3.问答对 4.相似问题
1.分词词典
最终词典的格式
1.1 词典来源
1.各种输入法的词典
2.手动收集,根据要求收集词典
1.2 词典处理
jieba分词
jieba.lcut(sentence) 对句子进行分词
jieba.load_userdict(path) 读取路径
jieba.posseg.cut() 返回词性
在网上下载输入法词典,输入法词典都是特殊格式,需要使用特殊的工具才能够把它转化成文本格式
工具名称:深蓝词库转换.exe
下载地址:https://github.com/studyzy/imewlconverter
选择windows版本
下载好之后 直接把在搜狗官网上下载的词库拖动到路径栏 即可转换为txt
1.3对多个词典文件内容进行合并
下载不同平台的多个词典之后,把所有的txt文件合并到一起之后使用
2.准备停用词
停用词:对句子进行分词之后,句子中不重要的词
停用词的准备:常用停用词下载地址 https://github.com/goto456/stopwords
用github desktop clone 非常好用!
虽然有网上准备的停用词 但还是得人工筛选 有些停用词在不同的任务中表现不一样
3.问答对的准备
现有问答对的样式
txt中问答对:我们需要把问答对分别整理到两个txt文档中,
excel中的问答对:问题 答案 表格
excel中的问答对直接使用pandas就能够处理
import pandas as pdret = pd.read_excel(python_qa_path)column_list = ret.columnsassert '问题' in column_list and "答案" in column_list, "excel 中必须包含问题和答案"for q, a in zip(ret["问题"].ret["答案"]):q = re.sub("\s+", " ", q)q = q.strip()print(q, a)4.相似问题对的采集
采集相似问答对的目的:
后续在判断问题相似度的时候,需要有语料用来进行模型的训练,输入两个句子,输出相似度,这个语料不好获取,可以从百度知道入手,采集百度知道上面的相似问题,如下图所示:
上面采集的数据会存在部分噪声,部分问题搜索到的结果语义上并不是太相似
手动构造相似问题 自定义问题和答案
例 : 有一串和python相关的内容 当用户输入 python是什么相关问题 只要问题中包含python是什么这几个字 就可以返回 对应的内容
总结
以上是生活随笔为你收集整理的NLP实战1--词典、停用词、问答对的准备的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: QQ兼容android版本6,QQ浏览器
- 下一篇: Adobe Photoshop CS6