Amazon Web Services ブログ

Category: Artificial Intelligence

クライアントの API を使用して、Amazon Lex のセッション状態を管理する

対話をサポートするためボットを構築しようとした人なら、会話の流れの管理がいかに難しいかを理解できるでしょう。リアルなユーザー (明らかにスクリプトをリハーサルしていないユーザー) の会話は、途中で本題からそれることがあります。リアルなユーザーは今話しているトピックに関連した質問することもあれば、まったく新しい会話を始めることもあります。自然な会話は動的であり、複数のトピックを扱うことがほとんどです。 この投稿では API を使用して、新しいインテントへの切り替えや以前のインテントへの復帰を含む会話のフローを管理する方法を見ていきます。次のスクリーンショットは、リアルなユーザーと人間のカスタマーサービスエージェントの会話の例を示しています。 上記の例の残高に関するユーザークエリ (「ちょっと待って。カードの残高合計はいくら?」) は、支払いという本題から逸脱しています。私たちはトピックを簡単に変更します。しかしボットは会話の脱線が発生したときにその会話状況を保存し、違う質問に答えてから、元のインテントに戻って、ユーザーに本題を思い出させる必要があります。 この例で言えば、ユーザーがカードで支払いをしたいことをボットは覚えておかなければなりません。支払いについてのデータを保存した後、コンテキストを切り替えて、同じカードの合計残高の情報を引き出しています。ユーザーに応答した後、支払いを続けます。この会話を 2 つの部分に分けるには、次のように行います。 図 2: 会話の脱線と再開 美味しそうな例を考えてみましょう。「フライドポテトも付いていますか?」と何回言ったかを考慮し、その後の会話を想像してみてください。 よく構成されたボットは、会話の脱線を検出できます。Lambda 関数を使用してサーバー側でインテントを切り替えたり、Amazon ElastiCache または Amazon DynamoDB で会話状態を維持したり、事前に入力されたスロットと新しいプロンプトで以前のインテントに戻ることができます。現在では、これらすべてを行うことが可能です。しかし実際のボットではコードを作成し管理する必要があります。これは天気をチェックするといったような簡単な作業ではありません。(ここで天気ボットを悪く言っているのではなく、正しい都市を見つけるだけなのに私の会話がそれて行ってしまうんです。) それで、何が言いたいの? 今日からは、新しいセッション状態 API を使用して、この種の脱線や他にもおもしろそうなリダイレクトに対処する Amazon Lex ボットを構築できます。この API を使用すると、クライアントアプリケーションから直接 Amazon Lex ボットとのセッションを管理し、会話フローをきめ細かく制御できます。 この投稿での会話の実装には、GetSession API 呼び出しを Amazon Lex に発行して、会話の前のインテント履歴を取得します。その後、PutSession オペレーションを使用して、正しいインテントを使用するようにダイアログマネージャーに指示し、次のダイアログアクションを設定します。これにより、ダイアログの状態、スロット値、属性を管理して、会話を前のステップに戻すことが可能となります。 前出の例では、ユーザーが合計残高についてクエリすると、クライアントは GetSession に続いて PutSession を呼び出し、支払いを続行することで、会話の脱線を処理しています。GetSession オペレーションからの応答には、ユーザーがやり取りした最後の 3 つのインテントの状態の概要が含まれます。これにはインテント MakePayment (accountType: credit, amount: $100)、および […]

Read More

Amazon SageMaker を使用して、機械学習でエネルギー価格を予測する Kinect Energy

Amazon ML Solutions Lab は最近 Kinect Energy と協働し、機械学習 (ML) に基づいて将来のエネルギー価格を予測するパイプラインを構築しました。Amazon SageMaker と AWS Step Functions でデータの自動取り込みと推論パイプラインを作成し、エネルギー価格の予測を自動化およびスケジューリングできるようにしました。 このプロセスでは、Amazon SageMaker DeepAR 予測アルゴリズムを特別に使用します。深層学習予測モデルで現在の手動プロセスをこれに置き換えることで、Kinect Energy の時間を節約し、安定したデータ主導での方法を導入できました。 次の図は、エンドツーエンドのソリューションを示しています。 データの取り込みは毎日データをロードして処理し、Amazon S3 のデータレイクに保管するステップ関数を使用して調整します。その後、データを Amazon SageMaker に渡し、Amazon SageMaker は推論パイプラインモデルをトリガーするバッチ変換呼び出しを介して推論生成を処理します。 プロジェクトが生まれたわけ 自然電力市場は消費者の需要を満たすため、風力、水力、原子力、石炭、および石油/ガスといった資源に依存しています。需要に応えるために利用する電力資源の実際の組み合わせは、その日の各エネルギー資源の価格によって変化します。価格はその日の電力需要によって変わります。そして投資家が電力の価格を公開市場で取引します。 Kinect Energy はエネルギーを売買しています。そのビジネスモデルの中でも、エネルギー価格から派生した金融契約の取引は重要な部分です。これには、エネルギー価格の正確な予測が必要です。 そのため Kinect Energy は過去に手動で行われた予測プロセスを、ML を使って改善し自動化したいと考えていました。現物価格は現在の商品価格、つまり現物を将来引き渡しするための売買価格で、先物価格やフォワード価格とは異なります。予測した現物価格と先物価格を比較することで、Kinect Energy チームは現在の予測に基づいて将来の価格変動をヘッジする機会を得ることが可能となります。 データの要件 このソリューションでは、1 時間間隔で 4 週間を見通した現物価格を予測しようとしました。プロジェクトの主要な課題の 1 つに、必要なデータを自動的に収集し処理するシステムを作成することがありました。パイプラインには 2 つの主要なデータのコンポーネントが必要でした。 過去の現物価格 エネルギー生産と消費率、および現物価格に影響するその他の外部要因 (生産率と消費率を外部データとしています。) […]

Read More

Twilio Media Streams で対話型インターフェイスとして Amazon Lex を使用する

Twilio プラットフォームを使用して、顧客との新しいコミュニケーション方法を構築している企業があります。これらの企業は、対話型の音声自動応答 (IVR) でレストランの注文を完全自動化したり、次世代の高度なコンタクトセンターを構築したりしています。Twilio は Media Streams を立ち上げ、Voice プラットフォームを開放し、リアルタイムで電話による通話の未加工オーディオストリームにアクセスできるようになりました。 Media Streams を使用すると、Amazon Transcribe Streaming WebSockets で音声をリアルタイムで文字に起こし、コールセンターの生産性を向上させたり、エンドユーザーの対話を自動化し、Amazon Lex を使用する発信者の意図に基づいたレコメンドをエージェントに行うことができます。 このブログ投稿では、Amazon Lex を使用して、Twilio Media Streams が提供する未加工オーディオストリームを使った音声アプリケーションに対話型インターフェイス (チャットボット) を統合する方法をご紹介します。Lex は深層学習を利用して、人間のスピーチの意図を認識するのに必要な大きな作業を行い、魅力的なユーザーエクスペリエンスとリアルな会話を簡単に構築できるようにします。 ソリューションは次のような手順になります。 Twilio からオーディオストリームを受信する 音声アクティビティ検出コンポーネントにオーディオストリームを送信して、オーディオの音声を判別する 音声が検出されたら、Amazon Lex へユーザーデータのストリーミングを開始する 無音を検出した場合、Amazon Lex へのユーザーデータのストリーミングを停止する Amazon Lex からの応答に基づいて、進行中の Twilio 呼び出しを更新する このサンプルで提供する Voice Activity Detection (VAD) 実装は参照とデモだけの目的で、初歩的なアプローチを使って振幅を見ることで音声と無音を検出します。そのため、本番での使用は推奨しません。本番のシナリオでの使用には、安定した形式の VAD モジュールを実装する必要があります。 次の図で、手順を示しています。 Amazon Lex ボットと Twilio […]

Read More

Amazon SageMaker Python SDK で Git 統合を利用可能

Amazon SageMaker Python SDK で Git 統合が利用可能になりました。これからはトレーニングジョブやホスティングモデルのために Git リポジトリからスクリプトをダウンロードする必要がありません。この新機能を使用すると、Python SDK でモデルをトレーニングするときに Git リポジトリに保存されているトレーニングスクリプトを直接使用できます。モデルをホスティングするときに Git リポジトリに保存されているホスティングスクリプトを使用することもできます。スクリプトは GitHub、別の Git ベースのリポジトリ、または AWS CodeCommit リポジトリでホストされています。 この記事では、Amazon SageMaker Python SDK での Git 統合の使用方法について詳しく説明します。 概要 Amazon SageMaker Python SDK を使用してモデルをトレーニングするときは、次を行うトレーニングスクリプトが必要です。 入力チャネルからデータをロード ハイパーパラメータを使用してトレーニングを設定 モデルをトレーニング モデルを保存 Estimator オブジェクトを作成するときに、entry_point 引数の値としてスクリプトを指定します。 以前は、ユーザが Python SDK で Estimator または Model オブジェクトを作成したときに、entry_point 値として指定した場合は、トレーニングスクリプトがローカルファイルシステム内のパスでなければなりませんでした。Git リポジトリでスクリプトをトレーニングしていると、ローカルでダウンロードしなければならなかったため、この場所は不便でした。 複数の開発者が Git リポジトリに貢献している場合は、リポジトリに対する更新を把握し続ける必要があります。また、ローカルバージョンが古くなっている場合は、すべてのトレーニングジョブを行う前に最新バージョンを入手しなければなりません。 これにより、定期的なトレーニングジョブのスケジューリングがさらに困難になります。 Git […]

Read More

Amazon SageMaker を使用した収穫の成功で、Bayer のデジタル農業ユニットを強化

2050 年までに、地球は 100 億人を養う必要があります。地球を拡大して農地を増やすことはできないので、食料を増やすための解決策は、農業の生産性を高め、資源への依存を軽減することです。つまり、作物を損失したり、資源を浪費したりする余地はありません。Bayer は Amazon SageMaker を使用して、世界中の田畑で発生する損失を排除しています。 家庭からは、台所での廃棄や食べ残しなどの食べ物を捨てることで、食物の損失が発生します。しかし、多くの国での食物損失の大部分は、実際には、何らかの形で「実を結ばない」作物、つまり、害虫、病気、雑草、土壌の栄養不良などによるものです。Bayer の子会社である Climate Corporation は、こうした課題の解決に役立つデジタル農業サービスを提供しています。 Climate Corporation のソリューションには、トラクターおよび衛星対応のフィールドヘルスマップからのデータの自動記録が含まれます。こうしたサービスなどを世界中の何千もの農家に提供することにより、Climate Corporation は農家が土地を健康で肥沃に保つことをサポートします。 また同社のチームは、FieldCatcher と呼ばれる新しいサービスにも取り組んでいます。このサービスでは、農家はスマートフォンの画像を使用して、雑草、害虫、病気を特定できます。「画像認識を使用して、農家に仮想農学者へのアクセスを提供し、しばしば困難である作物の問題の原因を特定する作業を支援します。これにより、アドバイスにアクセスできない農家にも力を与えるとともに、すべての農家が野外での観察をより効率的にキャプチャして共有できるようになります」と、Climate Corporation の近接センシングのリーダーである Matthias Tempel 氏は述べています。 FieldCatcher は、Amazon SageMaker でトレーニングされた画像認識モデルを使用し、Amazon SageMaker Neo を使用して携帯電話向けにモデルを最適化します。この設定により、農家はモデルを使用して、インターネットにアクセスしなくてもすぐに結果を得ることができます (多くの農地ではインターネット接続がないため)。Amazon SageMaker を使用すると、FieldCatcher が問題の原因を自信を持って特定するのに役立ちます。これは、農家に適切な修復ガイダンスを提供するうえで不可欠です。多くの場合、すぐに対処して問題に確信を持てることは、田畑の収穫量や農家の成功に大きな違いをもたらします。 FieldCatcher ソリューションを強化するため、Bayer は多種多様で高品質な画像を収集し、さまざまな環境、成長段階、気象条件、日光のレベルを含むトレーニングデータを作成しています。それぞれの写真はスマートフォンからアップロードされ、最終的には認識をさらに向上させるための継続的に拡張されるライブラリの一部になります。以下の図は、各画像の過程とそのメタデータを示しています。 具体的には、Amazon API Gateway および Amazon Simple Storage Service (Amazon S3) へのアップロードを保護する Amazon Cognito への取り込みでプロセスが始まります。サーバーレスアーキテクチャは、他のどの方法よりもスケーラブルで保守が容易であるために選択されますが、ステップを実行し、最終的に受信したデータをデータレイクに移動するために AWS Lambda […]

Read More

Udacity からの AWS DeepRacer 奨学金チャレンジが今オープン

レースが始まりました! エンジンをスタートさせよう! Udacity からの AWS DeepRacer 奨学金チャレンジに登録いただけます。 前回の記事で述べたように、AWS DeepRacer 奨学金チャレンジプログラムでは、開発者のスキルレベルに関係なく、基本的な機械学習 (ML) の概念を楽しく魅力的な方法でご紹介します。毎月、自動運転車による世界初の国際的レーシングリーグである AWS DeepRacer League のテストを通してあなたのスキルを試し、毎月ユニークなレースコースでトップ順位を競います。 2019 年 8 月、9 月、および 10 月に上位ラップタイムを記録した生徒は、Udacity 後援の機械学習エンジニアナノディグリープログラムに対する全額支給奨学金 200 枠のひとつを獲得する資格を得ます。 AWS DeepRacer とは? 2018 年 11 月、Jeff Barr が AWS ニュースブログで ML を学ぶための新しい方法、AWS DeepRacer のローンチを発表しました。AWS DeepRacer では、強化学習 (RL) によって動作する 1/18 スケールの完全自走型レースカー、3D レーシングシミュレーター、および世界的なレーシングリーグを実際に体験する機会を得ることができます。 AWS DeepRacer 奨学金チャレンジの仕組み このプログラムは 2019 年 8 […]

Read More

AWS DeepLens の新しい 2 つのサンプルプロジェクト (ステップバイステップガイド付き) の紹介

AWS DeepLens の新しい 2 つのサンプルプロジェクト、「Build a worker safety system」と 「Who drinks the most coffee?」のリリースを発表します。これらのサンプルプロジェクトで提供される手順ガイドに従うと、AWS でコンピュータビジョンを使用して完全な機能を備えた機械学習アプリケーションを構築することができます。そうしたアプリケーションはエッジとクラウドにまたがって、デバイス上で実行されるモデルとクラウド上の AWS のサービスを統合します。このサンプルプロジェクトはステップバイステップの手順で構成されていて、コードと動画チュートリアルを備えているため、開発者はアプリケーションをゼロから構築可能です。 AWS DeepLens は世界初の深層学習対応ビデオカメラで、あらゆるスキルレベルの開発者による深層学習の開始をサポートします。AWS DeepLens の新しいエディション (2019 年版) は現在、6 か国 (米国、イギリス、ドイツ、フランス、スペイン、イタリア、およびカナダ) で購入可能です。日本では先行予約を受付中です。 2019 年エディションではセットアップがより簡素化し、(Amazon SageMaker Neo のおかげで) 機械学習モデルを旧エディションの最大 2 倍の速さで実行できるようになっています。 充実したガイドを備えたサンプルプロジェクトを開始するには、AWS DeepLens マネジメントコンソールにアクセスします。ナビゲーションペインで [Recipes] をクリックし、最新のステップバイステップチュートリアルにアクセスします。レシピを選択し、表示される手順に従って機械学習アプリケーションを構築します。AWS DeepLens マネジメントコンソールは、アジアパシフィック (東京)、欧州 (フランクフルト)、米国東部 (バージニア北部) リージョンで利用可能です。 次のレシピが利用可能です。 1) Build a worker safety system AWS DeepLens […]

Read More

BlueToad と Amazon Polly による魅力的なリスニングエクスペリエンスの創造

この記事は、BlueToad の共同オーナー兼 CEO である Paul DeHart 氏によるゲストブログです。 デジタルコンテンツソリューションのトップグローバルプロバイダーのひとつである BlueToad では、イノベーションを最優先しています。2017 年以来、BlueToad は Amazon Polly を使用して、出版社 (当社のお客様) がそのデジタルマガジンに記載されている記事のオーディオバージョンを提供できるようにお手伝いしてきました。 私たちは、小説のコンテンツエクスペリエンスが今日の読者の関心を引いているのを目の当たりにしています。モバイルコンテンツエンゲージメントに見られる著しい成長に加えて、オーディオは好ましいコンテンツ消費方法として浮上してきています。2019 年の Infinite Dial 調査 は、米国消費者が 1 週間に平均 17 時間オーディオを聞いていることを報告しているとしています。ほぼ 40% 以上のアメリカ人が、現在 Amazon Echo のようなスマートスピーカーを所有しています。さらに、アメリカ人が通勤に費やす時間が上昇しており、ほとんどの乗り物ではモバイルデバイスを使ってオーディオに簡単にアクセスし、再生することができます。その結果、9,000 万人のアメリカ人が先月ポッドキャストを聞いたと言っています。 オーディオのこの流れを踏まえ、BlueToad は Amazon Polly を使用して、出版社があらゆる記事を簡単にリスニングエクスペリエンスに変換するために役立つソリューションを開発しました。読者が携帯電話でデジタル版を開くと、オーディオアイコンを選択して物語を聞き始めることができます。出版社の観点から見ると、この機能は BlueToad プラットフォームのボックスをチェックするだけでよいため、実装はいたってシンプルです。困難な作業はすべて BlueToad と Amazon Polly が行います。 このソリューションのために Amazon Polly を選択した理由は、その使いやすさと比類ないパフォーマンスです。オーディオソリューションを初めて実装したとき、私たちは Amazon Polly と他の音声サービスをいくつかテストしましたが、最終的に Polly が最も一貫して正確であることがわかりました。 Polly の新しくリリースされたニューラルテキスト読み上げ […]

Read More

行動経済学、銀行取引、および AWS の機械学習を利用して、ジェネレーション Z を経済的に強化する

これは、Pluto Money の共同創設操業者兼 CTO の Dante Monaldo 氏のゲストブログ記事です。 サンフランシスコを拠点とするスタートアップ企業である Pluto Money は、銀行、行動経済学、および機械学習 (ML) を組み合わせて、ジェネレーション Z を大学内外での経済的目標に導く、無料の資金管理アプリです。当社は、ジェネレーション Z の大学生の経済的ニーズに応え、卒業後も共に成長するように設計された初めてのモバイルバンクを構築しています。 健全な経済的習慣を早期に確立することの重要性が、私と共同創業者の Tim Yu および Susie Kim が私たち自身の経験に基づいて Pluto を設立したことにつながっています。私たちは、当社のビジネスにも同じように財政的厳密さを適用しています。クラウドサービスはコストを削減し、これまでの急成長企業には想像もできなかった柔軟性をもたらすため、クラウドを使用することは私たちにとって当然の選択でした。 AWS ソリューションは堅牢であり、シームレスに連携できるので、コアコンピューティングから ML まで、私たちは AWS を主要なクラウドプラットフォームとして選択しました。当社のチームは成長を続けており、多くのスタートアップ企業と同様に、私たち全員が様々な役割を担っています。そのため、AWS の製品を利用して時間を節約しながら、チームの規模を拡大していく中でエンタープライズクラスの技術スタックを構築することができます。 Pluto Money の心臓部は、Pluto Money モバイルアプリから発信されるすべてのリクエストを処理するクライアント API です。Node.js で書かれており、Classic Load Balancer の背後にある Amazon Elastic Compute Cloud (EC2) インスタンスで動作します。これは、AWS が Network Load Balancer […]

Read More

【開催報告】 第6回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクトの上総 (Twitter:@tkazusa) です。AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を定期的に開催しています。2019年7月18日に開催された第6回 Amzon SageMaker 事例祭りでは、AWS Japan のソリューションアーキテクトによるサービスの最新情報や技術情報と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きし、実際に導入頂いたお客様による「体験談」をお話し頂きました。

Read More