OutSystemsアプリケーションでOutSystems.AI Languages Analysisコンポーネントを使用する
OutSystems.AI Language Analysisコンポーネントを使用すると、キーフレーズ検出、感情分析、言語検出といった様々なテキスト分析操作を実行できます。
また、このコンポーネントには互いに依存しないブロックとサーバーアクションが含まれます。ブロック内にあるデフォルトのUIを、機能で利用することができます。また、特定のUIでロジック内のサーバーアクションを使用することもできます。
OutSystems.AI Language Analysisには2つのバージョンがあります。
前提条件
-
Microsoft Azureアカウントを作成します。
-
テキスト分析サービス、Bingスペルチェック、音声テキスト変換用のリソースを作成します。各リソースを作成するとき、これらがすべて同じグループになるように[Resource Group]フィールドを指定します(既存のグループでも新しいグループでも構いません)。
-
OutSystems.AI Language Analysisおよびその依存関係をForgeからダウンロードし、環境にパブリッシュします。
-
Service Centerで、コンポーネントの依存関係に移動し、AzureCognitiveServicesConnectorをクリックして[Site Properties]タブにアクセスし、OcpApimSubscriptionKey_TextAnalyticsAPI、OcpApimSubscriptionKey_SpellCheckAPI、OcpApimSubscriptionKey_SpeechAPIのサブスクリプションキーを入力します。これらのキーは、Azure Portalの手順2で作成した各リソースの[Keys]タブで確認できます。各リソースのタブに表示される2つのキーのどちらも使用できます。
-
引き続き、Service CenterのAzureCognitiveServicesConnectorプロパティの[Integrations]タブに切り替え、TextAnalyticsAPI、SpellCheckAPI、SpeechAPIの[Effective URL]フィールドにエンドポイントの情報を入力します。これらの情報は、Azure Portalの手順2で作成した各リソースの[Overview]タブで確認できます。保存する前に、貼り付けたエンドポイントのバージョン番号(例: /v2.1)を削除します。
キーフレーズ検出
KeyPhrasesHighlightブロックを画面にドラッグ&ドロップし、2つの必須入力パラメータを入力します。
- Text – キーフレーズ検出で分析するテキスト
- Language – ISO 639-1標準の言語コードに従った、言語を表す2文字のコード
検出の結果は、検出されたキーフレーズのスタイルを背景色が黄色の太字に変更することによって示されます。GetKeyPhrasesInTextアクションは、Azure Cognitive Services Connectorのテキスト分析API KeyPhrasesアクションを使用してテキストを分析します。
このサーバーアクションを使用するには、GetKeyPhrasesInTextをフローにドラッグして入力パラメータに入力をします。
感情分析
-
SentimentDetectionブロックを画面にドラッグ&ドロップします。このブロックには3つのプレースホルダと、感情検出を実行するアクション(DetectSentimentInTextサーバーアクション)が含まれます。
-
これらのプレースホルダを(アイコンや画像などを使用して)カスタマイズし、テキストの感情検出の結果を表示します。
各プレースホルダは、次のような0%~100%の間隔尺度に関連付けられています。
- ネガティブ: 0% – 39%
- 中立: 40% – 69%
- ポジティブ: 70% – 100%
パーセンテージは検出された感情のスコアを示し、テキストの感情が間隔尺度のどの位置にあるかを示します。デフォルトでは、以下の絵文字がテキストの感情を示します。
DetectSentimentInTextサーバーアクションには、ブロックと同じ入力パラメータが必要です。これは、テキストから検出された感情のスコアを表すDecimal値を返します。間隔尺度はユースケースに応じて変更することができます。
言語検出
GetLanguageFromTextサーバーアクションはテキストを入力パラメータとして受け取り、そのテキストで検出された言語コードを取得します。返されるコードはISO 639-1標準に従った2文字のコードです。
スペルチェック
現在、リアクティブアプリではスペルチェックを利用できません。対応中です。
スペルチェック機能にはブロックとサーバーアクションが含まれます。
- SpellCheckブロックをアプリケーションの画面にドラッグします。
- [TextArea]プレースホルダで、Inputウィジェットをドラッグして変数にバインドします。
SpellCheckブロックには、テキストを分析し、検出されたエラーに対する提案を取得するサーバー側のロジックが含まれます。また、エラーを強調表示し、エンドユーザーが対応方法を選択できるようにするクライアント側のロジックも含まれます。
エンドユーザーは提案を選択することも、無視することもできます。同じエラーが繰り返されている場合、エンドユーザーが提案を無視すると、それ以降、その用語は強調表示されなくなります。
また、ブロックを使用せずにRunSpellCheckerサーバーアクションをそのまま使用することもできます。サーバーアクションをロジックフローにドラッグし、必須の入力パラメータに入力をします。出力ストラクチャを受け取った後に、フローに追加ロジックを追加できます。
音声テキスト変換
音声テキスト変換機能は音声ファイルを受け取り、その入力を文字起こししたものを出力します。この機能にはSpeechToTextサーバーアクションが含まれます。このサーバーアクションは、以下の入力パラメータを受け取ります。
-
Audio File - 文字起こしの対象となるファイル。URLまたはバイナリファイルを指定できます。ファイルの内容は短い発話である必要があります(具体的には、音声ファイル全体の長さが15秒未満、かつ実際の録音内容が10秒のみである必要があります)。
-
Audio Format - 送信されるファイルの形式。バイナリファイルの場合、この入力パラメータが必須です。サポートされる音声形式はWAVおよびOGGです。
-
Language Code - 音声ファイルの言語。サポートされる言語コードのリストをご覧ください。
-
Profanity - 変換結果内の卑猥な言葉の処理方法を指定する条件。使用可能な値は、卑猥な言葉をアスタリスクに置き換えるmasked、卑猥な言葉を変換結果からすべて削除するremoved、卑猥な言葉を変換結果に含めるrawです。デフォルト設定はmaskedです。
SpeechToTextサーバーアクションの出力パラメータは、信頼スコアが最も高い変換結果を文字起こししたものとなります。
翻訳
テキストや単語を翻訳するには、OutSystems.AI Language AnalysisのGetTextTranslationおよびGetAlternativeTranslationsサーバーアクションを使用します。
テキストを翻訳する
テキストを翻訳するには、GetTextTranslationサーバーアクションを使用します。このアクションには以下の入力パラメータがあります。
- Text - 翻訳するソーステキスト。
- FromLanguageCode - ソース言語のISO 639-1コード。
- ToLanguageCode - ターゲット言語のISO 639-1コード。
出力パラメータは以下のとおりです。
- TranslatedText - ソーステキストの翻訳。
- LanguageCode - ソース言語のISO 639-1コード。
- Confidence - 識別された言語の信頼度(%)。FromLanguageCodeを指定しなかった場合、コンポーネントが言語を自動的に識別します。
単語を翻訳する
単語を翻訳するには、GetAlternativeTranslationsサーバーアクションを使用します。このアクションには以下の入力パラメータがあります。
- Text - 翻訳対象のソース単語。
- FromLanguageCode - ソース言語のISO 639-1コード。
- ToLanguageCode - ターゲット言語のISO 639-1コード。
出力パラメータは以下のとおりです。
- AlternativeTranslations - ターゲット言語の音声、逆翻訳、代替翻訳の一部を含むリスト。一部の慣用句も含まれます。
エンティティ検出
EntitiesHighlightブロックを画面にドラッグ&ドロップし、2つの必須入力パラメータを入力します。
- Text – キーフレーズ検出をするテキスト
- LanguageCode – ISO 639-1標準の言語コードに従った、言語を表す2文字のコード
検出されたセグメントは下線付きのテキストとして表示されます。下線の色は、テキストから抽出されたエンティティのタイプに対応します。エンティティの上にマウスポインタを重ねると、そのタイプが表示されます。
このサーバーアクションを使用するには、GetEntitiesInTextアクションをフローにドラッグして入力パラメータを入力をします。
GetEntitiesInTextアクションは、Azure Cognitive Services Connectorのテキスト分析APIエンティティアクションを使用してテキストを分析します。
例外処理
UIブロックのアクション中に発生しうる例外は、例外発生時にフィードバックメッセージを表示することにより直接処理されます。そのため、コンポーネント内のサーバーアクションで発生した例外は、すべて処理する必要があります。