2018.12.20

オフショア開発

チャットボット、SNS分析...自然言語処理って何?Amazon Comprehendを試してみよう!

AI、機械学習、どんどん発展していますが、実際どんな風に活用すれば良いの?と思っている方は多いのではないでしょうか。
私もその一人で、何かすごいらしいことはわかるけど、じゃあ実際どういうところで具体的に使われているかのイメージはいまいち…。

そこで自然言語処理分野に興味があったので、今回はAWSのAmazon Comprehendについて実際に使ってみました。

1. そもそも自然言語処理ってなに?

自然言語処理とは、一言で言えば、私たちが使っている言葉をコンピュータに解析、処理させることです。
Natural Language Processingの頭文字をとってNLPとも言われます。

私たちが日常のコミュニケーションの中で使う言葉を「自然言語」と分類します。
一方、コンピュータが理解する言語は「コンピュータ言語」です。
自然言語では、一つの言葉でも文脈により何通りもの解釈ができますが、コンピュータ言語が持つ意味はいつも一つです。

人類は自然言語を使用して文化や知恵を伝え発展してきました。
そんな自然言語をコンピュータに処理をさせて、分析したりするのが自然言語処理です。

1-1. 活用例

では、自然言語処理はどのような活用方法があるのでしょうか?

自然言語処理は一言で言えばテキストを分析・分類したりすることが主な働きなので、カスタマーサポートのメール、チャットや、商品レビューに関する分野で活用されている例が多くみられます。
たとえば、お客様からアンケートをとったりメールでの問い合わせを集めて、
どのようなキーワードが頻出しているのか、どのような感情があるのかを分析したり、
言葉と言葉の結びつきを分析してお客様のニーズを抽出したりします。

今までは人が一つ一つチェックして分類していたような作業ですが、
自然言語処理を行うことで自動的にデータ分析をすることができます。

またソーシャルメディアの投稿を分析することでユーザーの特徴を把握し、
そのユーザーにあった広告を出すといったサービスもあります。

Vitalify Asiaでも音声認識AIアシスタントを使って注文を取る等の試みをやっていましたが、音声認識とはつまり音声を文字列に直す処理が入ることなので、ここでも自然言語処理が使用されています。

1-2. 自然言語処理サービス一覧

実際に自然言語処理が活用されているサービスを調べてみました。

TSUTAYA AI
TUTAYAが出しているサービスで、Twitterと連携することで、つぶやきを分析し、自分にあった映画やドラマをレコメンドしてくれます。

Watson Assistant
Watsonは、自然言語処理を使用したカスタマーサポートなどを担うチャットボットを提供しています。
チャットボットに関しては代表的なサービスなのではないでしょうか?
ちなみにWatsonを活用してバイタリフィではAIチャットボットサービスを提供しています。

Amazon Comprehend Medical
AWSが提供するサービスで、医師のメモやカルテの情報、報告書などを分析して医療情報を特定します。
2018年11月に発表されたばかりですが、治療方針の決定や、臨床試験を手助けするサービスとして注目を集めています。

2. Amazon Comprehendとは


上記では、Amazon Comprehend Medicalを紹介しましたが、元になっているのはAmazon comprehendという機械学習を使用した、構造化されていないデータを分析・整理するサービスです。

機械学習を使用…といっても、その部分はAWSがすでに組み込んでくれているので、使用者側が機械学習を詳しく知っている必要はありません。
こちらで準備したデータを処理させることで、キーワードの抽出やカテゴライズ、感情分析などを行ってくれます。

具体的には、下記5つの機能を提供しています。

  • キーフレーズ抽出
  • 感情分析
  • エンティティ認識
  • 言語検出
  • 構文解析

サポート言語は2018年12月の時点で、英語、イタリア語、ポルトガル語、ドイツ語、スペイン語、フランス語の6つ。
残念ながら日本語対応はしていませんが、今後に期待です!

2-1. Amazon Comprehend料金体系

今回試してみるにあたって、クラウド死したら嫌なので料金も調べました。

Amazon Comprehend料金表はこちら
処理したテキストの分量によって月額課金となり、100文字で1ユニットとして計算されます。
各リクエストにつき300文字が最低料金となるようです。

無料利用枠がありますので、そちらでお試しが可能です。

3. Amazon Comprehendを触ってみよう


一番簡単に何ができるのか実感したい人は、このReal-time analysisで体験することができます。
Try Amazon Comprehendボタンをクリックした後すぐに出てくる画面です。

使う文章に迷いましたが、ルンバが欲しかったのルンバのamazonレビューを拝借して試してみました。

Very disappointing! We named ours Bob, and let me tell you he wasn’t the hard working man I was hoping for. Bob spent most of his employment driving from one random side of the house to the other like a junkie looking for his next fix. His actual cleaning was minimal at best and he couldn’t find his docking station to save his life. In the week I had Bob he never finished a cleaning cycle. One day while at work the app texted me to say Bob needed my assistance because he was stuck on a cliff. Worried for Bob’s safety I came home to find him passed out in the middle of the dining room rug. That night the family said goodbye to Bob once and for all.

彼はルンバ(Bobという名前にしたらしい)に対してとても失望しており、レビュー評価も1。
ざっとした内容としては、Bobは期待したようなハードワーキングマンではなく、麻薬中毒者のようにさまよい、充電のためのDockも見つけられず、ある日ダイニングルームのカーペットの上で息絶えていた…という感じですね。

3-1. エンティティ認識

まずはエンティティ認識をみてみます。
エンティティ認識とは、テキストデータから人、場所、数、日時、商品名等のエンティティを抽出するものです。

Bobは人の名前だよね!と分析してくれてます。ルンバにつけられた固有の名前なので合っていますね。
あとは、数や質量に関する言葉も認識されています。

3-2. キーフレーズ抽出

キーフレーズを分析してもらいます。
キーフレーズ抽出はその名の通り、文章の中でキーとなってくる言葉をピックアップしその登場回数をカウントしたりしてくれる機能です。

どのような基準で点数つけているかわかりませんが、theがつくような固有名詞はConfidenceが高くなっていますね。

3-3. 感情分析

感情の分析をみてみます。
これは文章全体の感情を中立、肯定的、否定的、混合の4つの中でスコア化してくれるものです。

結果は以下のようになりました。
Neutral(中立):0.20 confidence
Positive(肯定的):0.10 confidence
Negative(否定的):0.61 confidence
Mixed(混合):0.07 confidence

圧倒的ネガティブ!合っていますね。
disappointingという言葉が入っていたのが大きかったかもしれません。

詳しく解説するのは今回しませんでしたが、他にも言語検出と構文解析の結果を見ることができます。
言語検出は、どの言語を使用しているのかという分析ですが、当然ながら今回は「英語」と結果が出ました。
構文解析ではそれぞれの単語の品詞を出してくれます。

今回は導入部を軽く触ったのみでしたが、APIを使用すれば様々な応用を行えます。
例えば、S3にテキストファイルをためておいて、プログラムを組んでそれを自動的に分析し、結果をアウトプットするというような使い方ができるため、たくさんデータを持っているんだけど分析ができていない…という場合に有効です。
自然言語処理の技術が発展すれば、AIとの会話などにも応用されより自然に機械と会話することが可能になるでしょう。
最近では、テキストデータを分析してチョコレートを作るといった使われ方もしていました。
今後、どんなところに応用されていくのかが楽しみですね!

3. ベトナムでAI開発をするならバイタリフィへ

様々な課題解決にAIを活用するケースは依然として増えており、今後もその波は継続していくと見られます。

「自社サービスにAIを導入したい」「AIを導入し自社の効率化・コスト課題を改善したい」
という企業様はバイタリフィバイタリフィアアジアへお気軽にご相談ください。

当社では『AI導入をお考えの方に精度や効果を無料で確認してから開発の判断ができる』サービス「Mobile AI Lab」を運営しております。

NEW!! 2018.12.20
「業務へのAI導入を検討しているが、何からすれば良いんだろう?」
  そんな事業戦略担当者様!
  機械学習、ディープラーニングを用いてAIモデルデータを無料で作成。
  AIアプリを気軽に開発できるサービス『Mobile AI Lab』のお問合わせはこちら