派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】文書を手軽に分析・検索してみよう!使いやすいAI(人工知能)「Watson」ハンズオン

この記事では、2019年12月20日に開催したイベント「文書を手軽に分析・検索してみよう!使いやすいAI(人工知能)『Watson』ハンズオン」をレポートします。

前回前々回ともに大好評に終わったIBM Watsonのイベント。3回目となる今回は、Watsonの機能の1つである「Watson Discovery」を実際に操作しながら、AI処理した大量の文書を検索・分析する方法を教えていただきました。

■今回のイベントのポイント
・Discoveryは、範囲が多岐にわたる、すぐに改定される、言葉のゆらぎが含まれた文章の中から該当の情報を検索するといった用途にも活用される
・自動で追加されるメタ情報の他、カスタムモデルも併せて用意
・Watson Discovery Newsで最新のニュースを分析することができる

【講師プロフィール】
江澤 美保さん
株式会社クレスコ AIサービスエバンジェリスト。2015年よりIBM Watsonに携わり、経営層へのWatson導入提案を多く経験。現在は企業のAI導入支援を手掛けるAIコンサルタント・エンジニアとして活動中。2016年3月「第2回 IBM Watson日本語版ハッカソン」にてアイディア賞受賞。2019年IBM Champion。

【ティーチングアシスタント】
榎本 陽祐さん
2019年IBM Champion。エンジニアの幸せを目指すEC特化型スタートアップ、株式会社ジョーレンのエンジニア。現在はPHP(EC-CUBE,Laravel)を利用したWebアプリケーションを中心に開発に従事。Watsonの開発の容易さとAPIの充実ぶりに魅せられ、WatsonとWebアプリを使った連携を作ったりしている。

便利なDiscovery。実際の活用例

Discoveryは、「大量のドキュメントを検索したい」「欲を言えば分析もしちゃいたい」というようなニーズに応えるツールで、たとえば、JR東日本のコールセンターにも導入されているそうです。

同センターでは、サービスのクオリティ向上の一環として、問合せを事前振り分けせず、すぐにオペレータに繋がります。そのため、オペレータは電話に出るまで、どのような問合せかを知る術がありません。しかし、問合せ内容を聞き取ってから調べ始めていたのでは、結局、問合せに要する時間は変わりません。そこで、オペレータが、どのような問合せにも迅速に回答できるように、Watson Discoveryを導入し、活用しているそうです。

具体的には、オペレータの話した内容を音声認識してテキスト化し、関連項目を素早く検索する、それらの処理にWatsonを活用しているとのこと。そして「この質問に対して解決した回答はこれだった」と、Watsonに教えると、次回、同種の質問があったときに、その答えがランキングの上位になり、よりスピーディーな対応が図れるのだそうです。

また、デロイト トーマツ コンサルティングという会社では、企業の貿易に関するコンサルティングを行う中で、FTA(自由貿易協定)における貿易関係の書類が膨大にあり、すぐに改定が入ることが課題だったそうです。そこでFTA関連文書をWatsonで迅速に検索するようにすると、コンサル一人当たりの仕事量を大幅に削減することに成功したそうです。

このように、範囲が多岐にわたる、すぐに改定される、言葉のゆらぎが含まれた中から該当の情報を検索するといった用途に、Discoveryは向いているそうです。

Discoveryがこうした検索を行えるのは、対象となる文書群(コレクション)に対してランク付け、メタ情報、文書の傾向分析などを行っているからだと江澤さんは説明されました。

メタ情報は「パブリックモデル」と「カスタムモデル」の2種類で抽出できる

それでは、メタ情報とはどのようなものでしょうか。Discoveryにおけるメタ情報には、次の8種類があり、そのうちエモーションは英語のみの対応で、その他は11ヵ国語に対応しているそうです(もちろん日本語にも対応)。

f:id:itstaffing:20200309120641j:plain
▲Watson Discoveryで追加される8種類のメタ情報。日本語にはエモーションを除く7つのメタ情報が対応している

これらのメタ情報はパブリックモデルを活用すると、特に何も学習させなくても抽出が可能です。たとえば文書中に登場する「人物名である〇〇さん」と「会社名である△△社」は、「雇用関係」にある、のような、エンティティ同士のリレーションを「自動的に」作成してくれます。

しかし、実際にさまざまな業務に使うとなると、これだけでは足りません。そこで、業界用語や略号などを教えるカスタムモデルも併せて用意するそうです。カスタムモデルは、WKS(Watson Knowledge Studio)で作成します。

その作業は、単語をマークしてタグ付けをしていくという地道な作業だそうで、江澤さんが温泉に関する文書を検索させようと試みたときには約80文書のタグ付けをして、ようやく検索意図に沿った結果が出るようになってきたといいます。

f:id:itstaffing:20200309120643j:plain
▲温泉に関する文献に登場する用語や使い方があることをWatsonに教えてあげることで、エンティティとして認識してくれる

Discoveryで検索をしてみよう

さて、ここからはハンズオンで実際にWatsonを使っていきます。

前回同様、IBM Cloudにログイン。今回はDiscoveryのサービスを作成します。

f:id:itstaffing:20200309120646j:plain
▲IBM Cloudログイン後、カタログ、AI 、Discoveryの順にクリック。次画面で[地域の選択]に「ダラス」を、[料金プランの選択]に「ライト」を選び、[サービス名]に「Discovery-Sample」(任意のもので良い)を入力し[作成ボタン]をクリック。次画面で表示されるサービス一覧から、今作成したもの、[Watson Discoveryの起動]ボタンを順にクリックし、サービスを立ち上げる

サービスを立ち上げたら、まずは「Watson Discovery News」という、すぐに使えるコレクションを選び、Discoveryではどのような検索・分析ができるかを知るところから。

Watson Discovery Newsは、Watsonの機能を試すため、さまざまなニュースを毎日クローリングして集めており、60日分のニュースを保持しているそうです。

f:id:itstaffing:20200309120649j:plain
▲Pre-Enriched dataから[Watson Discovery News]を選び、News sourcesに[Japanese]を選択するとニュースやデータを日本語で検索できるように

Discovery Newsが日本語のニュースを公開するようになったのは2018年6月から。江澤さんによれば、その当時からすると、現在はDiscoveryの学習もかなり進んでいるそうです。

Discoveryでコレクションを検索してみます。

f:id:itstaffing:20200309120651j:plain
▲虫眼鏡のマークのボタンをクリックすると検索条件入力画面に切り替わる。ここに検索条件を入力

イベントでは「喜ばれるホワイトデーのプレゼント」という検索を試みました。

f:id:itstaffing:20200309120654j:plain
▲このような条件で検索してみることに

検索画面にそれぞれの条件を入力していきます。

f:id:itstaffing:20200309120656j:plain

f:id:itstaffing:20200309120659j:plain
▲条件を指定していき、最後に[Run query]ボタンをクリックすることで検索が行える

面白かったのは「無料」という語を、Moneyとして認識しているところ。きちんと無料=0円と判断しているところは「さすがだな」と感心します。

f:id:itstaffing:20200309120702j:plain
▲Moneyのトップ10の最上位は「無料」だった

Discoveryに文書を取り込もう

Newsでいくつかの検索を試したあとは、いよいよDiscoveryに、自分で文書をアップロードしてみます。

準備として、独自のコレクション(データの格納場所)を作ります。

f:id:itstaffing:20200309121104j:plain
▲フォルダマークのボタンで最初の画面に戻り、 右上のキャビネットマークのボタン、青い[Create environment]ボタンを順にクリック。[Set up Discovery for your private data]ダイアログで[Set up with current plan]を、[You’re all set up]ダイアログで[Continue]ボタンをクリック

そして、分析のモデルとなる文書データをアップロードします。

f:id:itstaffing:20200309121128j:plain
▲[Upload your own data]ボタンをクリックして、データ名(任意)を入力。言語(Japanese)を選び、[Create]ボタンをクリック

すると[Over view]画面に切り替わるので、ここにアップロードしたい文書ファイルをドラッグ&ドロップします。そのあと、画面右上に表示される[Configure data]ボタンをクリックし、取り込み設定を行います。

f:id:itstaffing:20200309121258j:plain
▲[Enrich field]ボタン、次画面で[Add Enrich]ボタンを順にクリック。さらにその次の画面でKeyword Extraction、Relation Extractionの[Add]ボタンをクリック

最後に[Apply changes to collection]ボタンをクリックします。これでアップロードした文書のメタ情報が作成されていきます。

このあとは、[Upload Document]をクリックして、同種の文書ファイルをアップロードしていくと、それらの文書に次々とメタ情報が追加されていきます。文書ファイルのドラッグ&ドロップは1つずつでも、まとめてでもOKとのこと。アップロードした文書は、先ほどのDiscovery Newsと同様に、さまざまな検索軸で検索をし、分析することができます。

このようにDiscoveryは、誰でも手軽に使えるサービスであるため、初心者の方はまずは触ってみることが大切と江澤さんは教えてくださいました。Discovery Newsで、関心のあるニュースを分析してみても面白いかもしれませんね。

イベントに参加いただいた方からは、「面白かった。書籍をガッツリ読むのはハードルが高いけど、こういうハンズオンは楽しい」という声や、「UIや、データの更新、メタ情報のカスタマイズなど、いろいろ考えなければならない部分がありそうです。引き続き勉強したい」などの声をいただきました。

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するこのようなイベントを、定期的に開催しています。皆さまのご参加をお待ちしております。