2012-05-05 9 views
8

正規表現と関連がある問題とPythonのCategorizedPlaintextCorpusReaderという問題があります。NLTKとPythonでカスタムカテゴリコーパスを作成する

私はカスタムの分類コーパスを作成し、Naive-Bayesクラシファイアをトレーニングしたいと考えています。私の問題は次のとおりです。「pos」と「neg」の2つのカテゴリが必要です。正のファイルはすべて1つのディレクトリのmain_dir/pos/*.txtにあり、負のファイルは別のディレクトリmain_dir/neg/*.txtにあります。

CategorizedPlaintextCorpusReaderを使用して、posディレクトリ内のすべてのポジティブファイルをロードしてラベル付けし、ネガティブポジションに対して同じ処理を行うにはどうすればよいですか?

NB:設定はMovie_reviewsコーパス(~nltk_data\corpora\movie_reviews)とまったく同じです。

+0

http://stackoverflow.com/questions/29275614/using-my-own-corpus-instead-of-movie-reviews-corpus-for-classification-in-nltk – alvas

答えて

18

ここに私の質問に対する答えがあります。 私は2つのケースを使用することを考えていたので、誰かが将来的に答えが必要な場合に備えて、両方をカバーするのが良いと思います。 movie_reviewコーパスと同じ設定をしている場合、ラベルを呼び出してトレーニングデータを含むのと同じ方法でラベル付けされた複数のフォルダを使用できます。 1_neg.txtなど

reader = CategorizedPlaintextCorpusReader('~/MainFolder/', r'.*\.txt', cat_pattern=r'(\w+)/*') 

私は検討していた他のアプローチは、単一のフォルダ内のすべてのものを置くと、ファイルの命名され0_neg.txt、0_pos.txt、あなたの読者のためのコードは次のようになります。

reader = CategorizedPlaintextCorpusReader('~/MainFolder/', r'.*\.txt', cat_pattern=r'\d+_(\w+)\.txt') 

これは将来的に誰かを助けることができることを願っています。

+1

ありがとうございました! :) –

関連する問題