国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

隱馬爾可夫模型在中文文本分詞中應(yīng)用研究

2017-01-10 02:34:44王慶福
無線互聯(lián)科技 2016年13期

王慶福

摘要:文本分詞是各個(gè)互聯(lián)網(wǎng)領(lǐng)域中的基礎(chǔ)性工作。通過對(duì)平臺(tái)涉及的文本串進(jìn)行切詞處理,對(duì)切詞之后的短文本串更能夠聚合用戶。隱馬爾可夫模型作為機(jī)器學(xué)習(xí)領(lǐng)域中重要算法,它能夠進(jìn)行各個(gè)狀態(tài)之間的轉(zhuǎn)換,對(duì)于文本中詞語之間上下文語義關(guān)系、詞語與詞語之間前后向位置關(guān)系非常匹配,眾多的開源分詞工具都基于隱馬爾可夫模型。

關(guān)鍵詞:文本分詞;上下文語義;隱馬爾可夫模型

文本分詞是互聯(lián)網(wǎng)中各個(gè)行業(yè)的基礎(chǔ)性工作。文本分詞最直接的應(yīng)用場景應(yīng)該是在搜索引擎中,一方面需要對(duì)搜索引擎爬取到的網(wǎng)站內(nèi)容進(jìn)行切詞分析,另一方面,也需要對(duì)用戶輸入的短文本查詢字符串進(jìn)行切詞分析,度量切詞之后的用戶查詢字符串和網(wǎng)站內(nèi)容之間的相關(guān)性。隨著推薦系統(tǒng)的越來越廣泛應(yīng)用,尤其以咨詢和新聞?lì)惖耐扑]系統(tǒng)為主要形態(tài),都需要大量的文本切詞工作。甚至美團(tuán)等O2O平臺(tái)也需要對(duì)用戶的評(píng)論信息和地址信息等進(jìn)行切詞分析。

隱馬爾可夫模型作為機(jī)器學(xué)習(xí)中重要算法,是在馬爾可夫模型的基礎(chǔ)上發(fā)展而來,但是它與馬爾可夫模型又是截然不同的兩個(gè)模型。它主要用觀測數(shù)據(jù)來預(yù)測原始數(shù)據(jù)形態(tài),能夠根據(jù)狀態(tài)節(jié)點(diǎn)之間的轉(zhuǎn)換方式來推測最可能的原始數(shù)據(jù)形態(tài),這正是文本分詞所需要的。文本分詞通過對(duì)文本串的多種切分方式尋找最佳的切分方式作為當(dāng)前的切詞結(jié)果,最佳的切分方式通過隱馬爾可夫模型預(yù)測獲得。

1 隱馬爾可夫模型

隱馬爾科夫模型(Hidden Markov Model)經(jīng)常被用在時(shí)間序列(例如一段時(shí)間內(nèi)的聲音信號(hào),運(yùn)動(dòng)物體的位置等物理量)的建模與分析。

它有3個(gè)要素:(1)可見隨機(jī)變量。用來描述人們所感興趣的物理量,隨時(shí)間變化。(2)隱含的狀態(tài)變量。一個(gè)假設(shè)的存在,每個(gè)時(shí)間點(diǎn)的物理量背后都對(duì)應(yīng)一個(gè)狀態(tài)量。(3)變量間的關(guān)系。用概率的方法(通常是概率密度函數(shù))描述以下3個(gè)關(guān)系或變量:初始狀態(tài)量,當(dāng)前的隱含狀態(tài)量與下一個(gè)隱含狀態(tài)量間關(guān)系(此處還用到馬爾科夫假設(shè):當(dāng)前隱含狀態(tài)只取決于前一個(gè)隱含狀態(tài)),當(dāng)前的隱含狀態(tài)量與可見隨機(jī)量間關(guān)系。

隱含狀態(tài)變量是假設(shè)的存在,并不一定有對(duì)應(yīng)的物理解釋,此例狀態(tài)值取上下左右4個(gè)值是為了好理解,實(shí)現(xiàn)模型時(shí)可以取任意數(shù)量的狀態(tài)值,是一個(gè)可調(diào)參數(shù)。隱含狀態(tài)變量通常是離散的,可見狀態(tài)變量可離散可連續(xù)。

HMM模型中每個(gè)節(jié)點(diǎn)代表一個(gè)狀態(tài)變量,狀態(tài)變量產(chǎn)生觀測變量,HMM中當(dāng)前狀態(tài)只與前一狀態(tài)有關(guān),與其他時(shí)刻狀態(tài)無關(guān)。狀態(tài)隨時(shí)間轉(zhuǎn)移,當(dāng)前觀測變量由當(dāng)前狀態(tài)決定。HMM模型的目標(biāo)通常是給出最有可能的結(jié)果,不關(guān)心其可信度。

馬爾可夫獨(dú)立性假設(shè)是指,對(duì)一個(gè)節(jié)點(diǎn),在給定它所連接的所有節(jié)點(diǎn)的前提下,它與外界是獨(dú)立的。也就是說,如果你觀測到了這個(gè)節(jié)點(diǎn)直接連接的那些節(jié)點(diǎn)的值,那它跟那些不直接連接它的點(diǎn)就是獨(dú)立的。形式上,我們將其設(shè)計(jì)成這個(gè)樣子,邊可以傳遞信息,點(diǎn)與點(diǎn)之間通過邊相互影響,如果觀測到一個(gè)節(jié)點(diǎn)的取值或者這個(gè)節(jié)點(diǎn)的取值是常量,那么別的節(jié)點(diǎn)就無法通過這個(gè)節(jié)點(diǎn)來影響其他節(jié)點(diǎn)。所以對(duì)一個(gè)節(jié)點(diǎn)來說,如果用來連接外界的所有節(jié)點(diǎn)都被鎖住了,那它跟外界就無法傳遞信息,就獨(dú)立了。一個(gè)HMM有兩部分,如圖1所示。

(1)狀態(tài)(state)/狀態(tài)的轉(zhuǎn)移(transition):描述了HMM的基本骨架,即一個(gè)HMM有多少個(gè)states以及states之間的轉(zhuǎn)移關(guān)系。(2)每一個(gè)state的概率分布(probabilitydistributions)可再分為兩部分,①帶有概率的Markov鏈,即由某一狀態(tài)去往下一個(gè)狀態(tài)的轉(zhuǎn)移概率;②每一個(gè)state的data probability distributions,語音識(shí)別中通常用混合高斯模型(Gaussian Mixture Model)來描述。

2 文本分詞

眾所周知,在漢語中,詞與詞之間不存在分隔符(英文中,詞與詞之間用空格分隔,這是天然的分詞標(biāo)記),詞本身也缺乏明顯的形態(tài)標(biāo)記,因此,中文信息處理的特有問題就是如何將漢語的字串分割為合理的詞語序。主流的中文分詞方法有3種:第一類是基于語言學(xué)知識(shí)的規(guī)則方法,如各種形態(tài)的最大匹配、最少切分方法;第二類是基于大規(guī)模語料庫的機(jī)器學(xué)習(xí)方法,這是目前應(yīng)用比較廣泛、效果較好的解決方案,用到的統(tǒng)計(jì)模型有N元語言模型、信道一噪聲模型、最大期望、HMM等;第三類也是實(shí)際的分詞系統(tǒng)中用到的,即規(guī)則與統(tǒng)計(jì)等多類方法的綜合。

對(duì)于一條完整的句子并不能得到可觀測的序列。采用統(tǒng)計(jì)語言模型的中文分詞,效果已經(jīng)非常好,可以認(rèn)為中文分詞是一個(gè)已經(jīng)解決了的問題。不過,這又需要訓(xùn)練一個(gè)新的馬爾可夫模型。因此,通常從左往右掃描句子,然后查找詞庫,找到最長的詞匹配,遇到不認(rèn)識(shí)的字串就分割成單字詞。

將詞庫中的詞語按照unicode碼排序,可以方便地查找。在分詞時(shí),首先將詞庫讀到內(nèi)存中,然后將句子按照從左往右最長匹配原則查找詞庫。由于詞庫按照unicode碼排序,所以我們可以采用二分快速查找詞組。查找時(shí),首先讀取原始句子的第一個(gè)字,定位到該字在詞庫中的起始位置和結(jié)束位置,然后進(jìn)行二分查找即可。在查找的過程中記錄起始和結(jié)束位置之間所有詞的最大長度,然后從最大長度開始查找詞庫,長度逐一遞減,直到找到為止。圖2簡單描述了分詞的過程。

HMM需要訓(xùn)練的參數(shù)有3個(gè),即(PI,A,B)。PI表示詞性的先驗(yàn)概率,A表示詞性之間的狀態(tài)轉(zhuǎn)移矩陣,B表示詞性到詞的發(fā)射矩陣或者混淆矩陣。采用有監(jiān)督的方式訓(xùn)練上述3個(gè)參數(shù)。有監(jiān)督的方式,即通過統(tǒng)計(jì)語料庫中的相關(guān)信息訓(xùn)練參數(shù)。HMM參數(shù)訓(xùn)練就是通過分析語料庫獲得HMM的3個(gè)參數(shù)。通過解析語料庫可以獲得:每個(gè)詞性出現(xiàn)的次數(shù),每個(gè)詞性及其后繼詞性出現(xiàn)的次數(shù)和詞性對(duì)應(yīng)的詞。統(tǒng)計(jì)完這些信息之后就可以以頻率代替概率獲得3個(gè)參數(shù)的值。

獲得上述信息之后,可以很容易地統(tǒng)計(jì)相關(guān)信息,進(jìn)而利用頻率算概率。詞性先驗(yàn)概率的計(jì)算沒有任何難度。隱藏狀態(tài)轉(zhuǎn)移矩陣按照公式1所示。(1)

在公式1中,#(St-1-St)表示不同的兩個(gè)詞性前后出現(xiàn)的次數(shù),St-1表示詞性出現(xiàn)的次數(shù)。可觀測狀態(tài)的發(fā)射矩陣按照公式2所示。(2)

在公式2中,#(Ot,St)表示某個(gè)詞和某個(gè)詞性同時(shí)出現(xiàn)的次數(shù)。在計(jì)算頻率的時(shí)候,由于有些值非常小,為了避免計(jì)算過程中的下溢,可以統(tǒng)一將計(jì)算的結(jié)果乘以一個(gè)較大的數(shù)。事實(shí)上,對(duì)于頻數(shù)為零或者頻數(shù)很小的情況,按照古德一圖靈估計(jì)重新計(jì)算,之后求最優(yōu)隱藏序列需要采用log方式。假設(shè)通過分析語料庫,最后獲得了N個(gè)詞性,M個(gè)詞組,則就是一個(gè)長度為N的向量,A是一個(gè)N×N的句子,B就是一個(gè)NXM的矩陣。后面對(duì)句子進(jìn)行詞性標(biāo)注時(shí),要確保分詞后的詞組都在M中,否則就超出了HMM的處理能力。

一般情況下,完成HMM參數(shù)訓(xùn)練之后,可以利用HMM完成一些具體的事情。不過,在這之前對(duì)于詞性標(biāo)注系統(tǒng),還需要進(jìn)一步分詞。采用的分詞方法是從左往右,最大匹配模式。但是程序中采用的語料庫卻傾向于最小匹配模式。所以初次分詞的結(jié)果有可能不在語料庫中。在此將語料庫不能識(shí)別的詞組再次進(jìn)行分詞嘗試讓算法找到更多的詞。

3 結(jié)語

文章主要論述隱馬爾可夫模型的實(shí)際應(yīng)用場景,分析隱馬爾可夫模型的理論基礎(chǔ)。隱馬爾可夫模型主要通過預(yù)測值和觀察值之間的狀態(tài)變化矩陣進(jìn)行數(shù)據(jù)預(yù)測。語音識(shí)別、文本分詞等多個(gè)領(lǐng)域都涉及隱馬爾可夫模型的應(yīng)用,文章選取了在文本分詞中應(yīng)用展開論述。

南宫市| 余干县| 宾川县| 晴隆县| 合川市| 庆云县| 大城县| 腾冲县| 汉沽区| 安丘市| 和田县| 汝州市| 嘉峪关市| 开化县| 浦北县| 阿克苏市| 慈溪市| 德清县| 高淳县| 芜湖市| 定南县| 海宁市| 张家川| 都匀市| 安义县| 抚顺县| 西和县| 佛冈县| 凌海市| 青海省| 潮安县| 永嘉县| 正安县| 高邑县| 洱源县| 鄂尔多斯市| 长泰县| 宜丰县| 岳阳县| 招远市| 扎兰屯市|