基於bert的中文語義匹配模型,判斷兩句話是不是同一個意思
- 2019 年 10 月 28 日
- 筆記
本文的核心是句子相似度的計算,可以使用TF-IDF和word2vec兩種方法對問句進行向量化,並在此基礎上使用進行句子相似度的計算。
也可以利用深度學習模型做句子配對,即給定用戶描述的兩句話,用演算法來判斷是否表示了相同的語義。若語義相同則判斷為1,不相同則為0.
了解更多
https://blog.csdn.net/fkyyly/article/details/86016703

如果能夠找到相應的問題,就可以直接將問題所對應的答案返回給用戶,而不需要經過問題理解、資訊檢索、答案抽取等許多複雜的處理過程,提高了效率。FAQ(Frequently Asked Questions)系統在根據用戶問題建立候選問題集的基礎上,建立常問問題集的倒排索引,提高了系統的檢索效率,同時,與傳統的基於關鍵詞的方法相比,用基於語義的方法計算相似度提高了問題的匹配精度。
FAQ問答系統是一種已有的「問題-答案」對集合中找到與用戶提問相匹配的問句,並將其對應的答案返回給用戶的問答式檢索系統。由於FAQ問答系統免去了重新組織答案的過程,可以提高系統的效率,還可以提高答案的準確性。這其中要解決的一個關鍵問題是用戶問句與「問題-答案」對集合中問句的相似度比較,並把最佳結果返回給用戶。
利用預訓練的中文模型實現基於bert的語義匹配模型
AI項目體驗地址 https://loveai.tech
訓練腳本 train.sh
批量測試腳本 predict.sh
利用模型進行單條語句測試 intent.py
chinese_L-12_H-768_A-12為預訓練的相關模型和詞典
下載地址
https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
下載後解壓,放在項目根目錄
data文件夾中為訓練語料,驗證語料,測試語料 數據集為LCQMC官方數據
參數說明:max_seq_length sentence的最大長度(字) train_batch_size batch_size的大小
max_seq_length = 50
eval_accuracy = 0.87207
test_accuracy = 0.86272
max_seq_length = 40
eval_accuracy = 0.88093615
test_accuracy = 0.86256
訓練過程
