問答系統實踐——判定問題

作者聲明:

????????SemEval-2015 Task3任務是由我和Index_gz共同合作完成,他寫了SemEval-2015 Task3的任務一,我來寫SemEval-2015 Task3的任務二。

問題描述

????????這個問題來自于SemEval-2015 Task3: Answer Selection in Community Question Answering.

????????簡單的說就是從一堆問題和答案中找出他們之間的相關性。

??????? 這個Task包含兩個Subtasks:

Subtask1.給定一個問題和一些答案,將答案進行為3類:good/potential/bad。

Subtask2.給定一個判定問題(Yes/No/Unsure)和一些答案,判定該問題是Yes/No/Unsure。

???????? 這里主要討論Subtask2。

詳見:http://alt.qcri.org/semeval2015/task3/

實現框架

整體實現框架如下圖所示:

簡單來說,分為一下幾個步驟:

1.預處理:通過一些基本的“詞”級別的處理,為特征提取準備規范數據。

2.特征提取:通過對原始數據和預處理后的數據進行分析,并基于一定的假設,確定選取特征,提取特征。

3.模型構建:根據問題描述,選擇學習模型,構建訓練集,訓練模型。

4.實驗評估:構建測試集,對比各模型效果。

5.實驗結果分析

接下來詳細描述整個過程。

預處理

?????? 預處理階段我們做了詞性標注,詞干還原和去停詞。詳情可見Index_gz寫的《問答系統實戰——答案選擇》的預處理。http://blog.csdn.net/Index_gz/article/details/69524747

特征提取

?????? 為了方便理解yes_no_unsure問題的訓練關鍵,我們先來舉一個中文的例子:

Question :QID=Q7,QUSERID=U22 ,QTYPE=YES_NO ,QGOLD_YN=Yes:

???????????? 惠新西街北口地鐵站附近有沒有銀行?

???????? Comment1:CID=Q7_C1, CUSERID=U23,CGOLD_YN=Unsure

???????????? 你問的是哪個出口呢,不確定呀?

???????? Comment2:CID=Q7_C2, CUSERID=U24,CGOLD_YN=Yes

????????????? yes,在A口附近有一個交通銀行。

???????? Comment3:CID=Q7_C3, CUSERID=U22,CGOLD_YN=Not Applicable

??????????????請問A口出來過天橋嗎?

?????????Comment4:CID=Q7_C4, CUSERID=U24,CGOLD_YN=Yes

??????????????不用過天橋,地鐵站A口出來向右走50米就到銀行了。

???????? Comment5:CID=Q7_C5, CUSERID=U25,CGOLD_YN=Yes

??????????????yesssssssss,那附近還有一個建設銀行呢。

???????? 對于判決yes_no_unsure的人或者機器來說,他并不容易通過其他知識來判斷,它最終的依然是根據回答者的回答,來判斷這個問題到底是yes ,no 還是unsure。

????????有了這個認識,我們就要設計特征了。第一,comment起碼要和question說的是同一件事,所以,能表示comment和question相關性的特征是我們想要的。第二,確定每一條comment是yes傾向,no傾向,還是unsure傾向。大家結合起來判斷question是yes傾向,no傾向,還是unsure傾向。所以我們設計了以下特征:

(一)表示comment和question說的是同一件事的特征,相似性特征:

詞相似特征

1.Word cosine similarity: 我們假設問題和好的答案詞相似,所以設計回答和問題的詞的相似度特征。構建詞典,以詞典順序作為向順序,tfidf 作為權重 ,統計每個回答和問題的空間向量,然后計算對應的問題和回答之間的余弦相似度。

2.NE cosine similarity:關鍵詞通常是名詞實體,我們假設問題和好的回答的關鍵詞相近,所以我們構建了問題與回答之間的名詞實體余弦。識別名詞實體,構建名詞實體字典。以字典為順序,tfidf為權重,構建每個問題和答案的名詞實體向量,并計算相應的余弦值。

特殊符號特征:

經過統計發現,comment中有一些強特征符號:'??', ':-', '???'。這些符號出現,comment和question的判定往往是不同的。因此我們設計了這一維特征,出現定義為1,未出現定義為0。

主題相似度特征

1.Topic feature: 我們假設question的主題和comment的主題是相似的,所以這維特征計算question和comment的主題相似度分數。我們借助 gensim工具的 LDA 模型來訓練主題模型。我們訓練? 10 個主題的主題模型,然后拿到每條comment和question的主題向量(每條記錄屬于每個主題的分數)。拿到每條記錄(comment和question)的主題向量之后,計算對應的comment和question的余弦相似度。從而得到comment和question的主題相似度特征。

gensim 的LDA方法詳見:https://radimrehurek.com/gensim/models/ldamodel.html

語義相似度特征

1.word2vector feature: 我們假設question和comment所用的詞在語義上是相似的,comment與question的詞越是相似的越有可能是靠譜的comment。我們借助 gensim具來訓練 word2vec 特征。這樣我們就得到每個詞的詞向量。然后借助以下公式拿到對應comment與question的詞向相似度得分。


其中Wi是問題的第1個詞,wj'是回答的第j個詞。n是問題的詞的個數,m是回答的詞的個數。

gensim 的word2vec方法詳見:https://radimrehurek.com/gensim/models/word2vec.html

(二)判斷每條comment的yes_no_unsure傾向的特征:

特殊詞特征:

?????? 經過統計yes no unsure的comment的用詞,我們發現一些強特征詞,為此我們設計了19維特征詞特征:in_yes,in_no,in_unsure,nop_num,nooo_num,yes_num,yea_num,yesss_num,unsure_num,sure_num,have_prob_num,have_discus_num,have_harm_num,have_quest_num,have_argu_num,have_asum_num,have_cheat_num,have_joke_num,have_clear_num。

語義傾向特征:

??????? 判斷comment的yes,no,unsure的傾向需要特殊詞詞頻的特征,也需要語義特征。對全語料訓練word2vec。使用以下公式拿到每條comment與yes ,no ,unsure的相似度,共三維:

??????? 其中label可取(yes,no,unsure),WV(wi)表示comment的第i個詞的詞向量,當label取yes時,WV(label)表示yes的詞向量。

模型訓練

??????? 我們采用了一下三種模型,均采用sklearn工具包的默認方法,未設置任何超參數

1.SVM

2.樸素貝葉斯

3.決策樹

效果評估

(以下實驗均未使用devel集)

第一次嘗試實驗結果:

第二次嘗試實驗結果:

第三次嘗試(comment分類器效果,train數據集中,600做訓練集,195做測試集)

各個模型錯分各類樣本個數:

svm:

nb:

DT:

結果分析:

??????? 第一次嘗試訓練時,我們使用了yes_no問題的全部comment,共1528條,其中有733條是Not Applicable。訓練集噪音過大導致訓練效果非常差。

??????? 第二次嘗試訓練時,首先去掉了Not Applicable的數據,然后我們面臨了第二個問題:我們使用question的CGOLD_YN當作label,但是每個comment都有一個向量,所以我們決定對一個question的所有comment的向量取平均,合成一個向量去學習。決策樹的效果相對比較好F1值達到54.575%,在官方的分數中可以達到第三名的效果,但是SVM和NB的效果依然步樂觀,我們又進行了第三次嘗試。

??????? 第三次嘗試訓練,我們使用comment 的CGOLD_YN當作label。訓練使comment的向量預測label與真實label縮短差距,得到comment的yes_no_unsure模型。用這個模型取測試test集合的comment。然后使用comment加權投票決定每個question的yes_no_unsure值。

??????? 但是,當我們把comment分類器訓練出來后發現,效果很一般,經過近一步分析發現,SVM對于Yes的錯分樣本個數居然為0,再分析得出,SVM把所有樣本都分到Yes類中去了。究其原因,我們猜想是我們提的特征中反映comment的yes類的特征太強了,而另外兩類的特征太弱,加上訓練集分布上yes數量最多,再加上沒有對每個問題的每類特征進行加和平均操作,放大了強的特征的影響而縮小的弱的特征的影響,最終使的SVM分類失敗。

??????? 總而言之,拿到問題,需要深入了解問題的根本和數據分布,從而挖掘出什么特征能影響分類效果。

參考文獻

[1] Denkowski M, Lavie A. Meteor 1.3: automatic metric for reliable optimization and evaluation of machine translation systems[C]// The Workshop on Statistical Machine Translation. Association for Computational Linguistics, 2011:85-91.

[2] Quan H T, Tran V, Tu V, et al. JAIST: Combining multiple features for Answer Selection in Community Question Answering[C] International Workshop on Semantic Evaluation. 2015:215-219.

[3] Mikolov T, Chen K, Corrado G, et al. Efficient Estimation of Word Representations in Vector Space[J]. Computer Science, 2013.

[4]Goldberg Y, Levy O. word2vec Explained: deriving Mikolov et al.'s negative-sampling word-embedding method[J]. Eprint Arxiv, 2014.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容