Dialogflowでテキストからワードを取得する(プログラム編)

のえる のえる 2019.04.11

前回はコンソール画面にてDialogflowを使いました。
今度はプログラムからDialogflowを呼び出してみましょう。
 
※この記事は 「Dialogflowでテキストからワードを取得する(コンソール編)」 を実装された方を対象しています。
※Dialogflow および Googleのサービス利用による如何なる料金の発生も、弊社は責任を負いかねます、自己責任にてご利用ください。

はじめに

今回は、PHPで認識するプログラムを作成します。
また、Google Cloud Consoleにて認証ファイルを作成しますので、各自ご用意ください。
 
【環境情報】
PHP(7.1.11)、Composer

Google Cloud Consoleで認証ファイルを取得

まずはGoogle Cloud Consoleへアクセスしましょう。
ここでプロジェクトを作成します。
今回はDialogflowのAgent Nameと同じ 「OfficeMeeting」 としました。
 
この管理画面で 「Dialogflow API」 というAPIを有効にします。



その後、サービスアカウントを作成します。
 
「APIとサービス」 > 「認証情報」 をクリック



「認証情報を作成」 > 「サービス アカウント キー」 をクリック



サービスアカウントキーの作成画面では赤枠の部分を入力していきます。



入力後 「作成」 ボタンを押すとJSONファイルがダウンロードされます。
これが認証ファイルです。

Composerでライブラリを取得 / 認証ファイルを配置

続いてWebブラウザからPHPでDialogflowにアクセスしてみます。
ライブラリは Composer でインストールしていきます。
※Composerのインストール方法や使い方については割愛。
 
composer.jsonファイルを作成し、下記を記載後、インストールを実行。

実行後はcomposer.jsonと同じディレクトリにvendorディレクトリが作成され、その中にはDialogflowをPHPで実行するためのライブラリが入っています。
 
composer.jsonと同じディレクトリに、先ほど取得した認証ファイルを入れます。
※本来はセキュリティを考慮し、Webアクセスが不可能な場所に配置します

PHPでアクセスする

では、PHPでDialogflowへアクセスしていきましょう。
 
まずは index.php を作成し、ライブラリを参照してきましょう。

次に認証ファイルを指定し、セッションクライアントを作成します。

ここまで来れば、あとは各APIをコールするだけとなります。
一部ですが、取得方法をご紹介します。

Intent一覧を取得

AgentsのTraingingを促す

Entity一覧を取得

テキスト解析する

さいごに

これでプログラムからDialogflowを呼び出せました。
ここまでくると、様々なシステムに導入ができると思います。
是非、様々なシステムに導入してみてください。

POPULAR

のえる

書いた人

のえる

Full-stack Developer / Guitarist