はじめに
山手線グルメというLINEチャットボットを作りました。忘備録に作り方を残します。
チャットボット作成の背景
山手線の駅前には飲食店が密集しています。土地勘のない駅近辺で好みの店を探すのは大変です。食べログ、ホットペッパー、Rettyなど、飲食店アプリはたくさんありますが、検索条件にジャンル、予算、地名などを入力し、検索した飲食店の評価や口コミを確認したりします。好みの店を探すのは時間がかかってしまいます。そこで、お勧めの飲食店を教えてくれるチャットボットを目指しました。
概要
山手線の駅から近い飲食店データをもとに、クチコミを自然言語処理し、チャットボットが応答する仕組みです。自然言語処理とチャットボットはUserLocal、UIはLINEです。いずれも無料です。
データ概要
2018年頃に東京23区の飲食店情報をスクレイピングしたことがあります。全体では約8万店舗ありましたが、評価が高く山手線の駅から100m以内の飲食店を抽出し、1万店舗に絞り込みました。
データ内容
- [飲食店名]
- [食べログURL]
- [クチコミ]
- [最寄り駅] → 山手線の駅
- [最寄駅からの距離(m)] → 駅から100m以内
- [食べログ評価点数] → 3.2以上
クリコミは1店舗2件、50文字程度の短いものを採用しました。データ量が多い方が飲食店と直感的なキーワードのバリエーションが増えると思いますが、まずはお試しにデータを減らしました。
チャットボット
直感的なキーワードにはクチコミを自然言語処理して使用します。会話っぽい単語や文章をチャットボットに入力すれば、類似度の高いクチコミを持つ飲食店を提案する仕組みです。
UserLocalのチャットボットを使用しました。個人開発者向けは無料で提供されています。文章データが自然言語処理され、ユーザが問い掛けた文章に近いものを応答します。単語の検索が文章に含まれる単語を見つけるのに対し、文章と文章で類似度の高いものを見つけてくるイメージです。
例えば、「恵比寿のおいしい寿司屋」などと入力すると、自然言語処理されたクチコミから類似度の高い飲食店が返答されます。クチコミを返答することで、より会話っぽくなります。返答内容には飲食店名、食べログURLを追加しています。もし、返答できる内容がなかった場合も、とぼけた返答をするので会話っぽくなります。
チャットボットのフロント画面
フロント画面はLineを使用しました。LINE for Business
完成イメージ
LINE QRコード
まとめ
サクッと1週間ほどで完成しました。クチコミを使ったことで思ったより会話っぽくなりました。飲食店を厳選したので、自分好みのツールになりました。データが古いため閉店した飲食店が提案されることもあります。いつかはデータの最新化はやりたいです。