■はじめに
機械学習やAIといった技術について、コンピュータの性能が理論に追い付いてきたことにより、今後、重要な要素として期待されています。
この分野の1つのソリューションとしてIBM Watsonというコンピュータによる学習認知技術があります。(Watsonはこれまでに、アメリカの「Jeopardy!」というクイズ番組に出場しクイズ王に対して勝利するなどの実績を上げています。)
このWatsonの技術を利用可能となるAPIがIBM Bluemixというクラウドプラットフォームから提供されていますので、このAPIを少し触ってみようと思います。
■準備
現在(記事執筆時2016/3/2)、IBM Bluemixのフリートライアル実施中とのことで、こちらに申し込みます。
フリートライアルを利用するにはIBM IDが必要になりますが、その場でIDの作成が可能となっています。
IBM IDの作成後、すぐに利用可能になりました。
■Watson APIの概要
早速、Watsonの各APIの説明を確認します。Watson API機能説明(IBM Bluemixからの転載)AlchemyAPIAn AlchemyAPI service that analyzes unstructured text and image contentConcept Expansion β婉曲表現または俗称をより一般的に理解される語句にマップします。Concept Insights入力内容の背後にある概念を探索し、従来型のテキスト・マッチングを超えた関連性を明らかにします。Dialogアプリケーションがユーザーと自然言語で対話できるようになります。Document ConversionHTML、PDF、Microsoft Word™ 文書を正規化された HTML、プレーン・テキスト、JSON 形式設定された Answer ユニット・セットに変換します。Language Translation特定のドメインのテキストをある言語から他の言語に翻訳します。Natural Language ClassifierNatural Language Classifierは、質問テキストに対して自然言語の分類を実行します。ユーザーはあらかじめデータを学習させておき、入力される質問に対する適切なクラスを予測しておくことができます。Personality InsightsWatson Personality Insightsは、トランザクション・データやソーシャル・メディア・データから洞察を引き出し、心理的特性を識別します。Retrieve and Rank機械学習の拡張検索機能をアプリケーションに追加します。Relationship Extraction βIntelligently finds relationships between sentences components (nouns, verbs, subjects, objects, etc.)Speech To Text低遅延の、ストリーミングの文字への変換。Text to Speechテキストから自然な音声を合成します。Tone Analyzer βIt helps people detect, understand and revise the language tones of emotions, social propensities and writing styles from their writings.Tradeoff Analytics対立する複数の目標がある中で、より良い選択を行えます。トレードオフを検討するために視覚化と推奨内容の表示を組み合わせることができます。Visual Recognition βAnalyzes the visual content of images and videos to understand their content without requiring a textual description
IBM自らが、
IBM Watson は、自然言語処理と機械学習を使用して、大量の非構造化データから洞察を明らかにするテクノロジー・プラットフォームです。
[引用元:IBM Watsonとは?]
と定義しているだけあって、文章認識に関するAPIが多い印象です。
■各APIのデモ
各APIにはデモが用意されていますので、それぞれを触ってみたいと思います。 数が多いので、何回かに分けて紹介させていただきます。
AlchemyAPI - AlchemyLanguage
URLやプレーンテキストに含まれる文章を解析し、実体、キーワード、分類、概念、感情(文章全体、部分ごと)、文の構成要素、言語、タイトル、著者、参考文献、フィード情報、マイクロフォーマットを返すデモです。
いくつか英字ニュースのテキストで試してみます。 実体やキーワード、分類などはおおよそイメージに近いものが出てきます。
大統領選の記事であれば、候補者や党名、地名、支持率、など、天文に関する記事であれば、天体名、天体の具体的な情報などが返されました。
感情に関する部分は微妙な結果になる場合もありますが、一部まだベータとしての提供となっているようです。
タイトルや著者などはURLを指定してHTML文章を解析させた場合以外は返ってきませんでした。これらの情報はHTMLタグから取得しているのかもしれません。
※著作権の関係でトライアルで使用したニュースの内容を記載することができず申し訳ありません。
AlchemyAPI - AlchemyVision
画像から連想されるタグ、画像に含まれている文章、顔、類似イメージを返すデモです。 顔については、人物の性別、おおよその年齢、著名人であれば名前と著名な分野も返します。
デモで用意されている画像を試したとことではなかなかの精度のように思われます。
Google画像検索で見つかった金閣寺の画像でも試してみました。
結果は<Tags>信頼度Temple0.846Golden0.802
<Word Hierarchy>places > templecolors > golden
類似イメージには金閣寺が並びます。 なかなかの結果のようです。
最後にもう一度、紅葉の画像で試します。<Tags>信頼度Flower0.802Autumn0.646Leaf0.646Red0.574
<Word Hierarchy>products > gifts > flowerpeople > autumncolors > red
紅葉とは認識されずに、花の認識の方が優位になっています。そして、類似イメージには紅葉だけでなく、プレゼントリボンや赤い花の画像も混じっていました。 ・・・ケーキの上にニンジンがのっかっている画像まで(笑)
ただし、注目すべきは「Autumn」と認識されているところでしょう。 「紅葉」を見て「秋」だと答えているところに、認知たる何かを感じます。
AlchemyAPI - AlchemyData News API
ニュースをキーワードや感情、分類などで検索するデモです。
「スマートフォン」に関するニュースを検索してみます。
なぜか、ヨガのニュースが出てきました。どういう理由でこのようなニュースが出てきたのでしょうか。こういったこともあるようですね。
気を取り直して「Apple Watch」に関するニュースを検索します。
先頭のいくつかを確認しただけですが、こちらは関連するニュースが検索されました。
ニュースやBLOG記事からトレンドの分析や変遷を検索できるとのことですが、学習されている内容によるのか、精度に関しては少し気になりました。
Alchemy APIは、全体として、自動的にカテゴライズしたり、パーソナライズ化したりする用途などに使用できそうです。
■今回はここまで
今回は、AlchemyAPIのデモのみでしたが、残りのAPIも順次紹介してまいります。