天天看點

《NLTK基礎教程——用NLTK和Python庫建構機器學習應用》——2.3 語句分離器

本節書摘來異步社群《nltk基礎教程——用nltk和python庫建構機器學習應用》一書中的第2章,第2.3節,作者:nitin hardeniya,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

在某些nlp應用中,我們常常需要将一大段原生文本分割成一系列的語句,以便從中擷取更多有意義的資訊。直覺地說,就是讓語句成為一個可用的交流單元。當然,要想在計算機上實作這個任務可比它看上去要困難得多了。典型的語句分離器既可能是(.)[1]這樣簡單的字元串分割符,也有可能是某種預置分類器這樣複雜的語句邊界辨別:

在這裡,我們正試着将原生文本字元串分割到一個語句清單中。用的是預處理函數sent_tokenize(),這是一個内置在nltk庫中的語句邊界檢測算法。當然,如果我們在應用中需要自定義一個語句分離器的話,也可以用以下方式來訓練出屬于自己的語句分離器:

該預置語句分離器可以支援17種語言。我們隻需要為其指定相關的配方對象即可。根據我的經驗,這裡隻要提供一個相關種類的文本語料就已經足夠了,而且實際上也很少有機會需要我們自己來建構這些内容。