Amazon Connect の通話記録を良い感じに 文字起こしする

r3_yamauchi
R3 Cloud Journey
Published in
7 min readFeb 6, 2020

JAWS-UG Osaka の勉強会「知ってると役立つ、AWSちょいテク祭り」が行われ、「Amazon Connect の通話音声を良い感じに Transcribe する」という内容で LT をさせていただきました。

先般からの新型コロナウイルスの影響もあり、ゆっくりお話しすることが出来なかったのですが、資料はこちらにアップしてあります。ご不明な点などあればお知らせください。ここでは当日触れられなかった点を中心に全体的に補足させていただきます。

Amazon Connect は クラウドベースでコンタクトセンターを構築できるサービスで、AWSの歴史の中で最も急速に成長しているサービスの一つです。(AWS re:Invent 2019 — Andy Jassy による基調講演より)

コンタクトセンターだけでなく、会社の代表電話を Amazon Connect に置き換えた事例 もあります。Amazon Connect を使えば電話を可視化することができます。さらに AWSの他のサービスや kintone, Salesforce と連携させることにより CRM を新しい次元へ進めることができます。

Amazon Connect の通話記録を Amazon Transcribe を使用して文字起こしする構成図
Amazon Connect の通話記録を Amazon Transcribe を使用して文字起こしする構成図

kintone に埋め込んだ Amazon Connect のソフトフォン( 問い合わせコントロールパネル、CCP)から電話をかけると「コンタクトID」が発行されます。Amazon Connect で通話の内容を終話後に S3 に保存するよう設定すると /年/月/日/[コンタクトID]_[時刻].wav というパスで保存されるため、コンタクトIDで紐付けることができます。

現状、Amazon Connect が録音ファイルを S3に出力し終えたということを通知してくれるインターフェースがないようなので、S3イベントでファイルの作成を検出して Lambda を起動しています。Amazon Connect が Amazon EventBridge をサポートしてくれたら EventBridge を介して後続処理を行うようにできるかもしれません。

Amazon TranscribeAmazon EventBridge をサポートしているので文字起こしが完了したというイベントを EventBridge で受け取ることができます。文字起こしには概ね対象の音声(通話時間)と同程度の時間を要しますので、文字起こしが行われている間に他の作業を行えるようにし、完了したら通知して文字起こし結果を表示するようにします。

Contact Lens for Amazon Connect (Preview) https://www.youtube.com/watch?v=uC2jIRm0eAM&t=7555s
Contact Lens for Amazon Connect (Preview) https://www.youtube.com/watch?v=uC2jIRm0eAM&t=7555s

Contact Lens for Amazon Connect (Preview)昨年の re:Invent 基調講演で Andy Jassy が発表した新しい機能で、これまでに提供されてきた各サービス(ビルディングブロック)をより高いレベルで統合し、簡単に使用できるようにしています。

問い合わせの自動分類やテーマ検出、可視化といった新しい次元の機能もアナウンスされていますが、日本語で使用できるようになるにはもう少し時間がかかると思われます。

カスタム語彙 (vocabulary) を kintone上で編集し、アップロードできるようにする
カスタム語彙 (vocabulary) を kintone上で編集し、アップロードできるようにする

Amazon Transcribeカスタム語彙 (vocabulary) をメンテナンスするために、エンジニアでもない方にテキストファイルを作成して AWSマネージメントコンソール画面を操作していただく というのは無理があります。
かと言って、カスタム語彙 (vocabulary) をメンテナンスするためだけに専用の Webシステムを作るというのも Undifferentiated Heavy Lifting (付加価値を生まず、他との差別化につながらない重労働)であり、昨今許容できるものではありません。普段お使いになっているシステムへ “簡単に” 統合できる必要があります。gusuku Customine はプログラミングの必要なく kintone をカスタマイズして様々な価値ある機能を組み込むことができます。

kintone に AWS Lambda関数を実行するボタンを付ける
kintone に AWS Lambda関数を実行するボタンを付ける

例えば「文字起こしをやり直す」ボタンを付ける場合、コンタクトIDを指定して Lambda 関数を呼び出す機能が必要です。Amazon Connect が保存した音声を kintone上で聞きたい場合、Lambda 関数で S3の署名付きURLを生成・返却し、受け取った URLのファイルを再生する機能を実装する必要があります。gusuku Customine を使用すれば、あらかじめ用意されたパーツ(条件・やること)を組み合わせていくだけで やりたいことを実現できます。現状は呼び出し先の Lambda関数は自分で用意してやる必要がありますが、Serverless Application Repository を活用するといった方法で自らプログラムを書かなくても対応できるようになります。

gusuku Customine は Amazon Connect を積極的にサポートしています。

以下の条件・やることを組み合わせれば kintone と Amazon Connect を統合することができます。

・Amazon Connect で電話がかかってきた時
・Amazon Connect で通話を開始した時
・Amazon Connect で通話を終了した時

・Amazon Connect コントロールパネル(CCP)をスペースに表示する
・Amazon Connect で電話をかける
・Amazon Connect で着信した電話番号を取得する
・Amazon Connect で着信の問合せ属性を取得する

Amazon Transcribe は汎用的な文字起こしサービスですが、活かせるシチュエーション、使い方を見極める必要があります。工夫できる点は工夫し賢く使っていければと思います。

--

--

r3_yamauchi
R3 Cloud Journey

アールスリーインスティテュートで、これまでになかった画期的な kintoneカスタマイズサービス gusuku Customine(カスタマイン) を開発しています。kintone認定アプリデザイン/カスタマイズ スペシャリスト