<-- mermaid -->

インターンでFLASH Opinionに企業名を紐付ける研究をおこないました

 UB Researchチームで2週間の短期インターンをしている山内です。

 現在、UB Researchでは、ニュース記事テキストに関して、企業名等の情報抽出モデルを構築を行っています。この情報抽出モデルをさまざまなテキストに適用し、企業情報を抽出することで、経済データの統合的な検索や整理をすることを試みています。

 そこで、モデルの一つの展開先として、FLASH Opinion*1のエキスパートの回答文データに適用を行い、有効性の検証を行いました。

実験内容

使用したモデル

 UzabaseがStudio Ousia社と公開したLUKEをベースの言語モデルとして利用しています。新しく公開したLUKEは、トークナイザをsentencepieceからwordpieceに変更したもので、日本語の単語境界を正確に捉えることができ、固有表現抽出(Named Entity Recognition: NER)に有効とされています。そのため、本モデルはこのLUKEの最終層にCRF層を付与した固有表現抽出モデルとして構築されています。詳細はJSAIの論文で説明しています。

 さらに、社内で構築したニューステキストとそこに紐づく企業名のデータセットで学習を行い、企業名を抽出できるようにファインチューニングしています。企業名の抽出は、①このLUKE-CRFモデルにテキストを入力して固有表現として企業名を抽出し、②抽出した企業名候補に対して企業名の別名や略称を含む辞書と突合させて正式名称に直す(以下では「辞書突合」と表現します)という2段階のプロセスによって行っています。

利用するデータ

 本実験で利用するFLASH Opinionデータ(以下、FOデータと呼びます)は、下記のような質問に対する専門家の回答文が蓄積されたデータです。実際には、公開/非公開となるさまざまな質問と回答のデータがありますが、企業名の紐付けに使用したのは、このうち公開される回答文のみです。

Q:生成AIを利用している事例としてどのようなものがありますか?

A:生成AIの事例として、主にはOpenAIのChatGPTのような言語モデルの利用が増えています。たとえば、ユーザベースが運営するSPEEDAにおいて、ユーザーが検索した単語の類似キーワードを検索時にサジェストする機能として利用しています。

 このデータには回答文の内容から紐づく企業名が、人手によるアノテーションで試験的におよそ200件のテキストに対し、付与されています。このテキストデータセットにモデルを適用し、抽出された企業名やその正確性ついて評価をしました。

結果

 現行の企業名抽出モデルは、ニュース記事等の弊社で作成したデータセットで学習されているため、FLASH Opinion回答文のような特徴の異なるテキストへの適用は、一般には抽出精度の低下が懸念されます。特に、ユーザ入力のテキストであるためニューステキストとは異なる表記や誤記を含み、影響をあたえることが想定されました。しかし、単なる企業名だけでなく「GAFA」のように複数の企業のまとまりを指す名称、「ゆーざベース」などの誤記を含んだ場合も頑強に抽出されていました。

 まず、具体的に、人手によるアノテーションと企業名抽出を比較すると、以下の結果になります。ここで、アノテーション、モデル両方において企業名が紐づく結果がなかったケースは除外しています。

件数
完全に一致 36 (31.9 %)
部分的に一致 64 (56.6 %)
全く一致しない 13 (11.5 %)

 人手によるアノテーションとモデルを用いた機械的な情報抽出では、完全に一致しているものは約3割程度です。そして、アノテーションに対してモデルの結果に過不足があり、一部だけが一致しているケースは、約6割です。アノテーションデータを正解データとするとき、モデルの情報抽出に過不足があると解釈される結果です。

 このモデルのエラー解析として、データとモデルの両面から考察を行いました。

考察

 人手によるアノテーションでは、分担作業でのルールの統一が難しいことなどから、抜け漏れやアノテータの価値観が混ざってしまうことがあります。さらに、アノテーションには、一件あたり約5分の時間がかかり、1日に8時間かけて100件できるかどうかのリソースが必要になります。時間的な制約から品質が期待通りの水準にならないこともあります。

 そこで、すでにアノテーションされている企業名を正解データとせず、FOデータから抽出した30件を改めてアノテーションし直しました。現行の複数人の分担によるアノテーションの抜け漏れを補完した精緻な形でのアノテーションを行い、NER(抽出結果)と元々のアノテーションした企業名を比較して正確に抽出しているか4段階(全件抽出、1,2件ずれ、半数ずれ、全件非抽出)で評価しています。

 特に、同じ入力テキストにおいて、人手によるアノテーション結果とモデルの抽出結果を下記の表では、比較しています。固有表現として企業名を抽出(別名・略称の状態含む)した結果での比較、抽出企業名を辞書突合までした結果との比較において、4段階評価でどちらがより正確に企業名を抽出できているかの内訳を表しています。アノテーションと抽出結果で優位性がない場合は同等としています。

現行アノテーション 同等 NER
より正確に抽出できたFOデータ数 4 15 11
現行アノテーション 同等 NER+辞書突合
より正確に抽出できたFOデータ数 11 10 9

 モデルによるNERによる企業名抽出の段階では、アノテーション結果よりも高いことがわかります。しかし、辞書突合を行うことで、アノテーションよりも低い結果になっています。そのため、固有表現としての企業名抽出は、企業名辞書が大きな影響を与えることが分かります。

 企業名辞書の影響は、企業名の正規化という観点でまだ課題があることが分かりますが、一方で訓練データと異なるデータセットでの推論にも関わらず、固有表現抽出においては人手でのアノテーションと同程度以上の抽出を行うことができます。よって、NERによる企業名の情報抽出は、十分な性能を発揮できると考えます。

 その一方で、モデルによる完璧な代替にもまだ課題があります。例えば、人手によるアノテーションでは企業の代表的な製品名を企業に対して紐付けるということができていましたが、このような紐付けは現状のモデルでは想定していません。他にも、モデルは企業名ではない一般名詞を企業名に紐付けてしまうケースもありました。 

 このデータとモデル双方のもつ課題から、実サービスへの適用という観点では、モデルによる固有表現抽出で企業名となる部分を抽出し、サジェストすることで時間短縮につながることが期待されます。具体的には、モデルにより自動的に抽出した企業名は、人手より多くの場所を抽出する傾向にありました。この抽出した結果に対して、人手で企業名を選択することで、時間短縮と精度向上が期待できます。

展望

 今回の結果から、企業名の固有表現抽出は、訓練データと異なるデータセットであっても、人手と同程度以上の性能を発揮することが分かりました。

 今後の展望として、アノテーションツールとして利用することで、人手によるアノテーションのコストを削減することができると考えます。また、辞書を原因とした精度低下の改善には、エンティティリンキングなどの手法として研究していく点が考えられました。

 そして、今回の実験では企業名のみの抽出であったため、企業名以外の情報抽出もエンジンとして広く対応できるようにしていくことを目指しています。

おわりに

 ユーザベースでは他にもLLMの研究開発に取り組んでいますので、ご興味があれば是非ご覧ください。

tech.uzabase.com

tech.uzabase.com

tech.uzabase.com

*1:FLASH Opinionとは、業界や産業に関する質問を投げると、ニーズに合った知見を有する5名以上の専門家から回答を24時間以内に獲得することができるサービスです。

Page top