S&Iとしては初めて「Watson」をテーマに出展し、大盛況に終わった「IBM Watson Summit 2017(2017年4月27日〜28日開催)」。前回、当日のブースの様子をcafé SANDIでもご紹介しましたが、今回は、当日、ブースに出展していたデモを準備してくれた技術の皆さんに、その時の苦労話やWatsonの面白さなどなど、技術の立場だから見えてくるお話を聞いてみました!

今回お話を伺ったのは、技術営業の佐々さん/柚木さんと、Watson APIを活用したシステム開発を担当している奥原さん(残念ながらもう1人の中心メンバー、庄子さんは体調不良で欠席でした…)、Watson Explorer(WEX)による分析手法やコーパス生成のノウハウ蓄積を担当している石黒さん/福永さんです。

AI活用の要である「学習データ」を提供できる会社になる!

[佐々]
S&Iは、コンタクトセンターのシステム構築を主力事業の1つとして行なっていますので、まずはセンター業務やカスタマーサービスにおけるWatsonの活用を提案しています。ただ、いきなりWatsonを使いましょう!と言っても遠い話になってしまうので、3つのアプローチで考えています。

1つめのアプローチが「大量データの収集/分析」です。S&IはWatson Explorerの他にもSPSSというテキストマイニングツールを取り扱っているので、構造化されたデータの分析はSPSS、話し言葉などの非構造データの分析はWEXでという風に、お客様が持つビッグデータの分析支援を提供しています。

次に、AIが利用するための学習データ(コーパス)の生成支援です。コーパスは、AIの世界ではとても重要な要素で、企業や業種に特化した辞書を作るイメージです。Watsonは、大量のテキストデータを取り込んで賢くなっていくのですが、単純にデータをWatsonに読み込ませてもコーパスは作れません。専門知識や価値のある情報を抽出してさまざまな形で熟練させながら、賢い辞書を作り上げていきます。つまり、データの収集/分析がしっかりできないと、コーパス生成もできないので、WEXによる分析支援を提供している点が強みと考えています。

最後に、AIを活用したシステム開発です。AIって何でもやってくれそう…という漠然としたイメージ含めて、最もニーズのある分野ですね。Watson SummitのS&Iブースでも、質問した内容に対して最適な回答をリストアップしてくれる業務支援サービスや、チャットボットを活用した自動応答などを紹介していましたが、この分野はニーズも多いので取り組む企業も増えています。

ただ、2つめに挙げた「コーパス生成」の分野は、最近、その重要性が認知され始めた段階で、実はまだまだサービスとして提供できる企業は多くありません。ですので、そこも含めてできますよ、というのがS&IのWatsonビジネスのコンセプトでもあります。

S&IのWatsonビジネスへの取り組みは、①ビッグデータの分析、②AI活用のためのコーパス生成、③AIを活用したシステム開発の3つに大きく分類できます。Watson Summitでも、実際にこの3つのアプローチでデモを紹介していました。今回は、その中から、WEXによるデータ分析と、AIを活用したシステムのデモを作り込むまでのウラ側を教えてもらいました!

WEXにデータを取り込めばいい具合に分析してくれるワケじゃない。センスが問われる「分析軸」の決定

まずは、「非構造データ」と呼ばれる、話し言葉を文脈から理解して分析できることが最大の特長である「WEX」でのデータ分析についてです。

[石黒]
Watson Summitでは、国交省が公開している「自動車不具合情報ホットライン」の情報をWEXで分析するデモを紹介しました。

今回利用したデータは、3万件ほどのフリーテキストのデータで、車種やメーカー、故障原因、故障内容などのさまざまな情報が詰まっているので、デモに利用するにはちょうどいいデータ。この車種ではこういう故障が頻発しているとか、この故障の原因はこれではないか?といったふうに、大量のデータから課題を見つけ出すデモです。

WEXで分析するためには、最初に分析軸を決める必要があるので、「データを読み込む」ところから始めます。端から端まですべてを読む訳ではなく、今回のデモ用データであれば、自動車の故障原因について書かれたテキストなので、車種名や故障内容のフリーテキスト文から、文章の書き方の傾向を掴んで、こんな分析ができるのでは?と目星をつけて、分析軸を決定する感じです。それが決まったら、データをWEXにインポートするのですが、インポートすると自動的に品詞ごとに単語を振り分けてくれます。

動詞は基本的に振り分けが間違うことはないんですが、名詞はちょこちょこ間違いがありますね。振り分けが間違っていないか確認しながら、間違っていれば辞書に登録して、分析のベースを作っていくんですが、形容詞や感嘆詞とか、意識して使っていないので、意外と分からないものが多くて…。自身の国語の勉強にもなりました。笑。

ここまでできると、分析の下準備は完了したので、実際に頻度や相関値という単語同士の関係の強さを見ながら分析していくという流れになります。

[福永]
こんなことを知りたい…という目的があれば、分析軸を決めるのももう少し簡単なんですが、今回はデモ用に何かを分析することが目的だったので大変でしたね。大量のデータからわかりそうなものを手探りで見つけ出すっていう感じです。

[佐々]
今回は、ある特定の目的のために分析するのではなく、膨大なデータの中から、何か未知のものや課題を「探し出す」というアプローチだったっていうことですよね?

[石黒]
そうですね。このアプローチは結構大変。
「うちの会社はこういう課題があって、こういう分析をして欲しい」という目的が明確であれば目星が付けやすいんですけど、「大量のデータをあげるから何か課題を見つけ出してくれ!」って言われると、どこから手をつけていいのかわからない。笑。

[福永]
今回もWatson Summit用のデモの準備自体は2週間くらいで仕上げたんですけど、実際は半年くらいデータをいじり倒していました。

画像: IBM Watson Summit 2017のS&Iブースの様子

IBM Watson Summit 2017のS&Iブースの様子

[佐々]
ということは、専門知識を持つコンサルが介入せずに、WEXだけで課題を見つけ出すのは難しい?

[石黒]
専門家がいなくても、ある程度は何か課題を見つけられるツール、という確信はあります。

[柚木]
業務コンサルのようなスキルがないと、ただデータだけを渡されても分析の精度を上げる事はなかなか難しい。そこは、お客様と会話しながらどんな課題があるのかヒアリングして、分析軸を決めるヒントを見つけていくっていう進め方をすればクリアできるんじゃないかな。

[石黒]
そうですね。数値化する部分はWEXがやってくれるけど、どの単語とどの単語の組み合せが多いからここをもう少し深掘りしてみようとかは、人が判断する部分。たとえば、1,000行くらいのデータでも、単語としては何万個もあるので、それ1つ1つの組み合せを考えていかなければなきゃで、今回も地域で絞ってみたり車種で絞ってみたり、いろいろ試行錯誤しました。

[柚木]
最終的な分析軸に辿り着くまでにいろんなことを考えて、いろんな角度からデータを見ようとしなきゃだから、本当にセンスの世界だよね。分析のやり方によっては、センスないな…って思われるかもしれない。笑。やっぱり、会社の業務を詳しく知っている人と一緒にやらないと大変。

[佐々]
お客様の業務に詳しいコンサルタントと一緒に分析して課題やニーズを導きだすケースもあれば、お客様自身で分析するために支援するケースもあると思う。でも、いずれにしても、目的がないとどんなデータを取り込むかも決まらない。

[柚木]
何をしたいのか、ぼんやりとあって、それを知るための分析だから。

[佐々]
たとえば、「街の声が聞きたい」っていうのが分析の目的であれば、じゃあTwitterのデータを取り込んでみよう、って決まる。コーパス生成も同じで、AIのシステムをどんなシーンで利用したいかによって、取り込むデータは変わってくる。2割は構造化データで、8割が非構造データって言われている世の中で、今まで活用できていなかった8割のデータを生かせるようになったのがWEX。

[柚木]
分析結果は、新しい商品を作りたい、サービスを考えたいというときの元になるデータ。どんなニーズがあるのかとか、これまでは噂レベルで感覚的だったのが、こういうデータがあるからこういうものを作ろうっていう、その噂の裏付けに使えるようになって、判断できるようになる。

画像: ソフトバンクブースでのS&Iミニセッションは両日共に大盛況でした!

ソフトバンクブースでのS&Iミニセッションは両日共に大盛況でした!

他のテキストマイニングとは何が違う?特許を取得している多数の分析手法があるからAI活用のための「コーパス生成」に使えるWEX。

[奥原]
Watson Summitでも来場者の方に聞かれたんだけど、WEXは他のテキストマイニングツールとは何が違う?

[福永]
何千万件もの非構造データを分析できる点じゃないですかね。

[佐々]
多くのテキストマイニングツールは、英語をベースに作れたものが日本語化されているけど、WEXの場合は、IBMが日本で作ったものを他言語に展開しているので、日本語の認識率が圧倒的に高い。あとは、相関分析とかもそうですが、分析画面自体がたくさん特許を取得しているので、他のツールではできない分析機能がたくさん入っている。

画像: WEXの分析手法ごとの画面

WEXの分析手法ごとの画面

[石黒]
今回のWatson Summitでも、分析デモで使った国交省の「自動車不具合情報ホットライン」の情報を元データとして利用したRetrieve and Rank(RaR)という検索に対して関連性の高い順番で結果を表示させるためのコーパス生成を紹介していました。質問と回答と、それの重み付けをどうやったらできるのかっていう検証です。

[福永]
故障内容のテキスト文を質問文に見立てて、例えば、ブレーキランプや蛍光灯とかの単語を「類義語」として登録し、分析軸として利用すると、WEXは相関分析とかができるので、それらのキーワードに関連する質問文を抽出することができる。それを業務知見者が、それぞれ重み付けをしていけば、コーパスに利用するための「基礎データ」が作れますよっていうアプローチ。

[石黒]
それぞれの単語の「頻度」を、重み付けのヒントにも使える。

[佐々]
今回のデモは、質問と回答と熟練の重み付けっていうRaRには欠かせないセットが無かった状態。大量にデータはあるけど、FAQになっていない状態からコーパスを作り上げることにトライしたデモで、ニーズは多いんじゃないかな。インシデントログはたくさんあるけど、回答部分はないんですとか、これってお客様環境では起こり得るケースだと思う。

コーパスを手作りするのは難しい。WEXで生成したコーパスのAPI連携が次のステップ

[奥原]
今回、APIのブースでは、質問に対して自動応答してくれるチャットボットと各APIのデモで、話していることに対して何を言っているのか理解して返してくれるNatural Language Classifier(NLC)、質問に対して回答候補をリストアップしてくれるRetrieve and Rank (RaR)、実際に話している内容をリアルタイムでテキスト化するSpeech to Text(STT)の4つのデモを紹介しました。

デモ環境を用意する過程で実感したのは、アプリ開発よりもいかに精度の高いコーパスを用意できるかが大変だった。それと、お客様がAIを使って何をやりたいのかっていう要件定義がどれだけしっかりできるかが重要。

[佐々]
今回、WEXの方でもコーパス生成を紹介していたけど、API側のコーパスとは連携させていなかった。デモ準備の時間が足らなかったっていうのもあるんだけど…。

WEXで生成できるコーパスは、APIで利用するコーパスの大元になるもの。「基礎データ」と呼ばれていて、コーパスに使えるデータを抽出するところまでがWEXでできること。その後、有識者がそれぞれに対して重み付けをしたり、APIのアルゴリズムを理解して、それぞれのデータの確信度を上げたりしながらAPIが取り込める形に整形して初めて、AIを活用するためのコーパスになる。この過程が結構大変で、なかなかできないからAIの市場がなかなか広がらならないんじゃないかな。APIを利用するためにはこのデータの精度が重要になってくるから、その部分の支援をS&Iは強みにしている。

[奥原]
今回、API側のデモで利用していたコーパスは、WEXから生成した基礎データを元にしないで、一から手作りしました。例えば、NLCのコーパスは、取得可能な製品情報を全文取ってきて、回答として登録してみました。質問は、その全文を句読点で区切ったものを入れてみたけど精度がまったく上がらなくて、デモ用には、手動で文章を数十件か登録して精度を上げていったけど、効率的じゃなかった。

精度が上がらないから質問文を増やしていくんだけど、頻出する単語を見ながら、この単語が含まれている文章を10件、まだ精度が上がらないからまた10件…という感じで。

[柚木]
自分の知識や経験をもとに文章を作って登録していくから、これもセンスが問われるね。

[石黒]
ここに関しては、WEXが上手く使えると考えています。単語別で質問のリストを作れるから。

[奥原]
まさにそれで、今回のWatson Summitはそれぞれ独立した形でしか紹介できなかったけど、WEXで生成したコーパスをAPIで利用してデモを紹介するとか、API同士を組み合わせたソリューションも見せたいですね。

あと、APIによってアルゴリズムが異なるからコーパスもそれぞれ違う。API間で流用するのも難しい。たとえば、チャットボットは、頻度の高い質問だけ返答できればいいけど、RaRはカスタマーサービス業務であれば、エージェントの業務支援に使うので、頻度の低い質問に対しても回答候補をちゃんと返せるようにデータを作り込まなければならない。最終的なアウトプットの形によってコーパスの設計も変わってくる。データを蓄積していく過程で、WEXと同様に何がやりたいのか?だったり、いちばん業務に詳しい「お客様」と一緒に作り上げていかなきゃいけないっていうことは実感しました。アプリの開発はたいして時間がかからない。その分しっかりデータを作り上げていくことがAI活用のポイントですね。

画像: チャットボットのデモの仕組み

チャットボットのデモの仕組み

今回話を伺って、Watsonって何でもやってくれちゃうようなイメージを持っていたけど、賢いものに育つように「辞書」であるコーパスをいかにしっかり作っていくのかが重要であり、難しい点であることが分かりました。インタビューにご協力いただいたSEの皆さんも、デモ環境を用意する過程で、データの作り方や精度の上げ方に四苦八苦した模様。でも、そこの重要性を理解しているからこそ、今後の展望についても、「コーパス生成」と言えばS&Iと言われるくらいスキルやノウハウを着けていきたいと口を揃えて話していました。
とは言え、まだまだぼやっとしているWatson。もっと詳しく知りたい!ということで、今回インタビューにご協力いただいた皆さんに交代でWEXとWatson APIに関する記事を書いてもらうことになりました!次回は、「そもそもWatsonって何?」という基礎の基礎をご紹介します!お楽しみに♪

コメントを読む・書く

This article is a sponsored article by
''.