前回は、実用的なチャットボットの例として、割り勘チャットボットを作りました。今回は Web API(ウェブエーピーアイ)を使って、より高度なチャットボットを作成します。題材は、指定した商品の価格をオンラインショップで調べる、価格検索チャットボットです。プログラミング言語の Python(パイソン)を使って、LINE(ライン)用のプログラムを開発します。
第6回「Web APIを使ったチャットボットを作ってみよう~価格検索ボット」を解説していきます。
1. Web API とは
今回作成するのは、オンラインショップから商品の価格を検索するチャットボットです(図1)。ユーザーの発言を検索キーワードとして使います。例えば「単3 充電池 4本 送料無料」のように問いかけると、キーワードに合致する商品を検索し、価格が安い商品を何件か教えてくれます。
商品の価格を検索するためには、本連載の第 3 回で紹介した Web APIを利用します。Web API はチャットボットのようなプログラムが、ウェブサイトからさまざまな情報を取得する際に役立つ仕組みです。
人間が Web ブラウザを使ってウェブサイトを利用するのも、プログラムが Web API を使ってウェブサイトを利用するのも、基本的な仕組みは同じです。重要な違いは、Webブラウザの場合は主にHTML(エイチティーエムエル)形式のデータ(Web ページ)を取得するのに対して、WebAPI の場合は主にJSON(ジェイソン)形式のデータを取得することです。HTML データはWeb ブラウザを使って画面に表示するのに適しているので、人間向きです。JSON データは必要な情報を抽出するのに適していて、プログラム向きです。
オンラインショップは、商品情報を検索するためのWeb API を提供していることがあります。今回は楽天市場が提供している「楽天商品検索API」を使ってみます。なお、このWeb API を利用するには、楽天市場のアカウントを作成するとともに、Web API を使うチャットボットのプログラムを登録して、アプリケーションID と呼ばれる番号を取得する必要があります。詳しい使い方は、同APIのWebページに記載されています。
2. 価格検索チャットボットの仕組み
今回使用するWeb API は、商品を検索するためのキーワードを与えると、キーワードに合致する商品情報のJSON データを返します。キーワードは実際のオンラインショップで人間が検索するときと同様、「単3 充電池 4 本 送料無料」のように、空白で区切って複数のキーワードを指定することができます。検索キーワード以外に、検索結果の並び順、取得する項目、取得する件数なども指定できます。
検索結果は図2 に示すようなJSON データで返ってきます。例えば「itemPrice」の項目からは価格が、「itemName」の項目からは品名が得られます。
3. 価格検索チャットボットのプログラム
全6回で下記の内容を解説しています。
- 第1回 チャットボットとは
- 第2回 チャットボットの仕組み
- 第3回 チャットボットの開発
- 第4回 簡単なチャットボットを作ってみよう~あいさつボット
- 第5回 実用的なチャットボットを作ってみよう~割り勘ボット
- 第6回 Web APIを使ったチャットボットを作ってみよう~価格検索ボット