NLP數據預處理神器nltk

神器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)

這只是最簡單的用法,後續繼續補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章