神器nltk
安裝很簡單:
pip install nltk
第一次使用nltk的話,會報錯,還需要下載一些資源包,按照提示下載即可:
import nltk
nltk.download('punkt')
可以簡單測試一下:
import nltk
text = 'This is a test. I want to learn nltk.'
sens = nltk.sent_tokenize(text)
print(sens)
上面是將文本text切分成句子。
輸出結果是:
[‘This is a test.’, ‘I want to learn nltk.’]
我現在有一個需求,給定一個英文文本,本例子使用《聖經》的英文版,裏面每行有若干個句子,我們需要轉成每行一個句子,所有字母全部轉成小寫,單詞及符號之間都用空格分隔。
代碼如下:
import nltk
lines = []
with open('bible.en.txt') as f:
# 遍歷文件每一行
for line in f:
# 將每行以句子爲單位分開
sents = nltk.sent_tokenize(line)
# 遍歷每個句子
for sent in sents:
# 先將句子進行tokenize,然後在token之間加空格,最後都轉成小寫
tmp = ' '.join(nltk.word_tokenize(sent)).lower().strip() + '\n'
lines.append(tmp)
# 預處理後的句子寫入到新的文件中去
with open('bible.en.txt.lower', 'w') as f:
f.writelines(lines)
這只是最簡單的用法,後續繼續補充。