论文浅尝 | Leveraging Knowledge Bases in LSTMs
Yang, B., Mitchell, T., 2017. Leveraging Knowledge Bases in LSTMs for Improving Machine Reading. Association for Computational Linguistics, pp. 1436–1446.
鏈接:http://www.aclweb.org/anthology/P/P17/P17-1132.pdf
?
這篇論文是今年發(fā)表在 ACL 的一篇文章,來自 CMU 的工作,提出通過更好地利用外部知識(shí)庫的方法解決機(jī)器閱讀問題。由于傳統(tǒng)方法中用離散特征表示知識(shí)庫的知識(shí)存在了特征生成效果差而且特征工程偏特定任務(wù)的缺點(diǎn),本文選擇用連續(xù)向量表示方法來表示知識(shí)庫。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)端到端模型使得大部分背景知識(shí)被忽略,論文基于 BiLSTM 網(wǎng)絡(luò)提出擴(kuò)展網(wǎng)絡(luò) KBLSTM,結(jié)合 attention 機(jī)制在做任務(wù)時(shí)有效地融合知識(shí)庫中的知識(shí)。
論文以回答要不要加入 background knowledge,以及加入哪一些信息兩部分內(nèi)容為導(dǎo)向,并借助以下兩個(gè)例子說明兩部分內(nèi)容的重要性。“Maigretleft viewers in tears.”利用背景知識(shí)和上下文我們可以知道Maigret指一個(gè)電視節(jié)目,“Santiago is charged withmurder.”如果過分依賴知識(shí)庫就會(huì)錯(cuò)誤地把它看成一個(gè)城市,所以根據(jù)上下文判斷知識(shí)庫哪些知識(shí)是相關(guān)的也很重要。
KBLSTM(Knowledge-aware Bidirectional LSTMs)有三個(gè)要點(diǎn):
(1)檢索和當(dāng)前詞相關(guān)的概念集合V(x_t)
(2)attention 動(dòng)態(tài)建模語義相關(guān)性
(3)sentinel vector S_t 決定要不要加入 background knowledge。
主要流程分兩條線:
(1)當(dāng)考慮背景知識(shí)的時(shí)候就把 knowledge module 考慮進(jìn)去
(2)如果找不到和當(dāng)前詞相關(guān)的概念則設(shè)置 m_t 為 0,直接把 LSTM 的 hidden state vector 作為最后的輸出。
后者簡(jiǎn)單直接,這里說明前者的結(jié)構(gòu)。knowledge module 模塊把 S_t、h_t、V(x_t) 作為輸入,得到每個(gè)候選知識(shí)庫概念相對(duì)于 h_t 的權(quán)重 α_t,由 S_t 和 h_t 得到 β_t 作為 S_t 的權(quán)重,最后加權(quán)求和得到 m_t 和 h_t 共同作為輸入求最后輸出,這里通過找相關(guān)概念和相關(guān)權(quán)重決定加入知識(shí)庫的哪些知識(shí)。
論文用 WordNet 和 NELL 知識(shí)庫,在 ACE2005 和 OntoNotes 數(shù)據(jù)集上做了實(shí)體抽取和事件抽取任務(wù)。兩者的效果相對(duì)于以前的模型都有提升,且同時(shí)使用兩個(gè)知識(shí)庫比任選其一的效果要好。
筆記整理: 李娟,浙江大學(xué)在讀博士,研究方向?yàn)橹R(shí)圖譜,常識(shí)推理,知識(shí)庫分布式表示和學(xué)習(xí)。
OpenKG.CN
中文開放知識(shí)圖譜(簡(jiǎn)稱OpenKG.CN)旨在促進(jìn)中文知識(shí)圖譜數(shù)據(jù)的開放與互聯(lián),促進(jìn)知識(shí)圖譜和語義技術(shù)的普及和廣泛應(yīng)用。
轉(zhuǎn)載須知:轉(zhuǎn)載需注明來源“OpenKG.CN”、作者及原文鏈接。如需修改標(biāo)題,請(qǐng)注明原標(biāo)題。
點(diǎn)擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的论文浅尝 | Leveraging Knowledge Bases in LSTMs的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LS-GAN:把GAN建立在Lipsch
- 下一篇: 使用numpy实现神经网络模块