無(wú)標(biāo)題文章

古文斷句器13307130309 唐義祺

本工作以維基文庫(kù)為基礎(chǔ)奄毡,通過(guò)爬蟲(chóng)程序抓取數(shù)據(jù),經(jīng)過(guò)python字符串處理構(gòu)建古文語(yǔ)料庫(kù)贝或,并簡(jiǎn)要分析了語(yǔ)料的特點(diǎn)吼过;使用rnnlm庫(kù)通過(guò)回歸神經(jīng)網(wǎng)絡(luò)訓(xùn)練語(yǔ)言模型,并通過(guò)修改神經(jīng)網(wǎng)絡(luò)參數(shù)說(shuō)明參數(shù)的作用咪奖;在此基礎(chǔ)上盗忱,本工作使用一種動(dòng)態(tài)規(guī)劃方法對(duì)古文進(jìn)行斷句,并對(duì)時(shí)間復(fù)雜度進(jìn)行了分析赡艰。##INTRODUCTION古書(shū)一般是不斷句的售淡,前人讀書(shū)時(shí)要自己斷句[1]。所以慷垮,斷句能力在整理古籍時(shí)有著重要的作用揖闸。如果能實(shí)現(xiàn)機(jī)器斷句,古籍整理的效率將大為提高料身。同時(shí)汤纸,古人很重視句讀的訓(xùn)練,因?yàn)槊鞅婢渥x是讀懂古書(shū)的起點(diǎn)[1]芹血。假使斷句沒(méi)有錯(cuò)誤贮泞,也就可以證明對(duì)古書(shū)有了初步的了解楞慈。語(yǔ)文高考中的斷句題的設(shè)置也是出于考察學(xué)生對(duì)古文的理解而設(shè)置的。所以啃擦,機(jī)器斷句也可以展現(xiàn)機(jī)器對(duì)于語(yǔ)言的處理能力囊蓝,為進(jìn)一步處理更難的問(wèn)題奠定基礎(chǔ)。##PRE-PROCESSING本文選擇選取維基文庫(kù)作為語(yǔ)料庫(kù)令蛉,因?yàn)榫S基文庫(kù)里古文資源集中聚霜,而html格式比較規(guī)則,便于用爬蟲(chóng)程序進(jìn)行處理珠叔。本文語(yǔ)料盡量選取有代表性的文本蝎宇,主要是史書(shū)和唐朝以后的文章。之后祷安,運(yùn)用正則表達(dá)式把文章按逗號(hào)及句號(hào)進(jìn)行切分姥芥,并去處冗余的標(biāo)點(diǎn)。處理后的文件共有37.2M汇鞭。下表顯示了詞頻排前二十位的字以及出現(xiàn)次數(shù)凉唐。><table> <tr> <td>337702 之 166622 以</td> </tr> <tr> <td>152447 不 119395 於</td> </tr> <tr> <td>118876 而 116437 為</td> </tr> <tr> <td>105932 其 91008 人</td> </tr> <tr> <td>82150 有 73535 也</td> </tr> <tr> <td>73297 者 65112 曰</td> </tr> <tr> <td>62231 子 61911 王</td> </tr> <tr> <td>60951 大 53089 無(wú)</td> </tr> <tr> <td>52554 所 51750 下</td> </tr> <tr> <td>47877 天 47012 中</td> </tr></table>##TRAINING&TESTING本工作使用rnnlm庫(kù)實(shí)現(xiàn)語(yǔ)言模型的訓(xùn)練。相對(duì)常見(jiàn)的N-grams語(yǔ)言模型霍骄,神經(jīng)網(wǎng)絡(luò)有記憶能力熊榛,這樣就擺脫了N-grams里當(dāng)前詞片面地由之前幾個(gè)詞決定的問(wèn)題。rnnlm toolkit 是一個(gè)基于時(shí)間遞歸神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network)的語(yǔ)言模型工具腕巡,下面從原理及使用兩方面介紹rnnlm庫(kù)玄坦。####原理 - 人工神經(jīng)元人工神經(jīng)元是一種模擬生物神經(jīng)元的學(xué)習(xí)模型,由若干輸入$x_i$及其權(quán)重$w_{ki}$和一個(gè)中間函數(shù)$\phi$和輸出$y_k$組成绘沉,$y_k$可以看作關(guān)于$x_i$的函數(shù):><a href="http://www.codecogs.com/eqnedit.php?latex=y_k&space;=&space;\phi(\displaystyle{\sum_{i=1}^{n}}x_iw_{ki}-\theta)" target="blank"><img src="http://latex.codecogs.com/gif.latex?y_k&space;=&space;\phi(\displaystyle{\sum{i=1}^{n}}x_iw_{ki}-\theta)" title="y_k = \phi(\displaystyle{\sum_{i=1}^{n}}x_iw_{ki}-\theta)" /></a>人工神經(jīng)元可以形象地表示如下圖煎楣。>

- 人工神經(jīng)網(wǎng)絡(luò)由于單個(gè)人工神經(jīng)元所能表示的函數(shù)有限,所以需要將人工神經(jīng)元連結(jié)起來(lái)车伞,并在輸入層和輸出層之間加入若干隱藏層择懂。可以證明一個(gè)隱藏層就可以表示輸入信號(hào)的任何連續(xù)函數(shù)另玖,兩個(gè)及以上的隱藏層可以表示更加復(fù)雜的不連續(xù)函數(shù)困曙。人工神經(jīng)網(wǎng)絡(luò)可以形象地表示如下圖。>
- 時(shí)間遞歸神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network)時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)和一般神經(jīng)網(wǎng)絡(luò)的區(qū)別在于:一般神經(jīng)網(wǎng)絡(luò)是前饋的谦去,也就是說(shuō)慷丽,是單向的;而遞歸神經(jīng)網(wǎng)絡(luò)會(huì)有指向自己的邊鳄哭。有研究表明要糊,遞歸神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理領(lǐng)域表現(xiàn)得比前饋神經(jīng)網(wǎng)絡(luò)更好[2]。rnnlm中使用的時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)(Elman網(wǎng)絡(luò)妆丘,或簡(jiǎn)單遞歸神經(jīng)網(wǎng)絡(luò))如下圖所示:>
輸入層是經(jīng)1-of-N編碼的詞(在中文信息處理中是字)锄俄。隱藏層的神經(jīng)元采用sigmoid函數(shù)局劲,并指回自己,形成過(guò)去對(duì)記憶的影響奶赠。輸出層和輸入層神經(jīng)元數(shù)目相同鱼填,表示詞對(duì)應(yīng)的概率[3]。####使用在python中通過(guò)os庫(kù)執(zhí)行以下命令通過(guò)rnnlm訓(xùn)練數(shù)據(jù)>./rnnlm -train XXX.txt -valid XXX.txt -rnnlm XXX.txt -hidden XX -rand-seed X -debug 2 -class XXX -bptt 4 -bptt-block 10 -direct-order 3 -direct 2 -binary解釋部分關(guān)鍵參數(shù): -trian 訓(xùn)練集路徑 -valid 效驗(yàn)集路徑 -rnnlm 訓(xùn)練結(jié)果路徑 -hidden 隱藏層數(shù)目 -rand-seed 隨機(jī)種子 -debug 決定輸出信息格式 -class 詞類(lèi)數(shù)毅戈,把詞分為若干類(lèi)剔氏,可以減少計(jì)算量。在python中通過(guò)os庫(kù)執(zhí)行以下命令通過(guò)rnnlm測(cè)試數(shù)據(jù)竹祷,可以得到測(cè)試數(shù)據(jù)的總概率log并取負(fù)后的值>./rnnlm -rnnlm XXX.txt, -test, XXX.txt解釋部分關(guān)鍵參數(shù): -rnnlm 訓(xùn)練模型路徑 -test 測(cè)試數(shù)據(jù)路徑 ##SEGMENTATION不妨定義測(cè)試數(shù)據(jù)的概率log并取負(fù)后的值為“不靠譜度”,把單個(gè)句子作為一個(gè)測(cè)試數(shù)據(jù)羊苟。我們知道:>-lgAB=-lgA-lgB那么這個(gè)“不靠譜度”就有了個(gè)很好的性質(zhì)塑陵,就是兩個(gè)句子一共的“不靠譜度”就等于兩個(gè)句子各自“不靠譜度”的簡(jiǎn)單相加。最小化總的“不靠譜度”就是斷句方案的目標(biāo)蜡励。受到維特比算法(Viterbi algorithm)的啟發(fā)令花,我決定設(shè)計(jì)一個(gè)動(dòng)態(tài)規(guī)劃的方法進(jìn)行斷句。狀態(tài)f(i,j)表示到位置i被分為j段所獲得的最小的凉倚,cost為i+1開(kāi)始取k個(gè)字組成的句子的“不靠譜度”兼都,則可以得到狀態(tài)轉(zhuǎn)移方程如下:>f(i,j)=max{f(i - k - 1,j - 1) + cost(i,k)}在狀態(tài)轉(zhuǎn)移的過(guò)程里,記錄每個(gè)狀態(tài)的最優(yōu)來(lái)源狀態(tài)稽寒,存到next數(shù)組里扮碧。狀態(tài)轉(zhuǎn)移完成后,找到最小的f假設(shè)文本長(zhǎng)度為n杏糙∩魍酰可以發(fā)現(xiàn)狀態(tài)大小為$n2$,在預(yù)先算好cost的情況下宏侍,轉(zhuǎn)移耗時(shí)max{k}為n赖淤。故總時(shí)間復(fù)雜度為O($n3$),設(shè)計(jì)算cost的平均時(shí)間為ave谅河,則預(yù)處理cost的復(fù)雜度為O($n2*ave$)我們知道咱旱,古文里句子一般不長(zhǎng),所以可以進(jìn)行以下優(yōu)化:設(shè)窗口值m(實(shí)驗(yàn)中設(shè)m=15)為預(yù)先設(shè)定的最大句長(zhǎng)绷耍。則總時(shí)間復(fù)雜度為O($n2m$)吐限,預(yù)處理cost的復(fù)雜度為O($nm*ave$)在實(shí)際操作里,可以發(fā)現(xiàn)預(yù)處理cost為時(shí)間瓶頸褂始。##RESULTS本文擬以《岳陽(yáng)樓記》為例毯盈,形象地展現(xiàn)工作的性能,如下所示:原文:>慶曆四年春滕子京謫守巴陵郡越明年政通人和百?gòu)U具興乃重修岳陽(yáng)樓增其舊制刻唐賢今人詩(shī)賦於其上屬予作文以記之予觀夫巴陵勝狀在洞庭一湖銜遠(yuǎn)山吞長(zhǎng)江浩浩湯湯橫無(wú)際涯朝暉夕陰氣象萬(wàn)千此則岳陽(yáng)樓之大觀也前人之述備矣然則北通巫峽南極瀟湘遷客騷人多會(huì)於此覽物之情得無(wú)異乎若夫霪雨霏霏連月不開(kāi)陰風(fēng)怒號(hào)濁浪排空日星隱耀山岳潛形商旅不行檣傾楫摧薄暮冥冥虎嘯猿啼登斯樓也則有去國(guó)懷鄉(xiāng)憂讒畏譏滿目蕭然感極而悲者矣至若春和景明波瀾不驚上下天光一碧萬(wàn)頃沙鷗翔集錦鱗游泳岸芷汀蘭郁郁青青而或長(zhǎng)煙一空皓月千里浮光躍金靜影沉璧漁歌互答此樂(lè)何極登斯樓也則有心曠神怡寵辱皆忘把酒臨風(fēng)其喜洋洋者矣嗟夫予嘗求古仁人之心或異二者之為何哉不以物喜不以己悲居廟堂之高則憂其民處江湖之遠(yuǎn)則憂其君是進(jìn)亦憂退亦憂然則何時(shí)而樂(lè)耶其必曰先天下之憂而憂後天下之樂(lè)而樂(lè)乎噫微斯人吾誰(shuí)與歸時(shí)六年九月十五日取隱藏層數(shù)為15病袄,窗口值為15后的結(jié)果:>慶曆四年春 \ 滕子京謫守巴陵郡越明年 \ 政通人和 \ 百?gòu)U具興 \ 乃重修岳陽(yáng)樓 \ 增其舊制刻唐賢 \ 今人詩(shī)賦於其上屬 \ 予作文以記之 \ 予觀夫巴陵 \ 勝狀在洞庭 \ 一湖銜遠(yuǎn) \ 山吞長(zhǎng)江浩浩 \ 湯湯橫無(wú)際 \ 涯朝暉夕 \ 陰氣象萬(wàn)千 \ 此則岳陽(yáng)樓之大觀也 \ 前人之述備矣 \ 然則北通 \ 巫峽南極瀟湘 \ 遷客騷人多 \ 會(huì)於此覽物之情 \ 得無(wú)異乎 \ 若夫霪雨霏霏 \ 連月 \ 不開(kāi)陰風(fēng) \ 怒號(hào)濁浪 \ 排空日星 \ 隱耀山岳潛形 \ 商旅不行 \ 檣傾楫摧薄暮冥冥 \ 虎嘯猿啼 \ 登斯樓也 \ 則有去國(guó)懷鄉(xiāng) \ 憂讒畏譏 \ 滿目蕭然 \ 感極而悲者矣 \ 至若春和景明 \ 波瀾不驚 \ 上下天光 \ 一碧萬(wàn)頃 \ 沙鷗翔集錦鱗 \ 游泳岸芷 \ 汀蘭郁郁 \ 青青 \ 而或長(zhǎng)煙一空 \ 皓月千里 \ 浮光躍金 \ 靜影沉璧 \ 漁歌互答 \ 此樂(lè)何極 \ 登斯樓也 \ 則有心曠神 \ 怡寵辱 \ 皆忘把酒 \ 臨風(fēng)其喜 \ 洋洋者矣 \ 嗟夫予嘗求 \ 古仁人之心 \ 或異二者之為何哉 \ 不以物喜不以己悲 \ 居廟堂之高 \ 則憂其民處江湖之遠(yuǎn) \ 則憂其君 \ 是進(jìn)亦憂退亦憂 \ 然則何時(shí)而樂(lè)耶 \ 其必曰 \ 先天下之憂而憂 \ 後天下之樂(lè)而樂(lè)乎 \ 噫微斯人 \ 吾誰(shuí)與歸 \ 時(shí)六年九月十五日 \ ##源碼解釋 - config.py 各種全局的常量 - downloadTexts.py 下載并篩選語(yǔ)料 - textProcessor.py 處理語(yǔ)料 - Train.py 訓(xùn)練語(yǔ)料 - Test.py 測(cè)試語(yǔ)料 - textPartition.py 利用Test.py 進(jìn)行斷句##REFERENCE[1]王力.《古代漢語(yǔ)》[2]T. Mikolov, S. Kombrink, L. Burget, J. Cernock′y, and S. Khudanpur.“Extensions of recurrent neural network language model,” in Proceedings of ICASSP, 2011.[3]T Mikolov, S. Kombrink, A. Deoras, L Burget, J Cernocky. RNNLM - Recurrent Neural Network Language Modeling Toolkit

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搂赋,一起剝皮案震驚了整個(gè)濱河市赘阀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脑奠,老刑警劉巖基公,帶你破解...
    沈念sama閱讀 222,946評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異宋欺,居然都是意外死亡轰豆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)齿诞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)酸休,“玉大人,你說(shuō)我怎么就攤上這事祷杈“咚荆” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,716評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵但汞,是天一觀的道長(zhǎng)宿刮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)私蕾,這世上最難降的妖魔是什么僵缺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,222評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮踩叭,結(jié)果婚禮上磕潮,老公的妹妹穿的比我還像新娘。我一直安慰自己容贝,他們只是感情好揉抵,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著嗤疯,像睡著了一般冤今。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂缚,一...
    開(kāi)封第一講書(shū)人閱讀 52,807評(píng)論 1 314
  • 那天戏罢,我揣著相機(jī)與錄音,去河邊找鬼脚囊。 笑死龟糕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悔耘。 我是一名探鬼主播讲岁,決...
    沈念sama閱讀 41,235評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了缓艳?” 一聲冷哼從身側(cè)響起校摩,我...
    開(kāi)封第一講書(shū)人閱讀 40,189評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阶淘,沒(méi)想到半個(gè)月后衙吩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡溪窒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評(píng)論 3 343
  • 正文 我和宋清朗相戀三年坤塞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澈蚌。...
    茶點(diǎn)故事閱讀 40,926評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡摹芙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宛瞄,到底是詐尸還是另有隱情浮禾,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評(píng)論 5 351
  • 正文 年R本政府宣布坛悉,位于F島的核電站,受9級(jí)特大地震影響承绸,放射性物質(zhì)發(fā)生泄漏裸影。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評(píng)論 3 336
  • 文/蒙蒙 一军熏、第九天 我趴在偏房一處隱蔽的房頂上張望轩猩。 院中可真熱鬧,春花似錦荡澎、人聲如沸均践。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,750評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彤委。三九已至,卻和暖如春或衡,著一層夾襖步出監(jiān)牢的瞬間焦影,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,867評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工封断, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斯辰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,368評(píng)論 3 379
  • 正文 我出身青樓坡疼,卻偏偏與公主長(zhǎng)得像彬呻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • [りつまお]Deluminator 分級(jí):15 摘要:凜月和真緒都有一個(gè)滅燈器闸氮,他們的滅燈器就是彼此剪况。 警告:りつ...
    karen牌牛奶閱讀 1,038評(píng)論 1 3
  • 【杯子技巧】 和對(duì)方的交情還屬於曖昧不清的階段,正確掌握和對(duì)方的距離感湖苞,是很困難的事拯欧。 最可怕的是,你覺(jué)得兩人的感...
    77733261dbff閱讀 664評(píng)論 0 0
  • #連續(xù)留言26天# 1. 無(wú)論是在職場(chǎng)财骨,還是在投資市場(chǎng)镐作,關(guān)注價(jià)值,而非價(jià)格隆箩。 2.賣(mài)時(shí)間最終肯定是不劃算的该贾,那么就...
    毛豆爸的破冰之旅閱讀 107評(píng)論 0 1
  • 我的老婆昨天分手了,她發(fā)消息說(shuō)老公以后我們兩相依為命吧捌臊。我在年初二那天分手了杨蛋,這是我想了很久的結(jié)果。 情人節(jié)那天很...
    stephanie林干脆閱讀 306評(píng)論 0 0
  • 答應(yīng)自己的,每年都要出去走走糠爬。 這次寇荧,旅行在重慶。 別怕那些一個(gè)人度過(guò)的時(shí)光执隧,我們都是孤獨(dú)的行路人揩抡,與星辰作伴,與...
    熊小懶閱讀 520評(píng)論 4 8