欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

NLP实战1--词典、停用词、问答对的准备

发布时间:2024/1/1 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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--词典、停用词、问答对的准备的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。