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