日本語NLP

日本語NLPアノテーション — エンティティ・関係・分類

固有表現抽出、関係抽出、意図・トピック分類、センチメント、自然言語推論、分割。お客様のパイプラインが実際に使うトークナイザーに合わせてアノテーションします。

日本語には語の間に空白がありません。したがって、スパンのアノテーションはすべて、誰かが下さなければならない境界の判断に依存します。その判断が後工程のトークナイザーと合っていなければ、ラベルは整列しません。

問題のすべては境界にある

英語なら「Toyota Motor Corporation」は明らかに3トークンで、問題はエンティティがどこで始まりどこで終わるかだけです。日本語では 株式会社トヨタ自動車 は切れ目のない1つの文字列で、正当なアノテーションが少なくとも4通りあります。株式会社 を含めるか否か、自動車 を含めるか否か、全体を1つのエンティティとするか、長いものの中に短いものを入れ子にするか。

どれも正当な選択です。大事なのは、毎回同じ選択をすること、それが明文化されていること、そしてモデルが使うトークナイザーに触れても壊れないことです。トークンの途中に落ちるスパンの境界は、BIOタグでは黙って動かさない限り表現できないからです。

ですから当社は、アノテーション開始前にトークナイザーと境界のルールを固定します。そして、どんなタグ形式をご希望の場合でも、その下に文字オフセットを付与します。後から再トークナイズしても、再アノテーションが要らないようにするためです。

要点

タスク種別
NER、関係・イベント抽出、意図・トピック分類、センチメントと感情、NLIと言い換え、分割と正規化。
トークナイザー対応
キックオフでの合意に基づき、MeCab、Sudachi、Juman++、またはお客様のモデル自身のトークナイザーに合わせてスパンを付与します。
境界のルール
法人格の接辞、複合名詞、「お」「ご」などの接頭辞、活用のいずれも、明文化したルールで扱います。
標準出力
文字オフセット付きのJSONL。CoNLL-U、BIOタグ、brat standoffにも対応します。
レビュー
スパンの境界とスパンのラベルを、別々の基準としてレビューします。

タスク種別

アノテーションの対象

スパンのタスクと文書単位のタスクでは壊れ方が違うため、レビュー基準も分けます。

固有表現抽出

お客様のドメイン向けに定義したタキソノミーに沿ったエンティティのスパン。必要な場合は入れ子や重なりのあるエンティティにも対応します。

  • 標準タイプとドメイン固有タイプ
  • 入れ子・不連続のスパン
  • 正規形への正規化
  • 読みと表記ゆれの紐づけ

関係抽出・イベント抽出

エンティティ同士のつながり。誰が誰に何をしたか、どの値がどのフィールドに属するか、どの句がどの語を修飾するか。

  • 2項関係とn項関係
  • イベントのトリガーと項
  • 文をまたぐ関係
  • 否定と不確実性の明示

分類

発話単位または文書単位での、意図、トピック、振り分けカテゴリ、ポリシーラベル。単一ラベルにも複数ラベルにも対応します。

  • 意図と対話行為
  • トピックと振り分けカテゴリ
  • マルチラベルのタキソノミー
  • 対象外・判断不能の扱い

センチメントと感情

文書、文、または観点(アスペクト)単位の極性と感情。日本語のビジネステキストで実際に必要になるのは、最後のアスペクト単位です。

  • 文書・文単位の極性
  • アスペクトベースのセンチメント
  • 感情のカテゴリ
  • 丁寧さ・文体のタグ付け

推論と類似度

含意、言い換え、意味的類似度のペア。加えて、評価セットに識別力を与えるハードネガティブ。

  • NLIの含意ペア
  • 言い換えの判定
  • 段階的な類似度スコア
  • ハードネガティブの構築

日本語固有の論点

日本語のガイドラインに必ず要るルール

日本語のスパンアノテーションのプロジェクトでは、この4つが最初の1時間で必ず出てきます。

語の境界

日本語は分かち書きしないため、スパンの境界は辞書引きではなく判断になります。形態素解析器が違えば同じ文の分割も変わり、一方に合わせたラベルは他方には整列しません。

当社の対応 解析器と辞書をキックオフで固定し、スパンは文字オフセットで保持して再トークナイズに耐えるようにし、境界の取り決めは実例とともに明記します。

法人・組織の名称

株式会社 は社名の前にも後ろにも付き、(株)と略されることも、まったく省かれることもあります。これをエンティティのスパンに含めるかどうかで、後工程の文字列照合がすべて変わります。

当社の対応 法人格の接頭辞・接尾辞、略記、括弧書きの異表記を一つのルールでまとめて扱い、表層のスパンと並べて正規形を記録します。

複合名詞

日本語は区切りなしに名詞を連ねます。個人情報保護管理者 は、意味を持つ単位を少なくとも3つ含む1つの文字列です。エンティティがどこで切れるかは事実ではなく、判断です。

当社の対応 ガイドラインで、エンティティのタイプごとに最長一致か最短一致かの方針を定めます。両方が本当に必要な場合は入れ子を認めます。アノテーター個々の選択に委ねません。

活用と付属する助詞

動詞と形容詞は活用し、助詞は直前の語にそのまま付きます。これらを含めるか外すかで、コーパス全体にわたってスパンの境界が1〜2文字ずれます。

当社の対応 活用語尾と付属する助詞をスパンに含めるかどうかをルールで明示し、トークンの途中で終わるスパンを自動チェックで検出します。

プロセス

NLPプロジェクトの進め方

価値の大半は、アノテーションが始まる前、タキソノミーと境界のルールの段階で生まれます。

  1. 01

    タキソノミーとトークナイザーを固定する

    ラベルセット、解析器と辞書、スパンの表現方法を合意します。アノテーションが、その行き先であるパイプラインと合うようにするためです。

  2. 02

    エッジケースを見つける

    小さなサンプルにアノテーションし、お客様のドメインで本当に曖昧になる構文を洗い出します。これがガイドラインの実例になります。

  3. 03

    キャリブレーションと一致率の計測

    アノテーターが同じセットを独立にラベル付けします。一致率は境界とラベルで別々に計測します。壊れる理由が違うからです。

  4. 04

    アノテーションと裁定

    レビュー工程を伴う本番アノテーションと、判断の相違に対する文書での裁定。裁定はそのままガイドラインに反映します。

  5. 05

    オフセット付きで納品する

    文字オフセットとご指定のタグ形式、タキソノミーのバージョン、ラベル別の件数、QAレポートを添えて納品します。

納品

形式と表現

どの表層形式をお選びいただいても、文字オフセットは必ず含めます。再アノテーションなしで再トークナイズできるようにするためです。

日本語NLPアノテーションでよく使う出力形式。
タスク標準出力その他の対応形式
固有表現文字オフセット付きJSONLCoNLL-U、BIO/BILOU、brat standoff
関係とイベントスパン参照付きJSONLbrat standoff、カスタムのグラフJSON
分類JSONLまたはCSVワンホットまたはマルチラベルの行列
センチメントアスペクトのスパン付きJSONLCSV、文単位のラベル
NLIと類似度JSONLのペアCSV、ベンチマーク形式のTSV

品質

この業務に固有の品質管理

スパンのデータセットは、ラベルの正解率が優秀でも境界が使い物にならないことがあります。当社は両方を計測します。

  • 境界の一致率とラベルの一致率を、別々の値として報告する。
  • 合意した解析器のもとで、トークンの途中で終わるスパンがないことを自動検証する。
  • ラベル別の件数をバッチごとに追跡し、希少クラスが痩せてきたことを、まだ直せるうちに気づく。
  • 入れ子や重なりのあるスパンは、無条件に受け入れずタキソノミーの入れ子ルールに照らして検証する。
  • シニアレビュアーが作成したゴールドセットを定期的に再実施し、長期プロジェクトのドリフトを検出する。
  • 裁定した判断の相違はすべて、実例としてガイドラインに書き戻す。

よくあるご質問

日本語NLPアノテーションについて

日本語のスパンアノテーションの範囲を決める段階で、よく出てくるご質問。

お客様のパイプラインが使っているものを使います。IPAdicまたはUniDicのMeCab、Sudachi、Juman++、あるいはお客様のモデル自身のサブワードトークナイザー。キックオフで固定するのは、スパンの境界が一つの分割にしか整列しないからです。その下に文字オフセットを保持しておくので、あとから解析器を変えても、再アノテーションではなく再エクスポートで済みます。

はい。当社のものを押しつけるより、お客様のものを採用したいと考えています。そのうえで行うのは、まずサンプルで負荷をかけて試すことです。既存のタキソノミーには、実運用で重なることが判明するカテゴリが2つか3つあるのが普通で、それをパイロットで見つけるほうが、5万件が終わってから見つけるよりはるかに安く済みます。

タスク次第としか言えません。きれいなテキスト上の切れ味のよいエンティティタイプなら、高い一致率にすぐ到達します。アスペクトベースのセンチメントや細粒度の意図タキソノミーはそうなりません。そうならないと主張するプロジェクトは、たいてい納品物より易しいものを測っています。当社はパイロットで得たラベル別の実測値を報告し、あるカテゴリが実用に足る一致率に届かない場合は、そう申し上げたうえでカテゴリの変更を提案します。

はい。タキソノミーが本当に必要とする場合に対応します。理由はたいてい、日本語の複合名詞と組織名です。入れ子のルールはガイドラインに明記し、自動で検証します。許可されているのに規定されていない入れ子は、確実に不整合の温床になるからです。

はい。モデル出力の修正は大量作業では効率的ですが、注意点は他と同じです。修正工程はモデルの死角を引き継ぎがちです。そこで修正工程をゼロからのサンプルと突き合わせて計測し、実際に何を拾えているかをお伝えします。評価セットについては、ゼロからアノテーションします。

テキスト・NLP

タキソノミーをお持ちください。エッジケースは当社が見つけます。

ラベルセットと、実際の日本語テキストのサンプルをお送りください。パイロットにアノテーションし、境界とラベルの一致率を報告し、量を増やしたときに持ちこたえないカテゴリをお伝えします。

データをご共有いただく前にNDAを締結します。パイロットの要件定義は無料です。