10

CategorizedPlaintextCorpusReader正規表現とPythonに関係する問題が少し発生しています。

カスタム分類されたコーパスを作成し、その上で単純ベイズ分類器をトレーニングしたいと思います。私の問題は次のとおりです。「pos」と「neg」の2つのカテゴリが必要です。ポジティブファイルはすべて1つのディレクトリにmain_dir/pos/*.txtあり、ネガティブファイルは別のディレクトリにありmain_dir/neg/*.txtます。

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

Movie_reviews注意:セットアップはコーパス( )とまったく同じ~nltk_data\corpora\movie_reviewsです。

4

1 に答える 1

20

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

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

私が検討していたもう1つのアプローチは、すべてを1つのフォルダーに入れ、ファイルに0_neg.txt、0_pos.txt、1_neg.txtなどの名前を付けることです。リーダーのコードは次のようになります。

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

これが将来誰かに役立つことを願っています。

于 2012-05-09T15:24:46.547 に答える