今回はいよいよ、「Yahoo! テキスト解析API キーフレーズ抽出」を実行してその結果を見てみたいと思います。
使い方
キーフレーズ抽出APIの公式サイトは以下です。http://developer.yahoo.co.jp/webapi/jlp/keyphrase/v1/extract.html
ヤフーの良い所は、公式ドキュメントが日本語で整っていることですね。
GoogleやFaceBook、Twitterなどは英語しか無いのでどうやって使えば良いのか、仕様を読み取るだけでも一苦労です。
そのような解読が難しいAPIであれば、APIのパラメータ指定方法等についてもこのブログで解説する所ですが、
ヤフーの場合は不要でしょう。
公式サイトを見た方が分かりやすいと思います。
というわけで、前回作ったリクエスト送信機能を使って、早速レスポンス結果をチェックしてみます。
テスト送信
最初にテストとして流すのは、「私は株式会社ジェニシス、技術開発事業部の遠藤 太志郎です。」
この一文を実行してみます。
すると以下のようなXMLのレスポンスが返ってきました。
このAPIでは「xml」「json」「PHP Serialize」の3パターンでレスポンスを取得出来ますが、特に指定が無ければXMLの形で帰ってきます。
ヤフー側で文章を単語毎に分割して、抽出した単語をKeyphraseタグ、その重要度をScoreタグで表現してくれています。
この結果を読みやすいようにリスト化した結果が、以下のようになりました。
順位 | キーフレーズ | 重要度 |
---|---|---|
1 | 太志郎 | 100 |
2 | 株式会社ジェニシス | 81 |
3 | 技術開発事業部 | 51 |
4 | 遠藤 | 45 |
5 | 私 | 10 |
なるほどなるほど。
ちゃんと『日本語の単語』毎に分割してくれていますね。
この辺りの正確さがヤフーの「日本語形態素解析」の技術力なのです。
このケースだと、私の名前「太志郎」が重要度TOPに輝くことになりました。
検証:単語のレア度
上記の結果では私の名前「太志郎」が重要度TOPになりました。しかし、自分で言うのも何ですが、私の「太志郎」という名前は珍しい名前だと思います。
同じ名前の人に会ったこと無いですし、ネットで検索しても余り出てきません。
では、名前がありふれた名前だったら?
そこで、次に以下の文章を流してみます。
「私は株式会社ジェニシス、技術開発事業部の遠藤 太郎です。」
「太郎」という日本一普通な名前にして実行してみたところ、以下のようになりました。
順位 | キーフレーズ | 重要度 |
---|---|---|
1 | 株式会社ジェニシス | 100 |
2 | 技術開発事業部 | 62 |
3 | 遠藤 | 55 |
4 | 太郎 | 48 |
5 | 私 | 13 |
何と、太郎さんは一気に4位まで転落してしまいました。
この結果から考察すると、このWebAPIには以下の傾向があると推察されます。
単語毎に「レア度判定」があり、レアな単語ほどポイントが高い。
検証:長文解析
次に、短い一文を流すのではなく、長文の解析を行います。このAPIは一度のリクエストサイズは「100KBまで」という制限があります。
この為、大量情報を一気に解析することは出来ませんが、短い小説くらいなら耐えられます。
そこで、サンプルとして、青空文庫より芥川龍之介の羅生門を拝借してきました。
比較的短めのストーリーで、知名度も高く、サンプルとしては向いていると思います。
その結果がこちら。
全部掲載するのは冗長である為、ベスト5だけ掲載します。
順位 | キーフレーズ | 重要度 |
---|---|---|
1 | 下人 | 100 |
2 | 老婆 | 71 |
3 | 面皰(にきび) | 64 |
4 | 羅生門 | 64 |
5 | 雨やみ | 61 |
なるほど。
まさに「羅生門」な結果になりました。
羅生門における重要フレーズを見事に突いていると思います。
「何の小説を解析した結果でしょう?」というクイズに使えそうなくらいの正確さであると思います。
次にもう一つ、同じく青空文庫より白雪姫を解析してみます。
サイズオーバーしたので少し文章を削りましたが、その結果がこちら。
順位 | キーフレーズ | 重要度 | 登場回数 |
---|---|---|---|
1 | おまえさん | 100 | 10 |
2 | 白雪姫 | 79 | 50 |
3 | こくたん | 67 | 4 |
4 | まま母 | 67 | 5 |
5 | 小人 | 63 | 52 |
TOPは「おまえさん」ですか。。。
これはちょっとハズレな気がしますね。
それぞれの単語の登場回数もカウントしましたが、余り順位との相関関係が見られません。
「文章中にその単語が何回使われているか」も重要度を決定する上では考慮されている可能性もありますが、それだけではないのは確実です。
上記で考察した「レア度」など、複数の要素でポイントを算出しているようです。
そして注目しなければならないのは、この表に「リンゴ」がありませんね。
ベスト5のみならず、ベスト20にも入っていません。
白雪姫のストーリー上、「毒リンゴ」は最重要キーワードなはずですが、カスリもしないという結果になりました。
つまり、
単語を解析する機能であって、ストーリー上の重要性は考慮されない。
ということです。
やはりストーリー性までをアルゴリズム化することは不可能なようです。
「そりゃそうだろう」という結果ですが、利用者はちゃんと認識しておかなければならない要素です。
利用方法検討
以上の検証により、「Yahoo! テキスト解析API キーフレーズ」の傾向が分かってきました。- 特徴的な単語を抽出することが可能である。
- 特徴的な単語を抽出する機能であって、重要な単語を抽出する機能ではない。
- フリーの長文を解析することが可能である。
これらを総合すると、「フリーの長文を読み込ませて特徴的な単語を抽出し、その中で何が重要であるかは人間が見て判断する」という用途に役立てることが出来そうです。
現実の業務でどのようなタイミングで使用出来るかと考えると、アンケート解析に使えそうです。
「その他、ご自由にお書き下さい」とか、アンケートにはフリー項目の欄が設けられていることも多いです。
もちろん、それらは担当者の人が実際に読んで、大事な部分を読み取る作業が必要不可欠です。
その作業を完全に自動化することは不可能ですが、補助ツールとしては利用価値があるのではないでしょうか?
終わりに
最後にもう一つ、テキストを読み込ませてみたいと思います。わが社の公式ホームページに掲載されている、「社長からのご挨拶」。
http://www.genesis-net.co.jp/company/message.html
これをキーフレーズ抽出します!!
結果は以下でした。
順位 | キーフレーズ | 重要度 |
---|---|---|
1 | ジェニシス | 100 |
2 | 最先端 | 56 |
3 | フィードバック | 49 |
4 | 新大陸 | 45 |
5 | 輝かしい財産 | 43 |
この解析結果の評価につきましては、一社員である私はコメントを差し控え、読者である皆様各自にてご判断頂きたく思います。
0 件のコメント:
コメントを投稿