code4lib2014.09.06 fujiwara

47
連連連連連連連連 GETAssoc 連連連連連 連連連連連連連 「」 × 連連連連連連連連連連連 「」 2013 連 LT 連連連連連連連連連連連連連連連連連連連 連連連連連連連連連連連連連連連連連連 連連連連連連連連連 「」 連連連連連連連連連 連連連連連 連連連 (Takeshi FUJIWARA) 連連DAYPLA 連連連連 2014.9.6 – 9.7 Code4Lib JAPAN 連連連連連連連 2014 連連連連連連連 連連連連連 @() 連連連連連連連連連 (5 連 ) 連 iki.code4lib.jp/wiki/C4ljp2014/presentation#fujiwara 1

Upload: takeshi-fujiwara

Post on 31-May-2015

195 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Code4lib2014.09.06 fujiwara

連想検索エンジン GETAssoc を活用した「発見対象文書」 × 「ユーザーペルソ

ナ」検索 

―  2013 年 LT 「連想検索へのユーザー目的モデルの追加と,「連想ストーリー」のパッケージ化の試み(言語の経験空間の動的モデル化に向けて)」の経過報告 

藤原剛 (Takeshi FUJIWARA)

所属: DAYPLA 株式会社

2014.9.6 – 9.7 Code4Lib JAPAN カンファレンス 2014 @鯖江市図書館(文化の館)

ライトニングトーク (5 分 ) 用

http://wiki.code4lib.jp/wiki/C4ljp2014/presentation#fujiwara 1

Page 2: Code4lib2014.09.06 fujiwara

連想検索エンジン GETAssoc を活用した「発見対象文書」 × 「ユーザーペルソナ」検索

• 2013 年の LT で発表した「連想検索へのユーザー目的モデルの追加と,「連想ストーリー」のパッケージ化の試み(言語の経験空間の動的モデル化に向けて)」の経過報告を行う.

• 昨年発表の構想を整理し直すと次のようであった.【 連想検索にファセットナビゲーションを組み合わせる際,情報検索にあたってのユーザーの「目的」といった指向性を仮定し,それを,検索対象やターゲットとなる文書とは別に,連想検索の文書ファイル ( プロファイル辞書 ) として作成する.これにより,ベクトル空間モデルで,連想計算用にインデクシングされる多次元空間には,ユーザーの目的軸ができ,ファセット検索に応用できる.また,動的 ( オートマトン的 ) にサジェストできる. 】

• その後,制約等からファセットナビゲーションの実装に至らないでいるが,より簡易な方法としてユーザー「ペルソナ」を文書ファイル化し,これを,検索・発見対象の文書に掛け合わせてインデクシングをした.今回,取引先クライアントの好意により,実際のサービスサイトで簡易な実証実験を行う.

2http://wiki.code4lib.jp/wiki/C4ljp2014/presentation#fujiwara

Page 3: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

3

はじめに・・・連想検索とは?

• 「連想検索とは、文書と文書の言葉の重なり具合をもとに、ある文書(検索条件)に近い文書(検索結果)を探し出す検索技術です。」

• 「→平たくいえば、使われている言葉の集まりを手がかりにした仲間探しです。 { あなたが選んだ } 言葉の集まりをたよりに、1000 万冊以上の膨大な本の中から、 { あなたの関心に } 近い本を探します。」

• (Webcat Plus の説明から引用 )

検索条件 ( 文書 ) 検索結果 ( 文書 )

ユーザー

Page 4: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

今回の取り組みは

4

SEARCHQUERY

TEXT.. space Structured

or not

schemedQUERY

TEXT.. Space / corpus

FeedbackTo user(s)

or artificial user models

information filtering systems,machine learning, HCI, personalization,profiling,behavioral targeting,collaborative filtering,recommender systems …etc.

Information retrieval

Feedback toSearch query and/orInterface UX MY/OUR

KNOWN OR UNKNOWNGOAL

ユーザーの経験的 ( 明示的・非明示的 ) な目的 ( 及びそのフィードバック ) を変数化 対象となる文書空間に ( 新たな軸として ) 加えて計算する・・・

© DAYPLA Corporation, not including smiley pics etc.

Page 5: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

今回の取り組みは

連想検索に適用• GETAssoc を活

5http://getassoc.cs.nii.ac.jp/

ユーザーの経験的 ( 明示的・非明示的 ) な目的 ( 及びそのフィードバック ) を変数化 対象となる文書空間に ( 新たな軸として ) 加えて計算する・・・といった検索技術において広くかつ多様に取り組まれている試みをGETAssoc

国立情報学研究所連想情報学研究開発センターで開発された連想検索エンジン特長:・高速な文書検索・ HTTP インターフェースのサポート・複数データベース間の横断検索が可能・複数 CPU 対応による負荷分散・インデックスの差分更新対応・検索インデックスの構築が容易・任意の類似度尺度が記述可能・オープンソース

Page 6: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

ユーザーの目的とファセット検索: Webcat Plus での参考例 ※

6

検索結果1

関連するキーワード「連想ワード」で絞り込みを提供

検索結果2(絞り込み)

※上記例の場合、正確には、文書中の語につけられた「行為」のメタ情報であり、ユーザーの目的とするゴールと一致するとは限らない。他方、ユーザーに対し、アクター的 視座の要素を提案するファセットであり、情報探索の目的との親和性がある。

ファセット

①と② http://webcatplus.nii.ac.jp/から ※キャプチャー画面引用の明確性区別

① ②

Page 7: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

今回の試みは、「連想ストーリー」のパッケージ化• 今回の試みは、イメージとしてはこのような

ファセットナビゲーションに、

より可変的な粒度での、ユーザーの「目的」を仮定的に付加し、 および情報サービス提供者側 (例:教育目的や事実や研究探索上

の構成的な情報探索 ) の提案する「目的」を考慮し、 情報の体験空間にツアー的なシークエンスを持たせ、また、 そこからの行動計測から、 仮定された目的が、ユーザーと情報サービス提供者間で、マッチ

ングしやすいようなフィードバックを行います。

7

Page 8: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

連想検索のデータの面では、

• より具体的には、文書DBとなるコーパスファイルにユーザの目的を表すデータを仮定的に含め、

• 「目的」を連想計算に含めたベクトル空間モデルを形成します。• バリエーションのある語用空間のモデル ( プロファイル辞書 )

を連想計算用に作成し、• それをユーザにフィードバックします。

8

Page 9: Code4lib2014.09.06 fujiwara

9

アプリケーションで実現しようと思ったこと

ツアー的・経過的なシークエンスから、動的にファセットのサジェストを行う仕掛け※行動計測と (query – document 間の )relevance feedback につなげる UX インタフェースとして

Page 10: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

10

元資料 2012.11月バージョンから関連

Page 11: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

11

元資料 2012.11月バージョンから関連

Page 12: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

情報検索にも、ストーリー ( イメージ )とシナリオ (記述 ) がある

• 連想出版様の「連想ストーリー」設計の例

12「連想検索について-コンテンツ提供側から見た連想検索-」 2010/11/16 連想出版 青木隆平様の資料 から使用許諾済み

Page 13: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

連想ストーリー:インタラクションによる探索行動

• ユーザの手動アクションを 織り込むことにより ) によってずれが小さくなっていくことは、連想検索のコンセプト

• 連想検索を用いれば,目的の検索結果に少しずつ近づいていく 連想された事柄を次々と巡ることで,いつのまにか利用者が思いもしなかった事柄へと興味が移ろいゆく (*1)

• 理解の深まりを対話的に支援• ファセット絞り込みは手動要素が多い

現在 → ユーザーの自発的なインタラクティブ行動を前提

動的サジェストの視点→ ユーザーが逐次に自発的に働きかけなくとも、インタラクティブに ( オートマトン的・自律的な適合を行う ) 探索支援

13*1 「連想検索について-コンテンツ提供側から見た連想検索-」 2010/11/16 連想出版 青木隆平様の資料 から使用許諾済み

Page 14: Code4lib2014.09.06 fujiwara

14

Page 15: Code4lib2014.09.06 fujiwara

15

Page 16: Code4lib2014.09.06 fujiwara

16

Page 17: Code4lib2014.09.06 fujiwara

17

表側のアプリケーション:まずは itb内 prop をフィルター条件として結果を返しロテーションする、簡易なモデルが実装できるか→ ok

Page 18: Code4lib2014.09.06 fujiwara

18

表側のアプリケーション:まずは itb内 prop をフィルター条件として結果を返しロテーションする、簡易なモデルが実装できるか→ ok

Page 19: Code4lib2014.09.06 fujiwara

19

表側のアプリケーション:まずは itb内 prop をフィルター条件として結果を返しロテーションする、簡易なモデルが実装できるか→ ok

Page 20: Code4lib2014.09.06 fujiwara

20

表側のアプリケーション:まずは itb内 prop をフィルター条件として結果を返しロテーションする、簡易なモデルが実装できるか→ ok

Page 21: Code4lib2014.09.06 fujiwara

21

Page 22: Code4lib2014.09.06 fujiwara

k-navi (client application)

22

カスターマー・サイト

現在のステージ

Page 23: Code4lib2014.09.06 fujiwara

23http://getassoc.cs.nii.ac.jp/?GETAssocの概要 から

(client application)

Page 24: Code4lib2014.09.06 fujiwara

現時点では企画の前提条件が揃っていない

• インタラクティブなファセットナビゲーションの実装に至っていない

– ユーザー「目的」のフィードバックを受ける機構としても必要– GETAssoc へのクエリーを管理者が登録するスタティックな仕掛けまで実装– 反省点 はじめにファセットナビゲーションに対応したオープンソースの全文

検索システムを活用した開発アプローチを優先してもよかったかもしれない。また、経済的・時間的・制約・参加アプローチの不足等の反省材料。現ステージの制約なら、どこまで事業企画のシーズとすることが妥当か、の線引き等。

そこで • より簡易な方法としてユーザー「ペルソナ」を文書ファ

イル化し,検索・発見対象の文書に掛け合わせて連想検索用に ・・・サービス側の仮説観点ではあるが、データを入れていくモデル (雛形 ) としてはかたちをつくる価値はありそうだ

24

Page 25: Code4lib2014.09.06 fujiwara

25http://getassoc.cs.nii.ac.jp/?GETAssocの概要 から

( データ作成・処理 )

Page 26: Code4lib2014.09.06 fujiwara

使用データ• カスタマーサイト、約 400 ページ(対象文書)

• ステップ1.そのまま• ステップ2.ペルソナのユースケースでタギング• ステップ3.特徴語をもとに Wikipedia で対象文書を補足的に拡張 (未 )• ステップ4.データへ適合性フィードバック (未 )

• ユーザー・ペルソナ文書• ステップ1.クライアント・インタビューによる簡易プ

ロファイリング(5ペルソナ ×2桁キーワードレベル)• ステップ2.クライアント・アンケート ( 約 19 万全角文字 ) による、カスタ

マー観点からのユーザープロファイル仮説 (着手 )• ステップ3.セグメント・メルマガ配信等からページ計測 (未 )• ステップ4.データへ適合性フィードバック、プロファイル仮説検証 (未 )

26

Page 27: Code4lib2014.09.06 fujiwara

27

ページのスクレーピング (PHP のスクリプトであらかじめ itb形式 )

Page 28: Code4lib2014.09.06 fujiwara

28

スプレッドシートに貼り付け

Page 29: Code4lib2014.09.06 fujiwara

29

1ファイル横1行、ペルソナ文書とマージ

Page 30: Code4lib2014.09.06 fujiwara

30

GETAssoc でのデータ展開

Page 31: Code4lib2014.09.06 fujiwara

31

連想検索用 itb ファイル(テキスト)をec2 上にアップ

Page 32: Code4lib2014.09.06 fujiwara

32

Itb ファイル (テキスト ) から、連想計算に必要なインデックス (NWAM) ファイルを作成 (GETAssoc の

stpコマンド )

Page 33: Code4lib2014.09.06 fujiwara

33

作成された連想計算用インデックスファイル群(例 )

Page 34: Code4lib2014.09.06 fujiwara

34

ペルソナ文書を基点とした、類似文書のスコア例 (GETAssoc/GSS3 から )

Page 35: Code4lib2014.09.06 fujiwara

35

Request

Page 36: Code4lib2014.09.06 fujiwara

36

Response

Page 37: Code4lib2014.09.06 fujiwara

37

アプリケーション側でのクエリー登録

Page 38: Code4lib2014.09.06 fujiwara

38

アプリケーション側でのクエリー登録

Page 39: Code4lib2014.09.06 fujiwara

39

簡易モデルの条件フィルターナビゲーション、「シナリオ」セッション数

Page 40: Code4lib2014.09.06 fujiwara

が、しかし、まだ・・・• 実証実験開始時は• データとしてモックアップ(デモレベ

ル)

40

Page 41: Code4lib2014.09.06 fujiwara

反省点・・・間接的表現として

• オープンソース系ツールを組み合わせるなど、初期段階で、スクラッチでプロトタイプ開発をしないという路線もありえたかも– プロトタイプの試みが先か、各種利用可能ツールの調査と活

用が先か、そのときの事情による?– 今回は、商用サービスでの実証実験の可能性、また、時間・

リソース・経済的制約から、小さな一歩という位置づけ– オープンソース化は、最初からか後からか

• 研究面での踏み込みが足りず– そのときどきの、ビジネスとしての選択と集中の事情が多少

なりともあるとはいえ、バランスを確立したい

41

Page 42: Code4lib2014.09.06 fujiwara

これからは・・・

• 研究方面へのアプローチ– 多様な連想検索の研究分野があり、様々な研究成果やモデルを取り入れ

– 情報検索やデータ処理についてのモデルやアルゴリズム寄りのサービス開発ができないだろうか

• ( ライブラリ /ブック系以外でも ) 実用サービスへの応用可能性を検討できないか例えば– 情報のスクレーピングと併せて、簡易なウェブBIツール開発?– 簡易なサーチエンジン対応 / サイトページデータ最適化ツールとして、

サイト内の HTML要素と文書の目的最適化、 ( サービスとユーザー双方のクエリー設

定検証と併せ ) 目的適合性の高いコンテンツ作成支援?

42

Page 43: Code4lib2014.09.06 fujiwara

昨年 2013 LT 資料から ( 一部補足改定 )

可能性・メリット(中期的な目標)

43

{{Information |Description= Class diagram for the LOD datasets |Source=http://umbel.org/lod_constellation.html |Date=2008-10-10 |Author=Michael K. Bergman |other_versions= }}

[発展性・応用性 ]• ドキュメント・図書・書籍の探索補助として、ユーザ目的辞書の形成

や、目的に適合しやすいリコメンドシナリオ型のファセットナビゲーション。

• Webブラウズ時の関連情報の補助ツールとして提供することで、Linked Data の前処理としての、統制タギングを促す。

• 情報アーカイブの空間探索用ツールとして提供することで、多様な経験空間を纏まりとして追体験、また視座を発見することを促す。

Page 44: Code4lib2014.09.06 fujiwara

サービス上で実証実験

44

Page 45: Code4lib2014.09.06 fujiwara

その他検討メモ• 認知行動上のコンテキスト (背景として目的/動因構成) で動的なサジェスチョンを提供する際の、ファセット

( 1)※ の切り替え時に着眼。(仮にこれを認知ファセットと呼ぶ)

• 「認知ファセット」の切り替えにおいて、ある知的能動態 (もしくは複数 )が探索的な状況におかれた際、オートマトン様の試行錯誤 (認知ファセットの切り替え )が単体または相互にいわばチューナー的に行われる、という仮説を置く

• その際、そのチューナー的オートマトンの作用対象の粒度において、状況感知、その複合としての感性形成、表現のシンボル化や構造化・概念化(認知体の内または外に向けたそれ)、といった形成のレイヤーがあると考える

• そこにおける、実際の現象(認知の正誤や差異の発生)、および、それらの発生・変容のシミュレーションの研究やビジネスの可能性(コミュニケーションモデルも関係)

• 中長期的な応用分野として意識する方面: ビッグデータやリンクドデータ (web)の活用機会、環境や社会サステイナビリティ等、制約を設けたビジネス機会性・継続性・リスク分析、また、 (ソーシャルバリューまた消費対象を流動または固定された認知対象と置いた場合の )社会や市場の形成・変容・循環の課題抽出と機会創出

45

※1 ファセット自体について、ここでは下記のようなメカニカルな機能としてのファセッティングという意味で用います。インデックスされた検索対象をインデックスによりカテゴライズされた表示を提供するメカニズム。https://cwiki.apache.org/confluence/display/solr/Facetingから引用:  As described in the section Overview of Searching in Solr, faceting is the arrangement of search results into categories based on indexed terms. Searchers are presented with the indexed terms, along with numerical counts of how many matching documents were found were each term. Faceting makes it easy for users to explore search results, narrowing in on exactly the results they are looking for.

Copyright © DAYPLA Corporation All rights reserved.

Page 46: Code4lib2014.09.06 fujiwara

謝辞

間接的なプレスリリース紹介

http://www.atpress.ne.jp/view/50206

                                    ほ

か多くの方々

46

Page 47: Code4lib2014.09.06 fujiwara

Thank You

47