次のコードを使用して、アフリカーンス語ウィキペディアのプレーン テキスト バージョンを nltk コーパスとしてテキスト ファイルに読み込んでいます。
import nltk
from nltk.corpus import PlaintextCorpusReader
from nltk.corpus.util import LazyCorpusLoader
from __future__ import division
afwikipedia = LazyCorpusLoader('afwikipedia', PlaintextCorpusReader, r'(?!\.).*\.txt')
af = nltk.Text(afwikipedia.words())
次に、次を使用して上位の単語を調べます。
from nltk.probability import FreqDist
fdist = FreqDist(af)
vocabulary = fdist.keys()
vocabulary[:250] # 250 most frequently used words.
残念ながら、この方法にはいくつかの問題があります。「'n」はアフリカーンス語で非常に人気のある単語で、英語の「a」と同じ意味です。上記のメソッドは、それを「'」と「n」の 2 つの部分に分割します。また、すべての拡張 ASCII 文字は、ASCII ではなく Unicode として扱われるようです。そのため、「verpleër」は「verple\xc3r」になります。
これを修正する方法を知っている人はいますか?特に、ASCII 文字の Unicode 処理は本当に厄介です。
また、次のことも行いました。
# Create a file called sitecustomize.py in c:\python24\Lib\site-packages.
import sys
sys.setdefaultencoding('iso-8859-1') # ASCII latin.