固有表現抽出の比較

同じ本文に対する語リスト照合・GiNZA・XLM-RoBERTa・GLiNER2.5・Qwen3.5-4B・GPT-6.1-Sol Medの抽出結果を比較できるノートブックです。

ノートブックを開く

ブラウザーで開く(学内限定)

手元で実行する

教材一式(ZIP・104 KB)を展開し、すべてのファイルを同じディレクトリに置いてください。隠しファイル.marimo.tomlも残してください。そのディレクトリで次のコマンドを実行してください。

uvx --python 3.12 marimo==0.25.0 edit --sandbox ner-comparison.py

ノートブックは最初に実行済みの結果を表示します。GPT-6.1-Sol Medは保存済みの比較結果のみです。新しく実行する場合、ノートブックは初回に数GBのモデルを取得し、CPUで本文を処理します。APIキーは不要です。

結果を比べる

  1. Soranoha版「蜘蛛の糸」の第1部(四段落)で、各方法の結果を確認してください。
  2. 「蜘蛛の糸:領域別カテゴリ」に切り替え、神仏・罪人・刑罰の場所の抽出結果を比べてください。
  3. 「本文・条件を変えて実行」でカテゴリ名と説明を一つ変え、「比較する」を押してください。

抽出の基準、暫定的な確認用注釈(GPT-6.1-Sol Medの旧出力)、元の出力はノートブック内で開けます。本文や抽出の基準を編集した場合、ノートブックは抽出結果のみを表示し、確認用注釈との比較表は表示しません。

語リスト照合は、本文に合わせて用意した表現を探します。「本文・条件を変えて実行」で表現とカテゴリを編集できます。

GiNZAとXLM-RoBERTaのNERカテゴリは学習時に決まっています。XLM-RoBERTaは日本語Wikipediaの注釈で学習したモデルです。この比較では人名(PER)と地名(LOC)を使い、その他のカテゴリは元の出力に残します。

GLiNER2.5もエンコーダー型ですが、対象に合わせたカテゴリと説明をその場で指定できます。LLMもカテゴリと説明を受け取り、抽出結果を生成します。配布例の入力には共通のカテゴリ定義を含め、正解の名前は含めていません。

新しいカテゴリへの対応と、指示どおりに抽出できたかを分けて確認してください。

ノートブックはQwenの出力を、指定したカテゴリのJSONに制限しています。形式が正しくても、抽出漏れや分類の誤りは残ります。