私は自分のコーパスに使用する予定のデータ収集を完了しましたが、テキストを正規化するかどうか混乱しています。私は将来、&をコーパスにチャンクする予定です。 NLTKのコーパスの一部はすべて小文字で、その他は小文字ではありません。NLTK - テキストを正規化するのはいつですか?
誰でもこの件について明記できますか?
私は自分のコーパスに使用する予定のデータ収集を完了しましたが、テキストを正規化するかどうか混乱しています。私は将来、&をコーパスにチャンクする予定です。 NLTKのコーパスの一部はすべて小文字で、その他は小文字ではありません。NLTK - テキストを正規化するのはいつですか?
誰でもこの件について明記できますか?
"normalize"とは、すべてを小文字にすることだけですか?
すべてを小文字にするかどうかの決定は、実際に行うことに依存しています。いくつかの目的のために、データの希薄さを低下させるので、すべてを小文字にするほうが優れています(大文字の単語はあまりありません。大文字の単語の統計がまともでないような大規模なコーパスがなければシステムを混乱させる可能性があります)。他のタスクでは、ケース情報が重要な場合があります。
さらに、他にも同様のことを考慮する必要があります。たとえば、"can't"
は、["can't"]
,["can", "'t"]
、または["ca", "n't"]
と扱われるべきです(私は3つすべてを異なるコーパスで見たことがあります)。 7-year-old
はどうですか?一つの長い言葉ですか?または3つの単語を分離する必要がありますか?
つまり、コーパスを再フォーマットする理由はありません。これらの変更をすぐに行うことができます。そうすれば元の情報は必要な場合には後になります。
"ほとんどの目的のために"は当てはまりません。テキスト分類器は小文字の入力を望んでいますが、POSタガー、NERモジュール、パーサーはケース情報を利用します。大文字小文字の区別なしでNERは事実上不可能です(少なくとも英語の場合)。 –
@larsmans良い点。あなたが自分のデータで何をしたいかを決めるときに考えるべき良いこと。 – dhg
"can not"の違いは、選択された/デフォルトのトークナイザによるものであり、実際の生のコーパスのテキストに反映されるべきではありません。しかし、それは間違いなく大切なことです。だから私は、NLTKトークナイザデモをhttp://text-processing.com/demo/tokenize/に置いていますので、どのトークナイザを使うべきかを決める方が簡単です。 – Jacob