2011-07-20 4 views
5

私は自分のコーパスに使用する予定のデータ収集を完了しましたが、テキストを正規化するかどうか混乱しています。私は将来、&をコーパスにチャンクする予定です。 NLTKのコーパスの一部はすべて小文字で、その他は小文字ではありません。NLTK - テキストを正規化するのはいつですか?

誰でもこの件について明記できますか?

答えて

8

"normalize"とは、すべてを小文字にすることだけですか?

すべてを小文字にするかどうかの決定は、実際に行うことに依存しています。いくつかの目的のために、データの希薄さを低下させるので、すべてを小文字にするほうが優れています(大文字の単語はあまりありません。大文字の単語の統計がまともでないような大規模なコーパスがなければシステムを混乱させる可能性があります)。他のタスクでは、ケース情報が重要な場合があります。

さらに、他にも同様のことを考慮する必要があります。たとえば、"can't"は、["can't"],["can", "'t"]、または["ca", "n't"]と扱われるべきです(私は3つすべてを異なるコーパスで見たことがあります)。 7-year-oldはどうですか?一つの長い言葉ですか?または3つの単語を分離する必要がありますか?

つまり、コーパスを再フォーマットする理由はありません。これらの変更をすぐに行うことができます。そうすれば元の情報は必要な場合には後になります。

+4

"ほとんどの目的のために"は当てはまりません。テキスト分類器は小文字の入力を望んでいますが、POSタガー、NERモジュール、パーサーはケース情報を利用します。大文字小文字の区別なしでNERは事実上不可能です(少なくとも英語の場合)。 –

+0

@larsmans良い点。あなたが自分のデータで何をしたいかを決めるときに考えるべき良いこと。 – dhg

+0

"can not"の違いは、選択された/デフォルトのトークナイザによるものであり、実際の生のコーパスのテキストに反映されるべきではありません。しかし、それは間違いなく大切なことです。だから私は、NLTKトークナイザデモをhttp://text-processing.com/demo/tokenize/に置いていますので、どのトークナイザを使うべきかを決める方が簡単です。 – Jacob

関連する問題