自然言語処理のAIエンジン「KIBIT」のしくみと活用事例 ―FRONTEO取締役CTO 武田秀樹氏インタビュー

KIBITを使って、「談合の証拠」をつかむ

小泉: それでは、「KIBIT」について詳しく教えていただけますか。

武田: 事例を一つご紹介します。競合の企業どうしが価格調整を行う「談合(カルテル)」に関するメールの調査です。

企業の談合を調べる場合、もし当事者どうしが「談合」という言葉をメールで使っているなら、「キーワード検索」ですみます。ただ、普通は「談合」というストレートな言葉を使っていることはまずありません。

そんな場合でも、KIBITは証拠となる言葉を見つけだしてきます。たとえば、次の「飲み」や「居酒屋」という言葉です(下の図)。

小泉: そうなんですか。一見、普通に使う言葉に思えますが。

自然言語処理のAIエンジン「KIBIT」のしくみと活用事例 ―FRONTEO取締役CTO 武田秀樹氏インタビュー
「カルテル調査」の事例:KIBITが不正を示唆するメールを見つけだす。

武田: もちろん、これだけでは「談合」に関わるキーワードとはなりえません。あらかじめ、A社とB社で談合がありそうだと目星をつけたうえで、メールを調べるから証拠になるのです。

小泉: なるほど。A社とB社は談合の疑いがあるから、それぞれの営業担当が居酒屋に飲みに行くのはおかしいのではないかと、あらかじめ仮説を立てるわけですね。

武田: そうです。この例の場合、あくまで目的は訴訟の「証拠を見つける」ためです。談合の疑いはあっても、具体的に何が行われていたのか明確にできなければ、証拠にはなりません。仮説にもとづいて、関係がありそうな言葉をKIBITが自動的に特徴づけ、「証拠」を選んできます。

また、談合の場合、業界が変われば競合する企業は変わってきます。ただ、業界が違ったとしても、同じ人間ですから、同じようなメールのやりとりとしている場合があります。

そこで、あえて固有名詞を学習データから外すなどして、あらゆる業界の談合の調査に汎用的に使えるAIエンジンをつくる、といったアプローチも行っています。

実際の人間の行動は多様ですから、一つの汎用モデルで調査が完結できるということはめったにありません。そのため、案件個別のモデルと組み合わせて、汎用モデルを利用するケースもあります。

小泉: なるほど。

武田: また、品詞をどう見るかが、KIBITにとって重要なポイントです。名詞と動詞は、文の主語/述語/目的語に使われるため、比較的汎用的に使えるのですが、形容詞や副詞は特徴がかなりぶれることがあります。

使う人の主観によって、その意味が変わってくるからです。たとえば、「やばい」という言葉のように、いいことなのか、悪いことなのか、どちらを指しているのかわからない曖昧な言葉がありますよね。このように、解釈のぶれが文脈によって大きい言葉は、学習モデルからは外した方がいい場合が多いです。

自然言語処理のAIエンジン「KIBIT」のしくみと活用事例 ―フロンテオ取締役CTO武田秀樹氏インタビュー
株式会社FRONTEO 取締役CTO 行動情報科学研究所 所長 武田秀樹氏

小泉: 機械学習のモデルを作成する際のポイントについてお話がありましたが、KIBITの開発では、具体的にどのようなことを行っているのでしょうか。

武田: まず重要なことは、解決したい課題が何かです。その解決に向けて、KIBITのAIエンジンを最適化していくことになります。

たとえば、ある事業部門で、文章をチェックする業務があるとします—―そして、その業務に今は8時間かかっていますが、半分の4時間に削減したいという課題があるとします。

その業務をブレイクダウンしていくと、A、B、Cという3種類のドキュメント(文書)があり、Cだけすごくチェックに時間がかかっている、といったことがわかってきます。具体的には、Cは6時間かかるけれども、AとBは合わせて2時間。そうすると、Cを3割に削減できたら、全体としては大きな効果がある。

では、Cの業務時間を削減することを目標にしたうえで、Cの文章を詳しく見ていきます。すると、Cの文章に時間がかかるのは、「業務に関係のない言葉が多く含まれているからだ」などとわかってきます。

では、その業務に関係のない言葉を見つけるためには、どのようなアルゴリズムを使い、どのような学習を行えばいいのか、ということを考えていく必要があります。ここで、データサイエンティストの出番になります。

小泉: 業務を理解したうえで、どんなアルゴリズムが使うべきかなど、方針を立てるのがデータサイエンティストの役割ということでしょうか。

武田: そうです。データサイエンティストが方針を立てた上で、「アノテーション」(KIBITに、そのデータが正解か不正解かを学習させる)という作業を行います。

アノテーションは、業務の専門家が判断した結果や、過去に起こった結果(たとえば、退職者を見つけたいなら、実際に退職しているという結果、結婚相手を見つけたいなら、実際に結婚しているという結果)を利用する場合が多いです。

アノテーションを行ったうえでデータを入れていけば、あとはAIが自動で特徴を見つけてきてくれます。ただし、思ったような結果が得られない場合は、データサイエンティストが再度、どのようなデータを学習させればよいのか、データそのものに問題があるのか、アノテーション自体に問題があるのか、または他のアルゴリズムを利用した方がよいのか、などを検証していく必要があります。

次ページ:【事例紹介】KIBITを使って、特許調査・分析業務を効率化
※インタビューの続きは、4ページをご覧ください。