https://a.storyblok.com/f/270183/36015/3a7582a9a3/social_sentiment-analysis_voice_1200x627-1.png

Amazon Comprehendを使用したPHPによるマルチチャンネル・トーン分析

最終更新日 May 4, 2021

所要時間:1 分

この投稿では AWS Lambda関数を更新します。 RDS.この例の目的は Amazon Comprehendを使用して、チャンネルごとに会話全体のトーン分析を取得し、その結果を RDSMySQL データベースインスタンスに追加することです。

参照 を参照してください。および を参照してください。を参照してください。

前提条件

セットアップ方法

コードをデプロイした状態で、nexmo-community/aws-voice-transcription-rds-callback-phpコードをデプロイした状態で、以下の方法で index.phpファイルを更新する必要があります:

  • AWS Comprehendのimport文を、他のimportと一緒にファイルの先頭に追加する。

use Aws\Comprehend\ComprehendClient;
  • 54行目から62行目まで $conn-insert()内容を更新して sentimentフィールドを追加する。

$conn->insert('transcriptions', [
    'conversation_uuid' => $conversation_uuid,
    'channel' => ($channel['channel_label'] == 'ch_0' ? 'caller' : 'recipient'),
    'start_time' => $startTime,
    'end_time' => $endTime,
    'content' => $item['alternatives'][0]['content'],
    'sentiment' => serialize(getSentiment($conversation['content'])->toArray()),
    'created' => $record_date,
    'modified' => $record_date
]);
  • 次の関数をファイルの最後に追加する。 sentimentを追加します。

function getSentiment(string $content) : Aws\Result {

    $comprehendClient = new ComprehendClient([
        'region' => $_ENV['AWS_REGION'],
        'version' => $_ENV['AWS_VERSION'],
    ]);

    return $comprehendClient->detectSentiment([
        'LanguageCode' => 'en',
        'Text' => $content,
    ]);
}
  • のテーブルを更新する。 conversationsテーブルを更新する。 RDS前の投稿で作成したデータベースのテーブルを更新する。 sentimentの内容を追加します。

USE `voice_transcriptions`;

ALTER TABLE `conversations` ADD COLUMN `sentiment` TEXT AFTER `content`

ラムダへのデプロイ

以上のアップデートが成功したら、次は Serverlessを使ってアプリを AWS Lambda.

serverless deploy

準備完了

アプリがアップデートされ、今後は会話内容にトーン分析が含まれるようになります。

次のステップ

何か質問があったり、問題が発生した場合は、以下までご連絡ください。 までご連絡ください。までご連絡ください。 NexmoコミュニティSlackチームにお問い合わせください。幸運を祈る。

シェア:

https://a.storyblok.com/f/270183/384x384/b3c7ffaf85/adamculp.png
Adam Culpヴォネージの卒業生

アダムは開発者兼コンサルタントで、ウルトラランニング、ブログ、そして指導と支援への飽くなき欲求を持ちながら、他の人々が素晴らしいことを成し遂げるためにテクノロジーを手なずけるのを助けることを楽しんでいる。