1. 程式人生 > >中英文分詞分句

中英文分詞分句

1.輸入一個段落,分成句子(Punkt句子分割器)

 
  1. import nltk

  2. import nltk.data

  3.  
  4. def splitSentence(paragraph):

  5. tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')

  6. sentences = tokenizer.tokenize(paragraph)

  7. return sentences

  8.  
  9. if __name__ == '__main__':

  10. print splitSentence("My name is Tom. I am a boy. I like soccer!")

結果為['My name is Tom.', 'I am a boy.', 'I like soccer!']

 

2.輸入一個句子,分成片語

 

 
  1. from nltk.tokenize import WordPunctTokenizer

  2.  
  3. def wordtokenizer(sentence):

  4. #分段

  5. words = WordPunctTokenizer().tokenize(sentence)

  6. return words

  7.  
  8. if __name__ == '__main__':

  9. print wordtokenizer("My name is Tom.")

結果為['My', 'name', 'is', 'Tom', '.']

 

nltk檢視下載配置位置,在 python 環境下,輸入:

import nltk
nltk.data.find(".")

電腦屬性環境變數中增加 NLTK_DATA,指向通過nltk.download()下載的資料路徑。

中文分句和分詞可以使用pyltp。 
在使用pyltp進行英文分詞和分句的時候會出現錯誤,這個時候就可以使用NLTK進行英文的分句和分詞。

http://blog.csdn.net/baidu_27438681/article/details/60468848