HanLPカスタム命名エンティティ認識
オープンソースの自然言語処理ツールキットであるHanLPは、分かち書き、品詞、固有表現の認識などのタスクを実行できます。カスタムの固有表現の認識(Named Entity Recognition、略してNER)モデルを設定する場合は、次の手順に従ってください。
- カスタムの固有表現を含むテキストデータを集めてアノテーションを付け、各表現の開始位置と終了位置、表現の種類を特定します。BIO アノテーション方式を使用でき、ここで表現の開始位置は「B」(始まり)でマークし、表現の中間位置は「I」(内部)でマークし、表現の終了位置は「O」(その他)でマークできます。
- モデル構成:HanLPで用意された設定ファイルを用いてモデルを構成する。設定ファイルには、品詞、文脈、文字の形などの各種の特徴抽出法と重み、モデルの構造とパラメータを指定する必要がある。
- 学習データを用いてモデルをトレーニングする。機械学習アルゴリズム(条件付き確率場、最尤推定モデル)を使用してトレーニングを行い、検証セットのパフォーマンスに基づいて調整を行う。
- 訓練されたモデルをテストセットで評価し、モデルのNamed Entity Recognitionタスクにおける精度、再現率、F1スコアなどの指標を計算することで、モデルのパフォーマンスを評価します。
- 訓練済みのモデルを実際の固有表現認識タスクに適用し、テキスト入力をすると、モデルによって認識された固有表現とその種類が出力されます。
なお、カスタムの固有表現認識モデルを作る場合は、それなりのコーパスとトレーニング時間が必要であり、機械学習と自然言語処理の基礎知識が必要となります。関連する経験とリソースがない場合は、HanLPで提供されている事前トレーニングモデルを使用することもできます。そこには、氏名、地名、組織名など、ありふれた固有表現のタイプがすでにいくつか含まれています。