怎樣用Python統(tǒng)計原文句子總數(shù)?怎樣解決NLTK調(diào)用缺少punkt文件的問題?
歡迎大家跟我一起學習基于Python的語言處理方法,我會不間斷地提供Python處理中英文語言、翻譯文本、語言學研究應用方面的理論、方法和代碼。
如果你從來沒有接觸過Python,沒關(guān)系,按照我之前的說明,把Anaconda安裝好(學習安裝,點擊這里),然后打開JupyterNotebook,把我每次提供的代碼復制、粘貼過去,嘗試運行、嘗試理解、嘗試修改,逐漸就學會了!在任務中學習,事半功倍!
一、怎樣用Python統(tǒng)計原文句子總數(shù)?
指導翻譯碩士論文,學生需要統(tǒng)計原文總共有多少句,以便后續(xù)做譯文錯誤分析時,可以算出句均錯譯率。人工數(shù)句子肯定是既費力,又容易出錯的。還是用機器數(shù)數(shù)方便。以下奉上Python基于NLTK (Natural Language Toolkit)所作的句子統(tǒng)計方法。
首先,定義一下什么是句子。兩個標準:1)NLTK的句子分割標準。目測可能是:首字母大寫,結(jié)尾為句號、問號、嘆號等句子結(jié)束符號的語言單位;2)除了NLTK的句子標準,我們根據(jù)需要把標題或未結(jié)句的換行(但有相對獨立意義,如以冒號結(jié)尾的行,然后另起一段解釋冒號行的內(nèi)容)也視為句子。
接著,上Python代碼(代碼是在JupyterNotebook中寫和運行的):
運行結(jié)果如下:

二、怎樣解決NLTK調(diào)用時缺少punkt文件的問題?
剛開始運行以上代碼時,程序報錯:缺少NLTK的punkt文件,如下:

按報錯中的說明,嘗試解決問題失敗,如下:

失敗原因:使用nltk工具包時,需要的文件往往無法通過nltk.download('xxx')下載成功。
解決辦法:我們可以從官網(wǎng)http://www.nltk.org/nltk_data/下載需要的文件。
打開網(wǎng)站 http://www.nltk.org/nltk_data/,找到punkt文件,點擊download下載,如下:

下載成功后,在 C:\Users\xxx\AppData\Roaming 路徑下創(chuàng)建新文件夾,命名為 nltk_data,在nltk_data下再創(chuàng)建新文件夾 tokenizers,將punkt.zip 解壓到tokenizers 下。
AppData文件一般是隱藏的,要依次點擊:C盤--用戶--你電腦的個人用戶名(每人各不相同,如我的用戶名為lyu)--點擊最上方的“查看”--勾選“隱藏的項目”,即可找到AppData文件夾,打開后可以看到Roaming文件夾(如果你的電腦系統(tǒng)老舊,可以自行百度學習“怎樣找到電腦中的隱藏文件”),如圖:

在Roaming下創(chuàng)建新文件夾nltk_data,在nltk_data下再創(chuàng)建新文件夾 tokenizers,將punkt.zip 解壓到tokenizers 下,效果如下圖:

然后,再次運行本文最開始提供的代碼,順利搞定!
(如果程序報錯提示,沒有NLTK包,可以使用pip install nltk命令安裝即可)