从6篇经典论文看问题生成及其相关技术
?PaperWeekly 原創(chuàng) ·?作者|Maple小七
學校|北京郵電大學碩士生
研究方向|自然語言處理
在問答系統(tǒng)的構建中,問題生成(QG)常被當作一種數(shù)據(jù)增強技術來對待,然而在實踐中,通過問題生成模型增強數(shù)據(jù)所帶來的收益通常都不明顯,而問題生成作為一個單獨的 NLP 任務,又很難有實際的應用場景,所以問題生成的研究一直處于不溫不火的狀態(tài)。本文詳細講解了幾篇經(jīng)典的問題生成及其相關技術的論文,以備參考。
ACL 2017
論文標題:
Learning to Ask: Neural Question Generation for Reading Comprehension
論文來源:
ACL 2017
論文鏈接:
https://arxiv.org/abs/1705.00106
代碼鏈接:
https://github.com/xinyadu/nqg
該論文提出了一種基于 Global Attention 機制的問題生成模型,并比較了句子級編碼和段落級編碼的效果。模型的自動評價指標遠超基于規(guī)則的系統(tǒng),同時人工評價表明模型生成的問題更規(guī)范更流暢,而且在語法和詞匯上與原文重復不大(句法角色),具有一定的難度,有的問題甚至需要一些推理來回答(語義角色)。
1.1 問題背景
問題生成主要有如下常見的幾種應用場景:
1. 教育領域:這一點很多問題生成論文提到過,也就是為閱讀理解材料生成問題,然后將其用于測試人的閱讀理解能力,也可以為外語初學者提供更多的學習材料。不過目前看來,生成的問題都非常簡單,根本不需要聯(lián)想、推理、歸納之類的能力就能解決,而且目前的神經(jīng)網(wǎng)絡模型可以說毫無推理能力可言;
2. 對話系統(tǒng):問題生成可以讓聊天機器人主動向用戶提問題從而開啟一段對話,或者追問,即要求用戶對問題進行反饋以便完成對話任務(比如點外賣時問用戶喜歡吃什么,選擇什么價位從而實現(xiàn)精準推薦)。要求反饋這一點我覺得還是很有用的,不過這和機器閱讀理解似乎關系不大?
3. 醫(yī)療領域:生成的問題可以用于臨床上評估人類的心理健康狀態(tài)或提高心理健康水平。不過我覺得現(xiàn)在的技術水平,別反倒被問出心理疾病就可以了;
4. 開發(fā)標注數(shù)據(jù)集:這一點是切實的,其實就是所謂的數(shù)據(jù)增強,因為大規(guī)模標注數(shù)據(jù)總是很難得的,后面會講的 SynNet 也是為了實現(xiàn)這個方向的應用。
問題生成其實不是新方向了,以 Mitkov 為代表的研究者曾開發(fā)過一些基于規(guī)則的問題生成系統(tǒng),這樣的系統(tǒng)需要人工設計將陳述句轉(zhuǎn)換為疑問句的復雜規(guī)則(句法樹轉(zhuǎn)換模板),這要求設計者擁有深厚的語言學知識。
后來 Heilman 等人曾提出可以讓系統(tǒng)生成過量的問題,然后采用基于監(jiān)督學習的排序算法對問題質(zhì)量進行排序,選出最好的那一個,而監(jiān)督算法又要求人工設計復雜的特征集,即便設計了出來,系統(tǒng)所生成的問題也與文檔有較多的 overlap,比較死板,導致生成的問題非常容易回答。
Vanderwende 曾表示,問題生成也是 NLP 的核心任務,而不應僅僅局限于陳述句的句法轉(zhuǎn)換,因為一個聽起來很自然的問題本身就是對對應文檔中的句子的一種信息壓縮,有時還涉及同義詞替換和實體指代,甚至問題中還蘊含著來自真實世界的外部知識。
也就是說,構建具有合理難度的自然問題需要一種抽象的方法(而非形象的規(guī)則),這種方法應能產(chǎn)生流暢的問題,同時問題與其對應的文本內(nèi)容不能完全匹配。
這也是為什么端到端的方法更為合理,我們不應該依賴于人工編寫復雜的規(guī)則和傳統(tǒng) NLP 流水線式的模塊串行方法,而是直接采用數(shù)據(jù)驅(qū)動的端到端方法,這樣的方法已經(jīng)在機器翻譯、摘要生成和圖像生成中取得了巨大的成功,因此作者也首次嘗試了將基于?Global Attention?的神經(jīng)語言模型用于問題生成。
1.2 模型建立
本文的模型采用的是基于 Global Attention 的 Encoder-Decoder 結構,與神經(jīng)翻譯模型類似,人們在提問時,往往只關注與對應的句子和段落相關的部分,而不關注其他部分。在這里,作者設計了兩個 Attention 模型,一個只編碼句子,而另一個不僅編碼句子,還編碼句子所在的段落,這是因為有的問題不僅僅與答案所在的句子有關。
與前人的工作相同,在 Decoder 中,作者將條件概率分解為詞級別的預測,每一詞的預測概率為:
其中:
在 Encoder 中,作者采用 BiLSTM 編碼:
將它們連接起來得到上下文表示向量:
然后加權得到 Attention 向量:
而權重由雙線性打分函數(shù)和 softmax 正則化計算得到:
之前提到的句子級模型和句子+段落級模型的區(qū)別就在于解碼器的隱層狀態(tài)的初始化方法不同,在句子級模型中,隱層狀態(tài)向量初始化為 ,而在句子+段落級模型中, 和 被連接起來作為解碼器的隱層初始狀態(tài),這類似于一種 Y 型結構,將句子級信息和段落級信息連接起來。
在模型訓練中,訓練目標當然就是最小化負對數(shù)似然函數(shù),在預測時,采用 beam search 生成句子,由于輸入與輸出的字典大小不一樣,輸入的句子某些詞可能在輸出字典中不存在,這會導致生成的問題存在許多 [UNK],因此作者采用了一個 trick,也就是生成 [UNK] 時,用該詞對應的 Attention 權重最大的輸入詞將其替換,也就是?,這樣做是有道理的,因為 [UNK] 往往是句子的特征詞。
1.3 模型細節(jié)
這篇論文講得挺細的,甚至把 SQuAD 怎么構建的也講了一遍(鼓勵眾包員工提的問題盡量不要與原文有重合短語,問題與答案由不同的員工標注,而且是先標問題,后標答案),作者采用?Stanford CoreNLP?進行分詞分句和小寫轉(zhuǎn)換。
作者在 OpenNMt 系統(tǒng)上用 Torch7 實現(xiàn)模型,預訓練詞嵌入 GloVe、雙層 LSTM、SGD、Dropout、Gradient Clipping 應有盡有,在開發(fā)集上選擇具有最低困惑度(Perplexity)的模型。
1.4 模型評估
1.4.1 Baseline
這篇論文的 Baseline 也值得關注一下,如下所示:
IR:基于信息檢索的模型,其實根本稱不上是一個模型,它度量輸入句子與訓練集中每個問題的距離/相關度,然后取得分最高的問題作為生成的問題,距離的度量可以采用?BM-25 或編輯距離。
MOSES+:是使用最為廣泛的基于短語的統(tǒng)計翻譯模型,在這里,作者將生成的問題類比于翻譯的目標句子(雖然任務不同,但模型的思想都是相通的),作者用 KenLM 在目標側訓練一個三元語法模型,然后在開發(fā)集上用 MERT 微調(diào)模型。
DirectIn:很簡單的技巧,也就是將輸入句子根據(jù)標點分解為子句,然后將最大子句作為問題。
H&S:是一個經(jīng)典的基于規(guī)則的模型,其參數(shù)有just-wh、max-length、downweight-pro。
Seq2Seq:經(jīng)典的神經(jīng)翻譯模型,其輸入句子為倒序輸入,在開發(fā)集上調(diào)參并選擇最低困惑度模型。
1.4.2 評估結果
自動評估
作者給出了六個自動評估指標(BLEU1-4、METEOR、ROUGE),作者甚至將每個指標的定義講了一下,這里也正好小結一下:BLEU(BilinguaL Evaluation Understudy)測量的是兩個句子的 n 元語法的重合程度(精確率),而 BLEU-n 是在 BLEU 的基礎上測量兩個句子至多 n 元的語法的匹配度,并對過短的句子施加懲罰(brevity penalty)(現(xiàn)在還是普遍認為 BLEU 指標偏向于較短的翻譯結果)。
METEOR(Metric for Evaluation of Translation with Explicit ORdering)根據(jù)同義詞(Synonyms)、詞干(Stemming)和復述(Paraphrase)計算兩個句子的相似度,可以反映模型的召回率。ROUGE(Recall-Oriented Understudy for Gisting Evaluation)與 BLEU 很像,但其衡量的是 n 元語法的召回率(適合 NMT,不適合 SMT)。
下面的評估結果表明 IR 和 MOSES 的精確度都很低,召回率也不如人意,但讓我意外的是 DirectIn 的效果居然可以這么好,不過問句其實本身與原文會有較大的重合度,光靠自動指標計算 overlap 來評價其實并不能真實地反映生成答案的質(zhì)量。
而 Seq2Seq 在沒有 Attention 得情況下表現(xiàn)也不夠好,在 Baseline 中只有基于規(guī)則的 H&S 可以與作者的模型有得一比,但 H&S 只是轉(zhuǎn)換語法,而沒有考慮語義信息。
在作者的模型中,加上預訓練詞嵌入的模型比不加入的模型表現(xiàn)會高兩個點,而值得注意的是句子+段落級編碼并不比純句子級編碼效果要好,也就是說,雖然在段落中的確包含了一些與問題相關的信息,但段落信息中更多的是噪聲,當噪聲信息大過有價值的信息時,加入之后性能反倒會下降了。
人工評估
作者對比了 H&S 和自己的模型的人工評估結果,指標主要關注問句的自然度(naturalness)和困難度(difficulty),自然度指的是語法的合理性和流暢性,而困難度指的是問句與原文的語法差異以及回答是否要求推理能力,有意思的是,難得見到有人對指標對比加上了統(tǒng)計顯著性檢驗(截尾 t - 分布)。
評估結果是可以預想到的,但讓人意外的是作者的模型生成的問題竟然比人工標注的問題更具有挑戰(zhàn)性,作者認為,有一種可能性是因為模型是將所有的句子-問答對塞進去訓練,而一個句子可能會有多個問題,這就導致了模型在生成問題時,會綜合人工標注的問題,使得生成的問題比起人工標注的問題更加 diversity,也就更具有難度。
另外,作者在這里提到了一個?inter-rater agreement of Krippendorff's Alpha 指標,應該是用于衡量評估者之間的內(nèi)部一致性。
作者給出了一些生成問題的例子,有趣的是,一些生成的問題居然需要外部知識來回答,比如下面這個例子:
生成的問題是 “Why birds grow”,而正確的問題應該是 “Why many species stil grow”,原文中只提到了 “species”,但作者的模型竟然生成了 “birds”,也就是說,需要人來推理出 birds 時 species 的一種,而這在原文中并沒有說明。這是很有趣的現(xiàn)象,研究模型是通過怎樣的機制生成了這些看似無關的單詞,給模型一個合理的解釋,是很有價值的。
Attention
Attention 已經(jīng)講過很多了,在這里直接給圖,一目了然:
段落級編碼 vs 句子級編碼
之前提過,加入段落級編碼反倒會讓模型變差,為了探究背后的機制,作者將開發(fā)集中的問題按回答問題所需要的信息量大小分成了四個類型:只需要句子級信息、需要段落級信息、需要篇章級信息、需要外部世界信息。
模型在這四個類別問題的表現(xiàn)如下所示,可以發(fā)現(xiàn),句子級模型在需要段落級信息的問題上表現(xiàn)非常差,而段落級模型表現(xiàn)會好很多,這也間接表明了雖然段落中存在很多噪音,但當段落中的信息對問題有較大的幫助時,是可以提升模型性能的,只是在數(shù)據(jù)集中大部分問題只需要句子級信息,所以段落級信息會帶來更多噪聲。
這也為我們提出了一個新的挑戰(zhàn),也就是如何有效地利用段落級信息,去除里面的噪聲,提高模型性能。另外,也可以借助更多的機制(比如?Copy Mechanism,后面有人用過了)來進一步提高模型性能。
NLPCC 2017
論文標題:
Neural Question Generation from Text: A Preliminary Study
論文來源:
NLPCC 2017
論文鏈接:
https://arxiv.org/abs/1704.01792
代碼鏈接:
https://github.com/magic282/NQG
這篇論文同樣是首篇將深度學習技術運用到了面向問答系統(tǒng)的問題生成中的論文(與上一篇幾乎同一時間發(fā)表),問題生成是問答的反向任務,作者將 QG 任務定義為:給定一個自然語言句子及該句子中的一個連續(xù)子串(answer spans),要求根據(jù)該句子生成一個自然語言問題,且其答案為給定的子串。
傳統(tǒng)方法基本是在句法樹上定義啟發(fā)式規(guī)則對答案句進行變換,如經(jīng)典的?PCFG-Trans,其嚴重依賴于人工操作,較為繁瑣,不可移植且生成的問題質(zhì)量不高。另外還有人在結構化的數(shù)據(jù)上采用神經(jīng)網(wǎng)絡來生成事實型問題,但本文的亮點就在于首次直接從非結構化的自然語言文本中生成非結構化的自然語言問題。
本文的基礎模型是 2014 年提出的?seq2seq 模型,在 Encoder 中,作者提出利用 Feature-Rich Encoder 將答案位置信息(Answer Position Feature,采用 BIO tagging)、詞法信息(Lexical Feature: POS、NER)以及詞匯信息(Word Embedding)進行編碼,編碼器采用的是 BiGRU,從而生成針對該答案的問題。在 Decoder 中,文章結合了?Pointing 機制(Copy Mechanism:Gulcehre 2016)以解決低頻詞和集外詞問題。
高質(zhì)量數(shù)據(jù)集從來都是是一個模型最終效果的關鍵之處,文章基于 Stanford 的大規(guī)模高質(zhì)量的問答數(shù)據(jù)集(SQuAD),將開發(fā)集的一半作為測試集對模型進行評估,在編解碼器共享詞嵌入矩陣和預訓練詞向量(GloVe)優(yōu)化下的 NQG++ 模型,在?BLEU-4 自動評測指標與人工標注指標上均顯著優(yōu)于傳統(tǒng)的基于規(guī)則的方法。
在模型分析中,我們可以發(fā)現(xiàn)信息的重要程度?Answer Position >> NER > POS > Word Case,另外,作者發(fā)現(xiàn) NQG++ 生成問題類型的 diversity 還是有的,但在 WHICH 類型的問題生成上表現(xiàn)不太好,大概有兩個原因:
大部分 WHICH 類型的問題都可以轉(zhuǎn)化為其他類型,比如 Which time When,Which team Who;
SQuAD 中的 WHICH 類型的數(shù)據(jù)太少,導致模型學不到其特征,同理也可解釋 WHY 類型的不良表現(xiàn)。
至于問題生成的研究價值和落地價值,目前還不太懂這要如何運用在作者提到的教育領域上。總體來說,總共 6 頁的論文,感覺模型并沒有什么特別創(chuàng)新的地方,只是將答案與詞向量、NER 和 POS 共同編碼了而已。
EMNLP 2017
論文標題:
Two-Stage Synthesis Networks for Transfer Learning in Machine Comprehension
論文來源:
EMNLP 2017
論文鏈接:
https://arxiv.org/abs/1706.09789
代碼鏈接:
https://github.com/davidgolub/QuestionGeneration
3.1 問題背景
在機器閱讀理解(MRC)中,模型的輸入是三元組(passage, question, answer),而 q 和 a 均依賴于人工標注,然而人工標注的成本過高,如果在每個領域或應用場景下均需要人工標注大量數(shù)據(jù),時間成本和金錢成本均是無法接受的,同時,若直接應用其他領域的模型,則模型性能會急劇下降。
為了解決在新領域人工標注數(shù)據(jù)不充足以及模型遷移的問題,作者提出了一種二階段合成網(wǎng)絡結構:SynNet,利用已有領域中的大規(guī)模高質(zhì)量監(jiān)督數(shù)據(jù)為基礎進行訓練,讓模型學習在文本上自動生成問答對的能力,然后遷移(Transfer Learning)到無監(jiān)督數(shù)據(jù)的新領域中,在新領域中自動合成 QA 對,替代人工標注,并用來調(diào)整源領域的模型使其更貼近于新領域。
該模型對缺少標注數(shù)據(jù)的 MRC 問題提出了遷移學習的解決思路,實現(xiàn) MRC 的遷移落地,這篇論文應該是首次將遷移學習運用到了 MRC 領域中。
3.2 模型建立
比起其他單純生成問題或回答問題的閱讀理解任務,這里的任務是同時生成問題和答案,一般來說,QA 是抽取式(extractive)的任務,即問題的答案是文本中的關鍵語義概念(sematic concept),如 named entity, action, number 等,通常是一個單詞或短語(將答案設置為文本片段主要是為了減小答案的搜索空間);
而 QG 是生成式(abstractive)的任務,問題是句法流暢的自然語言,因此問題和答案是不同類型的數(shù)據(jù),應將其看作(q, a)元組。因此 SynNet 將問答對生成任務分解為答案的序列標注任務和問題的生成任務兩部分:
即將模型分為兩個階段(Two-Stage)或者說兩個模塊:答案合成模塊和問題合成模塊,
3.2.1 答案合成模塊
在答案合成模塊中,作者訓練了一個簡單的基于 BiLSTM 的 IOB tagger(START, MID, END, NONE)來預測文本中某個單詞是否為答案的一部分,即最大化?,學習文本中可作為答案的片段,主要包括命名實體等語義概念。
模型首先采用?BiLSTM?對 p 的詞向量(300d GloVe)進行編碼產(chǎn)生上下文相關表示向量?,然后通過兩個全連接層和一個 Softmax 產(chǎn)生每個單詞獲得不同標記的似然概率,選擇所有標記非 NONE 的連續(xù)單詞序列作為候選答案,輸入問題生成模塊。
3.2.2 問題合成模塊
問題生成模塊中最大化條件概率 ,作者將其分解為 來逐詞生成對應答案的問題,模型結構是Encoder-Decoder + attention + copy mechanism
Encoder:與答案合成模塊類似,將文本 p 的 word embedding 向量輸入 BiLSTM,但這里每個詞向量均加入一個 0/1 特征來表示單詞是否出現(xiàn)在答案中,經(jīng)過 BiLSTM 處理得到隱狀態(tài) 。
Decoder:采用單向 LSTM 生成問題,在每一時刻 ,由 和前一時刻輸出的問題單詞 得到隱層表示向量 。在生成單詞時,copy mechanism?中采用兩個預測器,一個直接產(chǎn)生預定義詞表中的詞,另一個由一個 pointer network 從段落 p 中復制一個詞。
Copy Mechanism:在 Copy Mechanism中,每一時刻 生成單詞 時,兩個隱含預測器(Latent Predictors)分別生成從文本中復制單詞的概率 和直接從詞表生成單詞的概率 ,而選擇預測器 的似然概率與 成比例,綜合起來,單詞的概率似然為 , 分別代表兩個預測器, 表示對應預測器預測的單詞生成概率。
由于產(chǎn)生的問題單詞序列 q 沒有什么時候生成或復制單詞的監(jiān)督標簽,所以借鑒論文《Latent predictor networks for code generation》中的無監(jiān)督學習算法(a variant of forward backward algorithm: Ling 2016)最小化交叉熵損失:。
另外,在訓練時采用貪心策略,即先選擇似然概率最大的預測器,然后選擇該預測器給出的概率最大的單詞。
3.3 MRC模型
即?,學習的是?,作者直接使用當時開源的 SOTA 模型?BiDAF(Bi-directional Attention Flow network),但 SynNet 與 MRC 模型解耦,因此任何 MRC 模型都是可以的。
3.4 訓練
首先,在源領域(Source Domain)中采用 Adam 訓練 SynNet: 和 MRC 模型 ,然后在目標領域(Target Domain)中采用 產(chǎn)生合成的 QA 對,然后和源領域的數(shù)據(jù)一起采用 SGD 算法來 finetune 源領域的 MC 模型使模型遷移到目標領域,源領域和新領域的采樣比是 , 為超參數(shù),作者選取 。這個 trick 主要是為了處理合成數(shù)據(jù)噪聲過大的問題而進行的數(shù)據(jù)正則化操作(Data Regularization)
在測試 finetune 后的 MC 模型 時,使用動態(tài)規(guī)劃搜索最佳答案,為了提高模型的穩(wěn)定性,作者對每 mini batch 的數(shù)據(jù)訓練后的模型設置checkpoints,保存模型的預測結果,然后將訓練時保存的模型 ensemble,對不同 checkpoints 模型給出的 answer likelihoods 做平均(Checkpoine-averaging)然后輸出答案。
3.5 結果
3.5.1 測試
作者將 SQuAD 作為源域,將 NewsQA 作為目標域來測試 SynNet 模型,值得注意的是,SQuAD 中 74.1% 的問題的答案可以通過單詞匹配和改寫得到,而 NewsQA 中這樣的問題類型只占了 59.7%,即 SQuAQ 的問題相對簡單。
模型的具體參數(shù)不用多說,值得一提的是,作者在訓練答案生成模塊時引入了 NER Tagger,因為人工標注不夠充分,許多可以作為答案的片段沒有得到標注,因此作者假設所有命名實體都可作為答案(這樣做合理嗎?人類往往只關心有意思的答案和問題,而對某些命名實體提問是不 interesting 且沒有意義的)。
最后,集成的模型能在 NewsQA 數(shù)據(jù)集上取得 46.6% 的 F1 得分,接近域內(nèi)全監(jiān)督 MRC 模型的表現(xiàn)(F1 結果為 50.0%),超過域外基線模型 7.6%。
3.6 誤差分析
3.6.1 答案生成模塊
作者將人工標注的答案與 NER Tagger 生成的答案標注分別用于訓練模型,發(fā)現(xiàn)基于自動標注的模型比基于人工標注的模型在 F1 上差了 10% 左右,說明了人工標注數(shù)據(jù)的重要性,因為人工標注數(shù)據(jù)往往是真正的關鍵語義概念,而自動生成的一些標注就不夠 linguistic 或 interesting。
3.6.2 問題生成模塊
作者為了衡量 copy 機制的影響,分別采用答案前后兩句話和整段文本來生成問題,可以發(fā)現(xiàn)窗口越小時,生成的問題與文本的重復越多,而使用與文本大量重合的合成問題來訓練模型,效果會變得不好,這再一次說明了人工標注數(shù)據(jù)的重要性,因為人工標注的問題往往與文本重復得很少,且有的問題涉及解釋、推斷、歸納,不能完全靠單詞匹配來解決。
另外,copy 機制也導致了產(chǎn)生的問句和文本高度相似的問題,作者認為可以嘗試引入 cost function 來促進解碼過程的多樣化,同時能讓遷移的 MRC 模型取得更好的效果。
在問題的具體類型分析中,基于 SynNet 的 MRC 模型在每一類的表現(xiàn)都得到了提升,然而在某些需要一定的推理的問題類型(如 What was/did)中仍舊不好,目前來看,這仍舊是一個難以解決的問題,也是一個非常有價值的研究方向。
3.6.3 訓練
作者調(diào)整超參數(shù) 時發(fā)現(xiàn),當 越大,即來自源領域的人工標注數(shù)據(jù)越多時,模型反倒越好,這第三次說明了人工標注數(shù)據(jù)的重要性,即使數(shù)據(jù)來自另一個領域,只要是人工標注的,也比在新領域的自動生成數(shù)據(jù)更有價值。
EMNLP 2019
論文標題:
Improving Question Generation With to the Point Context
論文來源:
EMNLP 2019
論文鏈接:
https://arxiv.org/abs/1910.06036
4.1 問題背景
這篇論文來自于 EMNLP 2019,本文主要是為了解決 MRC 問題生成中一項重要的任務:indentify answer-relevant context words,即識別出與答案相關的上下文,并將文本中的陳述句轉(zhuǎn)換為疑問句(declarative-to-interrogative),而目前大多數(shù)模型均在直覺上假設離答案越近的單詞與答案的相關性越高,因此越容易出現(xiàn)在問題中。
然而,這一直覺并不總是對的,當答案與文本中那些出現(xiàn)在標準問題(golden question)中的非停用詞距離較遠時,這類模型的性能就會大幅下降。因此,作者提出了所謂的?to the Point Context,使得生成的問題更加 to the point。
4.1.1 前人工作
QG for MRC 首先由 Mitkov 使用基于規(guī)則的模型來解決,在最近幾年的 DL 模型中,由于從文本到問題的轉(zhuǎn)換是一對多的轉(zhuǎn)換,一個文本可以提出許多不同方面的問題,這使得模型難以得到自動評估,因此《Neural Question Generation from Text: A Preliminary Study》假設答案是文本中的連續(xù)片段,一個答案生成一個問題。
之后,有人提出了之前的直覺上的假設,將答案周邊文本的位置信息(即與答案的距離)編碼來生成問題,取得了不錯的效果。而本篇論文就是在這些基礎上,將關系抽取引入模型,克服了以往模型假設的缺陷。
4.1.2 本文工作
當面對存在插入語之類的文本時,某些語義概念可能會糾纏在一起,導致與答案相關的語義概念與答案相距甚遠,在路徑中間存在其他與問答無關的概念,而以往的模型會誤認為答案與插入語中的概念的關系更為緊密,導致問題的錯誤生成。作者給出了問題中非停用詞與答案在文本中的平均距離處在不同區(qū)間時模型的性能:
可以看到當平均距離過大時,性能存在明顯的下降,這正是因為關鍵的語義概念與答案的距離過大,而模型過于強調(diào)鄰近詞的作用,導致模型難以捕捉到它們之間的長距離關系。
因此作者抽取了結構化的與答案相關的關系(structured answer-relevant relations)來克服這個問題,關系的抽取能夠提取句子的主要關系成分,忽略次要成分(如去除插入語),使得文本更加簡單明了,而抽取出來的關系所組成的句子正是所謂的?to the point context。
4.2 模型框架
4.2.1 關系抽取模塊
在關系抽取過程中,作者直接采用了現(xiàn)成的信息抽取工具?OpenIE,然后根據(jù)特定的啟發(fā)式規(guī)則選取與答案相關系最高的關系作為輸入。
為了保證關系的信息量,同時防止生成過多的關系,作者選擇參數(shù)數(shù)量可變的?n-ary format?表示抽取的關系,然后將抽取的關系參數(shù)連接起來形成句子(to the point context)。由于從文本中抽取的關系數(shù)量眾多,作者設定了三個準則來綜合評價關系對給定答案而言是否有價值:
關系與答案有重疊詞(Relevant)
關系的置信度高(Faithfulness)
關系含有大量的非停用詞(Informativeness)
然后選擇得分最高的關系作為輸入,如果遇到了從文本中抽取不出關系的情況,則將文本本身作為關系。從下表可以看出,抽取的關系比起文本而言,更加 to the point。但值得注意的是,我們?nèi)耘f需要考慮文本本身,因為文本與問題的單詞重合率更高,僅憑抽取的關系可能無法生成更加準確的問題。
4.2.2 問題生成模型
建模的主要挑戰(zhàn)在于如何有效地利用非結構化的文本句子(informativeness)和結構化的與答案相關的關系(faithfulness)中的信息,而這兩部分都是存在噪聲的,在非結構化文本中存在語義概念的糾纏,而生成的結構化關系可能不夠準確。
因此,作者設計了一個基于 gated attention mechanism 和 dual copy mechanism 的 encoder-decoder 框架。
gated attention mechanism:attention 機制的改進版,用于控制來自非結構化文本和結構化關系輸入的信息流。
dual copy mechanism:用于從兩個信息源中 copy 單詞,解決數(shù)據(jù)稀疏與生詞問題,使得生成的問題既有信息量又足夠準確。
雖然模型的數(shù)學表達式比較復雜,但作者給出的模型框架圖清晰易懂,因此不再敘述模型的細節(jié)。總體來說,模型給出生成單詞 作為第 個問題詞的概率
其中 表示從詞表中生成單詞 的概率, 表示從 sentence 中 copy 單詞 的概率, 表示從關系中 copy 單詞 的概率,模型首先決定是直接從詞表中生成還是 copy,若選擇 copy 則決定從哪一個信息源生成單詞。
4.2.3 訓練
模型的參數(shù)不再細說,作者采用了?Teacher-forcing?訓練模型,在測試時,作者選取了具有最低困惑度的模型,生成問題時,采用參數(shù)為 3 的 beam search 尋找局部最優(yōu)問題序列。
注:Teacher-forcing:一般來說,RNN(LSTM、GRU)的訓練有兩種 mode:(1)Free-running mode;(2)Teacher-forcing mode。前者就是正常的 RNN 運行方式:上一個 state 的輸出就做為下一個 state 的輸入,然而這樣做是有風險的,因為在 RNN 訓練的早期,靠前的 state 中如果出現(xiàn)了極差的結果,那么后面的全部 state 都會受牽連,以至于最終結果非常不好,同時也很難溯源到發(fā)生錯誤的源頭,而 Teacher-forcing mode 的做法就是,每次不使用上一個 state 的輸出作為下一個 state 的輸入,而是直接使用 ground truth 的對應上一項作為下一個 state 的輸入,使得訓練效果更快更好。然而這么做也有它的缺點,因為依賴標注數(shù)據(jù),在 training 的時候會有較好的效果,但是在 testing 的時候就不能得到 ground truth 的支持了。
(Teacher-forcing 似乎要求生成的問句與標注的問句一一對應,這是一種強制性很強的約束,強制單詞的一一對應消除了生成語義相似的其他問題的可能性,使得生成問題的多樣性下降,同時當生成問題序列時,若與訓練過程存在很大的不同,則會導致很大的誤差,這類似于模型的過擬合,在訓練集內(nèi)表現(xiàn)良好,在集外則不如人意。)
4.2.4 模型評估
作者對 SQuAD 數(shù)據(jù)集做了一系列預處理,然后分別與前人的模型比較一系列自動評價指標(BLEU1, 2, 3, 4, METEOR, ROUGE-L),很顯然作者的模型在各個指標上均有優(yōu)異的表現(xiàn)。
4.3 結果分析
可以認為,抽取出來的結構化的與答案相關的關系是對 proximity-based 方法的一種泛化,后者只能捕捉短距離依賴關系,而前者既能把握近距離關系,也能把握遠距離依賴關系。
為了衡量引入 to the Point Context 之后模型的性能提升幅度,作者將測試數(shù)據(jù)按平均距離劃分成了兩部分,可以發(fā)現(xiàn),作者的模型在所有指標上都超過了 Hybird 模型。同時,在存在長距離依賴(>10)的樣本上,作者在 Hybird 模型上性能的提升更為顯著,這正好證明了 to the point context 在捕捉長距離依賴關系上存在明顯有效的作用。
4.3.1 模型亮點
這篇論文最吸引我的地方在于,作者發(fā)現(xiàn)模型可以根據(jù)文本中的一個答案生成多個不同類型的問題,因為當文本中存在多個與答案相關的關系時,每一個關系均能生成對應的問題,根據(jù)不同的關系生成的問題對應于答案不同的語義角色,且問題類型很可能是不同的,從而使得生成的問題具有多樣性,而以往的模型只能根據(jù)一個答案生成一個問(one-to-one mapping problem)。這正好說明關系抽取在 NLP 中具有重要的價值。
另外,這也正好使得模型具有可解釋性,因為在生成問題時,我們不能僅僅依賴于答案去提問,同時應該指定需要生成的問題所需涉及的語義概念,而這些語義概念正包括在了抽取的關系中,因此,問題的生成不能依賴于答案周圍的單詞序列,而應該依賴于語義概念之間存在的關系,比如,下面的例子就說明了根據(jù)同位語關系和主謂賓關系生成的問題是不一樣的,而以往的模型假設做不到這一點:
ACL 2018
論文標題:
Neural Models for Key Phrase Detection and Question Generation
論文來源:
ACL 2018
論文鏈接:
https://arxiv.org/abs/1706.04560
5.1 問題背景
之前講過的 NQG++ 論文發(fā)表于 2017 年 4 月 6 日,而本篇論文發(fā)表于 2017 年 6 月 14 日。這兩篇論文解決的問題與思路非常相似,NQG++ 假定?Answer spans 是給定的,利用給定的文本和答案生成問題,但是 Answer spans 仍舊需要得到人工標注,在現(xiàn)實的應用場景下,這樣的模型同樣不好落地。而 Microsoft 的這篇論文則是直接在沒有答案的文本上,即沒有任何標注的文本上生成問題。
作者首先在有監(jiān)督的 QA pairs dataset 上訓練出一個基于 DL 的提取 Key Phrases 的模型,然后利用這個關鍵短語抽取模型來抽取答案,代替人工標注,最后用 Seq2Seq 生成問題。對比于采用 NER tagger 標注答案與基于規(guī)則的基線系統(tǒng),本文給出的模型表現(xiàn)更加優(yōu)秀。
由于可以直接從無監(jiān)督的文本中生成 QA 對,因此本文的模型可以用來生成大量不錯的 QA 對,從而可以考慮用于半監(jiān)督學習(Semi-supervised Learning)中的數(shù)據(jù)增強(Data Augmentation)。
同時,該技術本身的應用場景似乎也相當廣泛,比如在教育領域中評測學生的閱讀理解能力,人工制定問題來評估需要耗費大量腦細胞,而利用 QG 模型可以在短時間內(nèi)從文章中生成大量問題用于評估,甚至能夠生成不同難度的題目,從而達到減輕老師的負擔,加大學生的負擔的目的。(不過目前來看并不現(xiàn)實)
5.2 前人工作
QG 領域已經(jīng)有很多人做過相關工作了,在深度學習興起之前,大多數(shù)是基于規(guī)則的方法,比如句法分析、語義角色標注、帶填充槽的模板、啟發(fā)式的句法轉(zhuǎn)換(主謂反轉(zhuǎn))等,當然這些方法生成的問題都缺少 diversity,都不夠 inadequate,而最近興起的的端到端訓練模型才改變了這一領域的研究方向。
而與 QG 高度相關的問題就是,如何識別潛在關鍵且有趣的答案,以前的工作往往將其分為兩步:關鍵短語抽取、打分排序選擇,而本篇論文的亮點就在于,作者摒棄了這樣的傳統(tǒng)思路,而是直接根據(jù)人工標注的答案進行端到端建模,因為作者相信這樣的端到端模型或多或少能學習到一些人類在標注數(shù)據(jù)時對所謂“interesting/important/appropriate answer”的一些迷之想法。
5.3 模型建立
作者的模型分為兩部分(two-stage neural model)首先是提取 Key Phrases(interesting entities or events)作為 Answer Candidates,然后根據(jù)提取的 Key Phrase 生成問題。
5.3.1 關鍵短語抽取模塊
首先,在人工標注的大規(guī)模問答對數(shù)據(jù)集上訓練 Key Phrase Tagger,有趣的是,由于人類在標注數(shù)據(jù)時,往往只關注那些 interesting 的 entities 和 events,而對于他們認為沒有價值的概念,則不予標注。由此,作者猜想從人工標注數(shù)據(jù)中訓練的標注器,同樣具有識別所謂 interesting key phrases 的能力。而傳統(tǒng)的 NER 則要求盡量標注出所有的命名實體,不管其是否 interesting。
為了驗證這樣的想法,作者對比實現(xiàn)了四個模型,其中?H&S?為 Heilman and Smith 在 2010 年提出的基于規(guī)則的模型;ENT 為 NER 標注器,值得注意的是,NER 標注器在提取 key phrases 任務中的召回率很高,這是因為它將任何命名實體均作為答案;為了解決這個問題,作者實現(xiàn)了一個基于 BiLSTM 的?NES(Neural Entity Selection)選擇前 個得分最高的 key phrases 作為答案。
但是,雖然 SQuAD 數(shù)據(jù)集中大多數(shù)答案都是命名實體,但仍舊有少部分 interesting aspects 沒有被 NER 標注器識別,在更廣泛的文本中,非命名實體的 interesting key phrases?就更多了,因此這就引出了本文的主要模型:PtrNet,該模型直接預測 key phrases 的 start point 和 end point,而非先抽取后排序。Pointer Network 是 Seq2Seq 的一種擴展,它的 target sequence 包含的是 source sequence 的位置,模型的具體實現(xiàn)不再細說。
5.3.2 問題生成模塊
接下來,將標注的 key phrases 作為答案喂給?Seq2Seq + Attention + Pointer-softmax mechanism?模型生成對應問題。這里的模型與 NQG++ 的那篇論文的模型結構差不多,因此只給出最后的概率分布公式,其余不再細說:
這篇論文的模型建立部分讀起來比較煩,因為一張模型結構圖都不給,給的全是數(shù)學公式,令人頭禿,但細細讀來發(fā)現(xiàn)似乎用的也就那些經(jīng)典的深度學習方法和技巧。在訓練上,作者選取 SQuAD 作為數(shù)據(jù)集,采用 NLTK 對數(shù)據(jù)進行預處理,實現(xiàn)細節(jié)不再細說。
5.4 模型評估
5.4.1 評估方法
在評估答案抽取模塊的效果時,由于答案通常是短語,不適合用詞級別的 F1 score 來評價,因此作者提出了一種?multi-span F1 score?對生成的答案進行評價,具體的計算方法也不想細說:
答案可以用自動指標評估,但問答對就不好評估了,常用的 BLEU、ROUGE、METEOR、CIDEr 作者認為不太可靠,因此生成的問答對采用人工評價方法,這里作者只給出了 H&S 和自己的模型的評估對比結果。
5.4.2 評估結果
答案抽取模塊
很明顯,ENT 過度生成了答案,導致高召回低精度,NES 模型就好了很多,而 PtrNet 就更好了。而 H&S 與 ENT 有相同的高召回低精度的問題,這應該是因為 H&S 和 ENT 并不知道 SQuAD 的答案分布情況,所以只能盡量尋找所有看起來像答案的序列。
有趣的一個點是,作者發(fā)現(xiàn)基于命名實體的模型常常選擇文本的中心詞或主題詞作為答案,而這類詞通常不是有趣的,而只是文本的主題背景而已。
另外,作者還發(fā)現(xiàn)了每個模型的一些問題,比如 H&S 模型生成的答案很多都以介詞開頭,或者有時候會生成非常長的名詞短語,同時有的生成答案沒有實際意義(比如 this theory, some studies, a person 等);而對于作者的模型,有時候生成的答案并不能回答對應的問題,同時作者還發(fā)現(xiàn)自己的模型有時會具有指代消解的功能,但他沒有解釋這些現(xiàn)象背后的原因。
問題生成模塊
在人工評估中,作者首先將自己的模型生成的問答對與人工標注問答對進行對比評估,很明顯,生成的當然是比不過人工的,然后作者將自己模型生成的問答對與 H&S 模型生成的問答對混在一起讓評估者與人工標注問答對進行評估時,前者能夠?qū)υu估者帶來更大的混淆。
但有趣的是,當作者只提供兩個模型生成的問答對,而不提供 ground truth 作為參考時,評估者竟然難以對比不同模型生成的問答對的好壞。可惜的是,作者并沒有表達對這種現(xiàn)象的看法,小七認為應該是評估者覺得這兩個模型生成的問答對都不理想,說的都不是人話,一個語句不夠通順,另一個問非所答,五十步不可笑百步。
下面是一些具體的例子,不嫌累的話可以感受一下生成的問題說的是不是人話:
NIPS 2015
論文標題:
Pointer Networks
論文來源:
NIPS 2015
論文鏈接:
https://arxiv.org/abs/1506.03134
6.1 Background
本文來自于 NIPS 2015,在這之前,以 Attention 機制為代表的一系列方法很好地解決了長序列輸入輸出的問題,而之前也提到過,生詞問題(OOV)還沒有被很好地解決,而問題生成論文中經(jīng)常能夠看到解決 OOV 問題的?Copy Mechanism,因此追根溯源找到了這篇論文。
這篇論文正是 Copy 機制的前身,雖然本文并未提到如何使用 PtrNet 解決生詞問題,但其思想是一致的,也是后續(xù)論文正式提出 Copy 機制的一個鋪墊。
Pointer Networks(指針網(wǎng)絡)同樣是 Seq2Seq 范式,它主要解決的是 Seq2Seq Decoder 端輸出的詞匯表大小不可變的問題。換句話說,傳統(tǒng)的 Seq2Seq 無法解決輸出序列的詞匯表會隨著輸入序列長度的改變而改變的那些問題,某些問題的輸出可能會嚴重依賴于輸入。
在本文中,作者通過計算幾何學中三個經(jīng)典的組合優(yōu)化問題:凸包(Finding convex hulls)、三角剖分(comupting Delaunay triangulations)、TSP(Travelling Salesman Problem),來演示了作者提出的?PtrNets 模型。
6.2 Previous Study
我們已經(jīng)知道,Seq2Seq 的出現(xiàn)很好地解開了以往的 RNN 模型要求輸入與輸出長度相等的約束,而其后的 Attention 機制(content-based)又很好地解決了長輸入序列表示不充分的問題。
盡管如此,這些模型仍舊要求輸出的詞匯表需要事先指定大小,因為在 softmax 層中,詞匯表的長度會直接影響到模型的訓練和運行速度,因此人們往往會丟棄生詞,保留高頻詞。之前也有人采用過一些簡單的 trick 解決生詞問題,但都不如 Copy 機制那么有效。
這一缺陷在組合優(yōu)化問題中更加明顯,因為組合優(yōu)化問題中輸出序列的 dictionary 直接取決于輸入序列,而本文提出的 PtrNets 其實就是通過對 Attention 機制進行簡化魔改來解決了這種輸入對輸出存在強制約束的問題,雖然模型變得更加簡單,但反而更加有效。
PtrNets 可以近似地解決上述的三個經(jīng)典的組合優(yōu)化問題,讓人驚奇的是,訓練的模型沒有引入任何先驗知識,完全是一個純數(shù)據(jù)驅(qū)動(purely data driven)的算法,其性能竟然可以接近于計算量巨大且復雜的人工設計的算法。
作者在論文中對比了基于 LSTM 的 Seq2Seq 模型和 PrtNets 模型在這三個任務上的表現(xiàn),值得注意的是,訓練 Seq2Seq 模型必須在點集大小固定的數(shù)據(jù)集上訓練,而測試也只能在點集大小與訓練集相同的數(shù)據(jù)集上訓練,而?PtrNets 模型訓練集的點集大小可變,且訓練好的模型可以應用在更大點集的數(shù)據(jù)集上且表現(xiàn)依舊良好
6.4 PtrNet
Seq2Seq 模型和 Attention 機制的結構我就不多說了,只提一點,我們知道 Seq2Seq 模型需要事先指定詞匯表的大小,在這三個幾何問題的背景下,詞匯表其實就是設定問題的規(guī)模,也就是生成點集的大小,在整個訓練和測試過程中,點集大小是不能改變的。
下面是 PtrNets 的原理,不難想象,Seq2Seq 需要詞匯表固定的原因是在預測輸出時,模型采用了 Softmax distribution 來計算生成詞匯表中每一個詞的似然概率,而對于這里的幾何問題來說,輸出集合是與輸入相關聯(lián)的,為了解決這個問題,作者將 Attention 機制改為了如下形式:
第一個式子和 Attention 一樣,即計算當前輸出與對應輸入之間的相關性分數(shù),然后對其進行 softmax 歸一化得到權重,在這里,PrtNets 直接將權重最大的輸入(也就是所謂指針指向的輸入)作為輸出,也就是直接 copy 注意力得分最高的輸入作為輸出。
實際上,傳統(tǒng)的帶有注意力機制的 Seq2Seq 模型輸出的是針對輸出詞匯表的一個概率分布,而 Pointer Networks 輸出的則是針對輸入文本序列的概率分布。雖然簡單,但十分有用,由于輸出元素來自輸入元素的特點,PtrNets 特別適合用來直接復制輸入序列中的某些元素給輸出序列。這對于那些輸出為輸入的 position 的任務非常有效。
另外,我們來看看模型的復雜度,因為對于每個輸出我們都有 次運算,而輸出序列最大為 因此總的時間復雜度為 。
6.4.1 Convex Hulls Problem
尋找凸包的問題已經(jīng)基本被研究透了,有許多精確的算法來解決這一問題,作者給出的參考算法的時間復雜度為 ,其中 為點的數(shù)量。下面是傳統(tǒng)模型與作者的 LSTM 模型的性能比較,其中 FAIL 表示模型給出的解只有 1% 以下是有效的(也就是說 LSTM 模型輸出存在大量的交叉點)
可以看到 PtrNets 的性能相當好,LSTM 的訓練集和測試集的點集大小必須相等,而 PtrNets 沒有這個限制,且泛化得很好,這說明模型不僅僅只是做查詢,而是真正捕捉到了內(nèi)在的推理模式,雖然精確度會下降(這是肯定的),但給出的凸包覆蓋率幾乎是 100%,也就是只會在邊界上一些比較模糊的平行點存在一些錯誤。
另外要說明的一點是,作者在這三個任務中均采用同一個模型結構和同一組超參數(shù),雖然調(diào)參會讓模型表現(xiàn)得更好,但作者認為采用統(tǒng)一的模型結構更能夠說明問題。
在實驗中,作者發(fā)現(xiàn)在輸入序列中,如果凸包上的點出現(xiàn)得較晚,則精確度就越低,這說明讀取序列的順序是對性能有影響的,這也許是因為出現(xiàn)得過晚會導致模型沒有足夠的步長來處理輸入的數(shù)據(jù)來更新狀態(tài),而 Attention 的確可以解決這個問題,而當作者畫出 Attention 的注意力圖時,便產(chǎn)生了 Pointer 的想法,于是魔改了 Attention 發(fā)了篇論文。
6.4.2 Delaunay Triangulations Problem
狄洛尼三角剖分也有精確的求解算法,其復雜度同樣為?,作者沒有對此問題作過多討論。
6.4.3 Travelling Salesman Problem
TSP 問題是理論計算機科學中最為著名的問題之一,它在芯片設計、基因測序任務上都有重要作用,TSP 問題是一個 NP-hard 難題,作者給出了能夠找到最優(yōu)解的優(yōu)解的 Held-Karp 算法,其時間復雜度高達 ,因此作者只在 的數(shù)據(jù)集上采用此算法,而對于更大的 ,作者選擇了?A1、A2 近似解算法,其時間復雜度均為 ,以及 A3 近似解算法,時間復雜度為 ,A3 算法可以保證找到的解的路徑長度不大于最優(yōu)解路徑長度的 1.5 倍。而作者的 PtrNets 的時間復雜度為 ,因此模型實際上并沒有足夠的能力去學習 TSP 的解決方案。
不像前面兩個問題,TSP 問題的輸出是不受約束的,因此作者采用 bearm search 來尋找局部最優(yōu)解,同時只考慮有效的 TSP 路徑,下圖給出了模型在不同訓練集和測試集上的表現(xiàn),有趣的是第三行,模型在 A1 算法給出的解上訓練,訓練出的模型在測試集上的表現(xiàn)竟然比 A1 算法本身還高,真是迷惑。
不像前面的兩個問題,TSP 問題明顯復雜得多,這導致模型在點集大小增加時泛化得不夠好,而在前面的凸包問題中模型的表現(xiàn)幾乎沒有下降,然而凸包問題的復雜度只有?,遠低于 TSP 的復雜度,泛化不夠好也就情有可原了。
下面是這三個問題的具體例子,PtrNets 給出的解還是相當優(yōu)秀的。
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的从6篇经典论文看问题生成及其相关技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在门诊看过病可以买保险吗
- 下一篇: 推荐计算机与通信领域SCI期刊,因子稳中