基於神經網絡的漢語自動分詞系統的設計與分析
尹 鋒
(湖南省科技信息研究所,長沙410001)Design and Analysis of Chinese Automatic Segmenting
System Based on Neural Network
Yin Feng
(Institute of S&T Information of Hunan Province, Changsha 410001)
漢語自動分詞是目前中文信息處理中的難點,是中文自然語言理解、文獻標引、智能檢索和機器翻譯中最基本的一步。十餘年來,國內推出了數十種自動分詞方法,取得了一定進展。以非線性並行處理爲主流的神經網絡理論的發展爲漢語自動分詞研究開闢了新途徑。
本文從分析神經網絡的基本原理和自動分詞技術入手,闡述應用神經網絡技術進行漢語自動分詞研究的基本方法和步驟,並給出實驗結果與分析。
神經網絡是在模擬人腦結構和行爲的基礎上,用大量簡單的處理單元廣泛連接組成的複雜網絡,其研究成果顯示了人工神經網絡的主要特徵爲連續時間非線性動力學、網絡的全局作用、大規模並行分佈處理及高度的魯棒性和學習聯想能力。
根據人工神經網絡對生物神經系統的不同組織層次和抽象層次的模擬,神經網絡已經出現40餘種模型。從信息加工和分詞處理的角度看,在神經元所具有的各種機能中,最重要的是在突觸處許多輸入在空間和時間上進行加權的性質,以及神經元細胞的閾值作用。
下文將要引用的BP模型,是最常見的反向傳播神經網絡。它引入了中間隱含層神經元,整體上由三個神經元層次組成,各層次的神經元之間形成全互連連接,各層次內的神經元之間沒有連接。
BP模型的結構如圖1所示。
摘要 應用神經網絡進行漢語自動分詞研究是中文信息處理領域的重要課題。本文從分析神經網絡的一個主要模型和算法入手,闡述了基於神經網絡的漢語自動分詞系統的設計方法,較詳細地介紹了該系統的實驗結果,並給出了必要的分析。
關鍵詞 神經網絡 漢語分詞
Abstract Applying neural network to Chinese word automatic segmenting is an important problem in Chinese information handling field.By analyzing a major model and algorithm of neural network,this paper expounded the designing method of Chinese automatic segmenting system based on neural network,and detailed its experimental result and gave the necessary analysis.
Keywords Chinese word segmenting,neural network.
1 引 言
2 神經網絡的模型與算法
圖1 BP模型 BP學習算法要求神經元特性函數是可微的,如S形函數,故誤差後向傳播可以用LMS法則進行。 j爲輸出層中第j個神經元。由最速下降法知各層神經元的權係數的迭代方程爲 W(k+1)=W(k)-μΔE 將(3)式代入(4)式,有 則
因爲ykj=fj(netkj) 若是輸出層,那麼 若是隱含層 則
3 神經網絡分詞系統的設計 k (2)爲S形多層神經網絡的δ法則,即BP算法。 對多層網絡進行訓練時,首先要提供一組訓練樣本,其中的每個樣本由輸入樣本和理想輸出對組成。當網絡的所有實際輸出與其理想輸出一致時,表明訓練結束。否則,通過修正權值,使網絡的理想輸出與實際輸出一致。 BP算法的學習過程,是由正向傳播和反向傳播組成。在正向傳播過程中,輸入信息從輸入層經隱含層逐層處理,並傳向輸出層,每一層的神經元狀態隻影響下一層的神經元狀態。如果在輸出層不能得到期望的輸出,則轉入反向傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經元的權值,使得誤差信號最小。 BP模型把一組樣本的I/O問題變爲一個非線性優化問題,使用了優化中最普通的梯度下降法。用迭代運算求解權相應於學習記憶問題,加入隱節點使優化問題的可調參數增加,從而可得到更精確的解。如果把這種神經網絡看成一個從輸入到輸出的映射,則這個映射是一個高度非線性的映射。 利用神經網絡原理進行分詞,最基本點是要解決分詞知識的輸入、學習和理解。爲此,必須建立神經網絡的輸入模型、學習模型、動態網絡和輸出解釋模型。 |
圖2 數據採集模型框圖 3.1 建立輸入模型
|
輸入特徵向量 聯接規則 規則權Wij輸出切分可能性 圖3 知識規則聯接模型
表1 訓練100次的網絡輸出值 |
例句1: | 0.023 | 0.981 | 0.977 | 0.966 | 0.016 | 0.949 | 0.042 | 0.933 | 0.015 | 0.014 |
例句2: | 0.957 | 0.944 | 0.065 | 0.968 | 0.968 | 0.011 | 0.012 | 0.004 | 0.005 | 0.006 |
例句3: | 0.962 | 0.026 | 0.966 | 0.975 | 0.969 | 0.938 | 0.921 | 0.035 | 0.023 | 0.027 |
例句4: | 0.048 | 0.949 | 0.970 | 0.070 | 0.949 | 0.012 | 0.007 | 0.009 | 0.006 | 0.007 |
例句5: | 0.975 | 0.064 | 0.957 | 0.954 | 0.998 | 0.043 | 0.056 | 0.000 | 0.001 | 0.001 |
表2 訓練1500次的網絡輸出值 |
例句1: | 0.006 | 0.995 | 0.995 | 0.992 | 0.003 | 0.988 | 0.009 | 0.985 | 0.005 | 0.005 |
例句2: | 0.990 | 0.988 | 0.013 | 0.994 | 0.990 | 0.001 | 0.001 | 0.000 | 0.001 | 0.001 |
例句3: | 0.992 | 0.004 | 0.992 | 0.996 | 0.992 | 0.987 | 0.984 | 0.009 | 0.006 | 0.007 |
例句4: | 0.009 | 0.989 | 0.994 | 0.012 | 0.989 | 0.001 | 0.000 | 0.001 | 0.002 | 0.001 |
例句5: | 0.993 | 0.013 | 0.992 | 0.991 | 0.999 | 0.008 | 0.011 | 0.000 | 0.000 | 0.000 |
表3 訓練3000次的網絡輸出值 |
例句1: | 0.004 | 0.996 | 0.996 | 0.994 | 0.002 | 0.992 | 0.006 | 0.990 | 0.003 | 0.003 |
例句2: | 0.993 | 0.991 | 0.008 | 0.996 | 0.993 | 0.000 | 0.000 | 0.000 | 0.001 | 0.001 |
例句3: | 0.995 | 0.002 | 0.994 | 0.997 | 0.994 | 0.991 | 0.989 | 0.006 | 0.004 | 0.004 |
例句4: | 0.006 | 0.993 | 0.995 | 0.008 | 0.993 | 0.001 | 0.000 | 0.000 | 0.001 | 0.001 |
例句5: | 0.995 | 0.008 | 0.995 | 0.994 | 0.999 | 0.006 | 0.007 | 0.000 | 0.000 | 0.000 |
在分詞樣例及其規則輸入時,本文規定:“1”爲切分標誌,“0”爲不切分。因此輸出值的解釋與此對應。而且,分詞結果在NN網絡中以0、1及二者之間的數值形式表現,必須轉換爲文本形式方能閱讀。 例如,“物理學起來很難。”NN切分的網絡輸出爲: 0.006779 0.993081 0.995886 0.008780 0.993026 0.001010 0.000322 大於等於0.7判爲1,小於0.3判爲0,於是其網絡輸出失量是:0110100,對應着:物理-學-起來-很難。 4 實 驗 與 分 析
表4 實驗從以下幾方面進行: 4.1 隱含層結點數對切分精度的影響 實驗1:網絡爲三層結構,輸入層130個單元,輸出層10個單元,隱含層取60個單元。首先把切分樣例訓練3000次,然後取10個句子[前述樣本空間中(2)-(11)句]試分,切分結果完全正確。 實驗2:把隱含層單元增加到100個,試分10句,有一處切分出錯。 他-喫-烤白薯。 切分成:他-喫-烤-白薯。 網絡輸出精度對比如表4: |
PE | Y1 | Y2 | Y3 | Y4 | Y5 |
60 | 0.999951 | 0.986434 | 0.000296 | 0.013876 | 0.000717 |
100 | 0.999842 | 0.997971 | 1.000000 | 0.000115 | 0.000149 |
上表中,PE爲100時,Y3輸出值是1.000000,“烤白薯”錯分成“烤-白薯”,說明增加隱含層結點時,訓練次數必須提高,否則分詞精度下降。 4.2 網絡層數對分詞精度的影響 實驗3:把網絡層次增加一層,Hidden 1取80點,Hidden 2取50點,取全部學習樣本,訓練3000次,轉換程序不能完全將網絡輸出轉爲文本形式,說明輸出值中出現了大於0.30而小於0.70的數,分詞精度未達期望值。 實驗4:提高訓練次數至10000次,重新對神經網絡進行訓練,輸出值達到期望。取10句樣本測試,有一處未分出。 他-的-馬-上-坡-了。輸出爲:他-的-馬上-坡-了。 表5 實驗1輸出值 |
Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 |
0.999951 | 0.986434 | 0.000296 | 0.013876 | 0.000717 | 0.000000 | 0.000000 | 0.000000 |
0.000000 | 1.000000 | 0.000100 | 0.004377 | 0.999733 | 0.002513 | 0.000971 | 0.000007 |
0.006958 | 0.983463 | 0.003400 | 1.000000 | 0.000022 | 0.999974 | 0.978714 | 0.000842 |
0.000012 | 0.996241 | 0.002687 | 0.999369 | 1.000000 | 0.000090 | 0.011123 | 0.000000 |
0.001907 | 0.000235 | 1.000000 | 0.006062 | 1.000000 | 0.000012 | 0.016996 | 0.000000 |
0.000000 | 0.993122 | 0.999307 | 0.001445 | 0.000296 | 0.000000 | 0.000070 | 0.000000 |
0.999905 | 0.986692 | 0.000367 | 0.999931 | 0.000086 | 0.000018 | 0.000707 | 0.000012 |
0.999960 | 0.991459 | 0.005715 | 0.999989 | 0.996388 | 0.000476 | 0.009474 | 0.000000 |
0.999738 | 0.992442 | 0.998380 | 0.999989 | 0.987691 | 0.024141 | 0.000028 | 0.00000 |
0.999978 | 0.004586 | 0.957207 | 0.998615 | 0.970033 | 0.957652 | 0.979056 | 0.001547 |
表6 實驗4輸出值 |
Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 |
0.999735 | 1.000000 | 0.004021 | 0.025124 | 0.000000 | 0.000000 | 0.000008 | 0.000000 |
0.000000 | 1.000000 | 0.003541 | 0.000344 | 1.000000 | 0.000000 | 0.000000 | 0.000000 |
0.016547 | 0.999971 | 0.000063 | 0.989642 | 0.011452 | 0.994621 | 0.000000 | 0.003385 |
0.012543 | 0.999968 | 0.001872 | 0.975757 | 1.000000 | 0.004918 | 0.000011 | 0.000000 |
0.001630 | 0.002604 | 1.000000 | 0.008448 | 1.000000 | 0.002550 | 0.000000 | 0.000000 |
1.000000 | 0.997337 | 1.000000 | 0.000000 | 0.001047 | 0.000000 | 0.011650 | 0.000000 |
1.000000 | 0.997628 | 0.000025 | 0.945863 | 0.000042 | 0.014698 | 0.000006 | 0.000000 |
1.000000 | 1.000000 | 0.000000 | 0.999641 | 0.999787 | 0.000117 | 0.001378 | 0.000000 |
1.000000 | 1.000000 | 0.000000 | 0.999813 | 0.998591 | 0.000198 | 0.001378 | 0.000000 |
1.000000 | 0.000008 | 0.981524 | 0.998893 | 0.995266 | 0.997261 | 0.998089 | 0.009473 |
實驗4與實驗1比較,對同一批測試樣本而言,雖然有一處未分,但網絡單元輸出精度提高,見表5和表6。 表5中有6處輸出1.0,表6有14處輸出1.0,說明網絡的學習次數與隱含層的增加成正比。如果二個隱含層的網絡的學習次數與一個隱含層網絡的學習次數相同,前者的分詞精度明顯低於後者。 4.3 樣本數量和學習次數對分詞精度的影響 實驗5:把樣本縮減爲30句,網絡結構同實驗1,訓練3000次,然後對10句樣本進行測試,分詞輸出符合期望值。 實驗6:網絡結構同實驗2,學習樣本和學習次數均與上同,只是隱含層結點由50改爲100。訓練後,對10句樣本進行測試,網絡輸出值不完全符合期望,經分析,發現最後一句出錯。 網絡輸出爲:
其中,“她”、“一”、“風”和“地”的輸出值介於0.3至0.7之間,屬於拒分狀態。 參考期望值應爲: |
說明隱含層結點增加後,學習次數要相應增加,才能達到期望精度。 此外,我們還做了網絡的自適應性測試,即比照學習樣例,對測試語句的結構和句型以及詞彙作適當變動,然後輸入網絡進行試分,結果是切分正確率下降,不可分辨率上升,說明句型變化和陌生詞彙的增加與神經網絡切分精度成反比。 5 結 束 語
綜上所述,神經網絡分詞方法還存在着局部極小、學習算法收斂速度慢、網絡層數及隱含節點選取無確定原則、新加入樣本對已學完樣本有一定影響等問題。但是,與其他分詞方法相比,神經網絡具有的自學習、自組織、並行、非線性處理方式使得它具備知識表達簡潔、學習功能強、開放性好、知識庫容易維護和更新,以及分詞速度快、精確度較高等特點,因此,這是一種發展前景看好的分詞方法。 收稿日期:1997年5月26日 作者簡介:尹 鋒,男,1954年生,湖南大學計算機系畢業,工學碩士。現任湖南省科技信息研究所計算機中心主任,副研究員。主要從事人工智能、計算機網絡和查新檢索研究,發表論文30餘篇,並有多項科研成果。 |