EAI/ETL技術者のブログ

クラウド・SaaS連携

Yahoo! テキスト解析WebAPIとDataSpiderを連携してみた

公開日:
更新日:
クラウド・SaaS連携
#DataSpider
#EAI
#API
#WebAPI
メインビジュアル

今回は「Yahoo! デベロッパーネットワーク」で公開されている「テキスト解析WebAPI」とEAIツール「DataSpider」を連携させてみました。

このテキスト解析WebAPIなのですが、以下のような機能を備えています。

日本語形態素解析

日本語文を形態素に分割し、品詞、読みがなの付与、統計情報を取得

かな漢字変換

ローマ字、ひらがなの文を文節に区切り、変換候補を提示

ルビ振り

漢字かな交じり文に、ひらがなとローマ字のふりがな(ルビ)を付与

校正支援

日本語文の校正作業を支援。文字の入力ミスや言葉の誤用がないか、わかりにくい表記や不適切な表現が使われていないかなどをチェック

日本語係り受け解析

日本語文の係り受け関係を解析する

キーフレーズ抽出

日本語文を解析し、特徴的な表現(キーフレーズ)を抽出

自然言語理解

日本語文を解析し、情報を抽出

Yahoo! デベロッパーネットワークより

日本語文字列を機械的に処理したいときには、とても役立ちそうですね。

身の回りの業務で使えるものがないか考えてみたところ・・・ 「キーフレーズ抽出」を使って、お客様が回答したセミナーアンケートの内容から重要なキーワードを 効率的にキャッチアップできるのでは?と思いたちました。

Webの入力フォームの情報をWebAPI連携

今回の連携処理イメージをご紹介します。

DataSpider処理イメージ

まず、セミナーに参加されたお客様がWebのアンケート回答フォームよりセミナーアンケートに回答します。回答結果は、送信されたタイミングでDataSpiderにHTTPリクエストとして投げられ、入力内容が連携されます。

DataSpiderは入力内容をWebAPIに連携してテキスト解析結果を受け取り、キーフレーズをCSVファイルとして出力します。

HTTPリクエストを受け付けたタイミングでDataSpiderの連携処理を自動実行するには、「HTTPトリガー」を利用します。
HTTPトリガーは特定のURLに対するHTTPリクエストを検知し、任意の連携処理を自動実行することのできる仕組みです。今回はWeb画面から入力した内容を送信するボタンにDataSpider起動用URLを仕込んでおくことにより回答者がアンケートを送信したタイミングで処理を自動実行することが可能になります。


複雑なWebAPI呼び出し開発もGUI画面でサクサク設計!

今回の処理内容をDataSpiderで作った時のフロー図です。この中でStartアイコンの次に配置されている「キーフレーズ抽出API実行」アイコンにてWebAPIへのリクエスト、レスポンス受け取りを行っています。

DataSpiderのRESTアダプタを用いAPIに対してGETしています。リクエスト時に必要なURLとパラメータを設定しxml形式でレスポンスを受け取ります。

あとは、xml型のレスポンスをマッピングのアイコンを用いてCSV形式に変換して完了です。

え?これだけで終わり?

と思うかもしれませんが、本当に設定はこれだけです。

キーフレーズの抽出結果はいかに

今回はフリー回答欄に以下の文章を記載して、どんなキーワードが抽出されるのか試してみました。

右側が抽出結果です。ワード重要度については、先頭フレーズのスコアを100と見立てたとき、相対的な重要度に応じて 100以下の値を割り当てる機能で、API側で自動算出しています。

Salesforceというメインのキーフレーズと、連携イメージや使い方、参考といったようなお客様の要望のキーとなる単語を抽出できていることが確認できました。

今回は私が記載したデモ回答なのでうまいこと単語を抽出できましたが、実用レベルなのかについては細かく検証してみる必要はありそうです。

しかし、アンケートの量が多い時には、全部の回答に目を通す前にテキスト解析結果に目を通しておくことで傾向が把握できそうですね!

最後に

今回作成した処理と同じものをWebAPIの仕様書を元に作成しようとすると、WebAPI呼び出しのコードを解釈することから始める必要があり、開発にはとても時間が掛かってしまうでしょう。
プログラムの完成度についても、開発者のプログラミングスキルに大きく依存します。

その点、DataSpiderなら、WebAPIを呼び出す時のURLやパラメータ仕様、レスポンス時の形式さえ分かってしまえばすぐにでも開発に取り組めます。GUIの専用開発画面での設計でプログラミングスキルに依存しない高品質の処理開発を可能とします。

前回ご紹介した天気予報のWebサービスに連携してデータを取得してみた(→記事はこちら)とき同様、公開されているAPI仕様を元に、簡単に処理開発ができることを確認いただけたと思います。 みなさまもぜひ便利なAPIと業務データをEAIツールで繋ぎ活用されてみてはいかがでしょうか。

ページトップへ戻る