0

次のコードを使用して、アフリカーンス語ウィキペディアのプレーン テキスト バージョンを 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.
4

1 に答える 1

0

これは Unicode ではなく、8 ビット文字が混在する ASCII です。問題を解決するために使用できる引数をPlaintextCorpusReader取ります。encoding

'からを分割するnことに関しては、トークナイザーの問題です。満足のいくように機能するトークナイザーを見つけて、それを使用するようにコーパス リーダーに伝えます。

于 2013-02-03T22:18:44.373 に答える