《NLTK基础教程——用NLTK和Python库构建机器学习应用》——2.3 语句分离器
本節(jié)書摘來異步社區(qū)《NLTK基礎(chǔ)教程——用NLTK和Python庫構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用》一書中的第2章,第2.3節(jié),作者:Nitin Hardeniya,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號查看。
2.3 語句分離器
在某些NLP應(yīng)用中,我們常常需要將一大段原生文本分割成一系列的語句,以便從中獲取更多有意義的信息。直觀地說,就是讓語句成為一個可用的交流單元。當(dāng)然,要想在計算機(jī)上實(shí)現(xiàn)這個任務(wù)可比它看上去要困難得多了。典型的語句分離器既可能是(.)[1]這樣簡單的字符串分割符,也有可能是某種預(yù)置分類器這樣復(fù)雜的語句邊界標(biāo)識:
>>>inputstring = ' This is an example sent. The sentence splitter will split on sent markers. Ohh really !!' >>>from nltk.tokenize import sent_tokenize >>>all_sent = sent_tokenize(inputstring) >>>print all_sent [' This is an example sent', 'The sentence splitter will split on markers.','Ohh really !!']在這里,我們正試著將原生文本字符串分割到一個語句列表中。用的是預(yù)處理函數(shù)sent_tokenize(),這是一個內(nèi)置在NLTK庫中的語句邊界檢測算法。當(dāng)然,如果我們在應(yīng)用中需要自定義一個語句分離器的話,也可以用以下方式來訓(xùn)練出屬于自己的語句分離器:
>>>import nltk.tokenize.punkt >>>tokenizer = nltk.tokenize.punkt.PunktSentenceTokenizer()該預(yù)置語句分離器可以支持17種語言。我們只需要為其指定相關(guān)的配方對象即可。根據(jù)我的經(jīng)驗(yàn),這里只要提供一個相關(guān)種類的文本語料就已經(jīng)足夠了,而且實(shí)際上也很少有機(jī)會需要我們自己來構(gòu)建這些內(nèi)容。
總結(jié)
以上是生活随笔為你收集整理的《NLTK基础教程——用NLTK和Python库构建机器学习应用》——2.3 语句分离器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 《玩转微信6.0》一1.2 微信初体验
- 下一篇: 《Haskell函数式编程入门》—— 第
