以下、添付図面を参照して、本発明に係るコンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法の具体的な実施例について説明する。
ここで、以下に説明する内容は本発明を実施するための一つの実施例に過ぎず、本発明は以下に説明する実施例の内容にのみ限定されるものではないことに留意すべきである。
また、以下の本発明の実施例についての説明において、従来技術の内容と同一または類似する、或いは当業者の水準で容易に理解し実施することができると判断される部分については、説明を簡略にするためにその詳細な説明を省略したことに留意すべきである。
すなわち、本発明は、後述するように、ユーザの検索要請に対して無駄に膨大な検索結果を提供してユーザが必要な情報のみをさらにフィルタリングしなければならないという欠点があった従来技術の検索方式の問題点を解決するために、コンテキストアウェアネス技術に基づいてユーザの関心度を予測し、ユーザがどの位置でどんな検索を所望するかをより正確に予測するためのコンテキストオントロジー(context ontology)モデルを構築し、このようなコンテキストオントロジーモデルに基づいてユーザ関心情報を予測することにより、ユーザの検索要請に対してユーザの関心に関連する情報のみを提示し、より正確かつ簡潔な検索結果を提供することができるように構成される、コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法に関するものである。
また、本発明は、スマートフォンなどのモバイル端末の限られた画面と少ないメモリの欠点を克服するために、コンテキストオントロジーを利用したセマンティックデータマイニングアルゴリズム(Semantic Data Mining Algorithm)を用いて、より正確に要約された検索結果を提供することができるように構成される、コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法に関するものである。
また、本発明は、一度の検索のみで所望の情報の内容だけでなく位置までも容易に探し出すことができるようにするために、ユーザの検索要請情報に対する検索結果を提供すると同時に、モバイル機器に内蔵されているGPSおよび地図機能を用いてユーザの現在位置とユーザの要求する検索結果の位置を検索結果と共に提供することができるように構成される、コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法に関するものである。
ここで、本発明に係るコンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法の具体的な実施例について説明する前に、本発明に適用されたオントロジー(Ontology)、コンテキストアウェアネス(context awareness)およびデータマイニングアルゴリズム(Data Mining Algorithm)の基本的な概念について説明する。
まず、オントロジー(Ontology)とは、特定の範囲内の情報を概念化して論理的な構造で概念を分類または定義し、階層構造形式で表現する方法を意味するもので、従来、[Uschold 1999]、[Fischer 2001]および[Hwang 2008]等によれば、オントロジーは、ウェブと提供者などにより散在しているデータを分析および統合するためのデータ表現方法であって、これを共有された概念化について定型化された明示的な命題と定義し、一般にオントロジーを構築するためにオントロジーを表現するための要素であるRDFS(Resource Description Framework Schema Specification)、RDF(Resource Description Framework)、OWL(Web Ontology Language)に対する技術内容が提示されている(非特許文献3〜5参照)。
すなわち、RDFSは、オントロジーを示すための最も基本となる言語であって、RDF応用言語を使用するための基本的な語彙を定義しておき、RDFは、データモデルで全種類の情報とメタデータを表示することができる有用な言語であって、ソースと文章から構成される。
さらに詳しくは、RDF文章は、主語(subject)、述語(predicate(property))、目的語(object(value)から構成され、OWL(Web Ontology Language)は、RDFSなどの初期のオントロジー言語を基本として作成するセマンティックウェブでオントロジーを定義するためにW3Cによって提案された標準オントロジー言語であって、オントロジーの階層構造表現のために客体クラスとクラス間の上下位階層関係を表現することができ、ユーザが任意の属性を定義し、定義した属性をクラスに割り当てることができるため、RDFSよりさらに標準化されており、客体間の関係から論理的な類推が可能であり、同様にRDF文章で情報を表現する。
ここで、以下に説明する本発明の実施例においても、観光オントロジーデータベースを構築するために、前述したようなRDFS、RDF、OWLなどを用いた。
次に、状況認識(コンテキストアウェアネス(context awareness))の概念について説明すると、状況情報は、ユーザの現在活動のように個人的なものであってもよく、現在使用中の機器のように技術的なものであってもよく、温度、位置または時間のように環境的なものであってもよい。
すなわち、コンテキストアウェアサービス個人化は、このような状況情報の収集および交換を介して認識し、解析および推論のような処理過程を経てユーザに状況(コンテキスト)に適切なカスタマイズ型サービスを提供するものであって、このためには、周辺の様々な状況情報が適切にモデリング、収集および分配されなければならない。
よって、コンテキストアウェアサービスを提供するために収集された状況情報は、ユーザ情報と結合して生活の1単位で表わされる高次元情報に分析および推論されなければならず、このように適切な情報を格納し体系的かつ効率的に共有する方法がコンテキストアウェアネスシステムの成功有無を決定する重要な技術である。
しかも、最近では、モバイルを利用するユーザが増加するにつれて、速く変化する環境に適応することが可能なアプリケーションとサービスに対する要求が高まっているが、未だこのような要求に適したコンテキストアウェアネスシステムを構築することが難しかったという問題点を克服するために、セマンティックコンテキストの表現、状況推論、知識共有、状況分類を行うための方法として、OWLを利用したオントロジー基盤のコンテキストモデルが提示されたことがある。
さらに詳しくは、従来、様々な状況推論が可能なコンテキストアウェアサービスのために、いわゆるSOCAM(Service−Oriented Context−Aware Middleware)が提示されており、すなわち、例えば、[Mostefaoui 2003]によれば、コンテキストアウェアコンピューティング(context−aware computing)とエージェント(agent)技術を結合したCB−Sec(Context−Based Service Composition)フレームワーク(framework)が提示されている(非特許文献6参照)。
これは、ヒストリー(History)を含ませて、大部分のコンテキストアウェアアプリケーションでコンテキストパラメータ(context parameter)としてロケーション(location)のみを認定し、時間的(temporal)な面を無視するという欠点を克服した。さらに、既存の状況認識に、ユーザの役割、身分、年齢、位置、嗜好などを含むユーザ状況(user context)、ネットワーク接続や周辺にあるプリンタ、ディスプレイ、ワークステーションなどを含むコンピューティング状況(Computing context)、日、週、月、季節などの時間を含む時間状況(Time context)、天気、気温などを含む物理的状況(Physical context)、およびユーザ状況、コンピューティング状況、物理的状況が一定の時間記録されてサービスの構成に有用に適用できる状況ヒストリー(context history)の5つの要素を含ませた。
続いて、データマイニング技法について説明すると、セマンティックデータマイニング技法を適用するために既存のテキストマイニング技法を適用することも可能であるが、以下に説明する本発明の実施例に適用された観光オントロジーデータベースというオントロジーを利用してデータマイニングを行うために、ここでは、オントロジーの基本構造をなしているXML文書に対するデータマイニング技法について説明する。
すなわち、図1を参照すると、図1は既存のデータマイニング方法の特徴、利点および欠点を比較して表として示す図である。
図1に示すように、従来、様々なXMLデータに対するデータマイニング技法とXMLクエリーパターンマイニングに対する様々な技法が研究されてきており、それぞれの方法は利点および欠点を持っている。
また、[Hwang 2008]によれば、現在の検索システムでは、膨大なデータによりあまり多くの検索結果を提供するか、或いは検索結果を提供することができない場合があるので、このような検索システムの欠点を補完するために、OWLオントロジー制約条件と連関マイニング技法で推論された連関知識をSWRL推論言語で表現し、Jessエンジンを介して新しい知識を発見して効率的な検索を支援するアルゴリズムを提案した。すなわち、ドメインによる個人別嗜好オントロジーを構築し、個人嗜好データを例題にして連関およびオントロジー基盤で情報を検索するとき、連関および推論情報を提供する過程を示した(非特許文献5参照)。
しかも、[Yilmaz 2013]によれば、Aprioriアルゴリズムを用いたオントロジー基盤のデータマイニング技法を提示しており、すなわち、消費者が好む運営体制を決定するためにデータマイニング技法を基盤とするフレームワークを提案するものであって、ドメインオントロジーを構築し、ユーザに設問紙を調査して嗜好度を測定した後、データを伝送し、クラスタリングを分析し、連関規則アルゴリズムを適用して結果を分析し、この際、オントロジー構築のためにプロテージ(protege)を利用した。Aprioriアルゴリズムは、頻出アイテム集合を探し、そのアイテム集合を先例(antecedent)と結果(consequent)の2種類に分類し、信頼度(confidence)を満足する規則を探し出す2つの段階で行われる(非特許文献7参照)。
続いて、モバイル環境の情報検索システムについて説明すると、最近、ユビキタス技術の発展に伴い、ユーザに有用なサービスを提供するコンテキストアウェアネス技術に関する研究として、ユーザの状況を認知して有用な情報を提供するコンテキストアウェア推薦サービスが研究されているが、既存のコンテキストアウェア推薦サービスは、状況に基づく推薦情報として、一貫した概念水準の情報のみを推薦することにより、推薦された情報がユーザの現在状況に合わない場合、ユーザが推薦情報から所望の情報を直接探さなければならないので、相当の努力および時間がかかる。
しかも、最近、無線インターネット環境の発達により、端末を利用したインターネット検索が盛んになっており、このような検索語の入力を効率的にするために、キーボードなどのハードウェアの機能的側面を考慮した方法、およびユーザのお気に入りや保存された検索語などを用いたソフトウェアの機能的側面を考慮した方法が提示された。
ここで、オントロジーモデルは、GPS、照度センサー、ユーザ情報などモバイルデバイスの様々な状況情報を保存し管理するための用途に使用することができ、モバイルデバイスは、デバイスに含まれたハードウェアセンサーの種類に応じてユーザの位置、環境などに対する様々な種類の状況情報を獲得することができ、これをオントロジーモデルに割り当て、状況情報間の意味を把握して所望の形態の情報に加工し或いは状況推論に活用することができる。
また、モバイル環境は、一般な有線環境とは異なる特徴を持つ。すなわち、次のような特徴がある。第一に、モバイル環境は時空間的な制約がないので、ユーザはモバイル機器を携帯しながら何時何処でも所望の情報を探し出そうするとする特性がある。第二に、モバイル環境は非常に個人的であって、大部分のモバイル機器は個人が所有しており、個人の趣味や関心分野に応じて所望の情報が互いに異なるので、個人の特性によっては外観からは同じように見えても実質的にはクエリー内容が異なる可能性がある特性を持つ。第三に、モバイル機器は小型であって入出力に多くの制約を持っており、モバイル環境で小さい画面を介して多数のページをくどくどと見せることよりは、ユーザの所望する内容のみを抽出して見せることが一層効果的である。第四に、一般に、モバイル環境は資料の伝送率が有線環境に比べて非常に低く、価格は一層高い。第五に、一般に、モバイル機器はメモリと処理能力の限界を持っており、モバイル機器自体で多量の情報を処理することはできないという特徴がある。
よって、このようなモバイル環境の特性を考慮し、モバイル環境に適した情報検索システムを提供する必要がある。
すなわち、[Kim 2009]によれば、このようなモバイル環境の特性を考慮し、文書要約とユーザプロファイルをメタ検索モデルに適用したモバイル情報検索モデルを提示しており、このような文書要約技術は小さい画面および低い伝送率の問題を緩和させることができ、ユーザプロファイルはモバイル環境で個人化された情報検索モデルを使用することができる(非特許文献8参照)。
しかも、情報推薦サービスのための嗜好度は状況によって変わり得るので、情報推薦サービスを提供するためには、まず、ユーザのコンテキスト情報を知らなければならない。
すなわち、[Park 2008]によれば、モバイル環境で多数のユーザの嗜好度を考慮した推薦システムを提案して飲食店の推薦に適用したうえ、モバイル環境で個別ユーザの嗜好度をモデリングするためにベイジアンネットワークを使用した。飲食店の推薦は、多い場合、個別ユーザではなく多数のユーザの嗜好度に基づいて多数の嗜好度を獲得するために多基準意思決定方法たるAHPを利用した(非特許文献9参照)。
これは、最近、大部分のユーザがモバイルデバイスを保有するにつれて、モバイルデバイスは個人の情報を接することが可能な通路の役割を果たすうえ、ユーザが常に所持するため、ユーザのコンテキスト情報を収集することが可能なツールとしての役割も果たすことができる。このように収集された情報はユーザのための情報推薦に有用に使用できるので、モバイルコンテキストの推論も情報推薦に関連する重要な研究分野である。
しかも、コンテキスト認識環境で個人化推薦サービスを提供するためには、収集されたコンテキスト情報を速く分析し、効果的にユーザの目的を推論することができなければならないが、モバイル装備で収集される情報はコンテキスト環境によってデータの差が発生することにより、既存の推論アルゴリズムをそのまま適用するには適さず、モバイル環境に適した効率的なアルゴリズムが必要である。
すなわち、[Seo 2012]によれば、情報の抜け落ちや誤りなどによる損失を最小化するためにナイーブベイズ分類器を用いて行動パターンを分類し、ユーザの性向を効果的に学習し行動目的を推論するためにパターンマッチング技法を使用した(非特許文献10参照)。また、[Jeong 2009]によれば、様々なセンサーの開発およびセンサーネットワークの構築により、特定の空間の環境データを収集し且つより有用な情報および知識を発見するために、データマイニング(Data mining)技法が活用される研究が紹介された(非特許文献11参照)。
しかも、[Ko 2011]によれば、協調フィルタリング法(Collaborative filtering method)を用いて多くのユーザから嗜好情報を収集してユーザの関心事項に対する自動的な予測ができるようにジャンル関係(Genre correlation)に基づく推薦システムを提案している(非特許文献12参照)。[Sarkaleh 2012]には、ノート型パソコン、モバイルフォン、PCS(personal communication system)、PDA(personal digital assistant)などのモバイルデバイスは移動性、独立性、個人性、接近性などの特徴があるので、これらの機器を用いて正確な時間と場所での学習を個人化し、学習コンテンツも豊富化および多様化することができ、GPS(Geographic Position System)機能を用いてユーザが所望の様々な分野に対する情報を習得することが可能な推薦システムを提案している(非特許文献13参照)。
上述したように、従来、ユーザに必要で関心のある情報のみを提供するための関心情報推薦システムに関する様々な方法が提示されたことがあるが、最近のモバイル環境で、従来技術の情報検索方法は次のような問題点がある。
さらに詳しくは、既存のデータ検索方式と、現在モバイル分野で活発に適用されているデータ検索方式とを比較したときの最も大きい差異点は移動性であるといえる。すなわち、既存のデータ検索方法は、大部分がデスクトップパソコンを利用するため、一つの場所に固定されて全ての検索およびデータ適用が行われてきたが、現在社会の移動性および活動性を考慮するとき、相当非効率的であり、現在社会の最先端技術を追い付かない方式といえる。
よって、前述したような既存の情報検索方式の欠点を克服するために、モバイル環境に適した情報検索方法に対する要求が高まっており、また、既存の情報検索方式は、移動性を考慮しないことにより、ユーザの現在位置を考慮するシステムを構築することが不可能であった。ところが、最近、モバイル技術の発達により、GPS機能を用いてユーザの現在位置を探し出すコンテキストアウェアネス技法を情報検索システムに適用することが可能である。よって、本発明では、これを利用して、ユーザがクエリーを行う現在位置を用いて正確な情報を伝達するサービスを提供しようとするのである。
すなわち、例えば、コンテキストアウェアネスによってユーザに一層正確な情報伝達サービスを提供することができるようにするために、状況認識オントロジーを用いて、各地域にある観光データ情報を収集して観光オントロジーを構築し、ユーザの現在状況に合う情報をサービスすることが可能である。
また、既存の情報検索システムで検索語を入力して検索結果を得たとき、ユーザの所望する正確な情報より関連のない項目がさらに多く検索されて無駄に膨大な量の検索結果を提供するという問題点があったので、本発明では、かかる問題点を解決するために、状況認識データオントロジーを構築して、ユーザのクエリーに一層正確かつ迅速にサービスを提供するためにセマンティックデータマイニング技法を採用した。
すなわち、例えば、観光オントロジーを構築してユーザがよくクエリー(質疑)するクエリーパターンを格納し、ユーザのクエリーが行われたとき、格納されているクエリーパターンとユーザクエリーとのマッチング技法を用いて、ユーザのクエリー(質疑)と一致または類似するクエリーパターンをユーザへ提供することにより、ユーザの実際所望する情報のみを提供するようにすることができる。
また、既存の情報検索システムは、テキスト情報を提供することのみが可能であったので、本発明は、例えば、スマートフォンを始めとしたモバイル機器が支援するグーグルマップ(Google map)などの地図サービスを用いて、一度の検索でユーザの要求する情報の具体的な地理的位置までもより容易かつ迅速に探し出すことが可能な地図サービス(Map service)を提供しようとするものである。
次に、前述したような従来技術の問題点を解決するために、状況認識情報を用いたオントロジーを構築する具体的な過程について詳細に説明する。
まず、状況認識オントロジー(Context Awareness Ontology)の基本的な概念について説明すると、時空間移動パターンは、移動する客体の位置パターンであって、顧客の位置特性に応じて個人化され、適切なコンテンツまたはサービスの提供を可能とする時空間規則であり、このような時空間関係は、時空間客体に関連する事件間の因果関係(causal relationship)を探査することに非常に重要な意味を持つので、時間と空間を共に考慮するオントロジーを介してユーザの行動に対する適切なサービス提供が可能となる。
そこで、本発明では、状況情報の構造化に有用であり、相互関係性および部分的な状況の情報を表現することが可能なオントロジーを設計した。このような本発明の実施例に係るオントロジーは、時間情報、空間情報およびサービスなどのユーザの状況情報に連関する情報であって、O={U、L、T、S}で表現する。
ここで、U(User identification)はユーザ識別子、L(Location)は空間情報、T(Time)は時間情報、S(Service)はユーザに連関するサービス規則をそれぞれ示す。
すなわち、ユーザUの時空間状況情報は、ユーザの識別情報、時間情報、空間情報およびサービス情報であって、4つの次元を有する。
さらに詳しくは、ユーザの空間と時間を識別する時空間情報は、ユーザの状況情報を示し、状況(コンテキスト)によるサービス履歴を区分することができるようにする基準となり、ユーザの位置情報は、実際イベントが発生した有効時間に対する空間上の座標に対する一般化値から構成される。
この際、時間情報は一定の時間間隔で区分した情報であり、空間情報はユークリッド空間上の座標(xi、yi)に該当する一般化位置情報である。
また、位置一般化は、空間の座標値に対して一定の区域(zone)に一般化してユーザおよび客体の位置を識別する。ここで、空間の座標は、現在位置している地域の経度値と緯度値をそれぞれ意味する。
例えば、ユーザが現在「韓国テジョン広域市中区ウンヘン洞」の街に位置していると、ユーザの空間座標は、テジョン広域市中区ウンヘン洞の位置に該当する区域位置値に一般化され、ユーザの現在位置の緯度値および経度値を用いることができる。
次に、オントロジーデータベースの構築のために必要なオントロジー推論過程および観光オントロジー構築過程について説明する。
まず、図2を参照すると、図2は特定の観光地を地域の範囲に指定してコンテキストオントロジーを構築する過程を示すフローチャートである。
図2に示すように、コンテキストオントロジーを構築する過程は、まず、オントロジーの構築のために、構築しようとするオントロジーのドメインを決定する(段階S21)。
すなわち、例えば、観光地に対する情報を提供する場合、ユーザの所望する観光地情報を探し出し、各地域別に該当する観光地に対する情報を収集する。
その後、各主要概念に対するクラスを構成し(段階S22)、この際、それぞれのクラスは、スーパークラス(superclass)とサブクラス(subclass)などからなる階層構造の形態で構成される。
すなわち、例えば、最上位クラスとして、tour_sitesというルートクラス(root class)を指定し、その下に各地域をサブクラス(subclass)として指定して下位クラスを生成し、それぞれの地域に対してさらに細かくサブクラス関係を設定して階層構造をなす観光オントロジーを構築する。
続いて、各クラスを構成するデータ値の属性を用いて各データがどんな関係とどんな特性を持っているかを定義し(段階S23)、すなわち、例えば、各クラスを構成する地域の特性や、その地域内に含まれている有名な食堂または観光地を説明する内容を用いて各クラスの属性関係を指定する。
次いで、各クラスに該当する観光地の名前に対して、その観光地が持っている特性を用いて属性値を指定して観光地というインスタンス(instances)を生成する(段階S24)。
その次、新しく構築された観光オントロジーが既存のオントロジーの公理や属性などと一致するか否かを検査する一貫性(consistency)検査を行い(段階S25)、こうして構築されたオントロジーはユーザの情報検索のために使用される。
したがって、上述したような過程を行い、ユーザがユーザの現在位置で所望の観光地を検索しようとするとき、ユーザの要求する位置で適切な観光地を推薦するために、各地域別に観光地を分類して観光オントロジーを構築することができる。
次に、前述したような観光オントロジーを構築するために、観光データベースの各クラスの属性と関係を推論する過程について説明する。
一般に、ユーザは、自分の位置や周辺環境を問わずにいずれの位置、いずれの環境でも最適のサービスを受けることを所望する。この際、サービスは、提供可能な機器、位置、実行条件などの機能に対する情報を抽象化して記述し、階層的に構造化する単位である。
また、既存に格納されているサービス規則集合に、ユーザの要求に合うサービスが存在しなければ、新しいサービスを生成し或いは既存のサービスを組み合わせて提供することが必要である。このようなサービスをユーザに提供するためには、オントロジー内で各場所、各場所にある観光地、そして各観光地内にある食堂やショッピングモール、海辺、散歩路などに関するサービスを提供することが可能な内容に対して、推論を介してオントロジー内の各クラスの属性を指定しなければならない。
このような観光オントロジーの推論過程について説明する。まず、図3を参照すると、図3は、ユーザに観光地に対するサービスを提供するために、各地域にある観光地の状況認識データを用いて観光オントロジー構築のために推論する過程を説明するための図である。
図3において、「Place」は、観光を行おうとする地域の名前を意味し、すなわち、例えば、チェジュ特別自治道(Jejudo)、ソウル特別市(Seoul)、テジョン広域市(Daejon)、ブサン広域市(Busan)、忠清南道(忠南(Chungnam))、忠清北道などのように、地域の名前から構成される。
また、「Attraction」は、各地域内にある観光地の名前を意味し、すなわち、例えば、国立博物館(National museum)、キョンボックン(Palace)、ヘウンデ(Beach)、ケロン山、百貨店(Shopping mall)などの観光名所の名前から構成される。
また、「Resource」は、各観光地内にある建物や遺物、遺跡、海辺などを意味し、すなわち、例えば、キョンボックン内にある宮廷(Ancient remains)、民俗村などの古い建物(old building)、ヘウンデまたはチェジュ牛島の海辺、および百貨店内にある食堂などから構成される。
また、「Activity」は、ユーザが各観光地で実際行う行動を意味し、すなわち、例えば、「Cultural activity」はキョンボックン内にある宮廷を訪問する文化的な行為を意味し、「Scenery view」はヘウンデやチェジュドの牛島、ハンラ山などの観光地では美しい風景を楽しむ行為を意味し、「Dining out」は百貨店にあるレストランで外食を行う行為などを意味する。
また、本発明の実施例において、オントロジー構築およびオントロジー推論のためにprotege_4.0.2を利用したとともに、OWL(Web Ontology Language)やRDF、RDFSなどを用いて観光オントロジーたるtour.owlを構築した。
次に、図4を参照すると、図4は図3に示した観光オントロジーの階層構造のうち一部の構成を概略的に示す図である。
図4に示すように、本発明の実施例に係るオントロジーは、観光オントロジーの構築のために各地域別にサブクラス(subclass)を指定して、その地域に属したさらに小さいグループのクラスを指定し、その下にサブクラスとして観光地の名前を指定し、各観光地内にある食堂またはその観光地についての説明のために別のサブクラスを指定した。
また、各地域または観光地に対して同義語または初声検索を行うために、同義語処理を意味する同義語クラス(equivalent class)関係を設定した。
すなわち、ユーザが観光地に対する検索語を入力するとき、類似の単語または同義語で検索要請を行う場合或いは略語の形で検索する場合に備え、同義語クラス関係を設定してユーザに常に正確な情報検索結果を提供することができるように構成される。
さらに詳しくは、図4に示すように、最上位クラスとして、観光地を示す「Tour」を指定し、観光地の下にはテジョン広域市(Daejon)、忠南(Chungnam)、ソウル特別市(Seoul)、ブサン広域市(Busan)、チェジュ特別自治道(Jeju)などの各地域をサブクラスとして指定し、該各地域の下にはその地域を構成するサブクラスから構成した。
すなわち、テジョン広域市(Daejon)の場合は「東区」、「西区」、「中区」、「ユソン区」、「テドク区」のサブクラスを構成し、チェジュ特別自治道の場合は「チェジュ市」、「ソギポ市」などのサブクラスを構成し、忠南(Chungnam)の場合は「コンジュ市」、「ブヨ郡」などのサブクラスを構成し、その下のサブクラスは細部的な住所値を指定した。例えば、テジョン広域市(Daejon)の場合は、「中区」の下に「ウンヘン洞」、「サジョン洞」などをサブクラスとして構成し、西区の下に「ジャンアン路」と「マンニョン洞」などをサブクラスとして構成し、チェジュ特別自治道(Jeju)の場合は、チェジュ市の下に「サムドイ洞」、「グザ邑」、「チュンムン洞」などをサブクラスとして構成し、ソギポ市の下には「ソンサン邑」、「アンドク面」などをサブクラスとして構成した。
また、その下のサブクラスは観光地名から構成した。すなわち、テジョン広域市の場合は、テジョン広域市中区サジョン洞オワールドなどからサブクラスを構成し、チェジュ特別自治道の合は、チェジュ特別自治道チェジュ市グザ邑マンジャングルなどからサブクラス関係を構成した。
次に、図5を参照すると、図5は、オントロジーの推論のために、各クラスを構成するデータ値の属性値と関係を設定する過程を説明するための図である。
図5に示すように、観光オントロジーを構成する各地域(Place)と観光地(Attraction)の関係は、「hasAttraction」と「IsAttractionOf」の属性関係を持っており、観光地と観光地内にある宮廷などの建物や遺物、海辺、山などの「Resource」は、「hasResource」と「IsResourceOf」の属性関係を持っており、観光地でユーザが宮廷「キョンボックン」を見物する行為、「ヘウンデ」の海辺を散歩する行為、「ケロン山」を登山する行為、および百貨店でショッピングを行う行為などは、「Activity」であって、「Resource」との関係として「hasActivity 」と「IsActivityOf」の属性関係を持っている。
ここで、それぞれの属性関係は、各クラスを構成するデータ間の多重属性と関係を持つ場合もある。
すなわち、図6を参照すると、図6は各クラスを構成するデータ間の多重属性関係を示す図である。
図6に示すように、例えば、「ソウル(Seoul)」という地域と、ソウル内に包含関係を持っている「鐘路(Jongro)」という地域は、「hasSubclass」と「IsSuperclassOf」の属性関係を持っており、「鐘路」という地域には「キョンボックン(Kyongbokgung)」と「インサ洞(Insadong)」という2つの地域が含まれているため、同時にサブクラスの関係を持っている。
また、「鐘路」という地域と「キョンボックン」という観光地は「hasAttraction」と「isAttractionOf」の関係を持っていると同時に、「鐘路」という地域と「インサ洞」という観光地も「hasAttraction」と「IsAttractionOf」の関係を持っている。
したがって、このような関係を多重属性関係と呼び、各観光地で同じ地域内に多数個の観光地がある場合、このような多重属性関係を持っているものと看做す。
ここで、「キョンボックン」と「インサ洞」という観光地は、同じ場所に属しているので、「atSamePlace」という属性関係を持っており、「キョンボックン」という観光地は、観光地内に人々が見物することが可能なところとして宮殿と庭があるため、多重Resource関係を持っている。よって、「キョンボックン」は「Palace」と「Garden」に対して二度の「hasResource」と「IsResourceOf」の属性関係をそれぞれ持っていることが分かる。
すなわち、図7を参照すると、図7はプロテージ(protege)を用いてオントロジーを推論する過程を概略的に示す図であって、図7aは各地域のサブクラス関係を示しており、図7bは「テジョン(Daejon)」地域の各観光地を構成するサブクラスの関係を示している。
また、最近のユーザは、モバイル環境でスマートフォンの様々なアプリケーションを活用して様々な種類の有用な情報検索を行っており、このような様々なアプリケーションを活用した便利性の一つとしてGPS機能を挙げることができる。
このため、本発明は、モバイル環境で検索要請をする場合にモバイル環境の特性の一つであるGPS使用が可能であるという利点を利用して、GPSモジュールを用いた地図検索を共に提供して様々な検索結果を提供することができるように構成できる。
さらに詳しくは、GPSモジュールを介してユーザの現在位置を提供することが可能なので、これを利用して、ユーザの現在位置値を経度と緯度として測定し、測定されたユーザの現在位置を用いて現在ユーザの位置した地点における観光地情報を検索することが可能であり、また、例えば、グーグルマップ(Google map)などの地図サービスを用いて、現在位置と検索された観光地に対する地図を提供するように構成できる。
次に、各観光地と該当観光地の属性および関係を連結して各クラス間の関係を設定する前述のオントロジー推論過程において、状況認識データを用いてモバイル環境におけるセマンティックデータマイニング技法を用いた情報検索に必要な観光オントロジーを構築する過程について詳細に説明する。
すなわち、以下に説明する本発明の実施例は、観光オントロジー構築のためにポータルサイトを始めとした観光地に関連するサイトを介して収集された観光地に関連する情報を用いて観光データベースを構築した。この際、データベースはMS SQL Server 2000 personal versionを用いて各観光地の住所値をもってtest_dbデータベースとtour_dbテーブルを構成した。
さらに詳しくは、図8および図9を参照すると、図8および図9は、前述したようにして構築された観光データベースと観光データベーステーブルの一部をそれぞれ示す図である。
図8および図9に示すように、例えば、tour_dbはid、add_1、add_2、add_3、add_4、add_5、tour_site、syn、lat、longなどのフィールド(field)から構成されている。
ここで、idを基本キー(primary key)として指定し、例えば、テジョン広域市の場合、add_1はテジョン広域市、add_2は中区、西区、東区、ユソン区などから構成され、add_3はサジョン洞、マンニョン洞、ウンヘン洞、ジャンアン路などから構成され、add_4はテジョン広域市中区チムサン洞のプリ公園路を指定し、add_5は忠南コンジュ市バンポ面ドンハ寺1路の327番地を指定した。
また、tour_siteには、例えば、チェジュ特別自治道チェジュ市サムドイ洞クァンドク路19番地に位置した「クァンドクジョン」などの観光地の名前を指定し、synは、ユーザが観光地の検索を行うときに同義語および初声語処理のために指定されたフィールドである。
また、latとlongは各地域の緯度値と経度値を指定した。ここで、緯度と経度は、例えば、グーグルマップ(Google map)を用いて、地図を見せるためのユーザの位置値を設定するために指定した。
したがって、前述したようにして構築された観光地データベースを用いて観光地オントロジーを構築することができ、本実施例では、このようなオントロジー構築とオントロジー推論のためにprotege_4.0.2を利用したとともに、OWL、RDF、RDFSなどを用いて観光オントロジーたるtour.owlを構築した。
さらに詳しくは、観光地オントロジーを構築するために、tour_sitesという概念を最上位クラスとし、その下位クラスとしてtour_dbテーブルに在ったadd_1 fieldを指定した。例えば、テジョン広域市、チェジュ特別自治道、忠南、ブサン広域市などをadd_1クラスとして指定した。
すなわち、図10を参照すると、図10は本発明の実施例に係る観光オントロジーの構成を示す図である。
図10に示すように、tour_sitesオントロジーの上位クラスにはテジョン広域市、ブサン広域市、チェジュ特別自治道、忠南などのクラスが含まれており、その下位には、tour_dbに在ったadd_2クラスを、各地域を示す上位クラスのサブクラスとして指定した。例えば、テジョン広域市の下には中区、東区、西区、テドク区などを指定し、チェジュ特別自治道の場合にはチェジュ市、ソギポ市などを下位クラスとして指定した。
すなわち、図11を参照すると、図11は上述したadd_2classを広げたオントロジー構造を示す図である。
次に、サブクラスとしてtour_dbテーブルでadd_3を指定し、このようなadd_3クラスには、例えば、テジョン市中区にサジョン洞、チムサン洞、ウンヘン洞を指定し、チェジュ特別自治道の場合は、チェジュ特別自治道の下にチェジュ市を指定し、チェジュ市の下にはイドイル洞、サムドイ洞、1100路、ジョチョン邑、グザ邑、エウォル邑、ヘアン洞、ハンリム邑、ヨンダム路、ヨンダムイル洞、ウド面、ハンキョン面、スモクウォンギル、ヨンダムサム洞、サムヤンサム洞、イルドイ洞などを指定した。
すなわち、図12を参照すると、図12は図10に示した観光オントロジーのadd_3 classを広げたオントロジー構造を示す図である。
さらに詳しくは、図12において、チェジュ特別自治道地域のソギポ市に属する、ナムウォン邑とその下のサブクラスであるイルジュ東路、デジョン邑とその下のサブクラスであるマラ路、イルジュ西路3000番ギルおよびヒョブゼ海岸路、並びにドンホン洞とその下のサブクラスである七十里路214番ギルなどの構造を示している。
続いて、その下位クラスとして、例えば、テジョン広域市、中区、サジョン洞の下にサジョン公園路をtour_db tableのadd_4クラスとして指定し、その下位クラスに、すなわち、テジョン広域市、中区、サジョン洞、サジョン公園路の下に、オワールドをtour_siteクラスとして指定した。
また、「オワールド(韓国語で「
」という)」というtour_siteクラスの場合は、同義語または初声の処理のために、「
」という同義語関係を指定するために同義語クラス(equivalent class)を設定した。
また、図13を参照すると、図13は図10に示した観光オントロジーのadd_4 classを広げたオントロジー構造を示す図であって、忠南ブヨ郡ブヨ邑ヌンサン里の「ヌンサン里古墳」やドンナム里の「宮南地」などのadd_4とtour_siteの関係を示している。
また、図14を参照すると、図14はprotege_4.0.2を利用してOWL(Web Ontology Language)、RDFおよびRDFSを用いて構築したtour.owlオントロジーソースの一部分を示す図である。
よって、前述したようにして、観光データを状況データとして用いて、状況認識データを用いた観光オントロジーの推論および構築が可能となる。
すなわち、図15を参照すると、図15は本発明の実施例に係るコンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法の全体的な構成を概略的に示す図である。
さらに詳しくは、本発明の実施例に係る状況認識オントロジー実現方法は、まず、ユーザの関心領域に対する情報を収集してユーザ関心情報データベースを構築し(段階S151)、構築されたユーザ関心情報データベースに格納された各データ間の関係および属性を設定するオントロジー推論を行った後(段階S152)、オントロジー推論段階で設定された各データの関係および属性に基づいて状況認識オントロジーデータベースを構築する(段階S153)一連の段階を含んで構成できる。
ここで、前述したユーザ関心情報データベースを構築し、オントロジー推論を行ってオントロジーデータベースを構築する具体的な過程は、図2〜図14を参照して上述した観光オントロジーを構築する過程と同様にして実現できるので、ここでは、説明を簡略にするために各段階の具体的な説明は省略したことに留意すべきであろう。
次に、前述したようにして構築された状況データベースを用いて、ユーザクエリーと類似する或いは同一の頻出パターンを発見するFP−growthアルゴリズムに基づくセマンティックデータマイニング(Semantic Data Mining)技法について説明する。
すなわち、セマンティックデータマイニングは、多様なデータに対する論理的な構成が可能であり、ユーザのクエリーに有用、迅速かつ正確な情報を与えるために、隠されたパターを発見する過程を意味するもので、以下に説明する本発明の実施例では、既存のFP−Tree基盤のFP−growthアルゴリズムを活用して、ユーザに適する有用な情報を効率よく伝達するために、類似するクエリーパターンを用いたデータマイニング過程と状況認識データ(Context Awareness Data)を活用して、ユーザのクエリーに適したサービスを提供するためにセマンティックデータマイニングを行う一連の過程について説明する。
ここで、例えば、[Gu 2010]に提示されたように、データマイニング過程を行うためには以下の幾つかの定義が必要である(非特許文献15参照)。
[定義1](XML Query Pattern Tree)
XMLクエリーパターンツリーは、ルートを有するサブツリー(rooted tree)であって、XQPT=<X.V、X.E>から構成される。
ここで、X.Vは頂点集合(vertex set)、X.Eは辺集合(edge set)をそれぞれ意味し、ルートはRoot(XQPT)で表現され、それぞれの辺は頂点たる(v1、v2)によって表現されるが、v1はv2の親(parent)であり、それぞれの頂点vは{*、//、tagSet}の値を有するラベル(label)を有し、tagSetはDTDにある全ての要素(element)と属性(attribute)の名前集合を意味する。
[定義2](XML Query Rooted Subtree)
クエリーパターンツリーXQPT=<X.V、X.E>が与えられているとき、XQPTのサブツリーであるルートを有するXMLクエリーサブツリーXQRST=<X.V’、X.E’>は、Root(XQRST)=Root(XQPT)とX.V’⊆X.V、X.E’⊆X.Eのような包含関係を持つ条件を満足するときにXQPTのサブツリーとなる。
すなわち、頻出する有用なサブツリーの構造を探し出してXMLクエリーサブツリーとし、これに基づいて類似の構造を探し出すが、この際、探し出されるツリーをXMLクエリーパターンツリーとする。
さらに詳しくは、図16を参照すると、図16の(a)および(b)はXMLクエリーパターンツリー(Query pattern tree)とルートを有するXMLクエリーサブツリー(Query Rooted subtree)の例をそれぞれ示す図である。
図16に示すように、クエリー集合(query set)をクエリーパターンツリーに作り、これを格納してクエリーパターンツリーのデータベースであるXQPT_DB={XQPT1、…、XQPTn}を得、クエリーパターンマイニング(query pattern mining)はデータベースXQPT_DBで最小支持度(minimum support)を満足する全ての頻出するルートを有するサブツリーを探し出すのである。
すなわち、XQP_DBにおいて、ルートを有するサブツリーXQRSTを含む全ての場合は、頻出度を示すFRQ(XQRST)で表現され、ここで、XQRSTの支持度(support)値を求めるためには、以下の数式SUP(XQRST)=FRQ(XQRST)/|XQP_DB|を用いて、XQRSTの頻出度を全体データベースの個数で割って求めることができる。
また、一定の値を有するσ(σ>0)に対して、もし、XQRSTがSUP(XQRST)≧σという条件を満足するならば、XQRSTはデータベースXQP_DBで頻出することを意味する。
例えば、図17を参照すると、図17は3つのクエリーパターンツリーとルートを有する頻出サブツリーの構成をそれぞれ示す図である。
図17において、XQRSTは、XQPT1とXQPT2で発生するので、ルートを有するサブツリー(Rooted Subtree)の頻出度はFRQ(XQRST)=2となり、SUP(XQRST)=2/3となる。
前述したように、頻出クエリーパターンをマイニングする過程は、クエリーの効率を高めるために類似のクエリーパターンを探し出す過程であり、この過程でクエリーパターンが互いに類似に一致するかを調査するためには、以下の[定義3]に示すようなクエリーパターンツリーマッチング過程が必要である。
[定義3](XML Query Pattern Tree Matching)
クエリーパターンツリーXQPTとルートを有するサブツリーXQRSTが与えられているとき、次の条件を満足すると、XQRSTがXQPT内に含まれる。
1.XQRSTとXQPTのルートノード(root node)は互いに同じラベル(label)を共有する。
2.もしXMLツリー構造のあるノードw∈XQRSTとv∈XQPTが互いに一致すると、w.label≦v.labelの関係を有し、wの各サブツリーはXQPTのサブツリーに含まれる関係を有する。
すなわち、ユーザによって提起されたクエリーパターン構造であるXQRSTがXQPT構造の間で各ノード間の関係に上述のような包含関係があるとき、XQRSTがXQPTに含まれると定義することができ、ユーザのクエリーパターンツリーが頻出パターンツリーとなる。
以下、実際ユーザによって次のようなクエリーが実行されたと仮定し、クエリーに対する回答を探していく過程を例として説明する。
Q1:ジャンル(genre)はアクション(action)であり、制作年度(year)が1994年である映画のうち、主人公(actor)が「Jean Reno」である映画の題目(title)を探しなさい。
前述したクエリーに対する回答を探し出すためには、このようなクエリーを基盤としてgenre、year、actorというデータと探そうとする値とこれらの経路を表現しなければならない。
すなわち、クエリーを//year=“1994” and //genre=“action” and //actor=“Jean Reno”と表現し、このような経路を一つのトランザクションとして使用し、ユーザのクエリーパターンをもって類似のパターンを探し出す作業を、FP−growthアルゴリズムを基盤とするセマンティックデータマイニング過程を介して行う。
したがって、前述したような基本定義を用いて、XMLデータに対するセマンティッククエリーパターンマイニングは、FP−Treeを構築し、頻出するXMLクエリーパターン構造を探し出して、ユーザクエリーと類似または一致する有用なサブツリーを発見する過程で行われる(非特許文献16および非特許文献17参照)。
ここで、前述したようにして頻出クエリーパターンをマイニングするために、本発明では、既存の頻出構造を探し出すアルゴリズムであるAprioriアルゴリズムに比べて時間的および空間的に一層効率的なFP−growthアルゴリズムを使用した。このようにFP−growthアルゴリズムを用いて頻出ツリーパターンに対するデータマイニングを行うためには、次のようにしてFP−Treeを構築する過程が必要である(非特許文献18参照)。
さらに詳しくは、FP−Treeを構築する過程は、次のとおりである。
第一に、XMLクエリーパターンを一つのトランザクションと定め、このようなトランザクションからなるデータベースで初期スキャンを介して各アイテム(item)の頻出度を調べる。ここで、頻出度は、一つのエレメントアイテム集合の支持度値を意味する。
第二に、各トランザクションにあるアイテムを頻出度によって降順に整列する。
第三に、頻出度によって降順に整列したアイテムのうち、ユーザが指定した最小支持度(minimum support)より少ないアイテムを除去する。
第四に、前記段階で頻出していないアイテムがトランザクションデータベースから除去された後、残っているアイテムを用いてFP−Treeを構築する。
ここで、FP−Treeはプレフィックス(prefix)ツリーであって、各経路(path)はツリーで同じプレフィックスを共有しているトランザクションで表現し、各ノードは一つのアイテムを示す。
よって、前述したような過程を繰り返し行い、FP−Treeを構築することができる。
すなわち、図18を参照すると、図18は前述したような過程を介して行われるFP−Tree構築過程のプレフィックス(prefix)を共有する過程とそれぞれのトランザクションを示す過程を概略的に示す図である。
図18において、FP−Treeはデータベースを圧縮された形態で表現したもので、ヘッダー(Header)テーブルには各アイテムとノードリンクたるポインターが連結されている。
前述したように、FP−Treeを構築してXMLクエリー頻出パターンを探すFP−growthアルゴリズムを用いたデータマイニング過程は、最小支持度を満足するアイテムを選択し、最小支持度より少ないアイテムを除去する過程を行うことによりなされる。
また、図19を参照すると、図19はFP−growthアルゴリズムを行ってデータマイニングをする過程で任意のアイテムたるmの条件付き(conditional)FP−Treeを構築する過程を示す図である。
図19に示すように、それぞれのアイテムに対して条件付きツリーを構築して条件付きパターンを探していく過程を繰り返し行う。
また、図20を参照すると、図20は前述したような条件付きパターンを探していく過程を繰り返し行った結果として得られた条件付きパターンをまとめて表として示す図である。
次に、ユーザによってクエリーが行われた場合に前述のようなデータマイニング技法を適用する例を説明する。
まず、以下のXQuery Syntaxを基盤としてXMLクエリーが与えられたと仮定する。
[クエリー]:‘Kim’という名前を持つ者が書いた本のうち、題目、作家、価格を検索しなさい。
また、図21を参照すると、図21はユーザが行った、韓国語でできているクエリーをXML形態で作成した例を示す図である。
ここで、latname=“Kim”は、“Kim”という者が書いた本のうち、その本のtitle、author、priceを検索しなさいという内容を意味し、resultPatternはクエリーの結果に対するスキーマパターンを示し、predicatesはクエリーの遂行に必要なフィルタリング条件を示し、documentsは関連するXMLファイルを意味する。
また、図22を参照すると、図22は前記XQueryに基づいて作成したXML文書たるBook DTD Treeを示す図である。
図22において、Book DTD Treeは、トランザクションからなるデータベースの形態を示している。
さらに詳しくは、ユーザから入ってくるクエリーに対する頻出クエリーパターンを発見するデータマイニング過程を行うためには、ユーザのクエリーにより発生するそれぞれのクエリーパターンツリーを一つのトランザクションとするデータベースをまず構築し、それぞれのクエリーパターンツリーを有用なクエリーパターンであるかを検査して格納し、トランザクションからなるデータベースを構築する。
次に、クエリーパターンツリーを格納したデータベースから、ルートを有するサブツリーを探し出し、これに類似するパターンを探し出す過程でデータマイニングを行う。
すなわち、前述したように、それぞれのクエリーパターンからなるトランザクションに基づいてFT−Tree形態の構造を生成し、このように生成されたFP−Treeに基づいて頻出パターンツリーを探し出すためのFP−Growth技法を用いたデータマイニング過程を行い、このような過程を介して頻出ツリーをマイニングして最大頻出サブツリー(maximal frequent subtree)を探し出す。
ここで、これを探し出す過程で必要なツリーの包含関係に対する定義は、次のとおりである。
[定義4](Tree Subsumption)
2つのサブツリーの集合であるSとS1が与えられているとき、S=S1∪{t1、t2、…、tn}の関係である。
ここで、∀i(1≦i≦n)、∃tj∈S1、tj<tiであれば、S1はSに含まれ、S1<Sのように表現する。
[定義5](Maximal Frequent Subtree)
サブツリー集合が頻出サブツリーであり、他のある頻出サブツリーによって含まれた関係ではなければ、そのサブツリー集合は最大頻出サブツリー(Maximal Frequent Subtree)であり、すなわち、{maximal FSP}⊆{FSP}の関係がある。
前述したように、本発明の実施例では、ユーザのクエリーに対する効率性を増加するために、既存の連関規則アルゴリズムを基盤とするFP−growth技法を利用した。FP−growth技法の拡張は、XMLデータに対する類似クエリーパターンを探し出す技法に追加的に、頻出するサブツリーとそうでないサブツリーを区分し、頻出しないサブツリーを除去する方式が適用された。
また、FP−treeアルゴリズムを用いて最大パターンサブツリー(maximal pattern subtree)を探し出し、ユーザによって入ってくるクエリーパターンを分析して最大パターンサブツリーと比較することによりユーザクエリーパターンを分類し、このような分類を介して、ユーザクエリーパターンと最大パターンツリーとが一致するか否かを調査し、このような調査を引き続き繰り返し行うことにより、ユーザクエリーにより入ってきたサブツリーと最大パターンサブツリーとを比較して最大パターンサブツリーを探していくマイニング過程を行う。
次に、状況データを用いてユーザクエリーに対するパターンツリーを探し出すデータマイニングを行う過程について説明する。
すなわち、本発明の実施例では、状況データ(Context Data)を用いて、FP−growthアルゴリズムのパターンツリーデータマイニング(Pattern Tree Data Mining)技法によってセマンティックデータマイニングを行った。
この際、状況データとしては、インターネットポータルサイトと各地域別観光情報を持っているインターネットサイトを用いて観光データを収集した。収集された観光データを用いて観光データベースを構築し、広く使用されているProtege_4.0.2を用いて観光オントロジーを構築した。
また、観光オントロジーは、オントロジー言語であるOWL(Web Ontology Language)を用いてRDFとRDFSで表現してtour.owlというオントロジーデータベースを生成したとともに、各地域を基盤としてその地域に該当する小規模の地域をその下にサブクラスとして指定し、多段階のサブクラスの下に観光地を別のサブクラスとして指定した。
また、観光地と各地域の関係および属性を用いてサブクラス、スーパークラス、同義語クラス(equivalent class)などのクラスを指定し、各地域で、同じ地域にある様々な観光地の関係ではat the same placeのような属性指定をした。
また、ユーザが検索要請を行うとき、同義語または初声語処理のために同義語クラスを指定し、各観光地に該当する有名食堂やその観光地に関する説明を含む内容を属性として指定し、経/緯度位置属性はグーグルマップ(Google map)サービスを用いて各観光地の状況情報をユーザに提供することができるようにした。
したがって、前述したように構築されたオントロジーデータベースは、RDFとOWLを用いた階層構造を有し、それにより、本発明では、観光オントロジーを用いてデータマイニング過程を行うために、XMLデータマイニング技法を基本データマイニング方式として利用することができ、ユーザに連関関係のあるクエリーパターンを探してやるために、既存のFP−growthアルゴリズムを用いてユーザのクエリーと同じまたは類似する観光地を探し出すために、オントロジーに格納されている同一または類似のパターンを探し出すパターンツリーデータマイニング技法を適用した。
さらに詳しくは、tourをrootと指定し、観光データベースを構成している観光地情報を用いて、各地域をその次のサブクラス関係で構成し、その下に別のサブクラスを構成するように関係を設定して、各地域と観光地を構成する階層構造を一つのトランザクションとして指定した。
また、ユーザがある特定の地域の観光地を検索しようとするとき、ユーザから入ってくるクエリーを構成している観光地に対する住所値も、オントロジーデータベースに格納されている構造のように階層構造を持っているので、ユーザクエリーの構造とオントロジーデータベースに格納されている階層構造を持つトランザクションが互いに類似または一致するトランザクションを探し出す過程でデータマイニング過程を行った。
また、図23を参照すると、図23は観光オントロジーデータベースにおける各トランザクションの頻出アイテム集合(transaction frequent itemset)を示す図である。
図23において、各観光地別にトランザクションを構成し、特定の一つの観光地の階層構造をなしている構造をそれぞれのトランザクションにして表を構成しており、トランザクションidと頻出するトランザクションを構成している各観光地の内容を示している。
また、図24を参照すると、図24は前述したようにして各地域別に発生する頻出構造を持つ観光オントロジーデータベースを用いたFP−tree構造の一部を概略的に示す図である。
図24において、左側にはそれぞれの地域名を用いてアイテム(item)を構成し、右側にはそれぞれのトランザクションを構成しているアイテムを一つのノードとして用いてノードのリンクを示している。
また、それぞれのノードを構成しているアイテムの頻出度をその隣に数字で表現した。
すなわち、例えば、観光オントロジーデータベースにおいて、チェジュ特別自治道の場合は頻出する場合が5回発生しているので、5という数字で表記しており、ソギポ市の場合は3回発生しているので、3という頻出度を有すると表現しており、それぞれの相異なる地域名に対してもこのような表記を継続してFP−tree構造を構築した。
また、このようなFP−treeを基盤としてある特定のアイテムに対する条件付きFP−treeを構築することができる。
すなわち、図25を参照すると、図25の(a)はグローバル(Global)FP−tree、図25の(b)は観光地域のうち「マラ路」を基準として条件付き(Conditional)FP−treeを構築した場合をそれぞれ示す図である。
図25に示すように、FP−growthアルゴリズムは、構築されたFP−treeを基盤としてある特定のアイテムに対して条件付きFP−treeを繰り返し生成する過程を行い、このような各アイテムに対する条件付きFP−treeを生成する過程を繰り返し行って、頻出するFP−tree構造を探し出す過程がデータマイニング過程である。
さらに詳しくは、例えば、ユーザによって「テジョン広域市西区ジャンアン路ジャンテ山休養林」を検索しなさいというクエリーが入ったとき、ユーザクエリーと類似するクエリーを探すために、観光オントロジーデータベースを調査する過程が行われるが、このようなユーザクエリーと同一の構造がある場合は、ユーザに正確かつ迅速にサービスを行うことができるが、もし「テジョン広域市西区ジャンアン路」までのみ一致する構造を探し出す場合には、類似するが一致する構造ではないため、正確ではなく、類似する構造の結果を提供することができる。
また、図26を参照すると、図26は前述したような過程を行うFP−growthアルゴリズムソースの一部分を示す図である(非特許文献19参照)。
次に、前述したようなFP−growthアルゴリズムを適用してデータマイニングが行われる過程についてより詳しく説明する。
まず、オントロジーデータベースをデータマイニングに適用するためにデータをコード化する前処理過程を行う。
このために、本発明者は、それぞれの地域に該当するデータを適切なコードに変換し、FP−growthアルゴリズムを適用してどんなパターンが生成されるかその過程について考察した。
ここで、FP−growthアルゴリズムも、連関規則を適用するAprioriと同様に、最小信頼度(minimum confidence)と最小支持度(minimum support)を適用したので、このような臨界値(threshold)を適用したとき、データ間マイニングを適用した結果がどのように出るかを考察した。
さらに詳しくは、図27を参照すると、図27はFP−growthアルゴリズムに最小支持度を0.4と適用してデータマイニングを行った結果を示す図である。
図27に示すように、データベースに格納されているトランザクションの個数は99個であり、最大メモリ使用量は0.96mbであり、頻出アイテム集合(frequent itemset)は27個が生成された。データマイニングの遂行にかかった時間は15msである。
また、L1〜L5の5段階を行いながら最小支持度(minimum support)値0.4を基準としてそれぞれ支持度値を適用しながら各段階別にパターンが生成されることを見ることができ、ここで、各パターンにある値はデータベースにある各地域の値を変形させた値を意味する。
したがって、図27では、「チェジュ特別自治道」の「ソギポ市」にある観光地に対する頻出パターンが最もよく発生することが確認できる。
以上、FP−growthアルゴリズムを基盤として状況データを用いてデータマイニングを行う過程について説明した。次に、モバイル環境でセマンティックデータマイニング過程を行って情報検索がなされる全般的な過程について詳細に説明する。
すなわち、本発明は、ユーザが現在位置で要求する有用な情報を正確かつ簡潔に提供するために、各地域間のクラス関係設定と属性設定を始めとして類似の単語または同じ意味を示す単語の関係設定を表現するために観光オントロジーを利用した。前述した実施例では、ユーザの所望する地域の観光地情報を正確に伝達するために観光地オントロジーを構築した。
また、観光地オントロジーは、各地域別に区分して観光地に対する情報を階層構造を用いてオントロジーで表現し、例えば、ユーザが現在テジョン市ユソン区地域に位置した状態で「テジョン市ユソン区地域に位置した観光地を検索しなさい」というクエリーを行ったとき、オントロジーを介して、テジョン広域市に含まれているユソン区地域を検索し、ユーザに、ユソン区内に含まれている観光地を検索結果として示し、これと共に、例えばグーグルマップのように、モバイルデバイス内に取り付けられている地図機能を介して現在位置とユーザの所望する観光地の地図を提供し、このような一連の過程を統合してユーザの所望するユーザの位置から最も近い地域にある観光地に対する検索サービスを提供するように構成できる。
しかも、前述したようにFP−growthアルゴリズムを適用して、観光オントロジーデータベースにあるデータにデータマイニング過程を行い、ユーザに有用な情報を提供することが可能であり、以下では、このようなセマンティックデータマイニングアルゴリズムを適用して行われるセマンティック情報検索過程について詳細に説明する。
まず、図28を参照すると、図28は、セマンティックデータマイニングアルゴリズムを用いたパターンマッチング技法を活用したモバイル基盤の情報検索システムの全体的な構成を概略的に示す図である。
図28に示したシステムにおいて、それぞれのモジュールが行う作業と全体的な流れについて説明すると、次のとおりである。
第一に、ユーザの現在位置で情報検索要請を行う。
すなわち、モバイル機器を用いてユーザから検索要請が入ったとき、WiFi、3G、4G、GPS、センサー(Sensor)などを用いて、ユーザの現在位置に対する情報がユーザ検索要求事項と共に伝達されてユーザの状況情報(Context Information)を収集する。
第二に、状況データベース(context database)を構築する。
ここで、本実施例では、観光地情報を収集するために、各インターネットポータルサイトと各地域で紹介している観光地情報を収集したとともに、各地域の様々な観光地とその観光地の特性、住所および周辺食堂、そしてグーグルマップ(Google map)設定のために各地域の経度値と緯度値を収集した。
また、このようにして収集されたデータは、精製過程と前処理過程を行って状況データベース(context database)に格納する。
第三に、前述したような過程を介して状況データベースに格納されたデータにオントロジー推論過程を行い、各データ値の属性および関係を設定してオントロジーデータベースを構築する。
ここで、オントロジー推論過程で、各地域のサブクラス(subclass)、スーパークラス(superclass)関係や、同義語または初声語処理のための同義語クラス(equivalent class)関係、各地域と観光地間の「is attraction of」属性関係、同じ地域内に属している観光地の関係を表現する「at the same place of」などの属性などが設定される。
第四に、オントロジーに格納されたデータベースを用いて検索効率を高めるために、ユーザから要求されたクエリーと類似または一致するクエリーパターンツリーを探し出すセマンティックデータマイニング過程を行う。
ここで、ユーザによって要請された検索情報と状況情報を用いてパターンツリーを探し出す過程は、既存のFP−Growthアルゴリズムを用いてデータマイニング過程によって行われる。
第五に、前述したような過程を行って得られた結果を、状況認識モバイルサービスインターフェース(Context Awareness Mobile Service Interface)を介して、ユーザの要求する情報に対する結果として提供するサービスを行う。
したがって、前述したようにしてモバイル環境でセマンティックデータマイニング過程を行って情報検索がなされる全体的なフレームワークを実現することができ、続いて、モバイル環境でセマンティックデータマイニング技法を適用してユーザの所望する情報を検索する全般的な過程について詳細に説明する。
すなわち、図29を参照すると、図29はユーザから観光地に対する検索要請が入ったときに行われる一連の処理過程を概略的に示す図である。
さらに詳しくは、図29に示すように、第一に、ユーザがサービス要請モジュール(Service Request Module)を介して本人の検索しようとする観光地に対する情報検索を要請すると、オントロジーを用いたモバイル検索システムはユーザから入った検索要求事項を分析してクエリーパターンを構成する。
第二に、状況処理モジュール(Context Process Module)を介してユーザの現在情報を収集し、すなわち、前述したように、ユーザがクエリーした情報内容を含んで、WiFi、3G、4G、GPS、センサー(Sensor)などを介してユーザが検索を要求する状況での現在位置とユーザの要求事項について調べる。
第三に、観光コンテンツ(Tour Contents)DBは、前述した状況データベース(Context Database)といえるものであって、ポータルサイトを始めとした各地域の観光地紹介サイトにある観光地情報を収集して構築した観光地データベースである。
ここで、観光地データベースは、前処理過程を行ってデータを精製して関係型データベースに格納した後、オントロジー推論過程を行って観光地オントロジーデータベースを構築する。
したがって、このようにオントロジーの形態で格納されている状況データベースに格納されているクエリーパターンを用いて、ユーザによって要請されたユーザクエリーパターンと一致するパターンを探すために、観光地に対する階層構造の関係で構成された観光オントロジーデータベースを検索して類似または同一のクエリーパターンを探し出し、この際、前述したように、FP−growthアルゴリズムを利用したセマンティックデータマイニングアルゴリズムを用いて類似または同一のクエリーパターンを探し出す。
第四に、検索モジュール(Retrieval Module)を介してユーザの検索要請した情報をオントロジーデータベースからクエリーパターンを検索し、GPS情報と共にユーザの所望する検索結果をユーザに提供する。
次に、類似または同一のパターンツリーを探し出すデータマイニング過程について説明する。
まず、インターネットサイトなどを用いて観光地に関連する情報を収集してデータベースを構築し、このようなデータを用いて構築されたオントロジーデータベースを、ユーザがクエリーを行うときにユーザクエリーパターンを探し出すパターンデータベース(Pattern Database)とする。このようなパターンデータベース内には様々なパターンが格納されているため、ユーザがクエリーを行うときに既存のパターンとの比較過程を行って一致するパターン、類似するパターン、および一致しないパターンを探し出す過程によってデータマイニングが行われる。
したがって、ユーザのクエリーと一致または類似するパターンを探し出す場合、ユーザに正確かつ迅速にユーザの所望する有用な情報を提供することが可能である。
図30を参照すると、図30はユーザから検索要請が入ったときにユーザの要求事項を分析してユーザのクエリーパターンを分析し、分析したクエリーパターンと一致するパターンを、検索システムのオントロジーデータベースに格納されたパターン構造と比較することにより、類似または同一のパターン構造を検索する過程について説明する図である。
ここで、図30において、パターンデータベースは、観光オントロジーデータベースを意味する。
すなわち、ユーザの現在位置で観光地に対するクエリー要請を行うと、前処理過程とオントロジー推論過程を行い、格納された観光オントロジーデータベースで、現在ユーザの要請したクエリーパターンとパターンデータベースに格納されている既存のクエリーパターンとが一致するか否かを調査し、一致または類似する場合には検索結果として示し、一致しない場合にはさらにパターンを探していく方式で行われる。
さらに詳しくは、ユーザが検索システムの検索ウィンドウに本人の所望する観光地に対する検索要請を行ってユーザから検索要請が入ってくると、ユーザのクエリーパターンに対する分析過程を行ってユーザクエリーパターンを生成する。
次に、ユーザクエリーパターンが新しいパターンであるか否について検査を行い、もしユーザのパターンが新しいパターンであれば、既存のパターンと一致するか否かを調査し、一致するパターンがあれば、パターンデータベース(pattern database)に格納されている一致するパターンを検索結果として提示する。
もし、新しいパターンが、パターンデータベース内のパターンと一致するか否かが調査されない場合には、このような過程をもう一度行い、類似したパターンがあれば、類似するパターンを検索結果として提示し、ユーザによってクエリーされた新しいパターンはパターンデータベースに新しいパターンとして格納される。
したがって、前述したように、本発明の実施例によれば、前述したような一連の過程を繰返し行い、ユーザのクエリーと一致または類似するクエリーパターンを検索結果として提示することにより、観光データを状況データとして用いて構築された観光オントロジーからFP−growthアルゴリズムに基づくセマンティックデータマイニングアルゴリズムを利用してユーザの関心情報を探し出す検索方法の実現が可能となり、それにより、コンテキストアウェアネスに基づくユーザ関心情報推薦サービスを提供することができる。
すなわち、図31を参照すると、図31は本発明の実施例に係るセマンティックデータマイニングを用いたコンテキストアウェアネスに基づくユーザ関心情報検索サービス提供方法の全体的な構成を概略的に示す図である。
さらに詳しくは、図31に示すように、本発明の実施例に係るセマンティックデータマイニングを用いたコンテキストアウェアネスに基づくユーザ関心情報検索サービス提供方法は、まず、ユーザが自分のスマートフォンやタブレットPCを含むモバイル端末を用いて現在の位置で関心情報に対する検索要請を送信すると、ユーザの検索要請と共にモバイル端末のWiFi、移動通信網(3G、4Gなど)、GPS、および該当端末に設置された各種センサーを用いて前記ユーザの現在位置に対する情報を受信し、これを前記ユーザの状況情報(Context Information)として収集する(段階S311)。
次に、収集された情報に精製過程と前処理過程を行って状況データベース(context database)を構築し(段階S312)、構築された状況データベースに格納されたそれぞれのデータに対してオントロジー推論を介して各データ値の属性および関係を設定してオントロジーデータベースを構築する(段階S313)。
次いで、前述したような過程を介して構築されたオントロジーデータベースを用いて、前述したようなFP−Growthアルゴリズムに基づいて、ユーザから要求されたクエリーと類似または一致するクエリーパターンツリーを探し出すセマンティックデータマイニング処理を行い(段階S314)、このようなセマンティックデータマイニング処理段階を介して得られた結果をユーザの要求した検索要請に対する検索結果としてユーザのモバイル端末に表示する(段階S315)。
ここで、前述したそれぞれの段階で行われる処理のより具体的な内容は、従来の技術の文献および図16〜図30を参照して前述したようにして実現することができるので、説明を簡略にするために、ここではそれぞれの段階についての詳細な説明は省略したことに留意すべきである。
次に、前述したような状況認識オントロジーを利用したモバイル情報検索システムを実現するために必要な環境とその実現過程について詳細に説明する。
すなわち、前述した実施例において、本発明者は、観光データを収集するために、ポータルサイトを始めとした各地域の観光地を紹介するサイトを用いて観光地情報データを収集し、収集された情報にデータを精製する前処理過程を行い、例えば、Windows(登録商標)などの運営体制環境で関係型データベースを構築するためにMS SQL Server 2000 Personal versionを用いてデータベースを構築した。
また、データベース内にid、add_1、add_2、add_3、add_4、add_5、tour_site、syn、lat、longのフィールドをそれぞれ構成してデータを格納した。ここで、add_1、add_2、add_3、add_4、add_5などのそれぞれのフィールドは各観光地を構成している住所を示し、tour_siteは観光地の名前を格納し、synは同義語または初声語処理のためのフィールド名であり、latとlongは地図(グーグルマップ)を設定するときに必要な緯度と経度をそれぞれ意味する。
また、本発明者は、このような関係型データベースを用いて、各データ間の関係および属性を設定して観光オントロジー(Ontology)を構築した。この際、オントロジーデータベースの構築のためにProtege_4.0.2 versionを用いてオントロジーの構築および推論を行ったうえ、OWLとRDFを用いてオントロジーを表現してtour.owlオントロジーを構築した。
また、本発明者は、このように構築されたオントロジーデータベースを用いて、FP−growthアルゴリズムを利用したセマンティックデータマイニングを行ってモバイル環境の情報検索システムを構築した。ここで、モバイル情報検索システムを実現するための実現環境は、例えば、[Android 2014](非参考文献20参照)に提示されたようなAndroid 4.3 versionおよびグーグルマップ(Google map)の実現のためにGoogle APIs 4.3を利用した。モバイル情報検索システムの実現のためにHTML5、CSS3、JavaScript(登録商標)などを利用し、データベースおよびサーバーとして用いるために大容量データベースで活用されているNode JS serverを利用した。
また、Androidプログラミングは、Javaを基盤としているので、Jdk1.7.0_05を用いて実現環境を構成した。モバイル環境の情報検索システムの構築のための編集器は、例えば、[WebStorm 2014]に提示されたようなWebStorm_7.0.3 versionを利用した(非参考文献21参照)。
ここで、本実施例に適用されたモバイルプラットフォーム(Mobile Platform)であるAndroidプログラミングの特徴について説明すると、モバイルデバイスのためのプラットフォームであるAndroidの特徴は、次のとおりである。第一に、Androidはグーグルが製作、公開したオープンソースモバイルプラットフォームであって、モバイル環境に最適化されたLinux(登録商標)基盤の運営体系とユーザインターフェース、応用プログラムの組み合わせであり、第二に、閉鎖的な携帯電話環境とは異なり、制約が最小化された様々なアプリケーションの開発および運営が可能であるという特徴がある。
また、Androidを利用した開発過程の詳細な内容については、例えば、[Michalis 2012](非参考文献2参照)などの従来技術の文献を参照して当業者が容易に理解することができるので、ここでは、説明を簡略にするためにその詳細な説明は省略する。
すなわち、上述したように、本発明者は、インターネットポータルサイトまたは各地域の観光情報を案内するサイトの情報を用いて観光データベースを構築し、このような観光データベースにid、add_1、add_2、add_3、add_4、add_5、tour_site、syn、lat、longなどのフィールドを構成した。ここで、例えば、add_1は「テジョン広域市」、「チェジュ特別自治道」、「ブサン広域市」、「忠南」などの地域の名前から構成したものとすれば、add_2は、テジョン広域市の場合、「西区」、「東区」、「中区」、「ユソン区」、「テドク区」などのように区の名前から構成され、add_3は、テジョン広域市西区に位置した「マンニョン洞」やテジョン広域市中区に位置した「ウンヘン洞」などのように洞の名前を指定し、add_4は、テジョン広域市西区マンニョン洞に位置した「ドゥンサン大路」や忠南コンジュ市ケロン面に位置した「ジュンジャン里」などのように詳細住所を指定し、add_5は、テジョン広域市西区マンニョン洞ドゥンサン大路の「169番地」や、忠南コンジュ市ケロン面ジュンジャン里に位置した「52番地」などの地番を指定するように構成できる。
また、tour_siteは、例えば、テジョン広域市西区マンニョン洞ドゥンサン大路169番地に位置した「テジョン文化芸術団地」、忠南コンジュ市ケロン面ジュンジャン里52番地に位置した「ガプサ」などの観光地の名前を指定し、synは、例えば、「テジョン」を「ハンバット」と指定し或いは「チェジュ」を「タムラ」と指定するときに使用する同義語処理、または、検索語を入力するときに「ガプサ(韓国語で「
」という)」の初声語たる「
」、テジョン文化芸術団地(韓国語で「
」という)の初声語たる「
」などのように入力する初声語処理のために指定でき、latとlongは地図(グーグルマップ)を表示するために各地域の経度値および緯度値を指定するように構成できる。
また、前述した本発明の実施例では、このように格納された観光データベースは観光オントロジーデータベースを構築するために利用でき、データベース内の各データの属性および関係を用いてオントロジー推論およびオントロジー構築のためにProtege_4.0.2 vserionを利用し、OWLとRDFを用いてtour.owlというオントロジーデータベースを構築した。
ここで、オントロジー推論過程は、各地域を示すデータ値の属性および関係を指定し、すなわち、各地域に対するスーパークラス(superclass)とサブクラス(subclass)の関係および多重包含関係を指定し、同義語または初声語処理のための同義語クラス(equivalent class)を指定し、同じ地域内に含まれている観光地の場合は、「at the same place of」のような属性関係を設定し、地域内に含まれている観光地の場合は、例えば、チェジュ特別自治道チェジュ市ウド面にある「牛島」という観光地は地域と観光地の関係で「is attraction of」のような属性関係を設定するように構成できる。
また、前述した本発明の実施例では、このような過程で構築されたオントロジーデータベースを用いてユーザに一層正確かつ迅速な情報検索結果を提供するために、FP−Growthアルゴリズムを基盤とするセマンティックデータマイニング(Semantic Data Mining)過程を行った。
ここで、前述したデータマイニング方法は、オントロジーデータベースの各地域を構成している上位クラス、下位クラスおよび観光地の階層構造関係を一つのトランザクションとして看做して一つのパターンツリーを構成していると看做し、こうして格納されたパターンツリーを基盤として、ユーザのクエリーが入ったとき、ユーザクエリーパターンと格納されている既存のパターンツリーとを比較して一致または類似するパターンツリーを探していく過程によって行われる。
したがって、前述したように行われるデータマイニング過程を行い、ユーザの要求する検索語に一致または類似する検索結果を提供することができる。
次に、モバイル環境で前述のようなFP−Growthアルゴリズムを基盤とするセマンティックデータマイニング過程を介してユーザのクエリーに対する検索を行うデータ検索システムを構築する過程について説明する。
ここで、以下に説明する本発明の実施例においては、モバイル環境の情報検索システムの実現のためにHTML5、CSS3、JavaScriptなどのプログラムを用いて検索システムを実現する場合を例として本発明を説明したが、本発明は、必ずこのような場合にのみ限定されるものではなく、必要に応じて幾らでも他の言語またはプラットフォームでも実現可能であることに留意すべきである。
すなわち、Androidプログラミングを用いてシステムを実現する場合には、Android運営体制を持つ機器でのみ実行が可能であるが、前述したようにHTML5とCSS3を用いてプログラミングする場合には、Android運営体制だけでなく、iOS運営体制においても実行が可能であるという利点がある。
また、以下に説明する本発明の実施例において、ボタンなどのイベントアクション(Event action)と関数などの処理にはJavaScriptを利用し、この際、編集器として用いたプログラムはWebStorm_7.0.3 versionを利用した(非特許文献21参照)。
また、構築されたシステムの実行のためにAndroid 4.3バージョンを利用し(非特許文献20参照)、各地域の地図(グーグルマップ)実現のためにGoogle APIs 4.3 for Google mapを利用した。
さらに詳しくは、図32を参照すると、図32は検索ウィンドウの初期画面を実現するためのソースの一部を示す図である。
すなわち、図32に示したソースは、検索ウィンドウにユーザの所望する観光地を入力すると、次のページにその結果が目録として表示される処理を示している。
また、図33を参照すると、図33は検索ボタン(search button)に対するイベントアクション(Event action)をスクリプト関数(Script function)で実現したソースを示す図である。
すなわち、図33に示したソースは、ユーザが検索ウィンドウに検索語を入力し、その隣にあるボタンをクリックしたり、メイン画面の下側にある3つのボタンをクリックしたりすると、ページが変わってボタンのクリックにより結果値を画面に表示する動作が行われるボタンアクションを示している。
また、図34を参照すると、図34は地図(グーグルマップ)サービスを提供するためのマップボタンアクションを行うソースの一部を示す図である。
すなわち、図34に示したソースは、btn−mapのイベントアクションと関数を用いてグーグルマップを示す動作であって、地域の緯度値と経度値を用いて、各位置に該当する地図を示す動作が行われるボタンアクションを示している。
また、図35を参照すると、図35は本発明の実施例に係るモバイル情報検索システムのメイン画面の構成例を示す図である。
図35に示すように、左のメイン画面の検索ウィンドウに地域名または観光地名を入力し、検索ボタンをクリックすると、該当地域または観光地に該当する検索結果が出力され、すなわち、例えば「テジョン」という地域値を検索ウィンドウに入力すると、右画面のように「テジョン」に関連する観光地名が出力される。
ここで、もし、住所値として、テジョン広域市のサブクラス関係にある他の値を入力すると、検索結果はさらに細かい結果値を提示する。
また、図35の右画面のように、検索システムのメイン画面を除いた全てのページの下端(footer)部分には複数のボタンが表示されるように構成され、すなわち、例えば、1番目のボタンはホームにリターンするボタンであり、2番目のボタンは検索ウィンドウに入力された値を読み込んで関連地域のマップを呼び出すマップボタンであり、3番目のボタンは関連観光地に属する地域にある食堂名または観光地に対する紹介をする内容のページを示すボタンである。
さらに詳しくは、図36を参照すると、図36は、テジョン広域市という地域値を検索ウィンドウに入力してマップボタンをクリックしたときに該当地域の地図が表示される構成、および検索ウィンドウに入力された入力値に応じて関連地域の食堂または観光地域を紹介する画面が表示される構成をそれぞれ示す図である。
ここで、前述したマップボタンは、前述した観光オントロジーに関する説明で地図(グーグルマップ)を設定するためにデータベースにlatとlongというフィールド値として設定した緯度値と経度値を用いて関連地域の地図を結果値として持ってくるように構成できる。
また、図37および図38を参照すると、図37はユーザの現在位置値を緯度値と経度値として自動認識し、ユーザが現在位置している地域の地図を緯度値および経度値と共に示すマップを実現するマップ実現ソースを示す図であり、図38は図37に示したようなソースを介して実現された結果画面を示す図である。
図37に示すように、マップ実現ソースは、ユーザの現在位置に該当するマップを実現するためにmyLocation関数を作り、その中にnavigator.geolocation.getCurrentPosition関数を用いてユーザの現在位置値を求めるように構成できる。
また、図38に示した結果画面は、ユーザの現在位置値として緯度36.30と経度127.36の値を用いて、テジョン広域市西区ジョンリム洞の位置値を求め、その周辺地域の地図を表示する画面を示している。
したがって、前述したようにして、ユーザの現在位置値を用いてユーザの現在位置での情報を伝達する動作と、ユーザが検索語を入力したときに行われる動作をそれぞれ実現することにより、モバイル環境でセマンティックデータマイニング技法を適用した情報検索システムを実現することができる。
次に、上述したようにして実現されたモバイル情報検索システムを用いて実際に情報検索を行った実験結果およびそれによる性能評価について説明する。
すなわち、本発明者は、前述したようにして観光オントロジーデータベースを構築し、該当データベース内にあるデータを用いてデータマイニングアルゴリズムを適用して実験を行った。
ここで、以下に説明する本発明の実施例で行われた実験は、各地域別に観光地検索のためのセマンティックデータマイニング技法を適用した検索結果を得ることを目標として、各地域に連関する観光地を一つのトランザクションとして頻出パターンを分析したとともに、ユーザの所望する観光地に対して迅速に検索結果を提供するために情報検索の正確度に対しても実験を行った。
まず、セマンティックデータマイニングアルゴリズムを適用した実験結果について説明すると、本発明者は、各地域に連関する観光地検索のために互いに連関のあるユーザクエリーパターンを探すアルゴリズムとしてFP−growthアルゴリズムを適用して、オントロジーデータベースと既存の関係型データベースのそれぞれのデータを用いて性能を比較評価した。
すなわち、FP−growthアルゴリズム基盤のセマンティックデータマイニングアルゴリズムを適用して2つのデータ間の頻出パターンを発見する過程、実行時間およびメモリ使用量などを比較する実験評価を行った。このような実験評価を行うために観光オントロジーデータに対する前処理過程を行った。
さらに詳しくは、第一に、各種ポータルサイトおよび観光地を紹介するサイトに掲示された各観光地に関連する情報を収集して観光データベースを構築し、第二に、観光データベースに格納されたデータを用いて観光オントロジーたるtour.owlを構築した。ここで、このようなオントロジーはprotege_4.0.2を利用して構築し、その推論および表現はOWL、RDF、RDFSを用いた。
第三に、観光オントロジーデータベースに対してDOMパーサー(Parser)を用いてXML文書のパーシングを行った。第四に、XML文書のタグを抽出してFP_growthアルゴリズムを行うためにマッピングテーブルを作り、各タグをコード化してマイニング過程を行った。
また、既存の関係型データベースのデータの場合も、観光データを抽出して前記オントロジーデータと類似の過程で前処理過程を行ってマッピンテーブルを作り、コード化してデータマイニング過程を行った。
すなわち、図39および図40を参照すると、図39および図40は本発明の実施例に係るオントロジーデータベースと既存の関係型データベースにそれぞれFP−growthアルゴリズムを適用してデータマイニング過程を行った実験結果をまとめて表として示す図である。
ここで、既存の関係型データの場合は、オントロジーデータとは異なり、最小支持度(minimum support)値を0.6までのみ適用して実験が可能であり、さらに増加させた場合には実験が不可能であって、その地点までのみ実験を行った。
さらに詳しくは、図41を参照すると、図41は本発明の実施例に係るオントロジーデータと既存の関係型データベースの最小支持度臨界(minimum support threshold)値の変化によるメモリ使用量の変化過程を示すグラフである。
すなわち、本発明者は、トランザクションの個数を100個に限定させて最小支持度値の変化によるメモリ使用量、頻出パターンの個数、実行時間などについて調査した。まず、2つのデータ間の最小支持度値の変化に伴ってメモリ使用量がどのように変化するかを考察した結果、図41に示すように、2つのデータ間のメモリ使用量は類似していることが分かる。
したがって、このような図41に示した実験結果より、トランザクションが少ない場合には、本発明の実施例に係るオントロジーデータベースのデータが既存の関係型データベースのデータに比べてメモリ使用量がやや少ないが、比較的類似していることを確認することができる。
次に、図42を参照すると、図42は同様にトランザクションの個数を100個に限定させておき、本発明の実施例に係るオントロジーデータと既存の関係型データベースの最小支持度値の変化による頻出パターンの個数の変化を示すグラフである。
ここで、このような実験は、どんな構造のデータを実験データとして使用するかによってオントロジーデータベースと一般データベースとの間で頻出パターン構造が異なる形態を有するという前提の下に行われたものである。図42に示すように、オントロジーデータと一般データとの間の頻出パターンの個数の変化過程を考察すると、オントロジーデータベースを使用する場合、一般データに比べて頻出構造がさらに多く発生することを確認することができる。
このような結果は、オントロジーデータベースの場合、一般データベースに比べてより構造的な階層構造形態を有するデータベースであるので、頻出構造をさらに多く発生させることができるためである。
すなわち、前述したようなオントロジーデータベースを構築する過程でオントロジー推論を介してそれぞれのクラス関係が互いに構造的に連結されるように構成されるので、一般データに比べてさらに多くの頻出構造を持つことができ、それにより、本発明によれば、頻出パターンを探して検索結果を提供する場合、さらに多くの頻出構造を提示することができるので、より優れた検索結果を提示することができる。
次に、図43を参照すると、図43は本発明の実施例に係るオントロジーデータと既存の関係型データベースの最小支持度の変化による実行時間(run time)の変化を示すグラフである。
この実験においても、同様に、トランザクションの個数を100個に限定させて実験を行った。図43に示すように、オントロジーデータベースは既存の関係型データに比べて比較的実行時間が少なくかかるものと確認された。
ここで、特異点は、関係型データの場合、最小支持度値が少ないときと最小支持度値が最も大きいときに実行時間が急速度で増加するが、これに比べて、オントロジーデータベースの場合は比較的実行時間の変化過程が最小支持度値の変化に伴って類似することである。
続いて、図44を参照すると、図44は本発明の実施例に係るオントロジーデータと既存の関係型データベースのトランザクションの変化による実行時間の変化を示すグラフである。
すなわち、図44において、最小支持度値を0.4に固定させ、トランザクションの個数を変化させながら本発明の実施例に係るオントロジーデータと既存の関係型データベースの実行時間の変化を示しており、トランザクションの個数が増加しながら2つのデータ間の実行時間に差が発生することを確認することができ、本発明の実施例に係るオントロジーデータベースのデータは既存の関係型データベースのデータに比べて比較的実行時間が少なくかかることが分かる。
したがって、本発明の実施例に係るオントロジーデータベースを用いた情報検索は、既存の関係型データベースを用いた情報検索の場合より、ユーザの検索要請が入ったときに検索時間が少なくかかることが分かる。
次に、図45を参照すると、図45は本発明の実施例に係るオントロジーデータベースと既存の関係型データベースのトランザクションの変化によるメモリ使用量の変化を比較して示すグラフである。
ここで、図45に示した結果は、最小支持度を0.4と一定にし、トランザクションの個数に変化を与えながら実験を行った結果である。図45に示すように、2つのデータ間のトランザクションの個数の変化によるメモリ使用量は、本発明の実施例に係るオントロジーデータベースのデータが既存の関係型データベースのデータに比べて比較的少ないことが分かる。
また、トランザクションを100個に限定させたときと比較すると、トランザクションの個数が少ないときよりはトランザクションの個数が多いとき、本発明の実施例に係るオントロジーデータベースを用いる場合は、既存の関係型データベースを用いる場合よりメモリ使用量がさらに効率的であることが分かる。
よって、モバイル環境における情報検索の最も大きい問題点の一つといえるモバイル機器の容量不足を考慮すると、本発明の実施例に係るオントロジーデータベースを用いる場合がさらに効率的であることが分かる。
次に、本発明の実施例に係るオントロジーデータベースと既存の関係型データベースの情報検索の正確度に対して実験を行った結果について説明する。
まず、図46を参照すると、図46はユーザクエリーパターンであるトランザクションの変化に伴って、検索効率を示す正確度の変化を示すグラフである。
すなわち、本発明者は、前述した本発明の実施例に適用されたセマンティックデータマイニングアルゴリズムとして使用されるFP−growthアルゴリズムを用いて実験データに対する情報検索の正確性を示す正確度(Accuracy)を測定した。
測定の結果、図46に示すように、本発明の実施例に係るオントロジーデータベースと既存の関係型データベースの正確度はトランザクションの数の増加に伴って増加することを確認することができる。
ところが、既存のポータルサイトまたは観光地関連サイトの検索システムと、前述したようにして本発明の実施例によって構築されたセマンティックデータマイニング技法を用いたモバイル情報検索システムとの正確度を比較すると、既存のシステムの正確度が著しく低いことが分かる。
これは、既存のシステムが検索ウィンドウにユーザの所望する検索語を入力したときにユーザの所望する検索内容と関連のない検索結果を提供しているためである。
次に、前述した本発明の実施例に係るセマンティックデータマイニング技法を適用したモバイル情報検索システムと既存の検索システムとの差異点を比較して情報検索の正確度を考察するために、本発明の実施例に係るモバイル情報検索システムと既存のポータルサイトでそれぞれ観光地を検索ウィンドウに入力した場合の結果画面を比較した結果について説明する。
すなわち、図47を参照すると、図47は既存のポータルサイトで「ケロン山」を検索ウィンドウに入力したときの検索結果を表示する画面を示す図である。
さらに詳しくは、既存のシステムの検索結果は、図47に示すように、「ケロン山」という観光地を検索ウィンドウに入力した場合、検索結果値として表示される内容に実際観光地に関連する内容も含まれているが、関連の全くない内容も検索結果として表示される場合もあり、また、PCよりスマートフォンの画面サイズが小さいことに比べて、検索結果はあまり多い結果値を提供するので、ユーザは画面のスクロールを下に動かしながら検索結果を確認しなければならないという不便さがある。
したがって、このような不便さを解消するためには、検索結果にユーザの所望する検索結果のみを正確かつ便利に提供する検索システムが必要である。このため、本発明では、前述したような既存の検索システムの問題点を解決するために、セマンティックデータマイニング技法を用いたモバイル情報検索システムを提案し実現した。
さらに詳しくは、図48を参照すると、図48は本発明の実施例に係るモバイル情報検索システムで「ケロン山」を検索ウィンドウに入力したときの検索結果を表示する画面を示す図である。
すなわち、既存の検索システムでは、「ケロン山」と関連のない内容が結果画面に提供されてユーザの所望する情報を一つ一つ確認し、選択して見なければならないという欠点があったが、本発明の実施例に係るモバイル情報検索システムは、図48に示すように、既存の検索システムの検索ウィンドウに検索語を入力した値と同じ「ケロン山」を入力したときに正確な値のみを結果値として提供する。
また、図49を参照すると、図49は本発明の実施例に係るモバイル情報検索システムで検索語を入力したときに検索結果に関連する説明および周辺地域の地図を結果値として共に提供する画面をそれぞれ示す図である。
図49に示すように、本発明の実施例に係るモバイル情報検索システムを用いると、入力された検索語に対する検索結果を提供するうえ、例えば、関連する観光地に対するより具体的な説明および周辺の美味い食堂などの関連情報を含む周辺地域の地図が結果値として共に提供されるので、既存の検索システムに比べて検索結果の正確度がさらに正確であることが分かる。
よって、前述したようにして、モバイル環境で状況認識オントロジーを用いてセマンティックデータマイニング技法を適用したモバイル情報検索システムを実現することができる。
すなわち、本発明によれば、まず、状況データを格納するために、ポータルサイトを始めとした各地域の観光地紹介サイトを介して観光情報を収集し、収集された情報に前処理過程を行ってデータベースに格納し、こうして格納された観光データを用いて各観光地の関係および属性などを設定するオントロジー推論過程を行って観光オントロジーデータベースを構築するユーザ関心情報サービス提供のための状況認識オントロジー実現方法を提供することができる。
また、本発明によれば、前述したようにして構築された観光オントロジーデータベースを用いて、ユーザに一層迅速かつ正確な情報検索結果を提供するために、既存のFP−growthアルゴリズムに基づくデータマイニング技法を適用することにより、ユーザに入ったユーザクエリーパターンと観光オントロジーデータベースに格納されているクエリーパターンとを比較して類似または同一の構造のクエリーに対して迅速に検索結果を提供することができるように構成される、セマンティックデータマイニングを用いたユーザ関心情報検索サービス提供方法を提供することができる。
また、本発明によれば、前述したような状況認識オントロジーおよびセマンティックデータマイニングを用いて、モバイル環境に適するように一層簡潔かつ正確な検索結果を提示すると同時に、ユーザの現在位置またはユーザの所望する情報検索結果の位置に対する地図サービスを共に行うことができるように構成されるモバイル情報検索サービスを提供することができる。
また、本発明によれば、オントロジー推論過程で属性設定と関係設定によって同義語、類似単語または初声語の処理を可能にして検索サービスを行いながら様々に検索語を入力することが可能であり、セマンティックデータマイニング技法を適用することにより、既存の検索サービスで不要な検索結果まで提供してスマートフォン端末の画面が小さい欠点を克服することができないという問題点を解決することができる。
上述したようにして、本発明の実施例に係るコンテキストアウェアネスに基づく状況認識オントロジーおよびこれを用いたユーザ関心情報サービスを実現することができる。
ここで、前述した本発明の実施例では、ユーザへ観光地に関連する関心情報を予測し提供するために、観光地に関する状況認識オントロジー(Context Awareness Ontology)を構築し、このような状況認識オントロジーに基づいてセマンティックデータマイニング過程(Semantic Data Mining)を行ってユーザに一層正確かつ簡潔な結果を提供することにより、モバイル環境に適するように構成される関心情報サービスを提供する場合を例として本発明を説明したが、本発明はこのような場合に限定されるものではない。すなわち、本発明は、前述した観光地に対する関心情報サービス以外に、必要に応じて幾らでも他の分野に対する関心情報サービスの場合にも様々に適用できることに留意すべきである。
したがって、前述したようにして、本発明に係るコンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法を実現することができる。
また、前述したようにして本発明に係コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法を実現することにより、本発明によれば、コンテキストアウェアネス技術に基づいてユーザの関心度を予測し、ユーザがどの位置でどんな検索を所望するかをより正確に予測するためのコンテキストオントロジーモデルを構築し、このようなコンテキストオントロジーモデルに基づいてユーザ関心情報を予測することにより、ユーザの検索要請に対してユーザの関心に関連する情報のみを提示してより正確かつ簡潔な検索結果を提供することができるように構成される、コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法が提供されることにより、ユーザの検索要請に対して無駄に膨大な検索結果を提供してユーザが必要な情報のみをさらにフィルタリングしなければならないという欠点があった従来技術の検索方式の問題点を解決することができる。
また、本発明によれば、コンテキストオントロジーを用いたセマンティックデータマイニングアルゴリズム(Semantic Data Mining Algorithm)を用いて、より正確に要約された検索結果を提供することができるように構成される、コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法が提供されることにより、スマートフォンなどのモバイル端末の限られた画面と少ないメモリの欠点を克服することができる。
また、本発明によれば、ユーザの検索要請情報に対する検索結果を提供すると同時に、モバイル機器に内蔵されているGPSおよび地図機能を用いてユーザの現在位置とユーザの要求する検索結果の位置を検索結果と共に提供することができるように構成される、コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法が提供されることにより、ユーザは一度の検索のみで所望の情報の内容だけでなく位置までも容易に探し出すことができる。
以上、前述したような本発明の実施例を用いて、本発明に係るコンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法の詳細な内容について説明したが、本発明は、前述した実施例に記載された内容に限定されるものではない。本発明は、本発明の属する技術分野における通常の知識を有する者によって、設計上の必要およびその他の様々な要因に応じて様々な修正、変更、結合および代替などが可能であることは当たり前である。