高 超 , 楊思春 ,萬家山
(1.安徽信息工程學(xué)院 計(jì)算機(jī)與軟件工程系,安徽 蕪湖 241000;2.中國科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥230027;3.安徽工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 馬鞍山243032)
自動(dòng)問答技術(shù)(Question Answering,QA)[1]目前在自然語言處理領(lǐng)域是一個(gè)熱門方向。通過自動(dòng)問答技術(shù)可以理解自然語言表達(dá)的問題,并可以精確抽取問題的答案。目前通常情況下所設(shè)計(jì)的自動(dòng)問答系統(tǒng)都包含以下三個(gè)部分:問題分析、段落檢索以及答案抽取[2]。問題分析作為自動(dòng)問答系統(tǒng)中的第一步,為后續(xù)的檢索和抽取都供了約束作用,有著很強(qiáng)的指導(dǎo)意義。因此,問題分析在自動(dòng)問答系統(tǒng)中起著重要的作用。
問題分析主要完成問題分類、問題主題識(shí)別、問題指代消解和問題句法分析等。其中最常用的問題分析方法就是問題分類。問題分類的主要目的是通過問題答案將該問題分類到某一類別當(dāng)中,后續(xù)的檢索和抽取會(huì)根據(jù)該類別從而采取不同的策略。有研究指出,問題分類的性能可以直接影響整個(gè)自動(dòng)問答系統(tǒng)的性能[3]。
早期問題分類主要采用了基于規(guī)則的方式,需要人為的制定大量的語法規(guī)則,且分類的效果并不具有普適性。后來使用基于統(tǒng)計(jì)的方式(如:Bayes,K近鄰,SVM等)進(jìn)行分類,分類的精度往往和特征提取的好壞相關(guān)。特征提取越豐富,分類的精度就越高。傳統(tǒng)上問題分類由于含有的文本信息不如文本分類豐富。因此,僅僅使用詞袋特征不能有效的捕捉問題中詞語的語義關(guān)系,往往不足以提高分類的精度,還需要更深入的提取問題中其他的相關(guān)語義信息。
針對(duì)上述問題,筆者在原有的詞袋特征基礎(chǔ)上,進(jìn)一步提出一種基于問題類別線索詞的綁定特征來提高問題分類的精度。另外,針對(duì)于目前中文問題分類語料數(shù)據(jù)集的不足,文中也通過實(shí)驗(yàn)詳細(xì)考察了在不同規(guī)模、不同分布上的該綁定特征對(duì)于分類性能的影響。
在早期工作中,問題分類主要采用了手工構(gòu)造規(guī)則的方式進(jìn)行。但由于這種方法不可能構(gòu)造出適合所有問題的統(tǒng)一規(guī)則,因而缺乏普適性。后續(xù)工作中普遍采用了基于統(tǒng)計(jì)的方法,提取問題相關(guān)詞法、句法和語義等特征進(jìn)行問題分類[4]。具有代表性的如Huang等[5]采用疑問詞,unigram,核心詞,以及WordNet等特征,在UIUC數(shù)據(jù)集小類上分類精度達(dá)到89.2%;Loni等[6]采用了unigram,bigram,核心詞和WordNet等特征在UIUC數(shù)據(jù)集小類上也獲得了89%的分類精度。
可見基于統(tǒng)計(jì)的方法在英文問題分類上已經(jīng)有很好的效果。在中文問題分類領(lǐng)域,受限于中文句子的復(fù)雜性,很難從問題中抽取有效的特征,因此中文問題分類的方法較為困難。具有代表性的如:余正濤等[7]采用高頻詞匯作為特征,對(duì)有標(biāo)簽和無標(biāo)簽兩類數(shù)據(jù)通過Co-training的方式,分別在大類和小類上獲得88.9%和78.2%的精確率;Liu L等[8]采用結(jié)合依存分析結(jié)果和詞性信息作為核函數(shù)的方法,分別在大類和小類上獲得了85.18%和80.66%的精確率。
另外隨著深度學(xué)習(xí)方法的廣泛使用,越來越多的學(xué)者也將深度學(xué)習(xí)方法應(yīng)用到自然語言處理領(lǐng)域[9-11]。如Haihong等[12]采用多通道雙向長短期記憶網(wǎng)絡(luò)結(jié)合多粒度卷積網(wǎng)絡(luò)進(jìn)行問題分類,在TREC數(shù)據(jù)集上達(dá)到了96.6%的準(zhǔn)確率。中文問題分類方面李超等[13]采用混合長短時(shí)記憶網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)框架在大類上達(dá)到93.08%的精確率。
從上述工作中可見,對(duì)于中文問題分類的準(zhǔn)確率很大程度上受限于中文問題特征的提取或者特征模型的建立。對(duì)于中文問題分類來說,可以將其看作一種特殊的文本分類。但其與一般的文本分類又有所不同。通常情況下一個(gè)問題所包含的文本較少,不能像傳統(tǒng)文本分類一樣獲取大量的信息。若僅從問題的文本角度來看信息較少,就需要從問題的句法或語義信息去挖掘更多對(duì)分類有用的信息。
對(duì)于中文問題分類,常見的做法是采用基本詞袋特征(bag-of-word,BOW)和詞性特征(part-of-speech,POS)進(jìn)行分類。但該方法并不能獲取更能表達(dá)語義信息的其他特征,從而損失分類精度。此外,目前對(duì)于已標(biāo)注的問題集數(shù)據(jù)較為匱乏,語料標(biāo)注需要大量的人力和時(shí)間資源。因此,如何利用目前已有的小規(guī)模不平衡的數(shù)據(jù)資源來提升分類的性能也是一個(gè)迫切的問題分類任務(wù)。針對(duì)小規(guī)模不平衡數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,傳統(tǒng)的方法主要有過采樣或欠采樣以及調(diào)整權(quán)重方法[14]。但現(xiàn)實(shí)中在數(shù)據(jù)集規(guī)模較小的情況下,使用采樣的方式來調(diào)整數(shù)據(jù)集從而彌補(bǔ)不平衡問題是難以實(shí)現(xiàn)的。因此,筆者曾提出了一種綁定特征的方法進(jìn)行問題分類[15]。在分別提取問題中的詞袋、詞性和詞義等基本特征及其對(duì)應(yīng)的詞袋綁定特征的基礎(chǔ)上,通過將基本特征與詞袋綁定特征進(jìn)行融合,以獲取更加高效的問題特征集合。但通常情況下引入所有詞袋可能會(huì)引入噪聲數(shù)據(jù),問題中并不是所有包含的詞都可以準(zhǔn)確的刻畫問題的類別。例如:在問題“非洲第一高峰乞力馬扎羅山的海拔高度是多少?”中,對(duì)于刻畫問題類別有效的詞僅僅只是其中的幾個(gè)能夠體現(xiàn)分類特征的線索詞。因此,筆者就提出了一種問題類別線索詞的特征提取方法來提高對(duì)分類具有貢獻(xiàn)的詞的權(quán)重,從而提高問題分類的精度。
由于一般情況下中文問題中所包含的文本信息相對(duì)較少,基本的詞袋信息通常會(huì)忽略掉句子中詞的順序、詞性等信息。因此,文中采用LTP平臺(tái)對(duì)問題進(jìn)行分析,從問題中提取基本特征,包括:詞袋特征、詞性特征、命名實(shí)體(NE)和依存關(guān)系(DR)。例如:對(duì)于問題“非洲第一高峰乞力馬扎羅山的海拔高度是多少?”,通過LTP平臺(tái)進(jìn)行分析后可以得到如圖1所示的結(jié)果。并通過將BOW、POS、NE特征組合起來作為Baseline組合特征使用,可以有效的彌補(bǔ)傳統(tǒng)詞袋特征對(duì)于句子信息的缺失。
圖1 基于LTP平臺(tái)的問題分析結(jié)果
一般來說,通過問題中的主干詞(主語,謂語和賓語)以及疑問詞和疑問詞相關(guān)詞可以有效確定問題的類別。如上述問題中,其疑問詞和其相關(guān)詞分別是“高度”,“是”,“多少”,“多少”和“是”。因此,借鑒文勖等[16]的做法,通過問題類別線索詞特征提取算法將問題中的核心詞(HED)、主語(SBJ)、疑問詞(QW)及其相關(guān)成分(REL)定義為問題類別線索詞集(Category Clue Words set,CCWs)。問題類別線索詞特征提取算法偽碼如下:
輸入:經(jīng)過分詞、詞性標(biāo)注、命名實(shí)體識(shí)別處理后的問題文本。
輸出:問題類別線索詞集合 (HEDs,SBJs,QWs,RELs)
1:Initialization sent=[W1,W2,…,Wn],Wi=(head,rel) //詞 i包含其父節(jié)點(diǎn)編號(hào)和依存關(guān)系名
2:for i from 1 to|W|do
3:if the rel of Wiis HED do add Wiin HEDs//若其依存關(guān)系為HED,則加入HEDs集合
4:for i from 1 to|W|do
5:if the rel of Wiis COO and the head of Wiin HEDs then add Wiin HEDs//若其依存關(guān)系為COO且其父節(jié)點(diǎn)是HED節(jié)點(diǎn),則將其加入HEDs集合
6:for i from 1 to|W|do
7:if the rel of Wiis SBV and the head of Wiin HEDs and Wiis nearest to HED then add Wiin SBJs//若其依存關(guān)系是SBV且是其父節(jié)點(diǎn)HED最近的詞,則將其加入SBJs集合
8:for i from 1 to|W|do
9:if each SBJ has several continuous Wiwhich rel is SBV or COO then add Wiin SBJs//若是從SBJ發(fā)出的連續(xù)的SBV或者COO關(guān)系,則將其加入SBJs集合
10:for i from 1 to|W|do
11:if pos of Wiis r and Wiis in Interrogative Table then add Wiin QWs//若其詞性為r且存在于疑問詞表,則將其加入QWs集合
12:for i from 1 to|W|do
13:if the head of Wiis in QWs then add Wiin RELs//若其父節(jié)點(diǎn)是疑問詞,則將其加入RELs集合
通過上述算法,可以獲得問題線索詞集特征:是、高度、多少、是。針對(duì)中文問題分類任務(wù)來說,賓語常常會(huì)和疑問詞或者疑問詞相關(guān)詞重合,但問題中隱含的其他句法語義特征并不可忽視。所以主干詞中去除了賓語的成分。因此,將線索詞特征分為兩類:能直接表示問題類別的疑問詞組合(QWs,RELs)和間接表示句法語義信息的主干詞組合(HEDs,SBJs)。
文中也提出了一種基于綁定的自動(dòng)生成分類特征方法。該方法通過綁定部分特征與其他基本特征從而自動(dòng)地獲得一種新的特征用于分類。這樣可以利用所獲取特征與詞匯之間的語義關(guān)聯(lián),以很小的額外處理開銷獲得一類潛在的問題特征。
通過實(shí)驗(yàn)發(fā)現(xiàn),將CCWs分別和詞性進(jìn)行綁定可以提高分類的精度。因此,文中采用以下四種特征組合,對(duì)不同規(guī)模和分布的數(shù)據(jù)集進(jìn)行驗(yàn)證:
(1)Baseline基本組合特征:由詞袋、詞性、命名實(shí)體特征組合構(gòu)成;
(2)疑問詞組合特征(QW,REL):由疑問詞和疑問詞相關(guān)成分特征組合構(gòu)成;
(3)主干詞組合特征(HED,SBJ):由核心詞和主語特征組合構(gòu)成;
(4)綁定特征組合(REL/pos,HED/pos,SBJ/pos):由疑問詞相關(guān)成分和詞性綁定,核心詞和詞性綁定以及主語和詞性綁定特征組合構(gòu)成。
通過上述四種不同的特征,可以從不同的語義層次對(duì)問題進(jìn)行表示。因此,采用組合綁定特征篩選算法,對(duì)不同組特征分別進(jìn)行組合并分類,從而篩選出分類精度較好的特征進(jìn)行保留。組合綁定特征篩選算法偽碼如下:
輸入:特征組合包括:baseline,疑問詞組合特征=[QWs,RELs],主干詞組合特征=[HEDs,SBJs],綁定特征組合=[REL/pos,HED/pos,SBJ/pos]。
輸出:精度最高的組合綁定特征及其精度值
1:Initialization features group is baseline//初始化特征組合為baseline
2:for each groupiin[qr,sa,bfs]do
3:for each featurejin groupido
4:Accuracyj=SVM(featuresgroup+featurej)//計(jì)算組合新特征后經(jīng)SVM分類器分類的精度
5:Accuracymax=Max(Accuracyj)
6:featuresgroup=featuresgroup+featuremax//將精度最高的一組特征加入特征組合
文中數(shù)據(jù)集采用哈爾濱工業(yè)大學(xué)社會(huì)計(jì)算和信息檢索研究中心所提供的中文問題分類數(shù)據(jù)集。其中包含訓(xùn)練集4 966個(gè)問題,測試集1 300個(gè)問題。在此基礎(chǔ)上,又通過人工標(biāo)注的方法擴(kuò)展了該數(shù)據(jù)集。其中擴(kuò)展后的訓(xùn)練集6 522個(gè)問題,測試集2 749個(gè)問題。另外,通過對(duì)原訓(xùn)練集問題數(shù)量的調(diào)整均衡,得到在小類上基本分布平衡的訓(xùn)練集。各個(gè)訓(xùn)練集規(guī)模見表1。
表1 訓(xùn)練集和測試集規(guī)模
為了驗(yàn)證支持向量機(jī)(SVM)算法在不同特征組合方法上的分類有效性,文中設(shè)計(jì)了3組實(shí)驗(yàn)分別來對(duì)問題集數(shù)據(jù)進(jìn)行分類。首先針對(duì)哈爾濱工業(yè)大學(xué)問題數(shù)據(jù)集采用基本詞袋特征和Baseline特征組合在整體數(shù)據(jù)集上進(jìn)行分類預(yù)測,預(yù)測的精度如圖2所示。
圖2 BOW特征與Baseline特征分類精度對(duì)比
由圖2可見,使用多種特征組合來對(duì)問題進(jìn)行分類比單純使用詞袋特征的分類精度要高。因此,使用特征組合的方式可以有效提高SVM分類器分類的精度。此外由于訓(xùn)練數(shù)據(jù)的規(guī)模小且數(shù)據(jù)不平衡,對(duì)于SVM分類器的訓(xùn)練會(huì)造成一定的影響。為了彌補(bǔ)數(shù)據(jù)不平衡所帶來的影響,可以采用對(duì)不同特征進(jìn)行加權(quán)的方式調(diào)整。Baseline特征組合僅從詞法的角度刻畫了句子的成分和含義,在此基礎(chǔ)上再組合疑問詞組合特征和問題類別線索詞組合特征就可以從不同的側(cè)面來刻畫句子的句法信息,從而達(dá)到對(duì)描述問題類別的特征進(jìn)行加權(quán)。因此,采用組合綁定特征篩選算法,對(duì)不同組特征分別進(jìn)行組合并分類。最終得到的最佳特征組合分別為Baseline特征組合,b+q+r(Baseline+QW+REL)特征組合,b+q+r+SBJ+HED特征組合,以及b+q+r+SBJ+HED+r/pos特征組合。各種不同特征組合在問題分類數(shù)據(jù)集上的分類效果如圖3所示。
圖3 各種最佳組合綁定特征的分類精度
由圖3可見,對(duì)于小類分類不同的特征組合可以有效的提高分類的精度。對(duì)于類別數(shù)較少的大類分類來說,使用較少的特征組合就可以達(dá)到較好的精度,當(dāng)特征組合過多時(shí)反而會(huì)引入噪聲使得分類精度有所下降。也就是說,通過問題類別線索詞組合特征的方式更利于類別數(shù)目較多的小類分類。
其次,對(duì)比在不同數(shù)據(jù)規(guī)模上的特征綁定方法分類的有效性。通過對(duì)訓(xùn)練集按照每個(gè)類別所占比例分別擴(kuò)展30%和縮減30%,使用SVM分類器分類的結(jié)果如圖4和圖5所示。
圖4 不同規(guī)模訓(xùn)練集在小類上的分類精度
圖5 不同規(guī)模訓(xùn)練集在大類上的分類精度
由圖4和圖5可見,在不同規(guī)模數(shù)據(jù)集上,數(shù)據(jù)集規(guī)模越小,使用基于問題類別線索詞的組合特征能更快的提高其分類的精度。也就是說文中所設(shè)計(jì)的組合綁定特征在小規(guī)模語料之上是可以更好地體現(xiàn)出其合理性和優(yōu)越性,提高分類算法的有效性。
另外,第三組實(shí)驗(yàn)通過手工采樣方式設(shè)計(jì)在小類上基本分布平衡的數(shù)據(jù)集。通過圖6比較也可以看出,原始數(shù)據(jù)集上最終分類精度在小類和大類上分別提高了2.23%和1.92%。而在平衡的數(shù)據(jù)集上分別提高了1.23%和1.46%??梢钥闯鲈谠紨?shù)據(jù)集上采用文中設(shè)計(jì)的組合綁定特征可以更有效的提升分類的精度。所以基于問題類別線索詞組合綁定特征可以適用于在語料數(shù)據(jù)分布不平衡的數(shù)據(jù)集中。
圖6 原始數(shù)據(jù)集與均衡樣本數(shù)據(jù)集分類精度對(duì)比
文中采用了LibSVM來實(shí)現(xiàn)SVM多標(biāo)簽分類。以往的大多數(shù)學(xué)者都是采用Bayes分類器或者最大熵等分類方法?;谥形膯栴}分類數(shù)據(jù)集上,表2列出了近年來一些代表性的同類工作。
表2 與現(xiàn)有同類工作對(duì)比
文中提出了一種基于問題類別線索詞的特征提取方法。該方法通過LTP平臺(tái)對(duì)問題進(jìn)行分析得到基本的詞法、句法信息,然后在此基礎(chǔ)上提出問題類別線索詞集提取算法來提取問題深層語義信息。利用特征組合綁定方式進(jìn)而生成一組組合綁定特征來提高分類的精度。通過實(shí)驗(yàn)對(duì)比,該方法比單純使用基本組合特征在小類上分類精度提高2.23%(大類上提高1.92%)。因此,可以得出基于問題類別線索詞集的特征更適用于分類體系較為復(fù)雜的小類分類。另外,文中也通過在不同規(guī)模的數(shù)據(jù)集上進(jìn)行驗(yàn)證,可以發(fā)現(xiàn)在不同規(guī)模的數(shù)據(jù)集上,文中所提出的問題類別線索詞集特征的組合綁定特征均可以不同程度提高分類的有效性。因此,也可以說明該特征對(duì)于小規(guī)模語料數(shù)據(jù)集上有著同樣的效果。并且當(dāng)調(diào)整語料數(shù)據(jù)的各類問題的分布使之均勻分布,在相同條件下分類器的精度并沒有顯著的提高。因此,在數(shù)據(jù)集分布不平衡的語料上,該特征提取方法仍可以有效的進(jìn)行分類。 另外,通過文中所提出的方法,后續(xù)還有兩點(diǎn)工作可以進(jìn)一步深入展開研究:(1)考慮如何去使用規(guī)模更大的未標(biāo)記數(shù)據(jù)來提高分類精度;(2)考慮使用更多的先驗(yàn)知識(shí)來進(jìn)行深度學(xué)習(xí),從而提高問題分類的精度。
[1]張志昌,張宇,劉挺,等.開放域問答技術(shù)研究進(jìn)展[J].電子學(xué)報(bào),2009,37(5):1058-1069.
[2]何靖,陳翀,閆宏飛.開放域問答系統(tǒng)研究綜述[C]//第六屆全國信息檢索學(xué)術(shù)會(huì)議.北京:中國中文信息學(xué)會(huì),2010:114-121.
[3]MUDGAL R,MADAAN R,SHARMA A K,et al.A novel architecture for question classification based indexing scheme for efficient question answering[J].International Journal of Computer Engineering,2013,2(2):27-43.
[4]MISHRA M,MISHRA V K,SHARMA H R.Question classification using semantic,syntactic and lexical features[J].International Journal of Web&Semantic Technology,2013,4(3):39.
[5]HUANG Z,THINT M,CELIKYILMAZ A.Investigation of question classifier in question answering[C]//Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing:Volume 2-Volume 2.Association for Computational Linguistics,2009:543-550.
[6]LONI B,VAN TULDER G,WIGGERS P,et al.Question classification by weighted combination of lexical,syntactic and semantic features[C]//Text,Speech and Dialogue.Springer Berlin/Heidelberg,2011:243-250.
[7]YU Z,SU L,LI L,et al.Question classification based on co-training style semi-supervised learning[J].Pattern Recognition Letters,2010,31(13):1975-1980.
[8]LIU L,YU Z,GUO J,et al.Chinese question classification based on question property kernel[J].International Journal of Machine Learning and Cybernetics,2014,5(5):713-720.
[9]DONG L,WEI F,ZHOU M,et al.Question answering over freebase with multi-column convolutional neural networks[C]//Meeting of the Association for Computational Linguistics,International Joint Conference on Natural Language Processing,2015:260-269.
[10]ZHANG D,WANG D.Relation classification via recurrent neural network[J].arXiv:1508.01006,2015.
[11]SHI Y,YAO K,TIAN L,et al.Deep LSTM based feature mapping for query classification[C]//Proceedings of the 2016 Conference of the Nort American Chapter of the Association for Computational Linguistics:Human Language Technologies,2016:1501-1511.
[12]HAIHONG E,HU Y,SONG M,et al.Research and implementation of question classification model in Q&A system[C]//International Conference on Algorithms and Architectures for Parallel Processing.Springer,Cham,2017:372-384.
[13]李超,柴玉梅,南曉斐,等.基于深度學(xué)習(xí)的問題分類方法研究[J].計(jì)算機(jī)科學(xué),2016,43(12):115-119.
[14]HE H,GARCIA E A.Learning from imbalanced data[J].IEEE Transactions on Knowledge and Data Engineering,2009,21(9):1263-1284.
[15]楊思春,高超,秦鋒,等.融合基本特征和詞袋綁定特征的問句特征模型[J].中文信息學(xué)報(bào),2012,26(5):46-52.
[16]文勖,張宇,劉挺,等.基于句法結(jié)構(gòu)分析的中文問題分類[J].中文信息學(xué)報(bào),2006,20(2):33-39.