私は NLP の初心者であり、Named Entity Recognizer が名前付きエンティティに注釈を付ける方法を理解しようとしています。私は Stanford NER ツールキットを試しています。ニュースワイヤーやニュース ブログなど、すべての命名規則に従って名前付きエンティティを表す、より正式な標準的なデータセットで NER を使用すると、NER はエンティティに正しく注釈を付けます。ただし、Twitter などの非公式のデータセットで NER を実行すると、名前付きエンティティが本来のように大文字にされない可能性があり、NER はエンティティに注釈を付けません。私が使用している分類子は、3-CRF のシリアル化された分類子です。NERに小文字のエンティティも認識させる方法を誰か教えてもらえますか?? NER をハックする方法と、この改善をどこで行うべきかについての有益な提案は大歓迎です。ご協力いただきありがとうございます。
5 に答える
残念ながら、実行時にケース情報を無視するように配布するトレーニング済みモデルを取得する簡単な方法はありません。したがって、はい、通常は大文字の名前のみにラベルを付けます. 大文字と小文字を区別しないモデルをトレーニングすることは可能です。これは合理的に機能します (ただし、英語では大文字と小文字が大きな手がかりになるため (ただし、ドイツ語、中国語、アラビア語などではそうではありません)、大文字と小文字が区別されたテキストではうまく機能しません)。
他の人の提案と一緒に。機能ベースの分類子を使用している場合は、人の名前に最も一般的な 3 ~ 4 文字の部分文字列を 100 ~ 200 個追加するか、1 つの認識された機能の下にガゼティアを作成します。「eli」のような他の種類の単語にはあまり現れない特定のパターンが、個人名にかなり多く現れるはずです。
Twitterは、このアプリケーションでは非常に難しいと思います。大文字は、あなたが言うように、Twitter では見落とされがちな大きな手がかりです。有効な英単語を削除するための辞書チェックは、Twitter のテキストには膨大な数の略語が含まれており、それらは多くの場合固有のものであるため、あまり役に立ちません。
おそらく、品詞のタグ付けと頻度分析の両方を使用して、固有名詞の検出を改善できますか?
質問は少し古いですが、他の誰かがこのアイデアから利益を得ることができるかもしれません.
小文字の分類器を潜在的にトレーニングする 1 つの方法は、適切な英語の大規模なデータ セットに対して既に持っている大文字の分類器を実行し、タグ付けされたテキストを処理して大文字と小文字を削除することです。次に、新しい分類子のトレーニングに使用できるタグ付きコーパスを作成します。この新しい分類子は、ツイートの特殊性のために Twitter に対して完璧ではありませんが、ブートストラップするための簡単な方法です。