朱姝姍,黨親親,蔣 玲
(樂山師范學(xué)院,a.圖書館;b.經(jīng)濟(jì)管理學(xué)院,四川 樂山 614000)
隨著自然語言技術(shù)的不斷發(fā)展,特別是目前transformers 技術(shù)和預(yù)訓(xùn)練語言模型技術(shù)的突破[1],基于深度學(xué)習(xí)方法的各項(xiàng)自然語言任務(wù)的性能有了很大提高[2-3],這些技術(shù)提供的信息服務(wù)越來越廣泛[4]。目前,在很多特定領(lǐng)域中,問答和檢索系統(tǒng)被廣泛應(yīng)用,例如很多網(wǎng)站都提供針對(duì)該網(wǎng)站的檢索和問答服務(wù)[5]。特別地,在大學(xué)圖書館的服務(wù)中,基于自然語言技術(shù)的問答和檢索也是一個(gè)有價(jià)值的服務(wù)工具,被很多大學(xué)所采用[6]。
此類信息服務(wù)系統(tǒng),面臨一個(gè)關(guān)鍵難題是專業(yè)術(shù)語的收集和處理問題。通常,一個(gè)特定領(lǐng)域存在大量的專業(yè)術(shù)語詞匯,這些詞匯往往是構(gòu)建該領(lǐng)域信息服務(wù)系統(tǒng)不可或缺的數(shù)據(jù)。但是,此類詞匯的收集和應(yīng)用都存在一定困難。首先,這類詞語,對(duì)于通用語料來說,是低頻詞甚至是表外詞,基于這些語料預(yù)訓(xùn)練的語言模型和詞向量,無法有效處理此類詞匯,給接下來利用語言模型和詞向量構(gòu)建該領(lǐng)域的服務(wù)系統(tǒng)帶來了挑戰(zhàn)。而為了能夠有效處理該領(lǐng)域的信息,需要盡可能地收集這個(gè)領(lǐng)域的專業(yè)術(shù)語詞,在進(jìn)一步采用相關(guān)技術(shù)來提升信息系統(tǒng)處理此類詞匯的性能。因此,低成本收集專業(yè)術(shù)語詞是一個(gè)構(gòu)建特定領(lǐng)域信息服務(wù)系統(tǒng)的一個(gè)關(guān)鍵環(huán)節(jié)。
首先,每個(gè)特定領(lǐng)域的術(shù)語詞都有自己獨(dú)特的涵義和使用方法,例如財(cái)務(wù)、法律、稅務(wù)等領(lǐng)域。收集這些領(lǐng)域的術(shù)語詞,往往需要專業(yè)知識(shí),這給收集術(shù)語詞帶來了挑戰(zhàn)。其次,專業(yè)術(shù)語詞在通用領(lǐng)域中出現(xiàn)的頻次相對(duì)不多,且給定的特定領(lǐng)域往往缺少足夠的語料用于收集這些術(shù)語詞,進(jìn)一步導(dǎo)致了收集困難。最后,如果利用大量的該領(lǐng)域的專家來進(jìn)行收集標(biāo)注,不僅人工成本高,而且效率低下,且尋找合格的領(lǐng)域標(biāo)注人員有很大困難。因此,直接通過人工的方法,給獲得此類專業(yè)詞的收集整理帶來了很大挑戰(zhàn)。為此,針對(duì)特定領(lǐng)域,開發(fā)高效低成本的專業(yè)詞收集方法和工具,具有很大的應(yīng)用價(jià)值。
可利用開源詞向量來收集術(shù)語詞。我們知道,語料中包含的詞語數(shù)量隨著語料的增多而增多,特別地,對(duì)于海量語料,往往包含了成百上千萬個(gè)詞語。對(duì)于這樣的語料,一般來說包含一個(gè)特定領(lǐng)域的大量術(shù)語詞。而目前的開源詞向量是利用海量語料訓(xùn)練而來的,因此,借助這些開源詞向量數(shù)據(jù)集,為收集特定領(lǐng)域的術(shù)語詞提供的機(jī)會(huì)。我們研究發(fā)現(xiàn),可以開源詞向量來有效收集特定領(lǐng)域的術(shù)語詞。
目前,利用海量語料訓(xùn)練的開源詞向量,是研究和應(yīng)用的一個(gè)熱點(diǎn)。英文訓(xùn)練好的開源詞向量數(shù)據(jù)集有word2vec[7],GloVe[8],中文詞向量[9]。
利用給定的開源詞向量數(shù)據(jù)集來收集術(shù)語詞,可通過詞向量技術(shù)和人工標(biāo)注方法結(jié)合的方式來獲取術(shù)語詞。我們通過如下步驟來進(jìn)行。
首先,收集一定數(shù)量的種子詞。一般是利用這個(gè)領(lǐng)域里已有的術(shù)語詞集,也可以通過專業(yè)人士標(biāo)注利用已有的專業(yè)語料進(jìn)行人工標(biāo)注得到一定量的術(shù)語詞,這一步是必不可少的,要求是在資源允許的條件下,盡量收集更多的專業(yè)詞匯。
其次,利用開源詞向量和詞詞相似算法,從詞向量集合中查找和種子詞相似的詞匯,作為術(shù)語詞的備選集合。由于術(shù)語詞和種子詞其使用環(huán)境接近,因此它們之間具有較大的相似度。這是通過詞相似方法來收集術(shù)語的理論根據(jù)。這個(gè)環(huán)節(jié)是自動(dòng)的,成本低,速度快。我們知道,如果一個(gè)詞在訓(xùn)練語料中出現(xiàn)的次數(shù)較多,其對(duì)應(yīng)的詞向量有很好的表示。反之,很多專業(yè)詞往往是低詞頻詞,其對(duì)應(yīng)的詞向量的表示就沒那么有效,因此利用詞向量計(jì)算相似度,不是完全準(zhǔn)確的。
最后,利用專業(yè)人員對(duì)基于詞向量數(shù)據(jù)得到的備選詞進(jìn)行標(biāo)注,從而獲得準(zhǔn)確的近義詞。這一步需要一定資源和人工。首先,備選詞集合中的詞匯數(shù)量一般不是很多,人工成本不是太高。其次,由于選擇的詞語和種子詞之間有較大的相似度,因此其中很大比例是術(shù)語詞。這一步需要研究如何用更少的人力成本來收集可能多的專業(yè)詞的近義詞的方法。需要通過實(shí)驗(yàn)來分析基于詞相似計(jì)算查找的近義詞的情況,以及后續(xù)的人工標(biāo)注的工作量進(jìn)行評(píng)估,確定這個(gè)方法的有效性。另外,利用詞相似來查找近義詞算法中,有一些超參數(shù)需要確定,這些超參數(shù)對(duì)接下來的人工標(biāo)注成本有影響。
針對(duì)圖書館信息服務(wù)領(lǐng)域,研究了如何用開源詞向量來收集術(shù)語詞的有效性。首先,選擇了圖書情報(bào)領(lǐng)域的一個(gè)術(shù)語詞集合作為種子詞集[10]。然后我們選擇一個(gè)被廣泛使用的開源詞向量數(shù)據(jù)—騰訊詞向量數(shù)據(jù)集[9]作為獲取術(shù)語詞的詞向量集合。詞向量相似度算法采用余弦相似度算法來召回種子詞的相似詞。利用人工方法,對(duì)召回的詞語進(jìn)行人工標(biāo)注,獲取準(zhǔn)確的術(shù)語詞。實(shí)驗(yàn)表明,設(shè)計(jì)的方法是一個(gè)高效的特定領(lǐng)域的近義詞標(biāo)注方法,實(shí)現(xiàn)了圖書檢索領(lǐng)域的近義詞的收集整理工作,可為該領(lǐng)域的進(jìn)一步信息服務(wù)提供了一個(gè)有價(jià)值的術(shù)語詞集合。最后,進(jìn)一步分析了召回算法中的超參數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響,進(jìn)而找到了這些超參數(shù)設(shè)定的合適值,以降低這個(gè)工作人工標(biāo)注工作量,提升這個(gè)方法的速度。
下面先介紹開源詞向量有關(guān)概念和詞相似計(jì)算方法,然后介紹利用開源詞向量獲取專業(yè)詞語方法。
訓(xùn)練詞向量最常用的方法是采用淺層神經(jīng)網(wǎng)來進(jìn)行的。常用的模型有skipgram 模型和gloves 模型等。這些模型計(jì)算速度快,適合于用海量語料來訓(xùn)練。我們采用的開源詞向量數(shù)據(jù)集采用的是skipgram 模型,是米科洛夫于2013 年設(shè)計(jì)的[7]。在skip-gram 語言模中,把語料看做詞語構(gòu)成的一個(gè)序列集合S=(w(1),w(2),,...,w(M)),對(duì)于詞語w(t),用該詞預(yù)測(cè)其周圍的詞語詞語概率p(w(t+k) |w(t)),訓(xùn)練的目標(biāo)是增大這個(gè)概率。得到下面的損失函數(shù)進(jìn)行優(yōu)化:
其中,Kfalse 表示窗口半徑,通常取值為5。Skipgram 模型是淺層模型,只有輸入層和輸出層,因此計(jì)算速度快,可以采用大規(guī)模語料計(jì)算進(jìn)行訓(xùn)練。該方法訓(xùn)練的詞向量具有優(yōu)越的性能,被廣泛的研究和應(yīng)用,目前依然是研究熱點(diǎn)方法。從公式(1)可以發(fā)現(xiàn),基于skipgram 語言模型訓(xùn)練的詞向量,是用相鄰的詞語互相預(yù)測(cè)得到的,這樣訓(xùn)練的詞向量,其主要捕獲的是詞的上下文信息。這些上下文信息反映了這個(gè)詞的用法。
從skipgram 語言模型的損失函數(shù),可以發(fā)現(xiàn),如果2 個(gè)詞語出現(xiàn)的上下文越相似,則它們的詞向量越相似。因此可用詞向量分析詞語的相似度。類似的,2 個(gè)詞語,如果都是一個(gè)特定領(lǐng)域的術(shù)語詞,則它們的用法,也就是上下文有很大可能有一定的相似性,因此二者之間的向量的相似度值也較大。因此可以利用這個(gè)特性來獲得更多的一個(gè)給定領(lǐng)域的術(shù)語詞。需要用到詞向量的相似度,下面介紹基于詞向量度量2 個(gè)詞語的相似度方法。通常,基于詞向量方法相似度采用余弦相似度。設(shè)2 個(gè)詞 的對(duì)應(yīng)的詞向量,則這兩個(gè)詞的相似度可通過如下公式計(jì)算:
表示向量的內(nèi)積,表示向量的模長(zhǎng)。研究發(fā)現(xiàn)[7],余弦相似度可以有效度量2 個(gè)詞語用法的相似或是相關(guān)程度。這給尋找用法相關(guān)的術(shù)語詞提供了一個(gè)有效的算法。但實(shí)際情況有些復(fù)雜,對(duì)于給定的一個(gè)術(shù)語詞,和其相似度較大的詞語,只有一定概率是術(shù)語詞,有些時(shí)候,盡管2 個(gè)詞的相似度很高,但也不能保證該詞就一定是和種子詞一樣是術(shù)語詞。這就給基于相似度尋找術(shù)語詞帶來了麻煩,因此需要人工標(biāo)注來進(jìn)一步確認(rèn)哪些詞是術(shù)語詞。
利用詞向量的相似度來獲得術(shù)語詞,首先要有一定數(shù)量的種子詞,然后利用詞向量的相似度,找到和種子詞相速度高的詞語。通常有top-k 和top-p 兩種方法來獲得和種子詞相似度高的詞語,下面分別介紹。
(a)Top-k 方法。對(duì)種子詞w,設(shè)詞向量集合為V,令
topk(w,V)false 表示V 中和w 相似度最高的前k 個(gè)詞。K 的大小對(duì)選擇尋找術(shù)語詞效率和數(shù)量有影響。在下面的實(shí)驗(yàn)中,我們會(huì)研究k 的影響。
(b)top-p 方法。對(duì)于種子詞w,類似公式(3),我們定義集合
top p(w,V)表示V 中和w 相似度大于p 的全部詞語。同樣地,參數(shù)p 尋找w 的相似詞有很大影響。我們通過實(shí)驗(yàn)來研究p 的影響。
通過Top-k 或者top-p 方法,獲得了詞w 的相似詞集合 topk(w,V)或者top p(w,V),然后通過專業(yè)人士對(duì)這個(gè)集合中的詞進(jìn)行標(biāo)注,進(jìn)一步獲得精確的術(shù)語詞。這一步需要一定時(shí)間和人工成本。
為了驗(yàn)證開源詞向量是否有助于收集特定領(lǐng)域的術(shù)語詞,采用了一個(gè)被廣泛應(yīng)用的詞向量數(shù)據(jù)集:騰訊詞向量數(shù)據(jù)集[9]。該詞向量采用是skip-gram 模型的改進(jìn)版——位置敏感的skipgram 模型,傳統(tǒng)的skip-gram 語言模型是詞袋模型,也就是沒有位置信息,位置敏感的skipgram 采用的訓(xùn)練目標(biāo)函數(shù)如下:
該方法在原有skipgram 方法上添加了位置編碼信息zj,因而可以獲得更詞之間的相對(duì)位置關(guān)系,可以獲得了更好的詞表示。
騰訊詞向量數(shù)采用的訓(xùn)練數(shù)據(jù)集是自大規(guī)模的多源數(shù)據(jù),有來自騰訊新聞和天天快報(bào)的新聞?wù)Z料,同時(shí)還補(bǔ)充了通過爬蟲技術(shù)獲得的互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)和來自在線小說語料等,訊詞向量首先利用了現(xiàn)有的詞典和維基百科和百度百科的詞條,使用的分詞算法中也考慮了Shi 等人于提出的語義算法[9]來發(fā)現(xiàn)語料中的新詞。
實(shí)驗(yàn)中有2 類參數(shù):一個(gè)是top-k 算法中參數(shù)k,首先設(shè)k=5,10,15,20,25,30,然后根據(jù)實(shí)驗(yàn)結(jié)果的評(píng)估,最后k=10;另一類參數(shù)是top-p 中的p,設(shè)為p=0.5,0.6,0.7,0.8,0.9,0.95。實(shí)驗(yàn)評(píng)估結(jié)果設(shè)定為0.7。
針對(duì)圖書館信息服務(wù)領(lǐng)域,選擇術(shù)語種子詞是一個(gè)專業(yè)詞匯數(shù)據(jù)集是<圖情常規(guī)專業(yè)>[10],該數(shù)據(jù)集中包含了4846 個(gè)中英圖書情報(bào)專業(yè)語詞,剔除了英文詞語,保留了其中的中文詞。這個(gè)數(shù)據(jù)集有有1158 個(gè)術(shù)語詞義項(xiàng),每個(gè)義項(xiàng)包含了1 到4 個(gè)術(shù)語詞,其中有86 個(gè)義項(xiàng)包含了多個(gè)術(shù)語詞。很多詞通過約定符號(hào)進(jìn)行了合并和縮寫表示,為了接下來的處理,我們對(duì)這些特殊表示進(jìn)行了拆分補(bǔ)全處理:
a)原有語料中的含有小括號(hào)形式的專業(yè)“引(序)言”,把它們拆分為“引言”和“序言”。
b)代用中括號(hào)的表達(dá),例如“重印[本]”,也做了進(jìn)一步拆分,拆分結(jié)果為“重印”和“重印本”。
c)對(duì)于小括號(hào)中有多個(gè)專業(yè)的,例如“文件(宗卷”,“存檔)號(hào)碼”,做了拆分和補(bǔ)全,結(jié)果為“文件號(hào)碼”“宗卷號(hào)碼” “存檔號(hào)碼”。
首先利用實(shí)驗(yàn)評(píng)估方法的有效性。通過實(shí)驗(yàn),可以回答利用開源詞向量集合,是否可以有效地?cái)U(kuò)充專業(yè)詞的近義詞。為此,從數(shù)據(jù)集D 中選擇了181 個(gè)圖書情報(bào)專業(yè)術(shù)語詞匯作為種子詞。按詞相似方法,按照top-k(k=50)方法,從詞向量集合V 中抽取了和這些目標(biāo)詞相似度較高一些詞語,然后再經(jīng)過專家標(biāo)注,選出和圖書情報(bào)相關(guān)的術(shù)語詞(見圖1)。圖1 中的橫坐標(biāo)是詞語id,縱坐標(biāo)是召回的術(shù)語詞數(shù)量。按照種子詞召回的術(shù)語詞數(shù)量進(jìn)行了遞增排序。從圖中可以看到,有超過一半的種子詞召回了超過10 個(gè)術(shù)語詞。平均每個(gè)種子詞召回了25 個(gè)術(shù)語詞。這表示通過詞相似算法,從開源詞向量中可以獲得大量的特定領(lǐng)域的專業(yè)術(shù)語詞。這個(gè)實(shí)驗(yàn)說明,利用開源詞向量集合來獲取圖書情報(bào)特定領(lǐng)域的專業(yè)詞匯,是一個(gè)有效的方法。
圖1 所有種子詞擴(kuò)充的術(shù)語詞分布
為了進(jìn)一步評(píng)估近專業(yè)術(shù)語詞擴(kuò)充的情況,按召回?cái)?shù)量劃分了若干個(gè)區(qū)間,統(tǒng)計(jì)了每個(gè)區(qū)間包含的種子詞數(shù)量,見表1??梢钥吹剑?7 個(gè)種子詞只獲得了至多2 個(gè)術(shù)語詞。而有77 個(gè)種子詞獲得了大于3 小于40 個(gè)術(shù)語詞。有46 個(gè)種子詞獲得了超過40 個(gè)術(shù)語詞。從這個(gè)表格中,可以看到,不同的種子詞獲得的術(shù)語詞數(shù)量差異很大。有大量的種子詞獲得了很少的術(shù)語詞,作為一個(gè)極端情況,有25 個(gè)術(shù)語詞沒有召回一個(gè)術(shù)語詞(見表1 中最后一行)。出現(xiàn)這種情況,有2 個(gè)原因:首先,這個(gè)術(shù)語詞可能是一個(gè)圖書情報(bào)中用法很不常見的生僻詞;還有一種情況是詞向量語料集合本身帶來的問題,例如訓(xùn)練詞向量的語料中與某個(gè)種子詞相關(guān)的圖書情報(bào)術(shù)語詞很少導(dǎo)致的。與之相反,有大量的種子詞召回了很多術(shù)語詞。要注意的是,這些數(shù)據(jù)是基于top-50 方法得到的,因此每個(gè)種子詞至多召回50 個(gè)術(shù)語詞。這顯然是不充分的,實(shí)際上,針對(duì)召回多的種子詞,可以進(jìn)一步擴(kuò)大top-k 中的k 值,會(huì)進(jìn)一步召回更多的術(shù)語詞。實(shí)驗(yàn)的目的是正面這個(gè)方法的有效性,因此只嘗試了k=50 的情況。
表1 種子詞在不同術(shù)語擴(kuò)充數(shù)量區(qū)間的分布情況
在top-k 算法中,k 越大,召回的術(shù)語詞數(shù)量可能越多。但是標(biāo)注工作量也逐步增加。同時(shí),隨著k 變大,召回的詞和目標(biāo)詞的相似度越低,這這個(gè)詞是目標(biāo)詞的術(shù)語詞的概率也變小??梢?,k 對(duì)任務(wù)的性能和成本有著直接影響,選擇合適的k 是非常關(guān)鍵的一個(gè)環(huán)節(jié)。我們實(shí)驗(yàn)了當(dāng)k 的變化對(duì)召回專業(yè)詞數(shù)量變化的影響。在這個(gè)實(shí)驗(yàn)中,設(shè)k=1,2,…,50,分布統(tǒng)計(jì)181 個(gè)種子詞在第k 個(gè)位置(top-50)召回的術(shù)語詞數(shù)量(見圖2)。我們可以看到一個(gè)顯著的趨勢(shì):隨著k 增大,召回的術(shù)語詞穩(wěn)步下降,降幅從100 左右降到50 左右。這個(gè)現(xiàn)象說明,k 越大,該位置是術(shù)語詞的概率越小。k=1 附近,概率大約為0.55,當(dāng)k=50 的位置時(shí)候,概率大約為0.25 左右。
圖2 top-50 中第k 個(gè)位置召回術(shù)語詞的數(shù)量
在top-p 方案中,p 越大,也就是相似度越大,則召回的詞越少,獲得的術(shù)語詞也就越少。反之,可以獲得更多術(shù)語詞,但是p 變小,召回詞的數(shù)量會(huì)急劇增多,會(huì)大大加重標(biāo)注的代價(jià)。我們用實(shí)驗(yàn)來分析p 的大小對(duì)召回術(shù)語詞數(shù)量的影響。為此,我們根據(jù)p 的取值范圍和實(shí)驗(yàn)設(shè)定,設(shè)定了p 的5 個(gè)分布區(qū)間,基于181 個(gè)種子詞召回的術(shù)語詞,按其和種子詞之間的相似度,統(tǒng)計(jì)了落在不同區(qū)間獲得的術(shù)語詞數(shù)量。實(shí)驗(yàn)結(jié)果如圖3所示。
在圖3 中,召回的術(shù)語詞和種子詞的相似度落在區(qū)間[0.6,0.7)中最多,其次是[0.5,0.6)區(qū)間。這是因?yàn)?,在此區(qū)間內(nèi),按照top-p 算法,召回了和種子詞相似的詞數(shù)量更多,因此其中包含了更多數(shù)量的術(shù)語詞。而相似度越大,召回詞語的數(shù)量越少,基于標(biāo)注得到的術(shù)語詞也少,見圖3 中最后2 個(gè)區(qū)間中術(shù)語詞的數(shù)量。為了平衡標(biāo)注工作和術(shù)語詞召回?cái)?shù)量2 個(gè)矛盾結(jié)果,取p=0.5,這樣可以保證召回?cái)?shù)量不是太多,同時(shí)可以獲得一定數(shù)量的術(shù)語詞。
圖3 p 對(duì)術(shù)語詞數(shù)量的影響
文章介紹了利用開源詞向量獲得特定領(lǐng)域術(shù)語詞的方法。整個(gè)方案包括2 個(gè)步驟;首先,利用詞相似算法召回和種子詞的最相似的詞;然后,利用圖書情報(bào)領(lǐng)域?qū)<覍?duì)這些詞進(jìn)行判別標(biāo)注,以便獲得精確的圖書情報(bào)領(lǐng)域的術(shù)語詞。采用了2種基于詞相似算法進(jìn)行召回,top-k 和top-p 算法,同時(shí)分析了參數(shù)k 和p 的獲得術(shù)語詞的數(shù)量和標(biāo)注工作量影響。實(shí)驗(yàn)結(jié)果表明,利用開源詞向量數(shù)據(jù)集可以有效擴(kuò)充圖書情報(bào)領(lǐng)域的術(shù)語詞。
樂山師范學(xué)院學(xué)報(bào)2022年8期