(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6014725
(24)【登録日】2016年9月30日
(45)【発行日】2016年10月25日
(54)【発明の名称】単文/複文構造の自然言語クエリに対する検索および情報提供方法並びにシステム
(51)【国際特許分類】
G06F 17/30 20060101AFI20161011BHJP
【FI】
G06F17/30 330C
G06F17/30 320D
【請求項の数】25
【全頁数】25
(21)【出願番号】特願2015-138524(P2015-138524)
(22)【出願日】2015年7月10日
(65)【公開番号】特開2016-18566(P2016-18566A)
(43)【公開日】2016年2月1日
【審査請求日】2015年7月10日
(31)【優先権主張番号】10-2014-0086954
(32)【優先日】2014年7月10日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】110000408
【氏名又は名称】特許業務法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】張 宰 赫
(72)【発明者】
【氏名】金 基 永
(72)【発明者】
【氏名】金 明 石
(72)【発明者】
【氏名】崔 智 惠
(72)【発明者】
【氏名】李 元 振
(72)【発明者】
【氏名】イ フン ア
(72)【発明者】
【氏名】李 龍 訓
【審査官】
吉田 誠
(56)【参考文献】
【文献】
特開2003−330959(JP,A)
【文献】
特開2005−208825(JP,A)
【文献】
特開2006−293830(JP,A)
【文献】
特開2008−21270(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する、単文/複文構造の自然言語クエリに対する検索および情報提供方法であって、
自然言語クエリの意味分析を介して、前記自然言語クエリに含まれている2つ以上のクエリエンティティを抽出し、
各クエリエンティティの連関性を分析し、
前記分析結果に基づいて、多数のレベルからなるツリー構造のマッシュアップ検索言語を生成し、
前記マッシュアップ検索言語を生成するとき、
所定の属性と判断されたクエリエンティティについては、属性情報と対応付けられて前記マッシュアップ検索言語として用いられ、
それ以外の属性と判断されたクエリエンティティについては、属性情報が前記マッシュアップ検索言語として用いられ、
前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを知識データベースから検索し、
前記検索の結果として導出したデータから、前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することと、
前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることを含むことを特徴とする、単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項2】
前記マッシュアップ検索言語を生成することは、
前記自然言語クエリの意味分析を介して、前記自然言語クエリが複文構造であるかを判断することと、
前記自然言語クエリが複文構造である場合、複文構造のクエリ言語から2つ以上のクエリ句を導出することと、
前記導出した2つ以上のクエリ句に基づいて前記ツリー構造のマッシュアップ検索言語を生成することを含むことを特徴とする、請求項1に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項3】
前記マッシュアップ検索言語の属性およびドメイン情報を分析することと、
前記分析の結果に基づいて、前記マッシュアップ検索言語に対応する検索環境情報を選択することと、
前記選択した検索環境情報を用いて前記マッシュアップ検索言語を正規化することを含むことを特徴とする、請求項1に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項4】
前記正規化されたマッシュアップ検索言語を、前記選択した検索環境情報を用いて対象検索言語に変換することをさらに含むことを特徴とする、請求項3に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項5】
前記マッシュアップ検索言語の各レベルが連関している場合、
前記知識データベースから前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータを検索および導出することと、
前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータに基づいて、前記知識データベースから連続する下位レベルのエンティティに対応するデータを検索および導出することを含み、
前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを検索および導出するまで順次繰り返し行われることを特徴とする、請求項1に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項6】
前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを前記主要情報として導出し、残りの導出されたレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することをさらに含むことを特徴とする、請求項5に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項7】
前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、
前記検索結果画面の上段部に前記マッシュアップ検索言語の最上位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最上位レベルのエンティティ情報の下段部に連続する下位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最下位レベルのエンティティ情報を前記主要情報として出力する方式を利用することを特徴とする、請求項6に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項8】
前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、
前記主要情報および前記一つ以上のエンティティ情報を、一つ以上の属性情報、イメージ情報および映像情報の少なくとも一つを含む要約された情報形態に加工することを含むことを特徴とする、請求項1または7に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項9】
前記検索結果画面上の多数のエンティティ情報のいずれか一つに対するユーザー選択信号の入力の際に、前記ユーザー選択信号に対応するエンティティに関する情報をエンティティ詳細情報に加工することと、
前記検索結果画面を、前記主要情報および前記一つ以上のエンティティ情報が出力される要約情報領域、および前記エンティティ詳細情報が出力される詳細情報領域に区分してレイアウト変更することをさらに含むことを特徴とする、請求項8に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項10】
前記マッシュアップ検索言語の各レベルが連関していない場合、
前記知識データベースから前記マッシュアップ検索言語のレベル別のエンティティに対応するデータを検索および導出することと、
前記導出したマッシュアップ検索言語のレベル別のエンティティに対応するデータを対象として、前記自然言語クエリの意味分析の結果に基づく論理演算を適用して最終結果データを導出することをさらに含むことを特徴とする、請求項1に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項11】
前記最終結果データを前記主要情報として導出し、前記導出したレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することをさらに含むことを特徴とする、請求項10に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項12】
前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、
前記検索結果画面を、前記主要情報および主要情報関連情報が出力される主要情報領域と、前記一つ以上のエンティティ情報が出力されるエンティティ領域に区分してレイアウトすることを含むことを特徴とする、請求項11に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項13】
前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、
前記主要情報が単一属性の情報である場合、前記主要情報を自然言語ベースの応答形態に加工して提供することをさらに含むことを特徴とする、請求項1に記載の単文/複文構造の自然言語クエリに対する検索および情報提供方法。
【請求項14】
ユーザーデバイスから入力された自然言語クエリの意味分析を介して、前記自然言語クエリに含まれている2つ以上のクエリエンティティを抽出し、各クエリエンティティの連関性を分析し、前記分析結果に基づいて、多数のレベルからなるツリー構造のマッシュアップ検索言語を生成する自然言語処理エンジンと、
レベル別のマッシュアップ検索言語を構成するクエリエンティティに対応するデータを検索する検索エンジンを含み、
前記自然言語処理エンジンは、
前記マッシュアップ検索言語を生成するとき、所定の属性と判断されたクエリエンティティについては、属性情報と対応付けられて前記マッシュアップ検索言語として用い、それ以外の属性と判断されたクエリエンティティについては、属性情報を前記マッシュアップ検索言語として用い、
前記検索エンジンは、
前記レベル別のマッシュアップ検索言語を構成するクエリエンティティに対応するデータから、前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を加工して、同じ検索結果画面上にレイアウトすることを特徴とする、単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項15】
前記自然言語処理エンジンは、
前記自然言語クエリの意味分析を介して、前記自然言語クエリが複文構造であるかを判断し、前記自然言語クエリが複文構造である場合、複文構造のクエリ言語から二つ以上のクエリ句を導出する意味分析モジュールと、
前記導出した二つ以上のクエリ句に基づいて前記ツリー構造のマッシュアップ検索言語を生成するマッシュアップ検索言語変換モジュールを含むことを特徴とする、請求項14に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項16】
前記検索エンジンは、
前記マッシュアップ検索言語の属性情報を分析して、前記マッシュアップ検索言語に対応する検索環境情報を選択し、前記選択した検索環境情報を用いて前記マッシュアップ検索言語を正規化するマッシュアップ検索言語正規化モジュールと、
前記検索環境情報に基づいて前記正規化されたマッシュアップ検索言語を対象検索言語に変換する対象検索言語変換モジュールと、
前記検索環境情報に基づいて、知識データベースから前記対象検索言語に対する物理的データを検索および導出して結果データを生成するデータ導出モジュールと、
前記検索環境情報に基づいて前記データ導出モジュールで生成した結果データを加工し、
前記加工されたデータを含む検索結果画面を生成するデータ加工モジュールを含むことを特徴とする、請求項14に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項17】
前記データ導出モジュールは、
前記マッシュアップ検索言語正規化モジュールでの属性分析結果に基づいてマッシュアップ検索言語の各レベルが連関している場合、
前記知識データベースから前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータを導出し、前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータに基づいて、前記知識データベースから連続する下位レベルのエンティティに対応するデータを導出し、前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを導出するまで順次データ導出を行うことを特徴とする、請求項16に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項18】
前記データ導出モジュールは、
前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを前記主要情報として導出し、残りの導出されたレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出する段階をさらに含むことを特徴とする、請求項17に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項19】
前記データ加工モジュールは、
前記検索結果画面の上段部に前記マッシュアップ検索言語の最上位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最上位レベルのエンティティ情報の下段部に連続する下位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最下位レベルのエンティティ情報を前記主要情報として出力する方式を利用することを特徴とする、請求項18に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項20】
前記データ加工モジュールは、
前記主要情報および前記一つ以上のエンティティ情報を、一つ以上の属性情報、イメージ情報および映像情報の少なくとも一つを含む要約された情報形態に加工することを特徴とする、請求項16に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項21】
前記データ加工モジュールは、
前記検索結果画面上の多数のエンティティ情報のいずれか一つに対するユーザー選択信号の入力の際に、
前記ユーザー選択信号に対応するエンティティに関する情報をエンティティ詳細情報として加工し、前記検索結果画面を、前記主要情報および前記一つ以上のエンティティ情報が出力される要約情報領域と、前記エンティティ詳細情報が出力される詳細情報領域に区分してレイアウト変更することを特徴とする、請求項20に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項22】
前記データ導出モジュールは、
前記判断の結果に基づいて前記マッシュアップ検索言語の各レベルが連関していない場合、
前記知識データベースから前記マッシュアップ検索言語のレベル別のエンティティに対応するデータを検索および導出し、前記導出したマッシュアップ検索言語のレベル別のエンティティに対応するデータを対象として、前記自然言語クエリの意味分析の結果に基づく論理演算を適用して最終結果データを導出することを特徴とする、請求項16に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項23】
前記データ導出モジュールは、
前記最終結果データを前記主要情報として導出し、前記導出したレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することを特徴とする、請求項22に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項24】
前記データ加工モジュールは、
前記検索結果画面を、前記主要情報および主要情報関連情報が出力される主要情報領域と、前記一つ以上のエンティティ情報が出力されるエンティティ領域に区分してレイアウトすることを特徴とする、請求項23に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【請求項25】
前記データ加工モジュールは、
前記主要情報が単一属性の情報である場合、前記主要情報を自然言語ベースの応答形態に加工して提供することを特徴とする、請求項14に記載の単文/複文構造の自然言語クエリに対する検索および情報提供システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語クエリに対する情報抽出および情報提供方法などに係り、具体的には、単文/複文構造の意味タグ付けされた自然言語クエリに対して、ユーザーの意図に合致する検索結果、およびクエリエンティティと連関のある関連情報を効率よく提供する方法およびシステムに関する。
【背景技術】
【0002】
オントロジー(Ontology)は、実世界のオブジェクト間の意味的関係を定義することにより、コンピュータがオブジェクト間の複雑な関係から推論される情報にアクセスするための情報に対する意味的仕様を提供するものであって、人工知能、情報検索、ユビキタス、電子商取引などの様々な分野で応用できる。
【0003】
特に、オントロジーは、ウェブ上の様々な情報を対象間の意味的関係で表現することにより、情報検索分野で既存のキーワードベースの検索では見つけることができなかった論理的クエリ結果を得ることができる。たとえば、オントロジーを利用する場合、“人口が7000万以上で、海に面した国の首都はどこなのか?”のようなクエリに対する結果を得ることができる。
【0004】
このようなオントロジー情報検索は、キーワードベースの検索に比べて3つの側面から有用性を持つ。第一に、キーワードベースの検索の結果は、入力キーワードが含まれている文書のみを検索結果として提供するが、オントロジー情報検索は、ユーザーが探している特定の対象とこれに対する属性情報を直接提供することができる。第二に、キーワードベースの検索は入力キーワード間の関係が反映された検索結果を保障することができないが、オントロジー情報検索は探している対象を特徴付けることが可能な他の対象との関係から情報を見つけることができる。第三に、キーワードベースの検索は既に存在する情報のみを検索することができるが、オントロジー情報検索は対象間の関係から新たな関係を見つけることにより、既存には存在しなかった新しい情報を推論することができる。
【0005】
ところが、このようなオントロジー情報検索は、ユーザーが所望のクエリ対象を直ちに見つけることにより、ユーザーの便宜性の側面で大きく役立つが、一般ユーザーが慣れていないオントロジークエリ言語を使用しなければならないため、一般ユーザーの立場でアクセスが難しいという問題点がある。結局、一般ユーザーが、オントロジーとして構築された情報にアクセスするためには、オントロジーの構造またはオントロジークエリ言語を覚えなければならないので、オントロジーの効用性は劣る。
【0006】
一方、自然言語は、オントロジークエリ言語で表現される論理的意味を表現するのに十分であり、一般ユーザーが慣れている。したがって、自然言語クエリでオントロジー情報にアクセスすることができれば、一般ユーザーのアクセスを容易にしてオントロジー情報検索の効用性を高めることができる。
【0007】
オントロジー情報を自然言語クエリでアクセスするためには、自然言語クエリをオントロジークエリ言語に変換する技術が求められる。そのためには、まず、自然言語処理技術を活用して自然言語クエリに対する構造および意味を分析し、分析された自然言語クエリ情報から自然言語の表現に対応するオントロジーのオブジェクトおよび関係を探し、オントロジークエリ言語の文法構造に合わせて自然言語クエリをオントロジークエリ言語に変換しなければならない。
【0008】
ところが、この方法は、自然言語クエリに対する構造分析および意味分析などの誤りにより、アクセスすることができないオントロジークエリ言語が発生するという問題点がある。さらに具体的に説明すると、一般的な自然言語処理技術が検索対象オントロジーにアクセスすることが可能な自然言語の表現を処理するのに必要なすべての言語資源を備えているという保障がなく、些細な文法的誤りにより誤った分析結果をもたらすおそれがあるので、アクセスすることができないオントロジークエリ言語が発生することがある。
【0009】
結局、既存の検索方法によれば、ユーザーは、誤りが発生するクエリに対して複数回の試行錯誤を経て、システムが処理することが可能なクエリ類型を覚えなければならないが、こうなると、オントロジーベースの情報検索を初めて利用するユーザーは、自然言語処理技術が収容することが可能なクエリの形態およびオントロジーに構築された情報の具体的な内容を知らないため、どんなクエリが有用であるか分からなくなる。
【0010】
また、サービス提供者の立場から、構築されたオントロジー情報をすべて提供することはできない。また、保有している情報の有用性を十分に示すことができない。
【0011】
ところが、ほとんどのユーザーは、サービス提供者が準備したオントロジーに関する情報またはクエリ入力方法を入念に熟知するよりは、キーワードベースの情報検索を行うように直観的に使用することを望んでおり、新しいシステムへの適応に投資する時間および努力に比例してそのシステムに対する活用度または満足度は減ることになる。
【0012】
したがって、情報検索の効用性および正確性を高めるための自然言語理解技術(Natural Language Understanding:NLU)に関する研究が続けられている。自然言語技術は、‘ユーザー問い合わせ’を対象としてユーザーの問い合わせの意図を把握しようとするもので、音声で発話した或いはテキストとして入力した問い合わせが入力され、自然言語技術で問い合わせの意図を把握して抽出したリストが該当問い合わせに対する出力になることを意味する。
【発明の概要】
【発明が解決しようとする課題】
【0013】
意味タグ付けベースの自然言語クエリは、既存のキーワードベースのクエリに比べて複雑なクエリを可能にする一方、クエリに含まれているユーザークエリの意図を正確に把握し、それに合致する検索結果を提供することが難しい。
【0014】
本発明の目的は、上述した問題点を解決するために案出されたもので、意味タグ付けされた単文/複文構造の自然言語クエリを分析し、階層的なツリー構造で上位エンティティから下位エンティティへ段階的にデータを検索することにより、ユーザーの意図に合致する情報を段階的に提供する方法およびシステムを提供することにある。
【0015】
また、本発明の他の目的は、複文構造の自然言語クエリを構成するエンティティに基づいて検索したエンティティ情報を抽出し、ユーザークエリに対する検索結果と共に効率よく提供することができるレイアウト方法を提供することにある。
【0016】
本発明で解決しようとする技術的課題は、上述した技術的課題に限定されず、上述していない別の技術的課題は、以降の記載から、本発明の属する技術分野における通常の知識を有する者に明確に理解できるであろう。
【課題を解決するための手段】
【0017】
上述した課題を解決するための本発明の一様態の一実施例に係る単文/複文構造の自然言語クエリに対する検索および情報提供方法は、自然言語クエリの意味分析を介して、前記自然言語クエリに含まれている1つ以上のクエリエンティティに基づいて、多数のレベルからなるツリー構造のマッシュアップ検索言語を生成することと、前記マッシュアップ検索言語の属性情報に基づいてレベル別のマッシュアップ検索言語を構成するクエリエンティティを介して、前記マッシュアップ検索言語の各レベルがリンキング(linking)されているか否かを判断することと、前記判断の結果に基づいて、知識データベースから前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを検索し、前記検索の結果として導出したデータから前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することと、前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることを含む。
【0018】
本発明の実施例に係る前記マッシュアップ検索言語を生成することは、前記自然言語クエリの意味分析を介して、前記自然言語クエリが単文構造であるか複文構造であるかを判断することと、前記自然言語クエリが複文構造である場合、複文構造のクエリ言語から2つ以上のクエリ句を導出することと、前記導出した2つ以上のクエリ句に基づいて前記ツリー構造のマッシュアップ検索言語を生成することを含むことができる。
【0019】
本発明の実施例に係る前記マッシュアップ検索言語の属性情報に基づいてレベル別のマッシュアップ検索言語を構成するクエリエンティティを介して、前記マッシュアップ検索言語の各レベルがリンキング(linking)されているか否かを判断することは、前記マッシュアップ検索言語の属性およびドメイン情報を分析することと、前記分析の結果に基づいて、前記マッシュアップ検索言語に対応する検索環境情報を選択することと、前記選択した検索環境情報を用いて前記マッシュアップ検索言語を正規化することを含むことができる。また、前記マッシュアップ検索言語の属性情報に基づいてレベル別のマッシュアップ検索言語を構成するクエリエンティティを介して、前記マッシュアップ検索言語の各レベルがリンキング(linking)されているか否かを判断することは、前記正規化されたマッシュアップ検索言語を前記選択した検索環境情報を用いて前記対象検索言語に変換することをさらに含むことができる。
【0020】
本発明の一実施例に係る前記判断の結果に基づいて、知識データベースから前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを検索し、前記検索の結果として導出したデータから前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することは、前記判断の結果に基づいて前記マッシュアップ検索言語の各レベルがリンキング(linking)されている場合、前記知識データベースから前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータを検索および導出することと、前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータに基づいて、前記知識データベースから連続する下位レベルのエンティティに対応するデータを検索および導出することとを含み、前記判断の結果に基づいて、知識データベースから前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを検索し、前記検索の結果として導出したデータから前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することは、前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを検索および導出するまで順次繰り返し行われ得る。
【0021】
このとき、本発明の実施例に係る前記判断の結果に基づいて、知識データベースから前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを検索し、前記検索の結果として導出したデータから前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することは、前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを前記主要情報として導出し、残りの導出されたレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することをさらに含むことができる。そして、本発明の実施例に係る前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、前記検索結果画面の上段部に前記マッシュアップ検索言語の最上位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最上位レベルのエンティティ情報の下段部に連続する下位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最下位レベルのエンティティ情報を前記主要情報として出力する方式を利用することができる。
【0022】
一方、本発明の実施例に係る前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、前記主要情報および前記一つ以上のエンティティ情報を、一つ以上の属性情報、イメージ情報および映像情報の少なくとも一つを含む要約された情報形態に加工することを含むことができる。
【0023】
さらに、本発明の実施例に係る前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、前記検索結果画面上の多数のエンティティ情報のいずれか一つに対するユーザー選択信号の入力の際に、前記ユーザー選択信号に対応するエンティティに関する情報をエンティティ詳細情報に加工することと、前記検索結果画面を、前記主要情報および前記一つ以上のエンティティ情報が出力される要約情報領域と、前記エンティティ詳細情報が出力される詳細情報領域に区分してレイアウト変更することをさらに含むことができる。
【0024】
本発明の他の実施例に係る前記判断の結果に基づいて、知識データベースから前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを検索し、前記検索の結果として導出したデータから前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することは、前記判断の結果に基づいて前記マッシュアップ検索言語の各レベルがリンキングされていない場合、前記知識データベースから前記マッシュアップ検索言語のレベル別のエンティティに対応するデータを検索および導出することと、前記導出したマッシュアップ検索言語のレベル別のエンティティに対応するデータを対象として、前記自然言語クエリの意味分析の結果に基づく論理演算を適用して最終結果データを導出することとをさらに含むことができる。
【0025】
このとき、本発明の実施例に係る前記判断の結果に基づいて、知識データベースから前記マッシュアップ検索言語の各レベル別のクエリエンティティに対応するデータを検索し、前記検索の結果として導出したデータから前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を導出することは、前記最終結果データを前記主要情報として導出し、前記導出したレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することをさらに含むことができる。
【0026】
そして、本発明の実施例に係る前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、前記検索結果画面を、前記主要情報および主要情報関連情報が出力される主要情報領域と、前記一つ以上のエンティティ情報が出力されるエンティティ領域に区分してレイアウトすることができる。
【0027】
一方、本発明の実施例に係る前記主要情報および前記一つ以上のエンティティ情報を含む検索結果画面をレイアウトすることは、前記主要情報が単一属性の情報である場合、前記主要情報を自然言語ベースの応答形態に加工して提供することをさらに含むことができる。
【0028】
上述した課題を解決するための本発明の他の態様の一実施例に係る自然言語クエリベースの検索システムは、ユーザーデバイスから入力された自然言語クエリの意味分析を介して、前記自然言語クエリに含まれている1つ以上のクエリエンティティに基づいて、多数のレベルからなるツリー構造のマッシュアップ検索言語に変換する自然言語処理エンジンと、前記マッシュアップ検索言語の属性情報に基づいて、前記マッシュアップ検索言語の各レベルがリンキング(linking)されているか否かを判断し、レベル別のマッシュアップ検索言語を構成するクエリエンティティに対応するデータを検索する検索エンジンを含んでなり、前記検索エンジンは、前記レベル別のマッシュアップ検索言語を構成するクエリエンティティに対応するデータから、前記自然言語クエリに対応する主要情報および1つ以上のエンティティ情報を加工して、同じ検索結果画面上にレイアウトすることができる。
【0029】
本発明の実施例に係る前記自然言語処理エンジンは、前記自然言語クエリの意味分析を介して、前記自然言語クエリが単文構造であるか複文構造であるかを判断し、前記自然言語クエリが複文構造である場合、複文構造のクエリ言語から二つ以上のクエリ句を導出する意味分析モジュールと、前記導出した二つ以上のクエリ句に基づいて前記ツリー構造のマッシュアップ検索言語を生成するマッシュアップ検索言語変換モジュールとを含むことができる。
【0030】
本発明の実施例に係る前記検索エンジンは、前記マッシュアップ検索言語の属性情報を分析して、前記マッシュアップ検索言語に対応する検索環境情報を選択し、前記選択した検索環境情報を用いて前記マッシュアップ検索言語を正規化するマッシュアップ検索言語正規化モジュールと、前記検索環境情報に基づいて前記正規化されたマッシュアップ検索言語を前記対象検索言語に変換する対象検索言語変換モジュールと、前記検索環境情報に基づいて前記知識データベースから前記対象検索言語に対する物理的データを検索および導出して結果データを生成するデータ導出モジュールと、前記検索環境情報に基づいて前記データ導出モジュールで生成した結果データを加工し、前記加工されたデータを含む検索結果画面を生成するデータ加工モジュールとを含むことができる。
【0031】
このとき、本発明の一実施例に係る前記データ導出モジュールは、前記マッシュアップ検索言語正規化モジュールでの属性分析結果に基づいてマッシュアップ検索言語の各レベルがリンキング(linking)されている場合、前記知識データベースから前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータを導出し、前記マッシュアップ検索言語の最上位レベルのエンティティに対応するデータに基づいて前記知識データベースから連続する下位レベルのエンティティに対応するデータを導出し、前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを導出するまで順次データ導出を行うことができる。
【0032】
また、前記データ導出モジュールは、前記マッシュアップ検索言語の最下位レベルのエンティティに対応するデータを前記主要情報として導出し、残りの導出されたレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することをさらに含むことができる。
【0033】
そして、本発明の実施例に係る前記データ加工モジュールは、前記検索結果画面の上段部に前記マッシュアップ検索言語の最上位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最上位レベルのエンティティ情報の下段部に連続する下位レベルのエンティティ情報を出力し、前記マッシュアップ検索言語の最下位レベルのエンティティ情報を前記主要情報として出力する方式を利用することができる。
【0034】
好ましくは、前記データ加工モジュールは、前記主要情報および前記一つ以上のエンティティ情報を、一つ以上の属性情報、イメージ情報および映像情報の少なくとも一つを含む要約された情報形態に加工することができる。
【0035】
本発明の実施例に係る前記データ加工モジュールは、前記検索結果画面上の多数のエンティティ情報のいずれか一つに対するユーザー選択信号の入力の際に、前記ユーザー選択信号に対応するエンティティに関する情報をエンティティ詳細情報として加工し、前記検索結果画面を、前記主要情報および前記一つ以上のエンティティ情報が出力される要約情報領域と、前記エンティティ詳細情報が出力される詳細情報領域に区分してレイアウト変更することができる。
【0036】
本発明の他の実施例に係る前記データ導出モジュールは、前記判断の結果に基づいて前記マッシュアップ検索言語の各レベルがリンキングされていない場合、前記知識データベースから前記マッシュアップ検索言語のレベル別のエンティティに対応するデータを検索および導出し、前記導出したマッシュアップ検索言語のレベル別のエンティティに対応するデータを対象として、前記自然言語クエリの意味分析の結果に基づく論理演算を適用して最終結果データを導出することができる。
【0037】
このとき、本発明の実施例に係る前記データ導出モジュールは、前記最終結果データを前記主要情報として導出し、前記導出したレベル別のエンティティに対応するデータを一つ以上のエンティティ情報として導出することができる。
【0038】
そして、本発明の実施例に係る前記データ加工モジュールは、前記検索結果画面を前記主要情報および主要情報関連情報が出力される主要情報領域と、前記一つ以上のエンティティ情報が出力されるエンティティ領域に区分してレイアウトすることができる。
【0039】
一方、本発明の実施例に係る前記データ加工モジュールは、前記主要情報が単一属性の情報である場合、前記主要情報を自然言語ベースの応答形態に加工して提供することができる。
【0040】
前記実施形態は本発明の好適な実施例の一部に過ぎず、本発明の技術的特徴が反映された様々な実施例は当該技術分野における通常の知識を有する者によって本発明の詳細な説明に基づいて導出および理解できる。
【発明の効果】
【0041】
本発明の実施例によれば、意味タグ付けされた複文構造の自然言語クエリを分析し、階層的ツリー構造で上位エンティティから下位エンティティへ段階的にデータを検索することにより、ユーザーの意図に合致する情報の正確度を向上させることができる。
【0042】
また、本発明の実施例によれば、複文構造の自然言語クエリに含まれている1つ以上のエンティティと連関のあるエンティティ情報を抽出してユーザークエリに対する検索結果と一緒に提供することにより、情報提供の多様性、ユーザーの便宜性および検索サービスの効率性を向上させることができる。
【図面の簡単な説明】
【0043】
本発明に関する理解を助けるために詳細な説明の一部として含まれる添付図面は、本発明の実施例を提供し、詳細な説明と共に本発明の技術的思想を説明する。
【
図1】本発明の実施例に係る自然言語クエリベースの検索システムの一例を示す図である。
【
図2】本発明の実施例によって自然言語クエリから変換したツリー構造のマッシュアップ検索言語の一例を示す図である。
【
図3】本発明の実施例に係る検索エンジンが自然言語処理エンジンから受信したメッセージアップ検索言語に基づいて情報を提供するまでの過程の一例を示す図である。
【
図4】本発明の実施例に係る検索エンジンでツリー構造のマッシュアップ検索言語の属性に基づいてデータを検索し、主要情報およびエンティティ情報を導出する過程の一例を示す図である。
【
図5】本発明の実施例に係る検索エンジンが導出した情報をレイアウトする方式の一例を示す図である。
【
図6】本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の一例を示す図である。
【
図7】本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の他の例を示す図である。
【
図8】本発明の実施例に係る検索エンジンが導出した情報をレイアウトする方式の他の例を示す図である。
【
図9】本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の別の例を示す図である。
【
図10】本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の別の例を示す図である。
【発明を実施するための形態】
【0044】
本発明は、様々な変形を加えることができ、様々な実施例を有することができるが、特定の実施例を図面に例示し、本発明の詳細な説明で説明する。本発明を説明するにあたり、関連した公知の技術に対する具体的な説明が本発明の要旨を曖昧にするおそれがあると判断される場合、その詳細な説明を省略する。
【0045】
以下、本発明に係る好適な実施形態を添付図面に基づいて詳細に説明する。添付図面と共に以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするもので、本発明が実施され得る唯一の実施形態を示そうとするものではない。以下の詳細な説明は、本発明の完全な理解を提供するための具体的な詳細説明を含む。ところが、当業者は、本発明がこのような具体的詳細説明なしにも実施され得ることを理解するであろう。
【0046】
本発明は、自然言語クエリに対する情報抽出および情報提供方法などに関し、具体的には、意味タグ付けされた自然言語クエリに対して、ユーザーの意図に合致する検索結果およびクエリ対象と関連のある関連情報を効率よく提供する方法およびシステムに関する。
【0047】
図1は本発明の実施例に係る自然言語クエリベースの検索システムの一例を示す図である。
【0048】
図1を参照すると、本発明の実施例に係る検索システム100は、ユーザーデバイス110を介して入力されたユーザークエリ言語を分析するための自然言語理解技術(Natural Language Understanding:NLU)ベースの自然言語処理エンジン120、検索エンジン130および知識データベース140から構成される。
【0049】
自然言語処理エンジン120は、ユーザーデバイス110を介して入力された意味タグ付け自然言語ベースの複雑なクエリ言語を分析し、意味分析を介してマッシュアップ検索言語(mashup Query Language:MQL)に変換し、検索エンジン130は、自然言語処理エンジン120で生成されたMQLに基づいて、既に構築された知識データベースからクエリ要請された情報を導出してユーザーデバイス110へ提供する。
【0050】
好ましくは、検索エンジン130は、MQLを介して最終的に導出することが可能なユーザークエリに符合する検索結果、およびクエリエンティティに対応するエンティティ情報を導出して提供することができる。本明細書において、クエリエンティティとは、知識データベースを介して検索結果を導出することが可能な“検索対象”を意味するもので、1つのユーザークエリには1つ以上のクエリエンティティが含まれ得る。
【0051】
以下、本発明の実施例に係る検索システムの各構成について簡略的に説明する。
【0052】
自然言語処理エンジン120は、ユーザークエリの意味分析を行う意味分析モジュール121、および意味分析結果に基づいて自然言語ベースのユーザークエリ言語を推論可能なMQLに変換するMQL変換モジュール122を含む。
【0053】
意味分析モジュール121は、ユーザークエリ言語が単文構造であるか複文構造であるかを分析し、クエリ言語を構成する多数の形態素間の関係分析を介してユーザークエリの意図、およびクエリ言語に含まれている詳細クエリ句を導出する。
【0054】
たとえば、“A歌手グループのメンバーが出演した映画は?”とは、ユーザークエリに対する分析の結果、“A歌手グループ”と“メンバー”との連関性、“メンバー”と“出演映画”との連関性、および“映画”と“情報”との連関性を導出することができる。これに基づいて、該当クエリから、“A歌手グループのメンバー”、“各メンバーが出演した映画”および“該当映画の基本情報”のように上位概念から下位概念へと階層的構造をなす階層型クエリ句を構成することができる。
【0055】
別の例として、“女優Bと年齢の同じ女優は?”とは、ユーザークエリに対する意味分析の結果、“女優Bの年齢(N)は?”や“年齢Nの女優は?”などの同一レベルのクエリ句を導出することができる。
【0056】
MQL変換モジュール122は、意味分析モジュール121で行った分析の結果に基づいて、ユーザークエリに含まれている1つ以上のクエリ句を推論することができるように、ツリー構造のMQLを生成する。すなわち、MQL変換モジュール122は、自然言語ベースのユーザークエリ言語を検索用言語のMQLに変換するモジュールである。
【0057】
本明細書において、MQLとは、クエリ言語を分析し、サービス端の属性を指定する検索言語であって、自然言語で表現されたユーザークエリに意味タグ付けして知識データベースに問い合わせるために考案された言語と定義することができる。MQLは、外部的には論理的属性を用い、内部的には知識データベースの物理的属性を用いて検索結果を生成する二重構造からなる。
【0058】
すなわち、MQLは、知識データベースの物理的構造に従わず、独自の論理的構造を構築して、設定を介して論理的構造と物理的構造との関係を定義してクエリ類型別、サービス類型別に適切なデータの提供ができるようにするための言語である。たとえば、ユーザークエリ言語に“何歳ですか”という句が含まれる場合、これを基に変換されたMQLは“年齢”という属性を指定することができる。
【0059】
MQL変換モジュール122で生成するツリー構造のMQLは、
図2に例示されているとおりである。これについては
図2を参照して後述する。
【0060】
次に、検索エンジン130は、自然言語処理エンジン120で生成された自然言語クエリベースのツリー構造MQLに基づいて知識データベース140からの情報検索を行う。具体的には、ツリー構造のMQLを介して最終的に導出することが可能なユーザークエリに符合する主要情報、および各クエリ句またはクエリエンティティに対応するエンティティ情報を導出して提供することができる。
【0061】
本明細書において、“主要情報”とは、ユーザークエリが要請する事項に対する検索結果であって、複文構造のクエリに対してレベルごとに導出した一つ以上の物理的データに基づいて、クエリの意図に応じて論理的に演算して導出した情報として定義することができる。また、“エンティティ情報”とは、ユーザークエリを構成するエンティティまたはレベル別に導出したデータとして定義することができる。すなわち、エンティティ情報は、最終的に主要情報を導出するために、中間段階で用いた情報であるか、或いは主要情報の導出に用いた物理的データに連関付けられている情報である。
【0062】
下記表1は、本発明に係るユーザークエリに対する検索結果として提供される主要情報およびエンティティ情報の一例を示すものである。
【0063】
【表1】
このような主要情報およびエンティティ情報の提供のために、検索エンジン130は、自然言語処理エンジン120から伝送されるMQLの属性を分析して正規化するMQL正規化モジュール131と、正規化されたMQLを知識データベース検索のための対象検索言語(Object Query Language:OQL)に変換するOQL変換モジュール132と、知識データベース140に基づいて、OQLに対応するデータを検索し導出するためのデータ導出モジュール133と、導出した検索データを、複文構造のユーザークエリに符合するように加工して検索結果画面をレイアウトするデータ加工モジュール134を含む
【0064】
本明細書において、OQLとは、知識データベースの検索に最適化された言語と定義することができる。OQLは、知識データベースが使用する物理的構造を用いる。たとえば、前述した実施例において、ユーザークエリ言語である“何歳ですか”から変換された属性言語MQL“年齢”に対して、“現在年度の値と出生年度の値を用いて年齢を計算するための検索言語”で表現されるOQLに変換することができる。
【0065】
知識データベース140は、MQL属性に基づいて選択することができる様々な検索環境情報(MQL_config)を格納するMQL config DB141と、MQLからOQLへの変換に必要な属性情報および規則情報を格納するOQL DB142と、知識情報DB143と、データ加工規則DB144とを含む。
【0066】
検索エンジン130の各構成について考察すると、MQL正規化モジュール131は、ツリー構造のMQL属性の分析を介して、MQL config DB141から、クエリの意図に合致するMQL configを導出し、これを適用して、自然言語処理エンジン120から受信したMQLを正規化されたMQL(MQL_normalization)に変換する。
【0067】
本明細書において、MQL_configとは、検索モード(mode)、検索ドメイン(domain)および検索プロパティ(property)などを考慮して、クエリの意図に合致する検索条件、検索条件および検索データ加工方式の少なくとも一つを定義する検索環境情報として定義することができる。このとき、検索モードは、ユーザークエリの類型を意味するもので、正解型、比較型、関係型、グラフ型などを例として挙げることができ、検索ドメインは、クエリ対象または属性が属した意味上の範疇を意味するもので、“人物、映画、放送、出版物、ウェブトゥーン(Webtoon)、美術作品、植物、動物、文化財、ワイン、ゲーム”などを例として挙げることができ、検索プロパティは、クエリ対象間の関係または対象を叙述する単位を意味する。
【0068】
したがって、MQL正規化モジュール131は、ツリー構造のMQLに対して検索モード、検索ドメインおよび検索プロパティの少なくとも一つに関連する属性分析を介して、MQL config DB141からクエリの意図に合致するMQL configを選択し、これに基づいてMQL_normalizationに変換することができる。
【0069】
このとき、MQL正規化モジュール131は、MQL configに応じて、ユーザークエリの意図に近づけるための追加データ導出のための手がかり情報を含ませてMQL_normalizationを構成することができる。
【0070】
OQL変換モジュール132は、MQL正規化モジュール131で変換されたMQL_normalizationに対してOQL DB142に基づいてOQLに変換する。このとき、OQL変換モジュール132は、MQL_configを基にMQLの論理的ドメインおよび属性に基づいて知識情報DB143の物理的属性値として所望のデータを導出することが可能なOQLに変換することができる。
【0071】
データ導出モジュール133は、OQL変換モジュール132で変換されたOQLを基に知識情報DB143を検索して物理的データを導出し、物理的データを用いてMQL configによる主要情報およびエンティティ情報を導出する。主要情報は、OQLベースの物理的構造結果を論理的構造に変換し、論理的構造による最終的に導出された結果データとみなすことができ、エンティティ情報は、ツリー構造の階層的MQLから段階ごとに導出された物理的データであるか、或いはクエリエンティティと連関のある物理的データとみなすことができる。
【0072】
データ加工モジュール134は、データ導出モジュール133で導出した主要情報およびエンティティ情報をMQL configに応じて加工し、これを含む検索結果画面をレイアウトする。このとき、MQL config DB141と連動するデータ加工規則DB144から、MQL configに符合するデータ加工規則をもたらし、これに基づいてデータを加工することができる。たとえば、MQL config_domainに基づいて定義された基本露出属性、イメージ提供方式、データ整列方式、リンク生成方式などに基づいてデータ加工および検索結果画面をレイアウトすることができる。
【0073】
また、データ加工モジュール134は、同じ主要情報およびエンティティ情報であっても、検索結果画面上に出力されるレイアウト方式を様々に設定することができる。
【0074】
たとえば、ユーザークエリの類型に応じて、主要情報またはエンティティ情報は、単一のオブジェクトに関する情報、或いは同じレベルの2つ以上のオブジェクトに関する情報である。データ加工モジュール134は、主要情報またはエンティティ情報の検索結果に基づいて、シングル型レイアウトまたは多数の検索結果が並べられるリスト型レイアウトを構成することができ、単一検索結果が“数字”または“名称”などの短答型の情報である場合、主要情報は、該当検索情報を含む一種の文章形態に加工することができる。
【0075】
さらに、データ加工モジュール134は、ユーザーが主要情報またはエンティティ情報に対する詳細情報を要請する場合、検索結果画面上に主要情報およびエンティティ情報の要約情報を提供するとともに、ユーザーが選択した特定のエンティティ情報に対する詳細情報を露出させるように検索結果画面を加工することができる。
【0076】
図2は本発明の実施例によって自然言語クエリから変換したツリー構造のMQLの一例を示す図である。
【0077】
図2を参照すると、ユーザークエリ言語は“少女時代のメンバーが出演した映画は?”であり、自然言語処理エンジンはクエリ言語を意味分析して“少女時代(歌手グループ名)、メンバー(属性)、映画(属性)”のようなエンティティを抽出し、各エンティティ間の連関性を分析して“少女時代のメンバー>メンバーが出演した映画>映画情報”のような上位概念から下位概念へのクエリ句を構成し、これに基づいて、
図2に示したような階層的ツリー構造のMQL200で表すことができる。例示されたツリー構造において、1レベル210は、“少女時代のメンバー”をMQL変換したもので、“object/name”:“少女時代”211とそれに対する属性情報としての“person/member”212に変換することができる。2レベル220は、“メンバーが出演した映画”をMQL変換したもので、“person/member”212に対する属性情報としての“person/movie_performed”221および“movie/person(member)”222に変換することができる。3レベル230は、“movie/person(member)”222に対する属性情報であって、該当映画に対する詳細情報を意味する“movie_member performed”231のように構成することができる。
【0078】
図2に例示されているツリー構造MQLは、自然言語処理エンジンで生成されたもので、検索エンジンは、このようなツリー構造MQLを用いてユーザークエリに対する主要情報およびエンティティ情報を導出する。
【0079】
図3は本発明の実施例に係る検索エンジンが自然言語処理エンジンから受信したMQLに基づいて情報を提供するまでの過程の一例を示す図である。
【0080】
図3を参照すると、本発明の実施例に係る検索エンジンは、自然言語処理エンジンから伝送されるMQLに対して、MQLに含まれているツリー構造およびMQLドメインを分析する(S301)。
【0081】
分析結果に基づいて、検索エンジンは、MQL config DBからユーザークエリの意図に合致するMQL configを導出し、これに基づいて、自然言語処理エンジンから受信したMQLをMQL_normalizationに正規化する作業を行う(S302)。
【0082】
MQL configは、表1を参照して上述したように、クエリ言語の属性に基づいてクエリモード、クエリドメイン、クエリプロパティなどの特性に応じて定義される検索環境情報であって、ユーザークエリの意図に応じて適用されるMQL configは変わりうる。このとき、該当MQLに適用するMQL config特性に応じて、ユーザークエリの意図に最適化された主要情報およびクエリエンティティ別のエンティティ情報属性が変わり、情報提供方式も様々に変動できる。
【0083】
ひいては、MQL正規化過程で主要情報およびエンティティ情報を提供するための追加データ検索事項をさらに含ませてMQL_normalizationを構成することができる。たとえば、特定の人物に対する情報(例えば、出演映画)がクエリ属性である場合、該当映画についての情報、およびその映画に出演した他の人物についての情報もクエリエンティティにリンキングされているエンティティ情報として一緒に提供することができるように、追加のデータ検索事項を設定してMQL_normalizationを構成することができる。
【0084】
MQL正規化が行われると、検索エンジンは、前の段階(S302)で適用したMQLconfigに応じてMQL_normalizationを知識データベースに問い合わせるための検索言語OQLに変換する(S303)。
【0085】
そして、変換されたOQLを用いて知識データベースを検索し、対応する物理的データであるOQLデータを導出するが、データ導出過程でもMQL config_modeに応じてクエリの類型による属性別検索値の最大個数、検索用属性使用個数、結果用属性使用個数などを異にすることができる(S304)。
【0086】
次に、前の段階(S304)で導出したOQLデータを、MQL configに応じて、既に設定されたデータ加工方式でMQL結果データに変換する(S305)。
【0087】
MQL結果データが導出されることにより、検索エンジンは、MQL configに符合するデータ加工規則を適用してユーザーの意図を反映した検索結果提供方式で検索結果画面をレイアウトしてユーザーに提供する(S306)。
【0088】
一実施例として、クエリの類型が単一検索結果を要請する場合、主要情報は、検索に基づいて導出された単一検索結果に加工できる。例えば、検索クエリが“C映画の観客数”である場合、検索結果として提供される主要情報は、S305で導出される“C映画の観客数=N”というデータから、“C映画の観客数はN名です。”のように文章形態の単一検索結果に加工され、これを含むシングル型レイアウトを構成することができる。
【0089】
他の実施例として、クエリの類型が2つ以上の検索結果を要請する場合、主要情報は、2つ以上の検索結果を含む複数の検索結果を並べる形態に加工できる。例えば、検索クエリが“D小説家の本”である場合、検索結果として提供される主要情報は、S305で導出した“D小説家が著者である一つ以上の本”というデータからそれぞれの本に関する情報を加工し、加工された1つ以上の主要情報がリスト形態で並べられるリスト型レイアウトを構成することができる。
【0090】
図4は本発明の実施例に係る検索エンジンでツリー構造のMQL属性に基づいてデータを検索し、主要情報およびエンティティ情報を導出する過程の一例を示す図である。
【0091】
本発明の実施例に係る検索エンジンは、ツリー構造MQLの属性を分析してMQLのレベル構造でそれぞれのレベルがクエリエンティティによってリンキングされているか否かを判断する(S401)。ツリー構造MQLは、上述したように複文構造のユーザークエリに対する意味分析を介して、一つのクエリに含まれている多数のクエリ句を導出し、各クエリ句を一つのレベルに設定してMQLに変換した形態である。
【0092】
判断の結果、ツリー構造MQLの各レベルがエンティティによってリンキング(linking)されている場合、上位エンティティから下位エンティティへのデータ検索を行う(S402、S403)。
【0093】
たとえば、“A歌手グループのメンバーが出演した映画は?”とは、ユーザークエリに対する分析の結果、“A歌手グループのメンバー”、“各メンバーが出演した映画”および“該当映画の基本情報”などの3つのクエリ句を導出することができる。そして、それぞれのクエリ句は“A歌手グループ”、A歌手グループの“メンバー”、A歌手グループのメンバーが出演した“映画”というエンティティを含み、それぞれのエンティティは上位エンティティから下位エンティティにリンキングされ得る。
【0094】
これに対し、段階S401での判断の結果、ツリー構造MQLの各レベルがエンティティによってリンキングされていない場合、論理演算に基づいて各レベルに対するデータ検索を行う(S402、S404)。
【0095】
たとえば、“女優Bと年齢の同じ女優は?”とは、ユーザークエリに対する意味分析の結果、“女優Bの年齢(N)は?”や“年齢Nの女優は?”などのクエリ句を導出することができる。このとき、“女優B”に該当するエンティティに対して、“年齢(N)”は、別途のエンティティではなく“女優B”というエンティティに対する属性値なので、“女優Bの年齢(N)”と“年齢Nの女優”はリンキングされている上位−下位レベルと見なすことができない。このような場合、論理演算に基づいて、“女優Bの年齢(N)”に対応するデータを導出し、“年齢N”を属性値として持つ“人物”情報を逆に検索し、検索された“人物”データの中から、“職業−俳優”および“性別−女性”属性を満足するデータを選別する方式でデータ検索を行う。
【0096】
検索エンジンは、上述した検索過程(S402〜S404)を介して最終的に導出された検索データを主要情報として導出し、データ検索過程でクエリエンティティに対応して導出された検索データをエンティティ情報として導出することができる(S405)。
【0097】
たとえば、“A歌手グループのメンバーが出演した映画は?”とは、ユーザークエリに対して、主要情報は各メンバーが出演した映画情報となり、エンティティ情報はA歌手グループに関する情報、各メンバーに関する人物情報などとなることができる。別の例として、“女優Bと年齢の同じ女優は?”とは、ユーザークエリに対して、主要情報は年齢Nの女優たちの情報となり、エンティティ情報は女優Bに対する情報、年齢Nの女優それぞれに対する人物情報となることができる。
【0098】
図5は本発明の実施例に係る検索エンジンが導出した情報をレイアウトする方式の一例を示す図であり、具体的には、単文構造のクエリに対する検索結果を提供する場合を示す。
【0099】
図5を参照すると、検索エンジンは、ユーザークエリに対する検索結果として導出した主要情報511およびエンティティ情報521を同時に提供する。このとき、主要情報511およびエンティティ情報521が露出する領域を主要情報領域510およびエンティティ領域520に区分し、主要情報領域510内の主要情報511および主要情報関連情報512が露出し、エンティティ領域520内のエンティティ情報521およびエンティティ関連情報522が露出するようにレイアウトすることができる。
【0100】
また、主要情報511が露出する形態は、ユーザークエリによる検索の結果、主要情報が単一のオブジェクトに対する情報である場合にはシングル型にレイアウトし、主要情報が2つ以上のオブジェクトに対する情報である場合にはリスト型にレイアウトすることができる。ひいては、エンティティ情報も2つ以上のオブジェクトに関する情報である場合、リスト型に構成することができる。
【0101】
主要情報511、主要情報関連情報512、エンティティ情報521およびエンティティ関連情報522は、それぞれ要約された情報であって、ユーザーの選択に応じて主要情報511、主要情報関連情報512、エンティティ情報521およびエンティティ関連情報522のそれぞれに対する詳細情報が別途さらに提供されるように構成することができる。
【0102】
図6は本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の一例を示す図であり、具体的には、単文構造のクエリに対するシングル型検索結果画面の一例を示す。
【0103】
図6を参照すると、検索結果画面600は、ユーザークエリ601に対する最終検索結果が露出する主要情報領域610、およびクエリエンティティ関連情報が提供されるエンティティ領域620に区分できる。例えば、
図6に例示されているように、検索結果画面600の左側は主要情報領域610から構成し、検索結果画面600の右側はエンティティ領域620から構成することができる。
【0104】
主要情報領域610には、ユーザークエリを介して最終的に導出した主要情報611、およびユーザークエリをキーワードで検索して導出した関連情報612が露出し、エンティティ領域620には、エンティティ情報621およびエンティティと連関関係にある関連情報622が露出する。
【0105】
このとき、ユーザークエリの類型が“数字”のように単一検索結果でありながら、テキスト形式の検索結果を要請する場合、検索エンジンは、MQL configに応じて導出したデータを含む文章形態に主要情報を加工することができる。
【0106】
図7は本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の他の例を示す図であり、具体的には、単文構造のクエリに対するリスト型検索結果画面の一例を示す。
【0107】
図7を参照すると、同様に、検索結果画面700を、ユーザークエリ701に対する最終検索結果が露出する主要情報領域710、およびクエリエンティティ関連情報が提供されるエンティティ領域720に区分し、一例として、
図7に例示されているように、検索結果画面700の左側は主要情報領域710から構成し、検索結果画面700の右側はエンティティ領域720から構成することができる。
【0108】
このとき、ユーザークエリに対する検索の結果、主要情報として導出される情報が2つ以上のオブジェクトに対するデータである場合、主要情報領域710には、ユーザークエリを介して最終的に導出した2つ以上の主要情報711、712をリスト形態で露出させるように構成することができる。それぞれの主要情報711、712は、該当オブジェクトに対する詳細情報を要約した形態で露出させることができる。
【0109】
同様に、主要情報領域710には、
図7に示されてはいないが、主要情報と連関のある関連情報をさらに露出させることができる。
【0110】
エンティティ領域720には、ユーザークエリに含まれているエンティティに基づいて検索したエンティティ情報721、およびエンティティと連関のある関連情報722が露出する。
【0111】
図5〜
図7を参照して上述した本発明の一実施例に係る検索結果レイアウト方式は、単文構造のユーザークエリの属性に基づいて最終的に導出された主要情報と一緒にエンティティ情報を同じ検索画面を介して提供することにより、ユーザーの便宜性を図ることができる。
【0112】
図8は本発明の実施例に係る検索エンジンが導出した情報をレイアウトする方式の他の例を示す図であり、具体的には、複文構造のクエリに対する検索結果を提供する場合を示す。
【0113】
検索エンジンは、複文構造のユーザークエリから生成されたツリー構造MQLの属性に基づいてユーザークエリに対する検索結果として導出した主要情報およびエンティティ情報を階層型構造で提供する。
【0114】
図8の(a)を参照すると、ツリー構造MQLが、クエリを構成する多数のエンティティが互いにリンキングされる多数のレベルからなる階層型構造である場合、上位エンティティから下位エンティティへリンクに応じて導出したデータの露出位置を階層的にレイアウトすることができる。すなわち、
図8の(a)に例示されているように、第1レベルのエンティティ(上位エンティティ)に対応する情報801を最上位段に出力し、第1レベルエンティティ(上位エンティティ)に対応する情報801の下段には第2レベルエンティティ(中間エンティティ)に対応する情報802を出力し、第2レベルエンティティ(中間エンティティ)に対応する情報802の下段には第nレベルエンティティに対応する情報803を出力する方式によって階層的構造でレイアウトすることにより、複文構造のクエリ言語を解析する過程によって検出されるデータを階層的に提供することができる。このとき、各レベルのリンクに応じて最終的に導出される第nレベルエンティティ情報803が主要情報803となり、その他の情報801、802はエンティティ情報となる。
【0115】
また、同様に、ユーザークエリが単一のオブジェクトに対する情報要請である場合、主要情報はシングル型にレイアウトし、ユーザークエリが2つ以上のオブジェクトに対する情報要請である場合、主要情報をリスト型にレイアウトすることができる。さらに、エンティティ情報も2つ以上である場合には、エンティティ情報を提供する方式もリスト型に構成することができる。
【0116】
一方、主要情報803およびエンティティ情報801、802は、関連した詳細情報が要約された形態で提供されるので、ユーザーの選択に応じて、それぞれのエンティティに対応する詳細情報がさらに提供できる。
【0117】
図8の(b)を参照すると、
図8の(a)と同じ検索結果画面で、ユーザーが、出力されたエンティティ情報801〜803のいずれか一つを選択する場合、検索エンジンは、選択されたエンティティに対応する詳細情報804を検索結果画面の一定領域に出力するように検索画面レイアウトを変更することができる。すなわち、検索結果画面を、階層型エンティティ要約情報が提供される要約情報領域810、およびユーザーの選択による特定のエンティティの詳細情報が提供される詳細情報領域820に区分して再加工することができる。
【0118】
図9は本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の別の例を示す図であり、具体的には、複文構造のクエリに対するリスト型検索結果画面の一例を示す。
【0119】
図9を参照すると、検索結果画面900は、複文構造のユーザークエリ901から導出した多数のレベルのリンキングされたエンティティに関する情報を提供するが、上位エンティティ情報902から下位エンティティ情報903を階層的に出力する。このとき、階層型構造上で最下位レベルに該当するエンティティ情報903が、ユーザークエリで要請する最終検索結果であって主要情報903に該当する。
【0120】
図9に例示されているエンティティ情報902および主要情報903は、検索結果と2つ以上のオブジェクトに関する情報を含んでいるので、それぞれリスト型にレイアウトされた。
【0121】
図10は本発明の実施例に係る検索システムでユーザークエリに対する検索結果画面の別の例を示す図である。
【0122】
具体的には、
図10は、複文構造のクエリに対するリスト型検索結果画面の別の例を示すもので、
図9に例示されている検索結果画面におけるユーザーの選択によるエンティティ詳細情報が含まれている検索結果画面の一例を示す。
【0123】
図10を参照すると、検索結果画面1000は、
図9と同じユーザークエリ1001に対してエンティティの詳細説明の要請に応えてエンティティ要約情報が提供される要約情報領域1010、およびエンティティ詳細情報が提供される詳細情報領域1020に区分できる。要約情報領域1010は、
図9で上述したように、検索過程で導出される上位エンティティ情報1011から下位エンティティ情報1012へ段階的に各レベルのエンティティが提供される階層構造を用いる。
【0124】
詳細情報領域1020は、多数のレベルの多数のエンティティ情報のうち、ユーザーが選択した特定のエンティティに対する詳細情報1021が露出する。特定のエンティティに対する詳細情報1021は、MQL configに応じてエンティティ属性、ドメインおよびプロパティの少なくとも一つに基づいて導出された情報でありうる。
【0125】
したがって、
図9および
図10を参照すると、検索エンジンでユーザーが入力したユーザークエリに基づいて階層構造のエンティティ情報をベースにした主要情報およびレベル別のエンティティ情報を段階的にレイアウトして検索結果画面を提供し、ユーザーが、検索結果画面に露出した特定のエンティティに対する詳細情報を要請する場合には、検索結果画面上に情報が出力される空間を再配置し、要約情報および詳細情報が同時に提供できるように検索結果画面のレイアウトを変更することができる。
【0126】
このように、
図8〜
図10を参照して上述した本発明の他の実施例に係る検索結果レイアウト方式は、複文構造のユーザークエリの属性に基づいてエンティティ別の要約情報がエンティティレベルに応じて段階的に出力され、ユーザーがエンティティ詳細情報を要請する場合、階層構造のエンティティ要約情報および特定のエンティティ詳細情報を同一の検索画面を介して提供することにより、ユーザーの便宜性を図ることができる。
【0127】
以上の説明は、本発明の技術思想を例示的に説明したものに過ぎず、本発明の属する技術分野における通常の知識を有する者であれば、本発明の本質的な特性から逸脱することなく、様々な修正および変形を加えることが可能であろう。したがって、本発明に記載された実施例は、本発明の技術思想を限定するためのものではなく、説明するためのものである。このような実施例によって本発明の技術思想が限定されるのではない。本発明の保護範囲は添付した特許請求の範囲によって解釈されるべきであり、それと同等の範囲内にあるすべての技術思想は本発明の権利範囲に含まれるものと解釈されるべきである。