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