コンテンツに移動
AI & 機械学習

Google Cloud で chatbot 履歴書を作成

2021年2月22日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 2 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。

希望する仕事を得るには、雇用主の目を引く必要があります。特に現在の雇用市場においてそれは重要です。そこで最近私は、自分の職歴(および驚きの経歴)に関する質問に回答する会話型 chatbot を Google Cloud 上で構築しました。これにより、雇用主の目を引いただけでなく、自分のウェブサイトで独自の chatbot を構築してホストする方法を学べました。

新しい Dialogflow エージェントを作成する

1. Google Cloud プロジェクトがない場合は作成します。新規ユーザーの場合、$300 分のクレジットを使用できます。これは、私がこのアプリケーションを作るには十分すぎるほどでした。

2. Google Cloud プロジェクトと GCP アカウントを用意できたら、Dialogflow Essentials Console に移動します(Google には Dialogflow CX と Dialogflow Essentials の 2 つの異なるプロダクトがあります。今回のシンプルなアプリケーションには Essentials を使用します)。左上で、まずロケーションを選択し(データ ロケーション要件がある場合)、次に新しいエージェントを作成します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_chatbot_resume.max-500x500.jpg

そのボタンをクリックした後、エージェントに名前を付けて、Google Cloud Project に関連付けます。私がエージェントに選択した値は次のとおりです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_chatbot_resume.max-1000x1000.jpg

エージェントに情報を伝える

3. 次に、インテントを作成します。エージェントは、対話者の「インテント」(意図)を推察することで、コミュニケーションを行います。ユーザーが何かを書いたり言ったりすると、エージェントが Dialogflow エージェントで作成された最適なインテントと表現をマッチングします。エージェントごとに多数の Dialogflow インテントを定義することで、複数のインテントを結合して会話全体を処理できるようになります。そのためのインテントを作成する必要があります。まず、左側のナビゲーション バーにある [Intents] ボタンを探します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_chatbot_resume.max-400x400.jpg

次に、中央にある [CREATE INTENT] をクリックして新しいインテントを作成します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_chatbot_resume.max-1000x1000.jpg

インテントの作成には、(1)エージェントが期待する対話者の書き込みまたは発言、(2)それに対するエージェントの応答、という 2 つの主な要素があります。たとえば、対話者が私の資格について質問したときに、エージェントに私が持っている資格を応答させるインテントを作成するとします。このためには、インテントに「トレーニング フレーズ」を与える必要があります。これはシンクまたは目標到達プロセスとして考えるとわかりやすくなります。最初に、エージェントに話せるようになってほしいトピックを決定します(応答、目標到達プロセスの最後)。それに合わせて、その目標到達プロセスに入れる文の種類(トレーニング フレーズ、つまり目標到達プロセスの捕捉領域)を考える必要があります。次の例を見ると理解しやすくなります。

3.1. インテント作成の上部から進めます。[ADD TRAINING PHRASES] をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/5_chatbot_resume.max-1000x1000.jpg

トレーニング フレーズをいくつか追加し、インテントにキャプチャさせるものを例示します。そのインテントに「資格」という名前を付け、次のような文を追加します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/6_chatbot_resume.max-1000x1000.jpg

「資格」の目標到達プロセスに該当する会話をさまざまな方法でキャプチャするために、10 種類以上の文を応答に追加することをおすすめします。

3.2. 次は目標到達プロセスの最後です。エージェントが応答する必要がある内容を指定していきます。[ADD RESPONSE] をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/7_chatbot_resume.max-900x900.jpg

私の場合は以下を入力しました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/8_chatbot_resume.max-900x900.jpg

ページの上部にある [SAVE] をクリックします。早速試してみましょう。ページ右上の [Try it now] と表示されているところに、さまざまな単語(資格、学位)が含まれる質問を入力して、エージェントがインテントを理解し、適切に応答できることを確認してください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/9_chatbot_resume.max-600x600.jpg

これが NLP モデルの動作です。つまり、ご自身が指定した 12 の例から、エージェントがそのインテントに関連付けるべき文の種類を理解し、適切な応答を返します。目標到達プロセスで例えるなら、関連する質問を同じ目標到達プロセスに取り込み、適切な答えを返しているということです。

4. 次に、Welcome Intent を変更しましょう。ベスト プラクティスとしては、挨拶に加え、エージェントがユーザーのためにできることを示す数行の文から始めます。この方法により、会話を正しく方向づけることができます。

Default Welcome Intent を変更するには、まず以前の作業を保存します。ページの右上にある [SAVE] ボタンをクリックしたら、ナビゲーション バーの左側にある [Intents] をもう一度クリックし、メインメニューの [Default Welcome Intent] をクリックします。すると、[Responses] セクションにデフォルトの応答が表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/10_chatbot_resume.max-900x900.jpg

それらを、より適切になるよう次のように変更できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/11_chatbot_resume.max-900x900.jpg

デフォルトの応答をアプリケーションに適したものに変更したら、[SAVE] をクリックします。

5. インテントは多数作成しましょう。会話型の履歴書の場合、採用担当者が質問すると予期されるものにする必要があります。私が用意した一般的なインテントには、「お気に入りのプロジェクト」(「Filipe のキャリアの中のお気に入りのプロジェクトは何ですか?」や「Filipe が達成したことで、最も誇りに思っているものは何ですか?」などの文章でトレーニングしたもの)や、「強み」(「Filipe の主な強みは何ですか?」や「Filipe にどのような仕事を期待できますか?」などの文章でトレーニングしたもの)があります。私はデータ サイエンスとプログラミングのバックグラウンドを持っているので、統計スキルやクラウド テクノロジーの知識について質問するインテントもあります。

必ず右側のパネルでエージェントをテストし、対話者からの入力に応じてエージェントが応答するかどうかを常に確認してください。これが完了したら、エージェントをデプロイする準備が整います。

ウェブサイトでエージェントをホストする

6. 次に、ウェブサイトを入手しましょう。最も簡単なのは、こちらをクリックして Google サイトを取得する方法です。テンプレートを使用するか、空白のテンプレートを作成するだけです。後で独自のドメインを購入した場合は、そこでサイトをホストできます。私の www.filipegracio.com も、そのようにして Google サイト上に構築されています。

7. 次に、エージェントをウェブサイトに掲載します。Dialogflow コンソールに戻り、[Integrations] に移動して、Dialogflow Messenger オプションをオンにします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/12_chatbot_resume.max-1300x1300.jpg

これを行うと、サイトに埋め込み可能なコードが記載された新しいウィンドウが表示されます。統合が有効になっていることを確認してください。コードは次のようになります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/13_chatbot_resume.max-600x600.jpg

右下にある小さなクリップボードのマークを使用してコードをコピーします。

8. 次に、エージェントをサイトに配置する必要があります。これは、作成したウェブサイトで行います。Google ウェブサイトのコンテンツを編集する画面で、空白のページ セクションをダブルクリックしてこのホイールを表示し、Embed をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/14_chatbot_resume.max-900x900.jpg

そして、Dialogflow コンソールからコピーした bot のコードを埋め込みます。以下がその例です。

https://storage.googleapis.com/gweb-cloudblog-publish/images/15_chatbot_resume.max-700x700.jpg

これらを行った後、ウェブサイトを「公開」すると(右上にボタンがあります)、ウェブサイトが一般公開され、エージェントが訪問者のあらゆる質問に回答できるようになります。

創造性を探求する

chatbot はさまざまな目的に応じて作成して、ビジネスの支援や、趣味の宣伝、仕事探しに役立てられます。私のように使用する場合は、履歴書にウェブサイトへのリンクを記載し、それをソーシャルのプロフィールに表示して、オンラインで共有します。それを目にした人に対し、持っているスキルや、特別な努力をしたこと、創造的な考えを持っていることを示せます。ぜひお試しください。

-公共部門カスタマー エンジニア Filipe Gracio

投稿先