一、概要
該文章發於ACL 2015,作者提出了一個基於Freebase,使用multi-column convolutional neural networks(MCCNNs)的自動問答模型,分別從答案路徑(answer path), 答案背景信息(answer context), 以及答案類型(answer type) 來理解問題,並學習它們的分佈式表示(distributed representations),在不使用任何手動特徵及詞表等條件下在問答數據集WEBQUESTIONS 上取得了很好的結果。
二、模型方法
2.1 模型簡介
假設存在問題
然後基於每一個候選答案a,根據模型訓練得到的答案路徑(answer path), 答案背景信息(answer context), 以及答案類型(answer type) 的vector representations,以及分別對應的問題的vector representations,即:
其中
2.2 MCCNNs for Question Understanding
MCCNNs使用了三個管道來學習問題表示和word embeddings,分別對應答案路徑,答案背景信息, 以及答案類型。假設存在問題
那麼對於MCCNNs的第i個通道,表示問題q的n個向量的第j個的計算方法爲:
其中(2s + 1)爲滑窗大小,
2.3 Embedding Candidate Answers
對於每個候選答案a,其三方面的Vector representations分別表示爲:
①Answer Path,答案路徑表示爲知識庫中候選答案與問題中的實體節點之間路徑上的所有關係(relation)集合,如上圖的答案路徑爲:(film.film.release date s,film.film regional release date.release date),其ector representation
其中
②Answer Context,所有與答案路徑直接相連的實體或關係都視爲答案上下文背景,其representation的計算方式爲:
其中
③Answer Type ,候選答案的類型是作爲問題答案的重要線索,其representation的計算方式爲:
其中
2.4 Model Training
在訓練集中,對於問題q的每一個正確答案
其中m爲margin parameter,
其中
因爲對於每一個問題,其對應的正確答案可能不止一個,所以設定了閾值m,即loss函數中的margin parameter,當通過下列公式來判別是否選爲正確答案:
三、實驗結果
如上圖,可以看出作者提出的深度學習MCCNNs模型,其獲得的結果超過了當時衆多學者的結果。同時作者對不同的通道做了對比,如下左圖是分別去掉相應條件下取得的結果,可以發現answer path的信息是最重要的,因爲其充分獲取了問題和候選答案之間的信息,而answer context處理的信息太多,所以引入的噪聲相對也多,
上圖左是作者基於學到的問題表示f(q),計算問題中每個詞的重要性,例如存在問題
其中
四、結論與思考
作者提出的multi-column convo- lutional neural networks (MCCNNs)模型,通過三個通道來分別針對答案路徑(answer path), 答案背景信息(answer context), 以及答案類型(answer type) 來學習理解問題,在數據集WEBQUESTIONS 上取得了很好地結果,作者基於結果對模型出現錯誤的地方進行了一下分析:
①Candidate Generation,由於使用Freebase Search API返回的候選答案中可能根本就不存在正確答案的情況,比如有些問題單詞使用了縮寫形式,所以很難捉住重點信息。
②Time-Aware Questions ,時間序列的問題,比如問題:who is johnny cash’s first wife?答案可能會返回第二任妻子的姓名,因爲first/second這樣的詞很難學習到相應的信息。
③Ambiguous Questions,問題有時很模糊,甚至有歧義,比如“what has anna kendrick been in”是在詢問她演過什麼電影,這句話中並沒有含有表達其意思的關鍵詞。
五、個人思考
①該模型可以說非常充分的考慮到了候選答案的各種信息,並基於深度學習取得了很好地效果,針對於作者後面所做的錯誤分析是可以突破的一些地方,同時在模型裏作者使用的是詞向量,可以嘗試基於字符向量做一定的改進。