Python快速構建中文問答機械人 檢索式機械人

2021-10-07 21:47:07 字數 2181 閱讀 7931

本文所有**及資料集已上傳 retrieval-bot

屬於檢索式問答系統,採用倒排索引+tfidf+余弦相似度。

相關**:dataset and neural recurrent sequence labeling model for open-domain factoid question answering

檔案列表

檔案描述

me_test.ann

乙個問題乙個證據

me_test.ir

乙個問題多個證據

me_train

混合訓練語料

me_validation.ann

乙個問題乙個證據

me_validation.ir

乙個問題多個證據

解析json資料得到構成:

,"證據編號n":}

}}

材料中沒有答案的話預設為 『no_answer』

存在問題編號相同但內容完全不同的情況

提取欄位有:

字段描述

question

問題answer

答案evidence

證據answer1

不同的答案1

answern

不同的答案n

提取資料共48265條,部分結果:

,"8285":,

"8286"

:}

觀察資料發現:

最多有兩個回答,即 『answer』 和 『answer1』 字段

答案有2個的資料共 44 條

人工過濾上述資料中有問題的 8 條資料(加粗為正確答案):

question

answer

answer1

第一位任國際足聯副主席的華人是

李惠李惠堂

世界上最大的金字塔叫什麼名字

胡夫金字塔埃及金字塔

西遊記作者是誰

羅貫中吳承恩

西遊記的作者是誰

吳承恩羅貫中

妙應寺白塔始建於元朝至元八年(公元2023年),由當時哪國的工藝家阿尼哥奉敕主持修建

尼泊爾尼伯爾

典故"負荊請罪"中的"負荊"者是向誰請罪的?

藺相藺相如

《白雪歌送武判官歸京》的作者是

岑參

台灣最大的湖是什麼湖?

日月潭澎湖

利用gensim庫構建問答機械人

主要步驟:

讀取語料庫,分詞,去停用詞

載入或生成gensim字典

語料轉詞袋表示

構建tfidf模型

比較文字相似度

首次執行會進行分詞、轉向量任務,需要約25s,將儲存多個檔案,下一次執行僅需0.2s

檔名用途

dictionary

語料處理後的gensim字典

splitdata.json

原始語料的分詞結果

tfidf.index

文字相似度序列

tfidf.index.0

文字相似度序列快取檔案

tfidf.index.1

文字相似度序列快取檔案

tfidf.model

tfidf模型

dataset and neural recurrent sequence labeling model for open-domain factoid question answering

python解析json資料構成

python庫gensim用於主題建模、文件索引、語料相似性檢索

brightmart/nlp_chinese_corpus: 大規模中文自然語言處理語料 large scale chinese corpus for nlp

nlp民工的樂園: 幾乎最全的中文nlp資源庫

codemayq/chinese_chatbot_corpus: 中文公開聊天語料庫

Rasa構建中文系統

rasa預設管道不支援提取中文實體 資料 nlu.md intent greet 你好 你好啊 你好嗎 hello hi 早上好 晚上好 嗨 intent affirm 是的 是 對的 確實 好 ok 好的 好的,謝謝你 好滴 好啊 intent restaurant search 我想找地方吃飯 ...

Python 中文輸入 建立中文路徑 當前路徑

用python的input接受控制台輸入的中文一直報錯,網上都沒有出現這個問題的情況,一度懷疑人生。搞了半天,有些是vscode python debug console的問題,在cmd上執行就沒問題。if not os.path.exists keyword keyword為中文 os.mkdir...

通過redis協議構建中文髒詞過濾微服務

mkdir p data server wordsfilter cd data server wordsfilter wget o gorediswordsfilter v0.0 1.tar gz 1.tar gz tar zxvf gorediswordsfilter v0.0 1.tar gzc...