(57)【要約】【課題】状況を意識した行動プロセスの獲得を図る。【解決手段】特徴語抽出部１０に特徴語抽出機能１１の他に、特徴語選択機能１２を備えるようにして、特徴語の集合で表される状況自体を例えばｗｅｂ上のサイトに存在する文書集合から自動的に抽出し、さらにノイズとなる特徴語をフィルタリングする。また、行動プロセス生成部２０に動作抽出機能２１の他に、前後関係算出機能２２を備えるようにして、例えばｗｅｂ上から収集した文書集合を統計的に解析し、どちらの行動が先に出現する確率が高いかを算出する。【選択図】      図１
2014241122.tif 000002
【特許請求の範囲】
【請求項１】
自然言語で記述されたデータ集合から、入力されたキーワードまたは前記データ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する第１のステップと、
前記抽出した特徴語の集合と前記キーワードとの共起度を算出し、前記共起度に基づいて前記抽出した特徴語の集合の中から該当する特徴語を選択する第２のステップと、
前記データ集合の中から、前記選択した特徴語に対する動作を表現する語を抽出することで前記キーワードに対する行動プロセスを生成する第３のステップとを備えることを特徴とする行動プロセス抽出方法。
【請求項２】
前記第２のステップは、前記抽出した特徴語の集合と前記キーワードとの共起度を算出し、前記共起度が予め定めた閾値または統計に基づく算出値より低い特徴語をノイズとしてフィルタリングすることを特徴とする請求項１記載の行動プロセス抽出方法。
【請求項３】
自然言語で記述されたデータ集合から、入力されたキーワードまたは前記データ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する第１のステップと、
前記データ集合の中から、各特徴語に対する動作を表現する語を抽出する第２のステップと、
前記第２のステップで抽出された動作と特徴語とからなる行動の組について、前記データ集合の中で先に出現する確率を算出し、算出結果に基づいて行動間の前後関係を決定することにより行動プロセスを抽出する第３のステップとを備えることを特徴とする行動プロセス抽出方法。
【請求項４】
自然言語で記述されたデータ集合から、入力されたキーワードまたは前記データ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する第１のステップと、
前記抽出した特徴語の集合と前記キーワードとの共起度を算出し、前記共起度に基づいて前記抽出した特徴語の集合の中から該当する特徴語を選択する第２のステップと、
前記データ集合の中から、前記選択した特徴語に対する動作を表現する語を抽出する第３のステップと、
前記第３のステップで抽出された動作と特徴語とからなる行動の組について、前記データ集合の中で先に出現する確率を算出し、算出結果に基づいて行動間の前後関係を決定することにより行動プロセスを抽出する第４のステップとを備えることを特徴とする行動プロセス抽出方法。
【請求項５】
前記第２のステップは、前記抽出した特徴語の集合と前記キーワードとの共起度を算出し、前記共起度が予め定めた閾値または統計に基づく算出値より低い特徴語をノイズとしてフィルタリングすることを特徴とする請求項４記載の行動プロセス抽出方法。
【請求項６】
自然言語で記述されたデータ集合から、入力されたキーワードまたは前記データ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する特徴語抽出手段と、
前記抽出した特徴語の集合と前記キーワードとの共起度を算出し、前記共起度に基づいて前記抽出した特徴語の集合の中から該当する特徴語を選択する特徴語選択手段と、
前記データ集合の中から、前記選択した特徴語に対する動作を表現する語を抽出することで前記キーワードに対する行動プロセスを生成する行動プロセス生成手段とを備えることを特徴とする行動プロセス抽出装置。
【請求項７】
自然言語で記述されたデータ集合から、入力されたキーワードまたは前記データ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する特徴語抽出手段と、
前記データ集合の中から、各特徴語に対する動作を表現する語を抽出する動作抽出手段と、
前記動作抽出手段で抽出された動作と特徴語とからなる行動の組について、前記データ集合の中で先に出現する確率を算出し、算出結果に基づいて行動間の前後関係を決定することにより行動プロセスを抽出する前後関係算出手段とを備えることを特徴とする行動プロセス抽出装置。
【請求項８】
自然言語で記述されたデータ集合から、入力されたキーワードまたは前記データ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する特徴語抽出手段と、
前記抽出した特徴語の集合と前記キーワードとの共起度を算出し、前記共起度に基づいて前記抽出した特徴語の集合の中から該当する特徴語を選択する特徴語選択手段と、
前記データ集合の中から、前記選択した特徴語に対する動作を表現する語を抽出する動作抽出手段と、
前記動作抽出手段で抽出された動作と特徴語とからなる行動の組について、前記データ集合の中で先に出現する確率を算出し、算出結果に基づいて行動間の前後関係を決定することにより行動プロセスを抽出する前後関係算出手段とを備えることを特徴とする行動プロセス抽出装置。
【請求項９】
前記抽出される行動プロセスについて、前記データ集合中で起こり得る確率を算出し、前記起こり得る確率が予め定めた閾値または統計に基づく算出値より低い行動プロセスをノイズとして除去するステップを含むことを特徴とする請求項１から５のいずれか１項に記載の行動プロセス抽出方法。
【請求項１０】
前記抽出される行動プロセスについて、前記データ集合中で起こり得る確率を算出し、前記起こり得る確率が予め定めた閾値または統計に基づく算出値より低い行動プロセスをノイズとして除去するフィルタリング手段を備えることを特徴とする請求項６から８のいずれか１項に記載の行動プロセス抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実世界における人間の行動プロセスを自動的に抽出する技術であり、高度な検索・推薦に応用可能な行動プロセス抽出方法及び行動プロセス抽出装置に関する。
【背景技術】
【０００２】
実世界における人間の行動をモデル化することは、様々な有用なアプリケーションを可能にする技術であると長い間考えられてきた。特に、人間の行動や出来事の繋がり（行動プロセス）をモデル化することにより、人間の行動や思考の予測が可能となり、行動提示や発話生成といった応用が見込まれる。従来の技術は大きく分けて３つあり、それぞれの概要と課題について以下で述べる。
【０００３】
（ａ１）状況を限定し人手で行動プロセスをモデル化する技術  
予めいくつかの状況を想定し、人手で行動プロセスをモデル化した技術としてタスクオントロジ（非特許文献１）が挙げられる。タスクオントロジは、ユーザが実世界で認識する問題（タスク）に対して、どのような行動プロセスで解決していくかを示した知識ベースである。「移動」「食事」「遊ぶ」「買い物」「宿泊」「旅行」という６つの状況において、起こり得る問題を洗い出し、それぞれの問題を解決する行動プロセスを人手で記述している。
【０００４】
しかし、タスクオントロジでは、状況や記述されている行動プロセスが非常に限定的であり、かつオントロジの構築には多大な労力を要するという２つの課題がある。
【０００５】
（ａ２）限定的な状況における行動プロセスを自動的に抽出する技術  
料理レシピサイトのように、行動のプロセスが順に追って明確に書かれている形式化された文書を対象とし、大量の行動プロセスを自動的に生成する技術としてPerkowitzmらの手法（非特許文献２）が挙げられる。しかし、シンプルなテキスト解析で行動プロセスを生成しているための、「step１, step２…」といったように、形式的に書かれた料理レシピなどの文書にした対応しておらず、抽出可能な行動プロセスは限定的である。
【０００６】
（ａ３）多様な状況における行動プロセス抽出技術  
大量かつ多様な人間の行動プロセスを抽出するためには、形式化された文書だけでなく、個人が実世界においてどのような行動をとったかが記述された非構造な文書（blogやTwitter、質問応答サイトなど）から行動プロセスを抽出する技術が必要である。アプローチとしては、Nguyenらのように言語的な手がかりを利用した手法（非特許文献３）や、倉島らの相関の高いイベントや行動・主観をマイニングする技術（非特許文献４）が挙げられる。
【０００７】
Nguyenらは、条件付き確率場と自己教師あり学習を用いて、文に現れる行動を構成する語をラベル付けし、１つの文中における行動間の遷移を精度良く抽出する手法を提案している。しかし、この手法では、１つの文中に「の前に」「の後で」といった行動間の遷移を示す言語的な手がかりが存在する場合しか行動のプロセスを抽出することができない。また、どのような状況で成立する行動プロセスなのかも意識されていない。
【０００８】
倉島らは、文中に言語的な手がかりとなる語が存在しない場合でも、例えば「ディズニーランド」は「パレードを見る」という行動や、「喜び」という主観と相関が高いという知識を抽出する手法を提案している。しかし、Nguyenらと同様に、どのような状況で成立する知識なのかは意識されておらず、前後関係など行動間の関連性も考慮されていない。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】笹嶋 宗彦, 古谷 孝一郎, 來村 徳信, 深澤 佑介, 長沼 武史, 倉掛 正治, 溝口  理一郎, “実規模モバイルサービス向けタスク指向型メニューの開発と評価” 人工知能学会全国大会, 2009.
【非特許文献２】Perkowitzm M., Philipose, M., Fishkin, K., Patterson, D.J., “Mining models of human activities from the web” Proc. 13th international conf. on World Wide Web, pp.573-582, New York, USA, May 2004.
【非特許文献３】グェンミンテイ, 川村隆浩, 中川博之, 田原康之,大須賀昭彦、“Webからの自己教師あり学習を用いた人間行動マイニング” 電子情報通信学会人工知能と知識処理研究会, AI2009-22, 2009.
【非特許文献４】倉島健, 藤村考, 奥田英範, “大規模テキストからの経験マイニング” 第１９回データ工学ワークショップ（DEWS2008）, 2008.
【非特許文献５】高橋 公海, 佐藤 進也, 松尾 真人, “Webからの効率的な行動プロセス抽出方法の検討” 第４回データ工学と情報マネジメントに関するフォーラム（DEIM2012）, 2012.
【非特許文献６】Blei, D.M., Ng,A.Y.andＪordan, M.I., “Latent Dirichlet Allocation” Journal of Machine Learning Reserch 3, pp.993-1022,2003.
【非特許文献７】Cilibrasi, R. L. and Vitanyi, P. M. B. “The Google Similarity Distance” IEEE Transactions on Knowledge and Data Engineering, 19(3),370-383, 2007.
【非特許文献８】北研二，津田和彦，獅々堀正幹：情報検索アルゴリズム，共立出版 (2002).
【発明の概要】
【発明が解決しようとする課題】
【００１０】
抽出した行動プロセスを人間への行動提示などに応用する場合、状況によって取り得る行動が変わるため、提示する対象の人間がどのような状況下にあるかを考慮に入れることが望ましい。上記（ａ１）、（ａ２）、（ａ３）の技術はいずれも、抽出した知識がどのような状況で成立するものかを考慮していない。
【００１１】
本発明の目的は、状況を意識した行動プロセスの獲得を図り得る行動プロセス抽出方法及び行動プロセス抽出装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明に係る行動プロセス抽出方法は、自然言語で記述されたデータ集合から、入力されたキーワードまたはデータ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する第１のステップと、抽出した特徴語の集合とキーワードとの共起度を算出し、共起度に基づいて抽出した特徴語の集合の中から該当する特徴語を選択する第２のステップと、データ集合の中から、選択した特徴語に対する動作を表現する語を抽出することでキーワードに対する行動プロセスを生成する第３のステップとを備えるようにしたものである。
【００１３】
このように構成すると、特徴語の集合で表される状況自体を文書集合から自動的に抽出し、さらにノイズとなる特徴語をフィルタリングすることにより、予め状況を限定せずとも、状況に応じた行動プロセスを出力することができる。
【００１４】
また、本発明に係る行動プロセス抽出方法は、自然言語で記述されたデータ集合から、入力されたキーワードまたはデータ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する第１のステップと、データ集合の中から、各特徴語に対する動作を表現する語を抽出する第２のステップと、第２のステップで抽出された動作と特徴語とからなる行動の組について、データ集合の中で先に出現する確率を算出し、算出結果に基づいて行動間の前後関係を決定することにより行動プロセスを抽出する第３のステップとを備えるようにしたものである。
【００１５】
このように構成すると、データ集合を統計的に解析し、どちらの行動が先に出現する確率が高いかを算出することで、形成的に書かれていない文書や文中に言語的な手がかりが存在しない場合でも、行動間に順序関係のある行動プロセスを出力することが可能となる。
【００１６】
さらに、本発明に係る行動プロセス抽出方法は、自然言語で記述されたデータ集合から、入力されたキーワードまたはデータ集合に含まれるキーワードについて、状況を特徴付ける特徴語の集合を抽出する第１のステップと、抽出した特徴語の集合とキーワードとの共起度を算出し、共起度に基づいて抽出した特徴語の集合の中から該当する特徴語を選択する第２のステップと、データ集合の中から、選択した特徴語に対する動作を表現する語を抽出する第３のステップと、第３のステップで抽出された動作と特徴語とからなる行動の組について、データ集合の中で先に出現する確率を算出し、算出結果に基づいて行動間の前後関係を決定することにより行動プロセスを抽出する第４のステップとを備えるようにしたものである。
【００１７】
このように構成すると、非構造な文書集合から、状況を特徴付ける特徴語の集合のうちノイズがない信頼度の高い特徴語と、各特徴語に対する動作を示す語を抽出することで行動を構成し、文書集合から行動間の前後関係を決定することにより、多様な状況における自動的な行動プロセス抽出を実現でき、さらに行動プロセス抽出に関する信頼性を向上できる。
【００１８】
さらに、本発明に係る行動プロセス抽出方法は、抽出される行動プロセスについて、データ集合中で起こり得る確率を算出し、起こり得る確率が予め定めた閾値または統計に基づく算出値より低い行動プロセスをノイズとして除去するステップを含むようにしたものである。
【００１９】
このように構成すると、抽出される行動プロセスについて、データ集合中で起こり得る確率を算出し、起こり得る確率の低い行動プロセスをノイズとしてフィルタリングすることにより、行動プロセス抽出精度の向上を図ることができる。
【発明の効果】
【００２０】
本発明によれば、従来技術では対象としていないテキストからも行動プロセス抽出を行うことが可能となるため、大量かつ多様な人間の行動プロセスを生成することができる。また、入力する文書集合を上手く限定することにより、特定のセグメント（場所・年代・各個人など）に特化した行動プロセスを抽出することも可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る行動プロセス抽出方法を実現する装置の機能ブロック図。
【図２】同第１の実施形態において、文書集合からの特徴語抽出部の動作を示すフローチャート。
【図３】同第１の実施形態において、特徴語集合から行動プロセスを生成する行動プロセス生成部の動作を示すフローチャート。
【図４】本発明の第２の実施形態に係る行動プロセス抽出方法を実現する装置の機能ブロック図。
【図５】同第２の実施形態において、フィルタリング機能の動作を示すフローチャート。
【図６】同第２の実施形態において、縦軸に割合、横軸に行動の出現回数をとった、行動の出現頻度分布図。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について図面を参照して詳細に説明する。  
（第１の実施形態）  
図１は、本発明の第１の実施形態に係る行動プロセス抽出方法を実現する装置の機能ブロック図である。図１において、状況を特徴付ける特徴語抽出部１０及び行動プロセス生成部２０は、例えば、ＣＰＵ、メモリ、ハードディスクを備える計算機に備えられる。また、図１において、入力部３１及び出力部３２が備えられる。入力部３１は、ユーザによるキーワードＷの入力を受け付け、またｗｅｂ（図示せず）から送られるデータを入力するためのものである。出力部３２は、特徴語抽出部１０及び行動プロセス生成部２０による処理結果を表示し、さらに特徴語抽出部１０及び行動プロセス生成部２０による処理結果を出力するためのものである。なお、実施形態では、テキストファイルやＤＢに格納する形で出力しているが、出力はテキストやＤＢに限定されるものではない。
【００２３】
状況を特徴付ける特徴語抽出部１０は、特徴語抽出機能１１とノイズとなる語をフィルタリングする特徴語選択機能１２から構成される。行動プロセス生成部２０は、特徴語に対する動作を抽出する動作抽出機能２１と、行動（特徴語と動作の組）間の前後関係を算出し、どちらの行動が先に出現する確率が高いかを判定する前後関係算出機能２２とから構成される。
【００２４】
入力部３１では、自然言語で記述された文書集合が入力される。文書集合を絞り込む任意のキーワードＷの入力は必須ではないが、キーワードが入力された場合には、そのキーワードに関連する状況における行動プロセスを抽出することが可能である。任意のキーワードＷが入力されない場合には、文書集合に含まれる全ての名詞をキーワードと考え、同様に全てのキーワードに関連する状況の行動プロセスを抽出する。なお、本発明では、入力された任意のキーワードまたはデータ集合中に含まれる全てのキーワードや、全ての動作と特徴語とからなる行動の組を対象とすることが可能であるが、全てを対象としなくともよい。
【００２５】
例えば入力される任意のキーワードＷが「就職活動」であった場合に、「新卒採用」「転職」「天下り」「服装選び」といった状況ごとに、それぞれの状況を特徴付ける特徴語を得る。「新卒採用」という状況を特徴付ける語の集合としては、「面接，採用，書類，内定，エントリー」といった語が得られる。
【００２６】
状況に応じた特徴語を得る手法として、従来技術（非特許文献５：高橋 公海, 佐藤 進也, 松尾 真人, “Webからの効率的な行動プロセス抽出方法の検討” 第４回データ工学と情報マネジメントに関するフォーラム（DEIM2012）, 2012.）が存在するが、一見関連性のない特徴語も得られるため、ノイズが多くそのまま適用することはできない。そこで、キーワードとの共起度を検索エンジン等を利用して算出することで、ノイズを減らすことが可能である。これが特徴語選択機能１２である。
【００２７】
行動プロセス生成部２０の動作抽出機能２１では、各特徴語に対する動詞を抽出する。例えば、「面接」という特徴語であれば「受ける」という動詞を抽出し、特徴語と組み合わせて「面接を受ける」という行動を得る。
【００２８】
前後関係算出機能２２では、全ての行動間の前後関係を算出する。「面接を受ける」と「エントリーをする」という２つの行動について、文書集合中でどちらの行動が先に出現する確率が高いかを算出し、「エントリーをする  →  面接を受ける」という行動プロセスを生成する。対象（特徴語）と動作の組を行動とし、それらを並べることで行動プロセスを表現する形式自体は、従来と同様である。
【００２９】
なお、前後関係算出機能２２では、例えば行動Ａと行動Ｂの前後関係を判定する際に、行動Ａが先に出現する可能性が５０％、行動Ｂも同じく５０％の場合、「同じ状況で発生しうる行動の組だが、前後関係は無い」ものとして扱う。この場合も、これらの行動の組はチェックリストとして利用可能である。
【００３０】
第１の実施形態として、文書集合にｗｅｂ上のｂｌｏｇ記事、前後関係の特定に各ｂｌｏｇ記事の投稿時刻を利用し、行動プロセスを抽出する例について示す。
【００３１】
（ｂ１）文書集合からの特徴語抽出  
図２は、文書集合からの特徴語抽出部１０の動作を示すフローチャートである。まず、キーワードＷが入力されると（ステップＳＴ２ａ）、特徴語抽出部１０は、解析対象のデータを読み込み（ステップＳＴ２ｂ）、本文に任意のキーワードＷを含む記事のみを解析対象として絞り込む（ステップＳＴ２ｃ）。また、特徴語抽出部１０は、ｂｌｏｇ記事を書いた著者のｉｄと本文、投稿時刻を取得する（ステップＳＴ２ｄ）。
【００３２】
次に、特徴語抽出部１０は、本文からbag-of-words（以降、ＢＯＷと称する）ファイルを作成し（ステップＳＴ２ｅ）、ＢＯＷから特徴語抽出を行う（ステップＳＴ２ｆ）。ＢＯＷとは、単語の集合のことであり、本実施形態では本文を形態素解析し、名詞（形式名詞は除く）と未知語を特徴語の候補として抽出しＢＯＷを作成する。例えば、「風邪なので薬を飲んだ」という文からは、「風邪」「薬」という単語が特徴語の候補として抽出され、それらの単語の集合がＢＯＷファイルに記述される。
【００３３】
ＢＯＷからの特徴語抽出手法として、トピックモデル（非特許文献６：Blei, D.M., Ng,A.Y.andＪordan, M.I., “Latent Dirichlet Allocation” Journal of Machine Learning Reserch 3, pp.993-1022,2003.）を利用する。これは、各トピックが状況に対応しており、それぞれの状況を特徴付ける語を得られるためである。ただし、状況を特徴付ける語を得られるのであれば、ＬＳＩなどの別の手法でもよい。例えば、任意のキーワードとして「結婚式」を入力し、キーワードを含む文書の本文からＢＯＷを作成しトピックモデルで特徴語抽出を行った場合、表１のような結果が得られる。
【表１】
2014241122.tif 000003
【００３４】
例えば、トピック番号０は、結婚式に参加するため服装や小物を準備している状況、トピック番号３は披露宴のご祝儀を用意している状況に対応した特徴語集合が得られている。一方で、トピック番号１，２，４のように、特徴語を一見しただけではどのような状況か分からないトピックも存在している。特徴語集合に含まれる各語を見ると、どのような状況か分からないトピックには、キーワードとの関連性が低い語が多く含まれる傾向がある。そこで、特徴語選択機能１２では、キーワードと各特徴語との共起度を算出し（ステップＳＴ２ｇ）、それらの平均値を各トピックの共起度とする。共起度の値が閾値以上のトピックを残すことにより、特徴語の選択を行う。
【００３５】
フィルタリングの閾値は、経験的に予め定めた閾値または統計に基づく算出値により決定する。
【００３６】
本第１の実施形態では経験的な知見から、各トピックを共起度の高い順に並べ、上位２０％にあたるトピックの共起度を閾値として用いた。
【００３７】
しかしこれに限らず、統計値に基づく算出値、例えば、平均値、中央値、最頻値、指数平均値、平均値から標準偏差の数倍以上の外れ値（極端な値）を除いて処理する調整平均、移動平均、平均値から標準偏差の数倍より低い値、その他過去の事例から得られた予め定めた値等を用いてもよい。
【００３８】
キーワードとの関連性を測る方法としては、Googleのヒット数を用いて意味的な関わりの度合いを測る手法（非特許文献７：Cilibrasi, R. L. and Vitanyi, P. M. B. “The Google Similarity Distance” IEEE Transactions on Knowledge and Data Engineering, 19(3),370-383, 2007.）を利用する。関連性の高いトピック順に並べると、表２のような結果が得られる（ステップＳＴ２ｈ）。
【表２】
2014241122.tif 000004
【００３９】
（ｂ２）行動プロセスの生成  
図３は、特徴語集合から行動プロセスを生成する行動プロセス生成部２０の動作を示すフローチャートである。
【００４０】
まず、行動プロセス生成部２０は、上記特徴語抽出部１０で得られる特徴語集合が入力されると（ステップＳＴ３ａ）、一時変数ｉを初期化し（ステップＳＴ３ｂ）、ｉ番目のトピックがあるか否かの判断を行う（ステップＳＴ３ｃ）。ここでは、トピックが存在するものとし（存在）、行動プロセス生成部２０は、０番目のトピックの特徴語を読み込み（ステップＳＴ３ｄ）、そして、０番目のトピックにおける特徴語集合とキーワードを含む記事を読み込み（ステップＳＴ３ｅ）、動作抽出機能２１で特徴語に対する動作を抽出する（ステップＳＴ３ｆ）。
【００４１】
ここでは、係り受け解析を行い、文中で特徴語が係る動作を抽出するが、文中で特徴語が係る動作を抽出するが、文中に共起する動作と組み合わせるなど別の方法で抽出してもよい。例えば、トピック番号０について、「青いドレスを着て、ショールをはおった。」という文から動作を抽出する場合、「ドレス」に対して「着る」、「ショール」に対して「はおる」という動作をそれぞれ得る。
【００４２】
次に、行動プロセス生成部２０は、特徴語と動作からなる全ての行動の組について、本文中にどちらが先に出現する確率が高いかを前後関係算出機能２２により算出する（ステップＳＴ３ｇ）。各記事内、さらに記事を書いたユーザ毎投稿順に並べた場合に、どちらの行動が先に出現しているかをカウントし、行動間の前後関係を決定する。
【００４３】
行動間の前後関係を決定した場合、行動プロセス生成部２０は、ステップＳＴ３ａ及びステップＳＴ３ｂの処理を実行する。そして、ステップＳＴ３ｃにおいて、トピックが存在しない場合（不在）、行動プロセス生成部２０は行動プロセスの集合を出力し、ユーザに提示する（ステップＳＴ３ｉ）。
【００４４】
生成される行動プロセスとしては、例えばトピック番号０については「ドレスを着る  →  ショールをはおる」「ネックレスをつける  →  ショールをはおる」、トピック番号３については「式に呼ばれる  →  ご祝儀を渡す」「額を減らす  →  ご祝儀を渡す」、トピック番号３７については「ドレスを見る  →  衣装を借りる」「ドレスを選ぶ  →  ドレスを着る」「人前式を行う  →  白無垢が似合う」といったものが挙げられる。
【００４５】
ここでは、２つの行動間の前後関係を算出し出力するが、３つ以上の行動を含むプロセスを抽出する方法としては、推移律を利用して「行動Ａ→行動Ｂかつ行動Ｂ→行動Ｃ」ならば「行動Ａ→行動Ｃ」が成り立つため、「行動Ａ→行動Ｂ→行動Ｃ」という行動プロセスを抽出することも可能である。また、prefixspanなどの系列抽出手法を利用してもよい。
【００４６】
（ｂ３）行動プロセスを利用したサービス例  
行動プロセスを示すグラフを利用することにより、人が今度とる行動や思考を推定することや、行動プロセスを利用したナビゲーションや失敗の回避、マニュアルの自動作成、行動拡張や新しい方法の発見等のサービスに応用可能である。
【００４７】
例えば、「風邪」という状況で「熱がある  →  会社に電話  →  病院に行く  →  薬をもらう」という一連の行動プロセスがあった時、センサ等の何等かの方法で平熱よりも体温が高い状態を検知できれば、プロセスを用いて、その後「会社に電話」「病院に行く」といった行動をとることは推測できる。また、旅行の感想などが書かれた文書を入力すると、観光ルートが行動プロセスとして出力されるため、観光のナビゲーションにも利用することができる。さらに、シーケンシャルなパターンではなく分岐が存在するグラフとなった行動プロセスを提示することで、別の選択肢や新しい方法を発見することも可能である。
【００４８】
以上のように上記第１の実施形態によれば、特徴語抽出部１０に特徴語抽出機能１１の他に、特徴語選択機能１２を備えるようにしているので、特徴語の集合で表される状況自体を例えばｗｅｂ上のサイトに存在する文書集合から自動的に抽出し、さらにノイズとなる特徴語をフィルタリングすることができ、これにより予め状況を限定せずとも、状況に応じた行動プロセスを出力することができる。
【００４９】
また、上記第１の実施形態によれば、行動プロセス生成部２０に動作抽出機能２１の他に、前後関係算出機能２２を備えるようにしているので、例えばｗｅｂ上から収集した文書集合を統計的に解析し、どちらの行動が先に出現する確率が高いかを算出することができ、これにより形成的に書かれていない文書や文中に言語的な手がかりが存在しない場合でも、行動間に順序関係のある行動プロセスを出力することが可能となる。
【００５０】
さらに、上記第１の実施形態によれば、ｂｌｏｇやTwitterなどから収集した非構造な文書集合から、状況を特徴付ける特徴語の集合のうちノイズがない信頼度の高い特徴語と、各特徴語に対する動作を示す語を抽出することで行動を構成し、文書集合から行動間の前後関係を決定することにより、多様な状況における自動的な行動プロセス抽出を実現でき、さらに行動プロセス抽出に関する信頼性を向上できる。
【００５１】
また、上記第１の実施形態であれば、ｂｌｏｇ記事を書いた著者のｉｄと本文、投稿時刻を利用すれば、特定のセグメント（場所・年代・各個人など）に特化した行動プロセスを抽出することも可能である。
【００５２】
（第２の実施形態）  
先の第１の実施形態では、状況と関連性の無い行動プロセスも多数出力されることがある。
【００５３】
例えば、キーワード「かぼちゃ」に関連する状況として「冬至」や「ハロウィン」「離乳食を作る」といった状況が挙げられる「冬至」に関連する特徴語集合を手掛かりに行動プロセス集合を生成すると、表３のような結果が得られる。
【表３】
2014241122.tif 000005
【００５４】
プロセスと、「風邪を引く→ 地平線に一致」のように、連続して発生することが滅多にない行動プロセスとが混在して出力される。実際には、出力される行動プロセス集合のうち、状況と関連性の高い行動プロセスは極僅かしか存在せず、連続して起こることが殆どない行動プロセスが多数を占める。
【００５５】
そこで、第２の実施形態では、連続して発生する確率が低い行動プロセスをフィルタリングし、状況を特徴付けるプロセスに重み付けすることでノイズを低減させるようにしている。
【００５６】
図４は、本発明の第２の実施形態に係る行動プロセス抽出方法を実現する装置の機能ブロック図である。図４において、上記図１と同一部分には、同一符号を付して、詳細な説明を省略する。
【００５７】
第２の実施形態では、上記出力部３２の前段に、フィルタリング機能４１を追加する。フィルタリング機能４１は、例えば、上記特徴語抽出部１０及び行動プロセス生成部２０と同様に、ＣＰＵ、メモリ、ハードディスクを備える計算機に備えられ、上記前後関係算出機能２２で抽出された複数の行動プロセスそれぞれについて、文書集合中で起こり得る確率を算出し、起こり得る確率が予め定めた閾値または統計に基づく算出値より低い行動プロセスをノイズとして除去するものである。
【００５８】
特徴語抽出部１０及び行動プロセス生成部２０は、先の第１の実施形態と同様であるが、本第２の実施形態は、フィルタリング機能４１で行動プロセスが起こり得る確率を算出し、確率が低いものを除去することで行動プロセス抽出精度向上が可能となる。
図５は、フィルタリング機能４１の動作を示すフローチャートである。
【００５９】
まず、フィルタリング機能４１は、上記前後関係算出機能２２で得られる行動プロセス集合が入力されると（ステップＳＴ５ａ）、一時変数ｉを初期化し（ステップＳＴ５ｂ）、ｉ番目のトピックがあるか否かの判断を行う（ステップＳＴ５ｃ）。ここでは、トピックが存在するものとし（存在）、フィルタリング機能４１は、０番目のトピックの特徴語を読み込み（ステップＳＴ５ｄ）、そして、０番目のトピックにおける特徴語集合を含む記事を読み込み（ステップＳＴ５ｅ）、行動プロセスの特徴量を算出する（ステップＳＴ５ｆ）。
【００６０】
行動プロセスの特徴量を算出するステップでは、文書集合中の行動プロセスの頻度などの特徴を用いて、各行動プロセスについて起こり得る確率を算出する。文書集合中の行動プロセスの頻度を算出する方法としては、例えば文書集合中においてある行動プロセスが出現する数ｎを、文書集合中の全ての行動プロセス数ｍで除したもの（ｎ／ｍ）が挙げられる。本第２の実施形態では、行動プロセスの頻度以外に重要語句を抽出する技術である残差 idf[非特許文献８：北研二，津田和彦，獅々堀正幹：情報検索アルゴリズム，共立出版 (2002).]を利用しているが、検索エンジンのヒット数を用いて行動とキーワードとの関連度合いを測る手法[非特許文献７：Cilibrasi, R. L. and Vitanyi, P. M. B. “The Google Similarity Distance” IEEE Transactions on Knowledge and Data Engineering, 19(3),370-383, 2007.]で算出された数値なども特徴量として有効である。なお、特徴量や行動プロセスが起こり得る確率を数値化する方法は上記に限定されず、新たな統計理論等を用いて適宜修正することができる。
【００６１】
フィルタリング機能４１は、上記ステップＳＴ５ｆで算出された行動プロセスと特徴量を記憶媒体に格納し（ステップＳＴ５ｇ）、次のトピックを設定し（ステップＳＴ５ｈ）、全ての行動プロセスについて各特徴量を算出し記憶媒体に記憶する。
【００６２】
そして、ステップＳＴ５ｃにおいて、トピックが存在しない場合（不在）、フィルタリング機能４１は記憶媒体に格納された行動プロセス集合から閾値以上のものを出力し（ステップＳＴ５ｉ）、記憶媒体を空にし（ステップＳＴ５ｊ）、閾値以上の行動プロセスの集合をユーザに提示する（ステップＳＴ５ｋ）。
【００６３】
ここで、第２の実施形態の一例として、Webから収集したblog記事集合を対象に、先の第１の実施形態で行動プロセス抽出を行い、フィルタリング機能４１によりノイズを低減した例を示す。
【００６４】
実際には例えば「かぼちゃ」を含むblog記事約2000件を対象とした場合でも、取り得る全ての行動プロセスは70万以上、そのうち「冬至」のトピックに関連する文書集合から得られる行動プロセスは２万程度存在する。
【００６５】
本第２の実施形態では、「行動の組＜Ｘ，Ｙ＞があったとき、ある状況においてＸが起きた際、それに続いてＹが生じる確率が高い行動の組」の抽出を目的としている。このため、次の２つの仮定をもとに行動パターンに重み付けを行う。
【００６６】
ｃ１．行動の組＜Ｘ，Ｙ＞が文書集合中の多くの文書でＸ→Ｙという順に出現している場合、Ｘに続いてＹが生じる確率が高い。
ｃ２．文書集合全体よりもクラスタ内の文書集合に偏って出現する行動パターンは、クラスタが対応する状況に依存している。
【００６７】
仮定（ｃ１）を基に、文書集合全体における行動パターンの文書頻度（Document Frequency: df）を指標として利用する。行動は文中から係り受け関係にある名詞・格助詞・動詞の３つを自動的に抽出しているが、ブログのような非構造のテキストから記述される文章は文法的に正しくない文も多いため、日本語として不自然な行動も抽出されてしまう。例えば、「お粥を作る」は行動として生じるものだが、「食事に組立てる」は不自然であり生じることは滅多にない。後者のような行動は多くの文書集合で出現するものでは無いため、行動パターンの文書頻度を指標とすることで、日本語として不自然な行動を含むパターンはフィルタリングすることができる。
【００６８】
閾値の設定のため実際に各行動について、何件のblog記事に出現しているか出現頻度の調査を行ったところ、１〜数回程度しか出現しない行動が全体の８割程度を占める傾向があった。
【００６９】
図６は、キーワード「かぼちゃ」を含む記事から生成した行動の頻度分布を示したものである。縦軸が行動全体に占める割合、横軸が出現回数である。例えば、出現回数１回の行動は、全体の７割以上になる。出現回数１〜２回の行動は全体の８割以上を占めている。そこで、行動パターンを文書頻度の高い順に並べ上位２０％を残し、残りをフィルタリングする。
【００７０】
次に、仮定(ｃ２)に基づき残差idfをベースとした手法を行動パターンの重み付け指標として利用する。残差idfとは、ポアソン分布を利用して単語のidf値を推定し、実際のidf値との差を測ることで、一般語よりも内容語に重みが加わるようにした重要語抽出技術である。一般には文書中の単語の重要度を算出するために使われるが、今回は行動パターンを１つの単語とみなし、各行動パターンについて残差idf値を算出する。
【００７１】
また、実際のidf値は状況に対応するクラスタ内におけるidf値、推定したidf値はキーワードを含む文書集合全体から算出することで、状況に対応するクラスタ内に偏って出現する行動パターンにより高い重みを与えるようにしている。実際のidf値から推定したidf値の差をとったとき、その値が大きいということは、行動パターンが文書集合全体よりもクラスタ内の文書に偏って出現していることを示している。つまり、差分が大きい行動パターンは特定の状況に依存している可能性が高いことを意味している。
【００７２】
具体的な算出方法を以降に示す。ポアソン分布は文書において語がランダムに生起する場合の生起回数を確率的に表現するモデルである。
【００７３】
ポアソン分布はkを行動パターンの生起回数、λを期待値として次の式で表される。
【数１】
2014241122.tif 000006
【００７４】
ここで、Ｆiを行動パターンiの大域的頻度、nをキーワードを含む全文書数とすると、ある文書中で行動パターンiが1回以上出現する確率pは次の式で表される。
【数２】
2014241122.tif 000007
【００７５】
さらにidfijを、クラスタリング後のクラスタj内での行動パターンiの文書頻度の逆数とし、njをクラスタjに属する全文書数とする。
このとき、残差idf値  ridfijは次の式で求められる。
【数３】
2014241122.tif 000008
【００７６】
文書内にスパムブログ（行動や経験が書かれておらず、商品の宣伝等を目的とした記事など）が含まれていない場合には、上記の式で算出した残差idf値を利用して値の大きい上位の行動パターンのみに着目すると精度良く抽出することが可能である。しかし、実際には収集したblog記事の中にそのような記事が含まれており、特定の文書内に繰り返し出現する行動パターンがあった場合、残差idf値が大きくなることがある。そこで、トピックモデルで文書を分類した際に得られた特徴語を含む行動パターンのみを残す。また、各特徴語に対して最も関連する格助詞・動詞を組合せて行動を構成し、その行動を含む行動パターンで残差idf値が高いものを抽出すると精度は向上する。
【００７７】
実際にキーワード「札幌」を含むブログ記事約12,000件を解析した結果を示す。特徴語抽出部１０で名詞と未知語のＢＯＷを作成してＬＤＡを適用、トピック数は５０に設定した場合、表４のような結果が得られる。
【表４】
2014241122.tif 000009
【００７８】
次に、行動プロセス生成部２０は各トピックに最も関連する文書から行動パターン候補を生成する。つまり、仮定（ｃ１）に基づき文書頻度を算出し、上位にくる行動パターンを表５に示す。
【表５】
2014241122.tif 000010
【００７９】
そして、行動プロセス生成部２０は、仮定（ｃ２）に基づき残差idf値を算出し、上位にくる行動パターンを表６に示す。
【表６】
2014241122.tif 000011
【００８０】
表５と比較して表６の方が具体的な行動プロセスを抽出できていることが分かる。例えば、トピック番号１において「北海道を訪問→札幌を訪問」という行動パターンは実際に生じることであり、間違ったパターンであるとは言えない。しかし、行動パターンを観光ナビゲーションなどに応用する場合、「店に入る→味噌ラーメンを注文」のように、より具体的な行動パターンの方が一般的すぎる知識よりも有用であると考えられる。なお、表６の各トピックについて上位１０件ずつ計５０件のパターンを評価したところ、正解率は６４％であった。他のキーワードについても正解率は概ね６５％前後となった。
【００８１】
さらに、トピックモデルで抽出した特徴語を含む行動プロセス以外をフィルタリングすると表７のようになり、例えばトピック番号１における「バスで移動→トイレに行く」はフィルタリングされる。
【表７】
2014241122.tif 000012
【００８２】
精度をさらに高める方法として、単に特徴語を含む行動プロセスを残すのではなく、各特徴語を含む文書頻度の高い行動を含むプロセスを残すことも一定の効果があるが、抽出される行動パターンが限定的になることも考えられる。トピック番号１における各特徴語について最も文書頻度の高い行動を表８に示す。
【表８】
2014241122.tif 000013
【００８３】
表８の行動を含み、かつ残差idf値の高い行動パターンを表９に示す。人手で各トピックについて上位１０件ずつ計５０件のパターンを評価したところ、正解率は６８％である。他のトピックやキーワードについても概ね７０％前後の正解率でパターンを抽出することができる。
【表９】
2014241122.tif 000014
【００８４】
行動プロセス生成部２０で生成され、フィルタリング機能４１に入力される行動プロセス集合からランダムにプロセスを１００個選択し、同様に人手で評価を行ったところ、正解率は０〜２％である。すなわち、フィルタリング機能４１によりノイズを減らし、行動プロセス抽出の精度を向上させることができている。
【００８５】
以上のように上記第２の実施形態によれば、行動プロセス生成部２０により抽出された複数の行動プロセスそれぞれについて、フィルタリング機能４１によりデータ集合中で起こり得る確率を算出し、起こり得る確率の低い行動プロセスをノイズとしてフィルタリングすることにより、行動プロセス抽出精度の向上を図ることができる。
【００８６】
（その他の実施形態）  
なお、この発明は上記各実施形態に限定されるものではない。例えば、特徴語抽出部１０に特徴語抽出機能１１の他に、特徴語選択機能１２を備えるようにし、行動プロセス生成部２０に動作抽出機能２１の他に、前後関係算出機能２２を備える例について説明したが、例えば、特徴語抽出部１０に特徴語抽出機能１１を備え、行動プロセス生成部２０に動作抽出機能２１及び、前後関係算出機能２２を備えるものであってもよい。また、例えば、特徴語抽出部１０に特徴語抽出機能１１及び特徴語選択機能１２を備え、行動プロセス生成部２０に動作抽出機能２１を備えるものであってもよい。
【００８７】
また、上記第２の実施形態では、出力部３２の前段に、フィルタリング機能４１を追加する例について説明した。出力部３２の前段に、フィルタリング機能４１を追加することが好適であるが、フィルタリング機能４１は特徴語抽出機能１１から出力部３２のどこに追加しても効果がある。例えば、特徴語抽出部１０に特徴語抽出機能１１を備え、行動プロセス生成部２０に動作抽出機能２１及び、前後関係算出機能２２を備えるものである例についても、フィルタリング機能４１は特徴語抽出機能１１から出力部３２のどこに追加しても同様の効果がある。さらに、例えば、特徴語抽出部１０に特徴語抽出機能１１及び特徴語選択機能１２を備え、行動プロセス生成部２０に動作抽出機能２１を備えるものである例についても、フィルタリング機能４１は特徴語抽出機能１１から出力部３２のどこに追加しても同様の効果がある。
【００８８】
また、特徴語抽出機能１１、特徴語選択機能１２、動作抽出機能２１、前後関係算出機能２２、フィルタリング機能４１で説明した個々の処理は、コンピュータプログラムによってソフトウェア処理することが可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００８９】
１０…特徴語抽出部、１１…特徴語抽出機能、１２…特徴語選択機能、２０…行動プロセス生成部、２１…動作抽出機能、２２…前後関係算出機能、３１…入力部、３２…出力部、４１…フィルタリング機能。
【図１】
2014241122.tif 000015
【図２】
2014241122.tif 000016
【図３】
2014241122.tif 000017
【図４】
2014241122.tif 000018
【図５】
2014241122.tif 000019
【図６】
2014241122.tif 000020