• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Improved Representation Learning for Question Answer Matching

    標簽: 論文  ACL  閱讀理解  問答系統

    Improved Representation Learning for Question Answer Matching

    1 引言:

    Passage-level答案選擇是典型問答(QA)系統中的重要組成部分之一。
    它需要有效的表示來捕捉問題和答案之間復雜的語義關系。其中: 答案文本選擇步驟也被稱為文本評分(passage scoring)。

    問題 Medicare是否覆蓋我的配偶?
    Ground-truth答案: 如果你的配偶已經工作并支付全部所需的40個季度的醫療保險稅,或者由于殘疾或其他原因有資格享受Medicare,你的配偶可以獲得他/她自己的醫療保險福利。 如果你的配偶沒有達到這些資格,而你達到了他們,并且如果你的配偶是65歲,他/她可以根據你的資格獲得Medicare。
    另一個候選答案: 如果您已與Medicare合格配偶結婚至少10年,您可能有資格享受Medicare。 如果你是喪偶的,并且沒有再婚,并且在配偶去世前至少9個月你已經與你的配偶結婚,那么你可能有資格享受配偶條款下的Medicare福利。

    這項工作的核心挑戰之一在于問題與答案之間復雜而多樣的語義關系“
    1. 一個好的答案可能會以不同的形式出現:有時候一個正確的答案是用問題缺失的信息來完成。例如,表1中的問題僅包含五個單詞,而最佳答案用60個單詞進行闡述。
    2. 另外,雖然答案必須與問題相關,但它們通常不會共用通用的詞匯單元。例如,在示例問題中,答案中沒有直接提到“cover”。這個問題可能會混淆簡單的單詞匹配系統。

    2相關工作:

    與基于深度學習的方法相比,這些挑戰因此使得手工特征不理想。此外,還要求系統能夠捕捉最佳答案和可接受答案之間的細微差別。

    例如,表1中的第二個答案適用于提問者,其配偶符合Medicare資格,詢問他/她自己的保險,而示例問題更可能由符合Medicare資格的人員詢問,詢問他/她的配偶覆蓋面。

    雖然這項任務通常被視為一對一排序的問題,但捕捉問題與答案之間關聯的最佳策略仍然是一個懸而未決的問題。目前已確立的方法通常存在兩個弱點:

    1. 首先,諸如(Feng等人2015)之前的工作分別采用卷積神經網絡(CNN)或遞歸神經網絡(RNN)。但是,每個結構只描述文本的一個語義視角。CNN強調n-gram內的本地交互,而RNN旨在捕獲長距離信息并且忽略不重要的本地信息。如何結合兩者的優點還沒有得到充分的探索。
    2. 其次,以前的方法通常基于獨立生成的問答詞向量; 這種表示的質量通常隨著答案序列變長而降低。

    多以相對應,本文提出解決辦法如下:
    1. 我們提出了混合神經網絡,通過結合RNN和CNN的優點,可以更好地表達問題和答案。
    2. 我們證明了注意力機制對答案選擇任務的有效性,這在以前的工作中還沒有得到充分的探討。

    3 框架

    3.1 基礎的QA-LSTM:

    我們的基本答案選擇框架如圖1所示。
    1. 給定輸入對(q,a), q是一個問題,a是候選答案,首先我們檢索q和a的詞向量,然后分別在兩個WEs序列上應用一個biLSTM。
    2. 接下來,我們使用對所有輸出向量進行最大匯聚maxpooling。生成一個固定大小的分布式矢量表示
    3. 最后,我們使用余弦相似的sim(q,a)來評分輸入(q,a)對。

    將目標函數定義為hinge loss:

    L = max{0,M?sim(q,a+ )+sim(q,a? )}

    a +是真實的答案,a- 是一個從整個答案空間中隨機抽取的錯誤答案,M是一個margin。在訓練期間,對于每個問題,我們隨機抽取K個否定答案,但只使用最高的L來更新。

    3.2 改進1:結合了cnn與lstm:

    在QA-LSTM在處理長應答序列時,使用的pooling策略在過濾重要本地信息的能力低下。從根本上說,由于CNN與LSTM的拓撲結構不同,RNN和卷積神經網絡有各自的優點和缺點。我們研究保持兩者的優點,提出以下兩種改進方法:

    1. Convolutional-pooling LSTMs

    通過對LSTM輸出向量的序列應用卷積來捕獲更豐富的本地信息。

    2. Convolution-based LSTMs

    這種方法的目的是利用卷積在較低的層次捕獲本地的n-gram交互。在更高的層次上,構建了雙向LSTMs基于復雜的n-gram提取了長期的依賴關系。

    3.3 改進2:加入注意力機制:

    QA-LSTM和兩種混合模型,這些結構忽略了另一個潛在的問題。答案可能是非常長的,并且包含許多與當前問題無關的單詞。

    不管在回答的問題上使用什么先進的神經網絡,產生的表示可能仍然會被無用的信息所干擾。

    例子是表1中的第二個候選答案。如果答案表示的構建沒有注意到輸入問題,那么答案表示可能會受到n-gram的強烈影響:比如“你的配偶的死亡。。保險”,如果我們只看候選人的答案,這是有意義的,但是對于輸入問題來說并不是那么重要。

    我們通過開發一個簡單的注意力模型,通過動態地調整問題的答案,從而緩解這個問題。

    讓每個答案的biLSTM輸出向量,乘以一個softmax權重。(權重由biLSTM的問題表示決定)

    從概念上講,注意機制更重視候選答案的某些單詞,其中權重是通過考慮來自問題的信息來計算的。預期的是,在輸入問題上,候選人回答中更重要的單詞應該得到更大的權重。

    4 實驗

    • 使用word2vec:“嵌入”的訓練數據是維基百科.單詞向量的大小設為100
    • 隨機梯度下降法(SGD)是一種優化策略。學習速率的λ是1.1
    • 我們在hinge loss損失函數中也嘗試了不同的邊距,最終確定了M=0.2的邊距
    • 問題和答案的最大長度L是200。此范圍外的任何分詞都將被丟棄
    • 我們以小批量的方式訓練我們的模型(批量大小為20)
    • LSTM輸出向量的維數是141 x2 ,CNN的輸出固定為282維

    最后模型精度:68%

    版權聲明:本文為u012052268原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/u012052268/article/details/79893510

    智能推薦

    hive 導出數據之一列多行,轉為一行多列

    需求:提取數據 說明:原數據是一列多行,需要轉化為一行多列 待查詢表為:temp_05 待查詢數據為: 待查詢數據如圖: 需要提取的數據表頭如下: 預定日期 昨日價格 前天價格 2018-02-01 2018-02-02 2018-02-03 2018-02-04 可用提數 SQL 數據如圖: 以下為嘗試過程 數據如圖: 數據如圖: 數據如圖: 數據如圖:...

    asp.net做一個簡易的聊天室

    要求: 結果: 關鍵代碼: Default.aspx Default.aspx.cs Default2.aspx Default2.aspx.cs Default3.aspx Default3.aspx.cs Default4.aspx...

    動態SQL和多表關聯-筆記

    《動態SQL與多表關聯》筆記 學習目標 能夠使用動態SQL完成SQL拼接 能夠使用resultMap完成多表查詢 能夠使用一對一查詢 能夠使用一對多查詢 (注:多對多其實就是兩個一個多) 映射文件:為什么要resultMap 目標 定義結果映射 使用結果映射 回顧 在mybatis中有2種配置文件: 核心配置文件,如:sqlMapConfig.xml 實體類映射文件,如:UserMapper.xm...

    【OpenGL C++ UE4】獲取模型頂點及面索引數據,并優化存儲結構供UE4繪制

    目錄 一、功能需求 二、成果 三、環境配置 四、詳細步驟 4.1 Max制作三棱錐并處理 4.2 核心代碼 4.2.1 傳入結構體數據 4.2.2 頂點去重、更新索引 4.2.3 輸出本地CSV文件 4.3 UE4繪制 一、功能需求 想必你肯定會問我一個問題,UE4直接導入模型不好么? 哈哈,前提是在做畢設時,導師提供的只有頂點與面索引數據,沒有模型。 下文詳細介紹了畢設開發中的難點,涉...

    解決Pyinstaller打包numpy和pandas庫文件過大問題

    解決Pyinstaller壓縮numpy和pandas庫文件過大問題 文件包類型和網上的方法 Windows下docker的安裝 在docker下實現打包     今天是2021年的第一天,先祝各位小伙伴現年快樂哈。最近因為做了一個項目,需要打包文件,文件中包含了numpy和pandas庫,結果打包出來幾百行的代碼居然要900m,人都傻了,翻遍了全網找解決方...

    猜你喜歡

    【混沌工程】基于ChaosBlade實現網絡故障模擬

    一、前言 很久之前曾基于linux內核自帶的TC和netem模擬一些公網中遇到的極端情況(延遲、丟包、重復、損壞和亂序等),驗證了我們傳輸程序的健壯性! 具體細節可見這篇老博客: https://blog.csdn.net/u013128262/article/details/84784663 最近在復現kafka生產端一個timeout異常場景時,發現之前方案時因為內核和OS版本問題有些差異而無...

    使用FileZilla連接時超時,無法連接到服務器

    用FileZilla連接服務器時,顯示錯誤: 解決方法: 檢查基本的內容 主機是否寫錯 端口是否自定義,默認21 檢查用戶名和密碼是否錯誤 如果連接的是公司內網 使用ping命令,測試一下是否能收到數據 收不到則需要開啟VPN,再ping,看是否能接收數據(請老鐵們用自己最合適的方法解決) 如果開啟VPN后能接收數據,則可以連接一下服務器,如果不行(怎么可能不行),則跳轉3并依次嘗試 開啟VPN后...

    反匯編:結構體拷貝傳參

    一、結構體拷貝傳參 二、引用和常引用傳參 三、大結構體做形參/數組拷貝...

    精品国产乱码久久久久久蜜桃不卡