孟冰卿,馬 雷
(華東師范大學(xué) 物理與電子科學(xué)學(xué)院, 上海 200241)
隨著互聯(lián)網(wǎng)與人工智能技術(shù)的發(fā)展, 計算機對用戶數(shù)據(jù)了如指掌, 如知道用戶的需求、用戶想要搜索的內(nèi)容以及用戶的行為習(xí)慣等, 并可依據(jù)數(shù)據(jù)進行資源篩選匹配, 直接給用戶提供個性化服務(wù).自然語言處理(Natural Language Processing, NLP)是人工智能發(fā)展中的一個重要方向, 它主要研究的是, 如何使計算機能夠理解人類語言, 實現(xiàn)人與計算機之間用自然語言進行有效的通信. 語句相似度[1-2]計算(語句匹配)是NLP最基本的任務(wù)之一, 主要用來判斷兩個自然語言句子所表達的語義的相似程度, 其核心是語句的意圖匹配. 假設(shè)計算機已獲取用戶的需求描述語句, 基于語句相似度計算算法, 計算機從信息庫中匹配相關(guān)的描述語句, 來獲取服務(wù)以滿足用戶需求. 因此, 語句相似度計算是自動問答、聊天機器人、信息檢索、機器翻譯等各種自然語言處理任務(wù)的基礎(chǔ).
量子理論原則上適用于任何形式化不確定性的學(xué)科, 量子理論已經(jīng)在人工智能, 特別是在自然語言理解[3-5]和圖像語義理解[6-8]等領(lǐng)域做了一些嘗試, 此外在經(jīng)濟學(xué)[9-10]、信息論[11]、心理學(xué)[12]和認知科學(xué)[13-15]等多個領(lǐng)域也得到了廣泛應(yīng)用. 在以往的研究中, 許多學(xué)者從工程經(jīng)驗角度, 以句子的關(guān)鍵詞、詞性、句長、句型等語句表面特征作為語句相似度的研究重點[16-18], 缺乏對句子語義信息的考究. 也有一些研究重點考慮語句的語義信息, 例如, 文獻[19]依據(jù)Hownet語義詞典、文獻[20]基于WordNet的概念語義來計算詞語語義相似度、文獻[21]提出的基于語義依存的句子相似度算法、 文獻[22]通過句子的語義角色分析來標(biāo)注句型的相似匹配. 這些研究取得了一定的成就, 但是相對比較繁瑣且實用效果不好. 在之前的研究中, 很多研究成果都是應(yīng)用計算機科學(xué)去研究, 很少有將計算機科學(xué)與量子理論相結(jié)合去進行研究. 交叉學(xué)科的出現(xiàn), 將會是以后的研究發(fā)展方向, 也是現(xiàn)在的趨勢所在, 它為研究提供了新的思路與方向, 大大擴展了可能性. 本文探討了量子理論作為一種形式化框架在捕捉句子、詞語的語義和語義建模上的潛力[3]. “量子理論”指代量子力學(xué)的抽象數(shù)學(xué)基礎(chǔ)[23-24]. 量子理論所具備的疊加、糾纏、不相容和干涉等特征使其成為極具潛力的建模工具. 其中, 疊加法是模擬不確定性建模的一種方法, 比經(jīng)典的概率論更適用, 它包含了有關(guān)系統(tǒng)狀態(tài)的潛在性信息. 一個電子在原子中的位置是不確定的, 它可以被建模成位置的疊加. 類似地, 自然語言中的很多單詞都可以有多重意義. 例如, 未放入特定語境時, 英文“pen”一詞可以指書寫工具筆、限制牲畜的圍欄、囚禁的監(jiān)獄或雌性天鵝. 但是, 當(dāng)觀察到在上下文中出現(xiàn)“ink”這個詞時, “pen”就會被解析為與書寫有關(guān)的意思. 語義空間中單詞的意義是以一種直觀上類似于原子中電子的方式疊加的[3]. 糾纏是指系統(tǒng)之間的關(guān)系, 在這些系統(tǒng)中, 不可能根據(jù)其組成部分的概率分布來確定整體的概率分布. 在詞義方面, 糾纏能編碼概念之間的隱藏關(guān)系. 一個詞的不同意義是“平行存在”的, 直到它在某種語境中被觀察到為止, 這種模糊度的減少對其他通過糾纏連接的概念是有一定的影響力的. 此外, 保真度[25]是衡量兩個量子態(tài)接近程度的一種度量, 是量子理論中的一個重要的物理量. 保真度不僅能夠給出兩個混態(tài)接近程度, 而且當(dāng)量子態(tài)為純態(tài)時, 它能約化為通常的Hilbert-Schmidt保真度[11,26-27].
本文利用量子理論的數(shù)學(xué)框架對語義信息進行建模. 具體來說, 就是利用量子態(tài)來構(gòu)建句子的語義空間模型, 計算句子信息變換過程中信息的保真度; 與此同時, 還將量子理論與計算機科學(xué)中詞語義表達技術(shù)(Word2Vec)[28]巧妙結(jié)合, 在高維低秩向量空間中表示單詞或概念, 以求取句子的相似性.
本文用密度矩陣表示單個完整句子的含義, 進而獲得它們之間的保真度計算展開式; 將量子理論與計算機科學(xué)中詞語義表達技術(shù)(Word2Vec)巧妙結(jié)合, 求取句子的相似性. 具體過程如下描述.
一個自然語言句子組成中包含的單詞有多種詞性, 如動詞(v)、形容詞(adj)、名詞(n)、連接詞(conj)等, 如圖1示例. 而不同詞性的單詞在句中所占有的角色也不盡相同, 對整體句子語義也具有不同的影響(后續(xù)將作介紹). 本文中, 根據(jù)詞性的不同, 將句中單詞歸納并構(gòu)成集合W={w1,···,wm},其中,wi=(v1,v2,···,vn),vj表示同一詞性的不同單詞,wi表示具有相同詞性的單詞集合.對于詞組W中的元素wi,其中單詞的矢量疊加,構(gòu)成一個Hilbert空間χ, 它的基矢是互相正交的.如圖1所示, 句2中有兩個形容詞bright和warm, 因此該句中Hilbert空間χ3是由基矢|bright〉和|warm〉 疊加組成的. 可以給這種疊加操作一種直觀的表述: 將“I like bright and warm orange”拆分成兩個并列子句“I like bright orange”和“I like warm orange”, 子句的疊加處理實際上等同于同一詞性單詞的疊加操作.
圖1 自然語言句子的不同詞性組成Fig. 1 Different parts of speech composition in natural language sentences
接下來, 將W中所有元素映射到狄拉克符號中去, 原始自然語言句子則轉(zhuǎn)化為Hilbert空間的疊加|Ψ〉∈χ1+χ2+···+χi, 其中,|Ψ〉為態(tài)函數(shù), 同時為χi分配權(quán)重(可用復(fù)數(shù)值pi=eiθi表示), 則相應(yīng)的態(tài)函數(shù)可描述為
密度矩陣是通過態(tài)矢量外積來作用的, 可以記作
一個單詞可能為多義詞, 即包含多重語義, 如圖1例句中的“orange”, 在句1表示水果橘子, 而在句2中則指顏色橙色. 當(dāng)一個多義詞出現(xiàn)在某一句話中, 它指代的具體語義到底是什么, 需要根據(jù)句子的上下文語境來判斷. 句1中用形容詞“big”(大的)、“yellow”(黃色的)來形容“orange”, 表達其作為水果的特征; 句2中的形容詞“bright”(明亮的)、“warm”(溫暖的)均為修飾顏色“orange”的, 因此可以判斷單詞“orange”在每句話中的實際含義. 由此可見, 句子中單詞的語義表達受到上下文影響,而密度矩陣恰好可以反映句子中詞與詞之間的復(fù)雜關(guān)聯(lián), 建模上下文語義于矩陣中. 即在比較相似度的過程中判斷兩句話中對應(yīng)詞的語義距離, 而且這些信息都可以編碼于密度矩陣中.
假設(shè)圖1中句1、句2映射的密度矩陣分別為
則它們保真度的計算為
在量子理論保真度計算框架下, 本文將其與計算機科學(xué)中的詞語義表達技術(shù)(Word2Vec)相結(jié)合,將句子中每個詞表示為高維低秩實數(shù)型詞向量(Word Embedding), 通過計算保真度展開式中每個詞對之間的語義距離, 來計算句子之間的相似度. 計算公式為
式(5)中, 定義歐氏距離計算函數(shù)semdis()Y()為, 根據(jù)此函數(shù)來求解出兩詞之間的語義距離, 循環(huán)代換將式(4)中每一組都計算后對這些值求平均, 并且進行非線性變換, 輸出的結(jié)果便是待求兩句話的相似度值.
本文利用來源于真實業(yè)務(wù)場景的問答語料庫, 所有語料來自原始的金融領(lǐng)域智能客服日志, 更加接近于智能客服等自然語言處理任務(wù)的實際需求. 模擬任務(wù)的主要目標(biāo)是針對英文的真實客服語料,進行問句意圖匹配. 給定兩個語句, 要求判定兩者相似情況. 測試集真實數(shù)據(jù)示例如表1所示.
表1 實驗數(shù)據(jù)示例Tab. 1 Examples from simulation data
本文利用準(zhǔn)確率(Accuracy,A)、精確度(Precision,P)、召回率(Recall,R)和 F-soure (F1)值作為實驗的評測標(biāo)準(zhǔn).
不同詞性的單詞在句中所占有的角色是不相同的, 對整體句子語義具有不同的影響. 本文模型在構(gòu)成Hilbert空間時利用了這一特性, 接下來我們實驗分析不同詞性的單詞在模型中所占權(quán)重(weight)取值問題. 單詞的詞性有幾十余種, 本文為了減少實驗的工作量且要保證實驗效果, 將詞性分為4類: ①名詞類詞性(Noun), 包括名詞、數(shù)詞等詞性; ②動詞類詞性(Verb), 主要包括各類動詞;③修飾類詞性(Modifiers), 主要包括形容詞、副詞、量詞等詞性; ④其他(Others). 針對每一類別待處理詞性, 本文采用對比試驗的方式, 保持其他3類詞性的權(quán)重始終為1, 在一定合理區(qū)間內(nèi)(多次分析后發(fā)現(xiàn)最佳參數(shù)出現(xiàn)在該區(qū)間內(nèi))不斷變換待處理詞性的權(quán)重, 查看模擬效果, 從中選取效果最佳的參數(shù)作為該類詞性的最終權(quán)重.
圖2所示為具體結(jié)果分析折線圖. 從圖2中觀察發(fā)現(xiàn), 每一類詞性的權(quán)重取值范圍在1左右時效果比較好. 取每個折線最大值時的橫坐標(biāo)值作為對應(yīng)該詞性類別的權(quán)重, 結(jié)果如表2所示. 由表2可以發(fā)現(xiàn), 動詞類詞性和名詞類詞性的單詞在一個自然語言句子中占有較高的權(quán)重, 而其他類詞性的單詞占有的權(quán)重較低, 這符合自然語言學(xué)的分析. 因為名詞和動詞一般為一個句子的主要成分, 承載著句子的重要含義, 理應(yīng)具有較高權(quán)重; 而標(biāo)點符號、介詞、助詞等輔助句子表達的單詞往往包含較少的語義信息, 因此應(yīng)具有較小的權(quán)重.
圖2 不同詞性的單詞在模型中所占權(quán)重取值分析Fig. 2 Analysis of the weights of words from different parts of speech in the model
表2 各類詞性權(quán)重值取值Tab. 2 Weight assigned to various parts of speech
將本文的方法與其他典型的相似度計算方法進行了比較, 結(jié)果如表3所示. 表3中的Jaccard_similarity為基于Jaccard 相似系數(shù)的方法, 用于比較有限樣本集之間的相似性與差異性, Jaccard 系數(shù)值越大, 樣本相似度越高; Cosine_similarity_TF方法為直接計算 TF (Term Frequency, 即為詞頻的含義)系數(shù)矩陣中兩個向量夾角的余弦值作為相似度值; 與上Cosine_similarity_TF方法不同, Cosine_similarity_TFIDF利用的是TFIDF 系數(shù)(TFIDF 實際上就是在詞頻 TF 的基礎(chǔ)上再加入 IDF 的信息, IDF稱為逆文檔頻率). 分析結(jié)果可知, 本文方法與其他方法相比效果更好, 包括更高的準(zhǔn)確率(A)和F1值, 召回率(R)也明顯高于其他方法, 高出了10%以上. 上述結(jié)果證明了本文方法具有更好的能力.
本文提出了進行句子語義距離度量與相似度計算的量子理論方法, 該方法基于量子態(tài)下的詞向量進行兩個句子之間的相似度計算, 根據(jù)模擬分析證明提出的量子模型獲得的性能優(yōu)于其他經(jīng)典模型, 由表3可知. 此外, 還分析了句子中各個詞向量對整體句子的影響, 表2概述了本文的結(jié)果. 基于量子理論的方法計算句子相似度, 可以更大程度地保留句子信息的完整度, 對句中情感態(tài)度的保留更加完善具體, 大大提高了匹配度. 另外, 相近的語句相似度值與不同的語句相似度值結(jié)果相差較大, 相比于其他經(jīng)典模型, 結(jié)果更加直觀明確.
表3 測試集相似度計算結(jié)果比較Tab. 3 Comparison of test set similarity calculations
量子理論是一種優(yōu)秀的建模框架, 它可以適用于任何不確定性學(xué)科, 在計算語句相似度值上, 其穩(wěn)定性與應(yīng)用性更加完整廣泛. 在未來, 還可以應(yīng)用該方法比較多個句子的相似度, 識別句子之間的情感態(tài)度等. 將量子理論與計算機科學(xué)相結(jié)合, 在未來各方面的應(yīng)用以及使用價值上會更加有發(fā)展前景, 交叉學(xué)科的出現(xiàn), 不僅可以優(yōu)化各種算法, 隨著科學(xué)技術(shù)的發(fā)展, 對人類生活的影響也更加巨大.