3. コンテクスト検索エンジンのインタフェース拡張
3.1. 従来システム V2 の構成
3.1.2. コンテクスト検索エンジンにおける Data Jacket
本項では,コンテクスト検索エンジンにおける Data Jacket について説明する.Data
Jacket はデータの概要情報のみを記載したものである.プライバシー保護の問題で公開で
きないデータに関して,データ自体を公開せずこれを共有することでローカルデータの利 用価値が検討可能となる.Data Jacketに記載する情報はコンテクスト検索エンジンに登録 されている情報を利用し,自動的に作成することでユーザへの負担を軽減している.コンテ クスト検索エンジンにおけるData Jacketの例を表 3.5に示す.この動向情報は,1世帯 当たりのチョコレート(菓子)に対する支出金額に関する動向情報から作成された Data
Jacketである.それぞれの変動スコアについては3.1.3項で説明する.
表 3.5:コンテクスト検索エンジンにおけるData Jacketの例
アイテム名 チョコレート
単位 円
統計データ名 1世帯当たりの菓子支出金額 集計対象期間 2008-01 ~ 2014-12
該当地域 全国
季節変動のスコア 1.0 バースト的変動のスコア 0.0
傾向変動のスコア 0.0100977
30
従来システムV2 では,2.2.2項で説明したデータ利活用知識によるアプローチを採用し ている.コンテクスト検索エンジンにおいては,動向情報の特徴的変動に関して発見した知 見を共有することで,新たな知見の発見につながるという考えに基づき,(1)「ある知見が,
ある動向情報の特徴的変動から発見された」,(2)「ある動向情報の特徴的変動が,あるData
Jacket に記載されている動向情報から獲得された」の二つをデータ利活用知識の最小単位
と定義し,「知見」「特徴的変動」「Data Jacket」を連結している.知識(1)を表す述語(discover)
及び,知識(2)を表す述語(get)を定義し,モデル化したものを図 3.11に示す.この時,
Data Jacket に記載されている動向情報を取得する際にコンテクスト検索エンジンに入力
した「クエリ」をプロパティとして定義し,「特徴的変動」と「Data Jacket」の連結部に付 与している.二つのデータ利活用知識を組み合わせて連結することで,複雑なデータ利活用 知識を構造的に記述することができる.
図 3.11:データ利活用知識モデルの図式化
特徴的変動
(variation) 発見
(discover)
獲得 (get)
クエリ
(query)
Data Jacket
(data)
知見
(information)
特徴的変動
(variation)
データ利活用知識(1) discover(variation,information)
データ利活用知識(2)
get(data,variation)
31
データ利活用知識モデルを組み合わせた例を図 3.12,図 3.13に示す.図中のノードは,
infoは知見,varは特徴的変動,djはData Jacketを表している.
図 3.12は,「食中毒(患者数)」のData Jacketが作成された動向情報が「2012年11月
~2012年12月にSI(急上昇)となった」という情報と,「ノロウイルス」のData Jacket が作成された動向情報が「2012年11月~2012年12月にSIとなった」という二つの情報 から,「広島で 1000 人以上のノロウイルス感染者が出たことが,食中毒患者が増加した原 因である」という知見が発見されていることを表している.
図 3.13は,「チョコレート」のData Jacket が作成された動向情報が「2008年1月~
2008年3月にPEAKとなった」という一つの情報から,「毎月2月にピークを迎えている」
という知見が発見されていることを表している.例えばこの情報から,「バレンタインによ ってチョコレートを購入する人が増加するため,毎年2月に急上昇しているのではないか」
という他のユーザによる新たな知見によって,関係のあるアイテムとして「バレンタイン」
が発見されることが期待できる.
図 3.12:データ利活用知識モデルを連結した例1
図 3.13:データ利活用知識モデルを連結した例2 info:0001
dj:0001 var:0001
dj:0002 var:0002
query1
query2
広島で1000人以上のノロウイル ス感染者が出たことが,食中毒 患者が増加した原因であることが
分かった. 2012/11-2012/12
SI 2012/11-2012/12
SI
食中毒(患者数)
(食中毒発生状況)
ノロウイルス
(Wikipedia pageview) discover
get
info:0001 var:0001 dj:0001
query1
毎年2月にピークを迎えている. 2008/01-2008/03 PEAK
チョコレート
(1世帯当たりの菓子支出金額)
discover get
32
早矢仕らのシステム [8]では,データ利活用知識モデルのノード間の結合関係を表すフレ ームワークにRDF を用いていたが,従来システムV2ではMySQLを利用している.「知 見」「特徴的変動」「Data Jacket」を格納するテーブルのカラム情報を表 3.6,表 3.7,表 3.8に示す.また,知見と特徴的変動のノード間の結合関係,特徴的変動とData Jacketお よびプロパティとして付与されたクエリのノード間の結合関係,クエリに関するテーブル のカラム情報をそれぞれ表 3.9,表 3.10,表 3.11に示す.表 3.6のinformation_typeは,
知見を発見した際の2つのアイテム間の関係を示しており,なし/因果関係/類似的変化/対照 的変化の中からユーザが一番近いと思ったものを指定してデータベースに格納する.表 3.11のそれぞれのカラムには,入力したクエリの情報が格納されている.
表 3.6:知見(テーブル名:information)のカラム情報
表 3.7:特徴的変動(テーブル名:variations)のカラム情報
表 3.8:Data Jacket(テーブル名:data_jackets)のカラム情報
No 論理名 物理名 データ型 Not NULL デフォルト 備考
1 id int(11) Yes
2知見 information varchar(1000) NULL
3アイテムの関係 information_type varchar(255) NULL 二つのアイテムの関係
4 URL url varchar(255) NULL 知見発見の際に参考にしたURL
5ユーザID user_id varchar(255) NULL 公開したユーザのID
No 論理名 物理名 データ型 Not NULL デフォルト 備考
1 id int(11) Yes
2 Data Jacket ID dj int(11) NULL 特徴的変動を示した動向情報に関するData JacketのID
3開始月 data_period_f date NULL 特徴的変動を示した期間の開始月
4終了月 data_period_t date NULL 特徴的変動を示した期間の終了月
5特徴的変動 vt_name varchar(255) NULL 特徴的変動の名前
No 論理名 物理名 データ型 Not NULL デフォルト 備考
1 id int(11) Yes
2アイテム名 item varchar(255) NULL
3単位 unit varchar(255) NULL
4統計データ名 DBsource varchar(255) NULL
5集計対象期間(開始) start_period date NULL 集計対象期間の開始月 6集計対象期間(終了) end_period date NULL 集計対象期間の終了月
7該当地域 target varchar(255) NULL
8季節変動のスコア periodicity float NULL 9バースト的変動のスコア irregularly float NULL 10傾向変動のスコア increase_decrease_trend float NULL
11アイテムID item_id int(11) NULL 動向情報のアイテムID 12統計データID dbsource_id int(11) NULL 動向情報の統計データID 13該当地域ID target_id int(11) NULL 動向情報の該当地域ID
14格納場所 location varchar(255) NULL 動向情報の格納場所
15ユーザID user_id int(11) NULL 公開したユーザのID
33
表 3.9:データ利活用知識モデル(1)(テーブル名:g_info_vars)のカラム情報
表 3.10:データ利活用知識モデル(2)(テーブル名:g_var_query_djs)のカラム情報
表 3.11:クエリ(テーブル名:queries)のカラム情報
Data Jacket・知見の公開手順に関するスクリーンショットを図 3.14~図 3.19に示す.
前提として,Data Jacketとして共有したいアイテムをお気に入りに登録する.画面右上 のユーザ名をクリックし,「Upload DJ」ボタンからData Jacket公開画面へ遷移する(図
3.14).お気に入りに登録したアイテムが表示されるので,Data Jacketとして公開したい
ものを選択する(図 3.15).選択されたアイテムの特徴的変動一覧が表示されるので,知 見を発見した際に注目した特徴的変動を選択する(図 3.16).一つ目に選択したアイテム と関係があると考えられるアイテムが存在する場合,二つ目のアイテムを選択し,同様に 特徴的変動を選択する(図 3.17,図 3.18).もし一つのアイテムのみに関して知見を見つ けた場合,「Skip」ボタンで選択をスキップできる(図 3.17).最後に,発見した知見,二 つのデータの関係,参考にしたURLを記述して「Upload」ボタンをクリックすると,自
動的にData Jacketが作成され,公開される(図 3.19).
No 論理名 物理名 データ型 Not NULL デフォルト 備考
1 id int(11) Yes
2 information ID info int(11) NULL informationテーブルのID
3 variations ID var int(11) NULL variationsテーブルのID
No 論理名 物理名 データ型 Not NULL デフォルト 備考
1 id int(11) Yes
2 variations ID var int(11) NULL variationsテーブルのID
3 queries ID query int(11) NULL queriesテーブルのID
4 data_jackets ID dj int(11) NULL data_jacketsテーブルのID
No 論理名 物理名 データ型 Not NULL デフォルト 備考
1 id int(11) Yes
2アイテム名 item varchar(255) NULL 3検索期間(開始) data_period_f date NULL 4検索期間(終了) data_period_t date NULL
5特徴的変動 vt_name varchar(255) NULL 特徴的変動の名前
6閾値 numThreshold varchar(255) NULL UP/LOW検索における閾値
7統計データ名 DBsource varchar(255) NULL
8単位 unit varchar(255) NULL
9出力タイプ output varchar(255) NULL
10ソート方法 sort varchar(255) NULL 変動のスコアによるソート方法 11完全一致/部分一致検索 matchType varchar(255) NULL
12格納場所 location varchar(255) NULL 動向情報の格納場所
34
図 3.14:Data Jacket公開手順1
図 3.15:Data Jacket公開手順2
図 3.16:Data Jacket公開手順3
35
図 3.17:Data Jacket公開手順4
図 3.18:Data Jacket公開手順5
36
図 3.19:Data Jacket公開手順6
37
次に,Data Jacket検索システムについて説明する.早矢仕らのシステムでは,ユーザが 入力した文章から抽出した各キーワードをそれぞれ独立したクエリとして検索を行う.こ れに対し,コンテクスト検索エンジンではクエリが入力された際に動向情報の検索と並行 して,「アイテム名」「検索期間」を利用したData Jacketの検索も行う.Data Jacket検索 システムの概念図を図 3.20に示す.図 3.20中の赤矢印は,各テーブルにおいて検索条件 を満たしたデータを示している.まず,Data Jacketのテーブルに対し,クエリとして入力 されたアイテム名について item,DBsource カラムに対し部分一致検索を行い,取得した
Data Jacketを検索結果𝐷𝐽𝑑𝑗とする.次に,特徴的変動のテーブルに対し,入力された検索
期間にdata_period_fからdata_period_t までの期間が含まれている特徴的変動を取得し,
それらと連結しているData Jacketを検索結果𝐷𝐽𝑣𝑎𝑟とする.次に,知見のテーブルに対し,
入力されたアイテム名について info カラムに対し部分一致検索を行い,取得した Data Jacketを検索結果𝐷𝐽𝑖𝑛𝑓𝑜とする.以上の検索結果をOR結合したもの(𝐷𝐽𝑑𝑗∪ 𝐷𝐽𝑣𝑎𝑟∪ 𝐷𝐽𝑖𝑛𝑓𝑜) を取得する.
図 3.20:Data Jacket検索システムの概念図(文献 [8]を基に作成)
Data Jacketは外部データベースに格納するため,APIで取得可能にしている.APIのリ
クエストパラメータを表 3.12,レスポンスパラメータを表 3.13,XML出力画面を図 3.21 に示す.表 3.13のstart_period,end_periodは,Data Jacketを作成した動向情報の集計 対象期間の開始月と終了月を示している.logic は𝐷𝐽𝑑𝑗,𝐷𝐽𝑣𝑎𝑟,𝐷𝐽𝑖𝑛𝑓𝑜それぞれの集合に属 するかどうかを示しており,例えば𝐷𝐽𝑑𝑗 𝐷𝐽𝑣𝑎𝑟 𝐷𝐽𝑖𝑛𝑓𝑜に属する Data Jacket の場合
「1_0_1」となる.図 3.21のXMLは,期間は指定せず,「食中毒」というキーワードのみ で検索した例である.object タグに囲まれたそれぞれの要素名がレスポンスパラメータに
info:1
info:2
var:1
var:2
var:3
dj:1
dj:2
dj:3
知見 特徴的変動 Data Jacket
𝐷𝐽𝑖𝑛𝑓𝑜 𝐷𝐽𝑣𝑎𝑟 𝐷𝐽𝑑𝑗
それぞれのテーブルにクエリを発行
(クエリ)
𝐷𝐽𝑖𝑛𝑓𝑜 𝐷𝐽𝑣𝑎𝑟 𝐷𝐽𝑑𝑗
𝐷𝐽𝑖𝑛𝑓𝑜 𝐷𝐽𝑣𝑎𝑟 𝐷𝐽𝑑𝑗 知見のみから発見可能
全てから発見可能
Data Jacketのみから発見可能 discover
get