第四章 參考諮詢機器人建置與評估
第四節 問題相似度比對
執行問題相似度比對前,需對問題文字進行前置處理,而此部分處理判斷規 則模組與問答語料庫的建置均會用到,因此此兩項建置將在本節一起說明。
一、 問答語料問句處理
在此步驟要先將問句斷詞作斷詞處理,本研究是採用jieba.cut 模組進行斷詞 處理,並新增自訂字典,自訂字典中會定義與圖書館領域相關用詞,如:館合證、
薦購、擬列入採購等,本研究共設有773 個詞(附錄二),每個字典詞以換行區 分,並以空格分隔權重與詞性,儲存成txt 檔案類型(範例見圖 4-5),以讓斷詞 結果更加貼合圖書館知識背景。
138
57
128
150
46
0 20 40 60 80 100 120 140 160
圖4-5 自訂字典範例
接著要計算此問答語料庫的逆向檔案頻率(inverse document frequency, idf),
以幫助下一步提取關鍵字時能更符合問答語料庫的情境,idf 計算公式:
𝑖𝑑𝑓𝑖 = 𝑙𝑜𝑔 |𝐷|
|{𝑗: 𝑡𝑖 ∈ 𝑑𝑗}|
簡單來說,若 D 是所有文件總數,i 是問答語料庫中出現的單詞,ti是該單 詞在所有文件中出現的文件數,則id𝑓𝑖 = 𝑙𝑜𝑔𝐷𝑡
𝑖,計算好的idf 值存成文檔待下一 步驟使用。計算完idf 值後,將斷好詞的問句經過自訂同義詞表(附錄三)轉換,
存入「q_cut」欄位,此處自訂同義詞表除了一般同義字,還有針對臺師大圖書館 情境的設定,本研究共設定823 筆同義詞轉換規則,範例見表 4-7。若是在判斷 規則模組則是將使用者問題的斷詞結果暫存,以進行下一步驟相似度比對。
表4-7 自訂同義詞表範例
同義詞類型 名詞 置換名詞
一般
修改 更改
申辦 申請
臺師大圖書館情境
公館 公館圖書館
公館校區 公館圖書館
公館分館 公館圖書館
公館分部 公館圖書館
二、 提取問句關鍵字
jieba.analyse 是採用 tf-idf 權重值提取關鍵字的模組,用上一步計算好的 idf 文檔導入 jieba.analyse,以提取問題的關鍵字,若是在問答語料庫建置執行此步 驟,則將關鍵字提取結果存入「original_tag」欄位。因為問答是屬於短文本,提 取結果並不一定理想,故關鍵字還要做進一步處理,要經過自訂的同義詞表轉換 同義詞,並刪除與判斷問句無關的停用詞,此處停用詞包含常見的代名詞、副詞
(頻率、程度、時間)、介系詞、連接詞,還有一些是與臺師大圖書館情境較無 關或是出現頻率太高不適合當關鍵字之詞(表4-8),本研究共設有616 個停用詞
(附錄四),每個停用詞以換行區分,儲存成txt 檔案類型。若是在問答語料庫建 置執行此步驟,則將關鍵字轉換、刪除結果存入「tag」欄位,判斷規則模組則是 將使用者問題的關鍵字暫存,以進行下一步驟相似度比對。
表4-8 自訂停用詞表範例
類別 停用詞
代名詞 我的、他的、那天、這些、那些
副詞(頻率、程度、時間) 非常、常常、昨天
介系詞 以上、依照、除了、關於
連接詞 還是、因為、所以、但是、因此、然而
與情境較無關 感謝、搬家、不好意思、您好、方法
出現頻率太高 圖書館、臺師大
三、 關鍵字與問句相似度比對
根據問答語料庫關鍵字提取結果與問題的意圖分類,歸納出一個簡易的分類 器,當使用者問句進入判斷規則模組中,進行前兩步驟後,在分類器中依據出現 的關鍵字有了初步分類,才進行相似度比對,以使比對更加聚焦,例如:分類器 若判斷使用者問題提取關鍵字有「報紙」此詞彙,則相似度會從「報紙、過期」、
「檢索技巧、報紙」、「檢索技巧、報紙、中國」三項意圖分類中的問題進行比對。
本研究的問句相似度比對是採用Dice 係數進行計算,Dice 係數公式:
𝑠 = 2|𝐴 ∩ 𝐵|
|𝐴| + |𝐵|
而本研究整體相似度計算是分別將問答語料庫中問題的關鍵字、斷詞結果逐 筆與使用者問題的關鍵字、斷詞結果進行比對,公式為:
相似度=0.7*關鍵字 Dice 相似度+0.3*問句 Dice 相似度
最終將相似度最大值問題對應的答案回覆給使用者,而相似度小於 0.35 的 問題不予回覆,視為資料庫中沒有可比對的結果,若相似度最大值的問題為「圖 書館資訊、開館時間」類別,則進入開館查詢模組。