Skip to main content

 

 

 

 
Language:

 

 
Service Studioバージョン :
 
 
OutSystems

OutSystemsアプリでAI Language Analysisコンポーネントを使用する

OutSystems.AI Language Analysisコンポーネントを使用すると、キーフレーズの検出、感情分析の算出、翻訳、音声からの文字起こし、スペルチェックを行うことができます。

OutSystems.AI Language Analysisには、互いに依存しないブロックとサーバーアクションが含まれます。デフォルトのUIフォームであるブロックを使用するか、サーバーアクションを使用してカスタムUIを作成することができます。

前提条件

Language Analysisコンポーネントを使用するには、以下の要件を満たしている必要があります。

Azureから設定を取得する

コンポーネントを構成するには、Azureの各コンポーネントの設定が必要です。手順を以下に示します。

  1. Azureで各サービスを開き、[Keys and Endpoint]に移動します。
  2. キーの値をコピーします。[KEY 1]または[KEY 2]のいずれかの値を使用できます。
  3. ENDPOINT]をメモに取ります。
  4. LOCATION]をメモに取ります。

Azureの設定

Language Analysisコンポーネントを構成する

Azureリソースの設定を使用して、Service Centerでモジュールを構成します。

  1. Service Centerで、[Factory > Modules]に移動します。

  2. [Name]フィールドに「AzureCognitiveServicesConnector」と入力して、[Filter]をクリックします。結果にコネクタ名が表示されます。

  3. 結果で[AzureCognitiveServicesConnector]をクリックして、モジュールの構成画面を開きます。

  4. Site Properties]タブに移動します。OcpApimSubscriptionで始まるプロパティをクリックして設定を開き、対応するサービスのAzureのキーの値を[Effective Value]に貼り付けます。たとえば、テキスト分析APIを使用するようにコンポーネントを設定する場合は、OcpApimSubscriptionKey_TextAnalyticsAPIを編集します。

    Language Analysisに関するService Centerの設定

  5. Azureのwestusの場所を使用する場合、この手順は省略します。Azureの別の場所を使用する場合は、APIのURLを編集する必要があります。

    • Integrations]タブをクリックして続行します。[Consumed REST APIs]セクションまでスクロールし、Azureサービスに対応するプロパティ名をクリックして、[Effective URL]に新しい値を入力します。

    • TextAnalyticsAPISpellCheckAPISpeechAPIの[Effective URL]フィールドに、該当するAzureの[ENDPOINT]の値を入力します。保存する前に、[ENDPOINT]の値のバージョン番号(/v2.1など)を削除します。

Language Analysisの機能

Language Analysisコンポーネントでは、以下を行うことができます。

キーフレーズ検出

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文字のコードです。

言語検出のブロックとパラメータ

スペルチェック

現在、リアクティブアプリではスペルチェックを使用できません。担当チームが対応しています。

スペルチェック機能にはブロックとサーバーアクションが含まれます。

  1. SpellCheckブロックをアプリケーションの画面にドラッグします。
  2. TextArea]プレースホルダで、Inputウィジェットをドラッグして変数にバインドします。

Spellcheckブロック

SpellCheckブロックには、テキストを分析し、検出されたエラーに対する提案を取得するサーバー側のロジックが含まれます。また、エラーを強調表示し、エンドユーザーが対応方法を選択できるようにするクライアント側のロジックも含まれます。

ユーザーは提案を選択することも、無視することもできます。提案は、一度無視すると表示されなくなります。

スペルチェックの動作

また、ブロックを使用せずにRunSpellCheckerサーバーアクションのみを使用することもできます。サーバーアクションをロジックフローにドラッグし、入力パラメータを入力します。出力ストラクチャを受け取った後に、フローにロジックを追加します。

音声テキスト変換

音声テキスト変換機能は音声ファイルを受け取り、文字起こししたものを出力します。この機能はSpeechToTextサーバーアクションを使用します。このサーバーアクションは、以下の入力パラメータを受け取ります。

  • Audio File - 文字起こしの対象となる入力ファイル。URLまたはバイナリファイルを指定できます。ファイルの内容は短い発話である必要があります(音声ファイル全体の長さが15秒未満、かつ実際の録音内容が10秒のみである必要があります)。

  • Audio Format - 入力音声ファイルの形式。バイナリファイルの場合は必須です。サポートされる音声形式はWAVおよびOGGです。形式の詳細については、Microsoftの「Speech-to-text REST API」をご覧ください。

  • Language Code - 音声ファイルの言語。サポートされる言語コードのリストをご覧ください。

  • Profanity - 変換結果内の卑猥な言葉の処理方法を指定する条件。使用可能な値は、卑猥な言葉をアスタリスクに置き換えるmasked(デフォルト)、卑猥な言葉を変換結果からすべて削除するremoved、卑猥な言葉を変換結果に含めるrawです。

音声テキスト変換のサーバーアクション

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ブロックのアクション中に例外が発生すると、フィードバックメッセージが表示されます。そのため、コンポーネント内のサーバーアクションで発生した例外は、すべて処理する必要があります。

参照

Language Analysisのブロックとアクションは、Service Studioの以下の場所にあります。

  • アクション: Logic\Server Actions\LanguageAnalysisReactive
  • ブロック: Interface\UI Flows\LanguageAnalysisReactive

コンポーネントの機能の概要とそのベースとなるAzure APIを以下に示します。

機能 アクション ブロック Azure APIタイプ
キーフレーズ検出 GetKeyPhrasesInText TextAnalysis\KeyPhrasesHighlight テキスト分析
感情検出 DetectSentimentInText TextAnalysis\SentimentDetection テキスト分析
エンティティ検出 EntitiesHighlight TextAnalysis\GetEntitiesInText テキスト分析
スペルチェック RunSpellChecker 該当なし Bingスペルチェック
翻訳 GetTextTranslation 該当なし 翻訳ツール

従来のWebアプリ向けLanguage Analysis

従来のWebアプリ向けOutSystems.AI Language Analysisは、Forgeで入手できます。

  • Was this article helpful?