オープンデータを用いた自転車盗難推測LINEBotの開発

By Kenji Kawanobe

Elevator Pitch

日本では犯罪被害情報や災害情報のオープンデータが公開されている。Pythonの発展によってデータ加工・分析は容易にすることができる。今回は、長野県が公開している自転車盗難被害情報のオープンデータを用いて、盗難を推測するLINEBotをPythonで開発した。オープンデータによる「被害情報」と、LINEユーザ の「利用者情報」がどのくらい似ているかを数値化するために、「マハラノビス距離」を算出し推測機能を実装した。オープンデータの前処理、マハラノビス距離による推測機能の実装、LINEMessagingAPIの利用について発表する。(LINEBotは LINE ID:@377mjuys で利用可)

Description

オープンデータを用いた自転車盗難推測LINEBotの開発

オープンデータ(長野県自転車盗難被害)を利用して、自転車盗難被害を推測するLINEBotをPython + Heroku + LINE MessagingAPIを用いて開発した。  

以下、本トークで話すこと。

1. システム概要

システム開発に使用した技術(Python, Django, LINEMessagingAPI, Heroku)と、そのシステム構成について話す。

2. 使用例/デモ

実際に動作している様子を見せながら、使用例について話す。

3. 安全スコア

本システムにおいて、「自転車盗難被害情報」が持つ特徴と、LINEユーザ の「利用者情報」が持つ特徴がどのくらい似ているかのを表す指標とした「安全スコア」の定義について話す。

4. マハラノビス距離を用いた安全スコアの算出

安全スコアを算出に用いている「マハラノビス距離」と、Pythonによる算出方法について話す。

5. LINEMessagingAPIによる利用者情報の取得

LINEユーザ の利用者情報(性別、年齢、位置情報などなど)を取得するために、利用したLINE MessagingAPIのPythonによる利用方法について話す。

6. オープンデータを活用してみて(考察)

Pythonなどのデータ分析がGROWしていくなかで、実際にオープンデータを活用してみてわかった事について発表する。

関連技術

  • Python(numpy, pandas, etc)
  • LINE MessagingAPI
  • Django
  • Heroku

Notes

関連技術について話すこと(詳細)

  • Python(numpy, pandas)
    ・pandasによる、オープンデータの読み込みから加工、特徴分析。
    ・numpyによる、安全スコア算出において利用した「マハラノビス距離」を求めるロジックの実装。

  • LINE MessagingAPI
    ・Pythonによる応答メッセージ(REPLY_MESSAGE)の実装 。

  • Django
    ・ Djangoによる、LINEBotアプリケーション(自転車盗難推測LINeBot)の作成。

  • Heroku
    ・本システムの実行環境の構築。