はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Azure CognitiveServices TextAnalyticsでテキスト要約を試してみる

Microsoft Build 2022が日本時間の2022/05/25 00:15から始まりました。
そのオープニングセッションでサティアCEOが話している内容で「~テキスト要約して~」と話しているところがありました。
Cognitive Servicesでテキスト要約とかできたんだっけ?と思ったので調べてみたらできるみたいですね。

Azure側の準備

Azureマーケットプレイスから探す

リソースを作成するで「TextAnalytics」と検索するとマーケットプレイスからMicrosoftが提供している「テキスト分析」を検索できます。

リソースを作成する


[作成]をクリックすると「追加機能の選択」に移動します。URL直指定だといきなり「追加機能の選択」に飛べます。

追加機能の選択


もしURL直でここまで行きたい場合は、次のURLからも作成を開始できます。
https://portal.azure.com/#create/Microsoft.CognitiveServicesTextAnalytics
検索で似たようなものから探すよりもURL直の方が確実なので好きです。
「テキスト要約」は基本機能にあるので、特に追加機能は選ばずに進めましょう。

TextAnalytics の作成


日本リージョンも選べますし、無料プラン(月上限5000呼び出し)もありますね。
「法的条項」や「責任ある AI 通知」にもチェックをいれて[確認と作成]クリックして検証が通ったら、[作成]をクリックと進んでいきましょう。

Language Studioで試す

Azure側でテキスト要約のリソース(API)の準備ができたので、次はクライアント側というのが従来のステップになりますが、最近のAzureではAPIを試す機能も充実しています。
テキスト要約も「Language Studio」で手軽に試すことができます。
https://language.cognitive.azure.com/home

試すリソースを指定

Language Studioにアクセスするとどのリソースで実行するかの聞かれますので、サブスクリプションやリソース名などを指定します。

Summarize textをTry it outする


翻訳がされていないツールなので「テキスト要約」を試すためには、「Summarize text」のトライを選びます。
UIは日本語化されていませんが、もちろん、対象言語として日本語もサポートしています。

日本語文章を要約する

現在開催されているMicrosoft Build 2022のBook of NewsにあるAzureAIの説明を要約してみましょう。
news.microsoft.com
テキスト要約は5000文字まで1度に要約できますので、要約の効果がわかりやすいように1000文字以上は対象テキストとしてみましょう。

入力データを設定したら、少し下にスクロールして[Run]をクリックします。

要約を確認する

実行結果は、人が見やすいように成形されたResultと、APIからの戻り値であるJSONの2つの形式で表示されます。
まずは、ResultのSummaryを確認してみます。

結果は約220文字となり、元の文章が約1200文字でしたので、元の文章の約20%に要約されています。
Original text欄を見ると文章のどこの文をチョイスして要約したかが分かりやすく表示されています。

これをみると1文の中を要約してというよりも、全体の中からキーとなる文をランク付けして上位(今回は)3つ選んで要約結果としているようです。

APIの戻り値を確認する

実行結果をJSON形式で確認してみましょう。

結果はsentencesというJSON配列に返却されます。今回は3つにしているので配列要素は最大で3つになります。
sentencesの各要素は「text」「rankscore」「offset」「length」となっており、それぞれ「該当文」「重要度スコア(0~1)」「文先頭からの位置」「文字数」となります。

まとめ

最近のAzureは、アプリ作らなくても確認するためのページが用意されていて、すぐにAPIの動作確認ができるのがとても良いですね。
1文の中まで要約はしてくれないので、なんとなく日本人が考える「要約」というイメージと若干差異があるかもしれませんが、長文の中から重要なセンテンス3文を探してきてくれると考えると使い道はいろいろ広がりますね。