JP5226401B2 - 文書データの検索を支援する装置及び方法 - Google Patents

文書データの検索を支援する装置及び方法 Download PDF

Info

Publication number
JP5226401B2
JP5226401B2 JP2008166539A JP2008166539A JP5226401B2 JP 5226401 B2 JP5226401 B2 JP 5226401B2 JP 2008166539 A JP2008166539 A JP 2008166539A JP 2008166539 A JP2008166539 A JP 2008166539A JP 5226401 B2 JP5226401 B2 JP 5226401B2
Authority
JP
Japan
Prior art keywords
cluster
graph
keywords
condition
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008166539A
Other languages
English (en)
Other versions
JP2010009251A (ja
Inventor
吉高 松本
宜隆 安達
真耶 川中
ルディー・レイモンド・ハリー・プテラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008166539A priority Critical patent/JP5226401B2/ja
Priority to US12/490,781 priority patent/US8200672B2/en
Publication of JP2010009251A publication Critical patent/JP2010009251A/ja
Application granted granted Critical
Publication of JP5226401B2 publication Critical patent/JP5226401B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文書データの検索を支援する装置及び方法に関する。特に、本発明は、キーワードに基づく文書データの検索を支援する装置及び方法に関する。
例えば、インターネットから所望の情報を検索する場合、検索エンジンを用いることが主流となっている。しかし、WWW(World Wide Web)が肥大化するに伴い、検索結果として表示されるウェブページも膨大なものとなるため、ユーザが本当に欲する情報が上位に表示されるとは限らない。
ユーザは、検索エンジンに入力として与えるべき検索語に関し、様々な観点から検討を行う必要がある。例えば、その検索語が本当に妥当なものであるか、欲しい情報に絞り込むために適切な検索語は何か、検索語の個数は幾つ程度が適切であるか、等である。このように、一般ユーザにとって、どのような検索語を検索エンジンに与えて検索すればよいかの判断は難しい。
そこで、従来から、検索語を組み合わせた検索クエリを自動的に生成する技術が提案されている(例えば、非特許文献1、2参照)。非特許文献1では、大量の検索結果に対してクラスタリングを行い、そこでユーザが適合と評価したクラスタをチェックする度に漸次的にクエリを修正している。非特許文献2では、オントロジー情報等を利用して検索経路の情報を生成してユーザに提示し、ユーザが検索経路を選択することでクエリ拡張を行っている。
また、その他の検索支援に関する技術としては、情報の所在及び分類情報を分類木を用いて管理し、この分類木の構造と情報源を検索するための検索項目、検索条件を含む情報をクラス定義として管理し、情報の分類木に格納されているエントリを辿ることにより複数の情報源に対する検索を行う技術(例えば、特許文献1参照)や、新しい検索条件で元の検索結果集合の何%がヒットするか等を自動的に表示する技術(例えば、非特許文献3参照)がある。また、検索結果に付与される特徴的な情報を使って、検索結果に含まれるウェブコンテンツを視覚的に配置し、ウェブ特有のリンク関係を表示する技術(例えば、非特許文献4参照)や、検索語候補をノードとし、検索語候補同士の共起関係をエッジとしたバネグラフを表示する技術(例えば、非特許文献5参照)もある。
特開2000−250935号公報 江口浩二、外2名、"検索結果のクラスタリングに基づくユーザへの適応性を考慮した漸次的なクエリの拡張"、情報処理学会研究報告、98−DBS−114、Vol.98、No.2、社団法人情報処理学会、平成10年1月19日、p.43ー48 美馬秀樹、外1名、"子供のためのウェブ情報検索支援システムの開発"、[online]、平成16年2月14日、独立行政法人情報処理推進機構、[平成20年4月10日検索]、インターネット<URL:http://www.ipa.go.jp/SPC/report/03fy-pro/mito/15-1198d.pdf> 早川和宏、外2名、"WWW検索サービスにおける検索結果絞り込み用インタフェースの開発"、情報処理学会研究報告、98−HI−76、98−IM−33、Vol.98、No.9、社団法人情報処理学会、平成10年1月29日、p.25ー30 小林亜樹、"Webリンク空間における検索のためのユーザーインターフェース"、[online]、平成15年、電気通信普及財団、[平成20年4月10日検索]、インターネット<URL:http://www.taf.or.jp/publication/kjosei_20/pdf/p453.pdf> 長畑洋臣、外1名、"複数の可視化手法を用いた検索語想起支援、[online]、平成20年3月10日、社団法人電子情報通信学会、[平成20年4月10日検索]、インターネット<URL:http://www.ieice.org/~de/DEWS/DEWS2008/proceedings/files/b5/b5-5.pdf>
このように、検索支援に関する技術には、従来から種々のものがあった。
しかしながら、非特許文献1の技術では、文書クラスタに対してユーザが適合を評価することによりクエリを修正しているに過ぎず、ユーザの要求に応えた検索を行うのに相応しいキーワードを指定することによりクエリを修正しているわけではない。また、非特許文献2の技術は、オントロジー情報等を用いて生成された検索経路に基づいてクエリ拡張を行うものであって、ユーザの要求に応えた検索を行うのに相応しいキーワードを含む検索経路に基づいてクエリ拡張を行うものではない。従って、何れの技術においても、ユーザの要求に応えた検索を行うのに相応しいキーワードを指定して検索を行うことはできないという問題点がある。
同様に、特許文献1、非特許文献3〜5の技術も、ユーザの要求に応えた検索を行うのに相応しいキーワードを指定して検索を行うための手段を提供するものではない。
本発明の目的は、ユーザの要求に応えた検索を行うのに相応しいキーワードを簡単な操作で指定して検索できるようにすることにある。
かかる目的のもと、本発明は、キーワードに基づく文書データの検索を支援する装置であって、検索対象の文書データから複数のキーワードを抽出する抽出部と、抽出部により抽出された複数のキーワードの各々を表す複数のオブジェクトを含み、複数のオブジェクトが複数のクラスタに分類されたグラフを生成するグラフ生成部と、グラフ生成部により生成されたグラフにおける複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、特定のクラスタに属するオブジェクトが表すキーワードを用いて検索条件文を生成する検索条件文生成部とを備えた、装置を提供する。
ここで、グラフ生成部は、複数のオブジェクトが、複数のオブジェクトのうちの2つのオブジェクト間の距離が2つのオブジェクトが表す2つのキーワードの共起度に応じたものとなるような位置に配置され、位置の情報に基づいて複数のクラスタに分類されたグラフを生成する、ものであってよい。
また、抽出部は、検索対象の文書データに出現するキーワードのうち、特定のレベルの頻度で出現するキーワードを、特定のレベルに対応する複数のキーワードとして抽出し、グラフ生成部は、特定のレベルを指定するユーザ操作に応じて、特定のレベルに対応する複数のキーワードの各々を表す複数のオブジェクトを含み、複数のオブジェクトが複数のクラスタに分類されたグラフを生成する、ものであってよい。
更に、グラフ生成部は、グラフに含まれる特定のオブジェクトに対するユーザ操作に応じて、特定のオブジェクトに関する変更をグラフに加える、ものであってよい。ここで、特定のオブジェクトに関する変更は、第1のクラスタに属する特定のオブジェクトを第2のクラスタに属するようにする変更であってもよいし、特定のオブジェクト及び特定のオブジェクト以外の他のオブジェクトをマージして、特定のオブジェクトが表すキーワード及び他のオブジェクトが表すキーワードを表す1つのオブジェクトとする変更であってもよいし、特定のオブジェクトを削除する変更であってもよい。
更にまた、検索条件文生成部は、特定のクラスタに属するオブジェクトが表すキーワードを、AND条件及びOR条件のうちキーワードの出現頻度に応じて予め決められた条件として含む検索条件文を生成する、ものであってよいし、更に、特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成する、ものであってもよい。
また、本発明は、キーワードに基づく文書データの検索を支援する装置であって、検索対象の文書データから複数のキーワードを抽出する抽出部と、抽出部により抽出された複数のキーワードの各々を表す複数のオブジェクトを含むグラフであって、複数のオブジェクトが、複数のオブジェクトのうちの2つのオブジェクト間の距離が2つのオブジェクトが表す2つのキーワードの共起度に応じたものとなるような位置に配置され、位置の情報に基づいて複数のクラスタに分類されたグラフを生成するグラフ生成部と、グラフ生成部により生成されたグラフにおける複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、特定のクラスタに属するオブジェクトが表すキーワードをAND条件及びOR条件の何れかの条件として含み、かつ、特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成する検索条件文生成部とを備えた、装置も提供する。
更に、本発明は、キーワードに基づく文書データの検索を支援する方法であって、検索対象の文書データから複数のキーワードを抽出するステップと、抽出された複数のキーワードの各々を表す複数のオブジェクトを含み、複数のオブジェクトが複数のクラスタに分類されたグラフを生成するステップと、生成されたグラフにおける複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、特定のクラスタに属するオブジェクトが表すキーワードを用いて検索条件文を生成するステップとを含む、方法も提供する。
また、本発明は、キーワードに基づく文書データの検索を支援する方法であって、検索対象の文書データから複数のキーワードを抽出するステップと、抽出された複数のキーワードの各々を表す複数のオブジェクトを含み、複数のオブジェクトが複数のクラスタに分類されたグラフを生成するステップと、生成されたグラフに含まれる特定のオブジェクトに対するユーザ操作に応じて、特定のオブジェクトに関する変更をグラフに加えるステップと、変更後のグラフにおける複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、特定のクラスタに属するオブジェクトが表すキーワードを用いて検索条件文を生成するステップとを含む、方法も提供する。
更にまた、本発明は、キーワードに基づく文書データの検索を支援する装置としてコンピュータを機能させるプログラムであって、コンピュータを、検索対象の文書データから複数のキーワードを抽出する抽出部と、抽出部により抽出された複数のキーワードの各々を表す複数のオブジェクトを含み、複数のオブジェクトが複数のクラスタに分類されたグラフを生成するグラフ生成部と、グラフ生成部により生成されたグラフにおける複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、特定のクラスタに属するオブジェクトが表すキーワードを用いて検索条件文を生成する検索条件文生成部として機能させる、プログラムも提供する。
本発明によれば、ユーザの要求に応えた検索を行うのに相応しいキーワードを簡単な操作で指定して検索できるようになる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、本実施の形態が適用されるコンピュータシステムについて説明する。
図1は、このようなコンピュータシステムの全体構成例を示した図である。
図示するように、このコンピュータシステムは、クライアント10と、検索サーバ20と、検索支援サーバ30とが、ネットワーク80を介して接続されている。
クライアント10は、ユーザが使用するPC等の端末装置である。より詳しくは、各ユーザが、検索サーバ20に対して検索語を入力することによりネットワーク80から検索結果を得たり、検索支援サーバ30から送られたバネグラフを用いて変更した検索条件で再び検索したりするために用いる端末装置である。尚、図では、1台のクライアントしか示していないが、2台以上のクライアントを設けてもよい。
検索サーバ20は、所謂検索エンジンであり、検索条件を伴う検索要求があるとその検索条件に合致する文書データの一例であるウェブページを検索結果として要求元に送信するサーバコンピュータである。詳しくは、クライアント10から検索語を伴う検索要求があるとその検索語に関連するウェブページをクライアント10に送信する。また、検索支援サーバ30から検索条件を伴う検索要求があるとその検索条件に合致するウェブページを検索支援サーバ30に送信する。
検索支援サーバ30は、検索サーバ20による検索を支援するためのサーバコンピュータである。詳しくは、検索サーバ20から検索結果を受け取り、検索語とそれに関連する関連語とからなるキーワードをクラスタ化したバネグラフをクライアント10に送信する。そして、バネグラフ上でのクラスタの選択がクライアント10から伝えられると、そのクラスタ内のキーワードを用いて検索条件文の一例である検索クエリを生成し、検索サーバ20に送信する。
尚、ここでは、検索サーバ20と検索支援サーバ30とを別個のサーバコンピュータとして示したが、これらは1つのサーバコンピュータ内に設けられていてもよい。
ネットワーク80は、情報の送受信に用いる通信手段である。このネットワーク80としては、インターネットやLAN(Local Area Network)が例示される。
このような構成を有するコンピュータシステムにおいて、ユーザは、従来通り、クライアント10を用いて、検索語(Word1,Word2)を検索サーバ20に投入する(A)。これに応じて、検索結果は、クライアント10に返されるだけでなく、検索支援サーバ30にも渡される(B)。すると、検索支援サーバ30は、検索語に加え、検索結果から得られる関連語(Word3,Word4,Word5)をノードとするバネグラフを、ユーザインターフェイスとしてクライアント10に返す(C)。ユーザは、このバネグラフを自由に変更することができ、検索したいエリアを抽象的に選択することができる。これにより、検索支援サーバ30は、検索クエリを自動生成し、検索サーバ20に検索クエリを投入する。即ち、本実施の形態では、検索支援サーバ30が、キーワード間の関連性をバネグラフとして表示する。そして、そのバネグラフに対するユーザの操作に従って、新たな検索クエリを自動生成する。
そこで、まず、本実施の形態における検索支援サーバ30の機能構成について説明する。
図2は、検索支援サーバ30の機能構成例を示したブロック図である。
図示するように、検索支援サーバ30は、受信部31と、関連語抽出部32と、頻度情報記憶部33と、共起情報記憶部34と、グラフ生成部35と、座標情報記憶部36と、クラスタ生成部37と、クラスタ定義情報記憶部38と、表示情報生成部39と、送信部41とを備える。また、操作判別部42と、クラスタ再生成部43と、検索クエリ生成部44とを備える。
受信部31は、検索サーバ20から検索結果を受信したり、クライアント10からバネグラフに対する操作に関する情報(以下、「操作情報」という)を受信したりする。
関連語抽出部32は、検索結果のウェブページを形態素解析し、頻度分析やTF−IDF等を用いて、関連語群を生成し、これらの出現頻度に関する頻度情報を生成する。また、検索語及び関連語を含むキーワード間の共起度を求め、この共起度を行列の各セルに格納した共起行列からなる共起情報を生成する。尚、共起度は、公知の計算方法によって求めればよい。例えば、キーワードk1とキーワードk2の共起度C(k1,k2)は、「C(k1,k2)=P(k1,k2)/Pa」によって求めることができる。ここで、P(k1,k2)はキーワードk1とキーワードk2を共に含むページの数を、Paは全ページ数を、それぞれ表す。本実施の形態では、文書データから複数のキーワードを抽出する抽出部の一例として、関連語抽出部32を設けている。
頻度情報記憶部33は、関連語抽出部32が生成した頻度情報を記憶する。
共起情報記憶部34は、関連語抽出部32が生成した共起情報を記憶する。
グラフ生成部35は、キーワード間の共起度を利用し、バネグラフを作成する。このバネグラフにおいて、オブジェクトの一例であるノードはキーワードに対応する。また、エッジは、所定の閾値を超えた共起度を持つ2つのキーワードに対応する2つのノードの間に張られる。その際、2つのノードの間の距離は、それらのノードに対応する2つのキーワードの共起度に反比例するように設定される。また、バネグラフは階層構造を持っており、出現頻度が高いキーワードに対応するノードを上位ノードとし、上位ノードとの関連が強く上位ノードに比べてやや出現頻度が低いキーワードに対応するノードを下位ノードとする。但し、本実施の形態において、グラフ生成部35は、バネグラフそのものを生成するのではなく、バネグラフを生成するのに用いる座標情報を生成するものとする。詳しくは、バネグラフに含まれるノードの位置を示す座標情報(以下、「ノード座標情報」という)とエッジの位置を示す座標情報(以下、「エッジ座標情報」という)とを生成する。尚、バネグラフを生成するに当たっては、コーパス等から得られるキーワードの特徴を利用してもよい。
座標情報記憶部36は、グラフ生成部35が生成したノード座標情報及びエッジ座標情報と、後述するクラスタ座標情報とを記憶する。
クラスタ生成部37は、所定の距離以内にあるノード群をクラスタとしてまとめ、キーワードとクラスタとを対応付けたクラスタ定義情報を生成する。このクラスタリングの手法としては、k−means法等を用いるとよい。また、バネグラフ上のクラスタの位置を示す座標情報(以下、「クラスタ座標情報」という)を生成する。尚、クラスタの範囲や深さ等はユーザが自由に変更することができる。
クラスタ定義情報記憶部38は、クラスタ生成部37が生成したクラスタ定義情報を記憶する。
表示情報生成部39は、座標情報記憶部36に記憶されたノード座標情報、エッジ座標情報、クラスタ座標情報に基づいて、クライアント10にバネグラフを表示するための表示情報(例えば、ウェブページの記述)を生成する。
送信部41は、表示情報生成部39が生成した表示情報をクライアント10に送信したり、検索クエリ生成部44が生成した検索クエリを検索サーバ20に送信したりする。
操作判別部42は、受信部31がクライアント10から受信した操作情報に基づいて、ユーザによる指示の内容を判別する。ここで、ユーザによる指示とは、次のようなものである。第一に、あるキーワードを中心としたより詳細なキーワードを用いたより深い階層レベルのクラスタの表示に変更する指示(以下、「階層レベル変更指示」という)である。第二に、生成されたバネグラフを操作してノードに関する変更を加えることで新しいクラスタを生成する指示(以下、「ノード変更指示」という)である。第三に、クラスタを1つ選択して検索クエリを自動的に生成する指示(以下、「検索クエリ生成指示」という)である。
クラスタ再生成部43は、操作判別部42によってノード変更指示があったと判断された場合にノードの変更の内容を判別し、その変更の内容に応じて新しいクラスタを生成する。ここで、ノードの変更の内容としては、例えば、あるノードが属するクラスタの変更、2つのノードの融合、あるノードの削除等がある。
尚、本実施の形態では、複数のオブジェクトを含み、複数のオブジェクトが複数のクラスタに分類されたグラフを生成し、特定のオブジェクトに関する変更をグラフに加えるグラフ生成部の一例として、グラフ生成部35、クラスタ生成部37、クラスタ再生成部43を設けている。
検索クエリ生成部44は、操作判別部42によって検索クエリ生成指示があったと判断された場合に、選択されたクラスタから、例えば次のような条件を満足するように検索クエリを自動的に生成する。第1の条件は、選択されたクラスタに属するキーワードの中で上位ノードに相当するキーワードをAND条件として組み合わせる、というものである。第2の条件は、選択されたクラスタに属するキーワードの中で下位ノードに相当するキーワードをORで連結した条件をAND条件として組み合わせる、というものである。第3の条件は、選択されたクラスタ以外の同じ階層レベルのクラスタに属するキーワードの中で、選択されたクラスタに含まれるキーワードとの関連度が限りなく低いキーワードをNOT条件として組み合わせる、というものである。ここで、AND条件として組み合わせるキーワードの個数は、選択されたクラスタに含まれるキーワードの数に依存する。AND条件として組み合わせるキーワードがウェブページに含まれていなければ、そのウェブページはヒットしない。従って、AND条件として組み合わせるキーワードの数は最小限に抑えるポリシーとし、その数はユーザが決定することとする。また、NOT条件として組み合わせるキーワードは、関係のないウェブページを排除するために有用であるため、キーワードの数を限定せずに組み合わせるものとする。
次いで、本実施の形態における検索支援サーバ30の動作について詳細に説明する。尚、検索支援サーバ30の動作としては、検索サーバ20から検索結果を受信してクライアント10にバネグラフを送信する際の動作と、クライアント10からバネグラフに対する操作情報を受信して検索サーバ20に検索クエリを送信する際の動作とがある。そこで、以下では、これらを分けて順に説明する。
まず、検索サーバ20から検索結果を受信してクライアント10にバネグラフを送信する際の動作について説明する。
図3は、このときの検索支援サーバ30の動作例を示したフローチャートである。
検索支援サーバ30では、まず、受信部31が、検索サーバ20から検索結果のウェブページを受信して関連語抽出部32に渡す(ステップ301)。
すると、関連語抽出部32が、受信部31から渡されたウェブページからキーワードを抽出し、キーワードの出現頻度及び出現頻度によって決まる頻度レベルを含む頻度情報を生成して頻度情報記憶部33に記憶する(ステップ302)。ここで、ウェブページからのキーワードの抽出は、公知の形態素解析の手法を用いて行えばよく、このキーワードには、ユーザが検索結果を得るために最初に入力した検索語に加え、それに関連する関連語が含まれることになる。また、関連語抽出部32は、公知の手法を用いてキーワード間の共起度を算出し、例えば共起度が行列の形式で格納された共起行列からなる共起情報を生成して共起情報記憶部34に記憶する(ステップ303)。ここで、共起行列は、ステップ302で求めた頻度レベルごとに生成するとよい。尚、頻度情報及び共起情報の具体例については後述する。
次に、グラフ生成部35が、共起情報記憶部34に記憶された共起情報を用いて、バネグラフを描画するために必要となる座標情報を生成し、座標情報記憶部36に記憶する(ステップ304)。ここで、バネグラフは、キーワードをノードで表し、キーワード間の共起度をノード間のエッジで表したグラフである。従って、グラフ生成部35は、ノードの描画位置を示すノード座標情報と、エッジの描画位置を示すエッジ座標情報とを生成する。また、バネグラフは、階層レベルごとに作成しておき、より深い階層レベルのバネグラフの表示要求があった場合にその階層レベルのバネグラフを迅速に表示できるようにすることが望ましい。このような階層レベルごとのバネグラフの作成は、共起情報記憶部34に記憶された頻度レベルごとの共起行列を用いることにより実現できる。ところで、グラフ生成部35は、バネグラフを生成する際に、全てのノードに対して、ノードが表すキーワード間の関連性を示す隠しリンクを張る。これは、その後の検索クエリの生成時において、NOT条件として組み合わせるべきキーワードを特定する際に暗黙的に利用される。尚、バネグラフの具体例についても後述する。
その後、クラスタ生成部37が、座標情報記憶部36に記憶されたノード座標情報を用いて、公知の手法(例えば、k−means法)によりノードのクラスタリングを行い、ノードに対応するキーワードとノードが分類されたクラスタとを対応付けたクラスタ定義情報を生成してクラスタ定義情報記憶部38に記憶する(ステップ305)。尚、クラスタ定義情報の具体例についても後述する。また、座標情報記憶部36に記憶されたノード座標情報及びエッジ座標情報から生成されるグラフ上で、ノードが対応するクラスタを示す図形に含まれるように図形の描画位置を決定し、この描画位置を示すクラスタ座標情報を座標情報記憶部36に追加する(ステップ306)。
このようにして座標情報記憶部36にノード座標情報、エッジ座標情報、クラスタ座標情報が記憶されると、表示情報生成部39は、これらの座標情報を用いて、バネグラフにクラスタを示す図形が重畳されたイメージを表示するための表示情報を生成し、送信部41に渡す(ステップ307)。尚、この場合は、最初のバネグラフの表示なので、最上位の階層レベル(レベル1)に対応する座標情報を用いて、レベル1のバネグラフを表示するための表示情報を生成する。
すると、送信部41が、表示情報生成部39から渡されたレベル1のバネグラフを表示するための表示情報をクライアント10に送信する(ステップ308)。これにより、バネグラフは、クライアント10の図示しないディスプレイに表示されることになる。
次いで、以上の動作を、具体例を用いて説明する。尚、以下において、「Java」は米国サンマイクロシステムズ社の米国及びその他の国における商標又は登録商標であり、「Windows」は米国マイクロソフト社の米国及びその他の国における登録商標である。
まず、ステップ302で生成される頻度情報について説明する。
図4は、頻度情報の具体例を示した図である。
図示するように、頻度情報は、キーワードと出現頻度と頻度レベルとを対応付けたものになっている。ここで、出現頻度は、公知の手法によって求めればよいが、最大値が100になるように正規化されているものとする。頻度レベルは、予め用意された複数のレベルのうち、出現頻度に応じて決まるレベルである。例えば、出現頻度が70以上100以下であれば頻度レベル1、出現頻度が40以上70未満であれば頻度レベル2、というような規則が予め決められているものとする。
また、ステップ303で生成される共起情報について説明する。
図5は、共起情報に含まれる共起行列の具体例を示した図である。
図示するように、共起行列では、1行目の各セル及び1列目の各セルにキーワードが設定されている。そして、1行目のあるセルを含む列と1列目のあるセルを含む行とが交差するセルには、それらのセルに設定された2つのキーワードの共起度が設定されている。尚、図では、「20」以上の共起度が設定されたセルを太枠で示しているが、これは共起度が「20」以上のノード間にエッジを張ることを想定しているからである。
ところで、図示した共起行列は、図4に示した頻度情報からも明らかなように、頻度レベル1のキーワード間の共起度が設定された共起行列(レベル1−レベル1共起行列)である。しかしながら、階層レベルごとのバネグラフを生成するには、上述したように、頻度レベルごとの共起行列を生成することが好ましい。図示しないが、例えば、頻度レベル1のキーワードと頻度レベル2のキーワードとの間の共起度が設定された共起行列(レベル1−レベル2共起行列)や、頻度レベル2のキーワード間の共起度が設定された共起行列(レベル2−レベル2共起行列)も生成するとよい。
更に、ステップ304で生成されるノード座標情報及びエッジ座標情報に基づくバネグラフについて説明する。
図6は、バネグラフの具体例を示した図である。このバネグラフは、頻度レベル1のキーワード間の関連性を表すバネグラフであり、図5に示したレベル1−レベル1共起行列から生成されたものである。バネグラフでは、共起度が高いほどノード間の距離が近くなるようにノード座標情報が設定される。例えば、ノード間の距離として、共起度の逆数を正規化したものを用いるとよい。
この例では、最初にユーザが「Ruby」、「Java」、「C++」という検索語を検索サーバ20に投入して検索を行った場合を想定している。このような検索により、従来通りの検索結果は表示されるが、本実施の形態では、それに加え、「Ruby」、「Java」、「C++」のそれぞれと共起度の高いキーワードが関連語として抽出される。具体的には、「Ruby」に関しては、「Perl」、「Python」等のスクリプト言語を表す関連語、「Java」に関しては、「html」等のウェブ系の言語を表す関連語、「C++」に関しては、「C」、「VC++」等のC言語系を表す関連語が抽出される。そして、これらのキーワード間の関連性が可視化される。
また、ステップ305で生成されるクラスタ定義情報について説明する。
図7は、クラスタ定義情報の具体例を示した図である。
図示するように、クラスタ定義情報は、キーワードとそのキーワードが属するクラスタとを対応付けたものになっている。
ところで、図示したクラスタ定義情報は、図4に示した頻度情報からも明らかなように、頻度レベル1のキーワードと階層レベル1のバネグラフにおけるクラスタとを対応付けたものである。しかしながら、階層レベルごとのバネグラフを生成する場合は、より深い階層レベルについてのクラスタ定義情報も生成することが好ましい。例えば、階層レベル2のバネグラフにおいて、クラスタ3がクラスタ3−1、3−2、3−3に分けられるとする。この場合は、図示しないが、クラスタ3に属する頻度レベル1、2のキーワードと、クラスタ3−1、3−2、3−3とを対応付けたクラスタ定義情報を生成するとよい。
更にまた、図6のバネグラフに対して、ステップ306で生成されるクラスタ座標情報に基づく図形を追加したバネグラフについて説明する。
図8は、このようなバネグラフの具体例を示した図である。図示するように、バネグラフにおいては、類似するキーワード群を1つにまとめたクラスタが形成されている。
この例では、まず、階層レベル1のバネグラフであることが全体を囲む図形によって示されている(図では、単に「レベル1」と表記している)。また、図7に示したクラスタ定義情報から分かるように、「Perl」、「Ruby」、「Python」はクラスタ1に属し、「html」、「Java」はクラスタ2に属し、「C」、「C++」、「VC++」はクラスタ3に属する。従って、「Perl」、「Ruby」、「Python」を表すノードを囲むようにクラスタ1を示す図形が描画され、「html」、「Java」を表すノードを囲むようにクラスタ2を示す図形が描画され、「C」、「C++」、「VC++」を表すノードを囲むようにクラスタ3を示す図形が描画される。尚、このようにクラスタが決定されると、下位の階層レベルのバネグラフの元となる座標情報は、クラスタごとに記憶しておくとよい。
次いで、クライアント10からバネグラフに対する操作情報を受信して検索サーバ20に検索クエリを送信する際の動作について説明する。
まず、以下に、ユーザがバネグラフを用いて行うことの可能な操作を列挙する。
第一に、検索サーバ20に投入するキーワード群を変更する操作である。この操作には、更に、クラスタの選択操作と、階層レベルの変更操作とがある。前者は、検索対象のカテゴリを決める場合の操作であり、後者は、より詳細なキーワード(専門分野等のキーワード)を知りたい場合の操作である。
第二に、バネグラフ自体を変更する操作である。この操作には、ノードのクラスタ間での移動、融合、削除の操作がある。ノードのクラスタ間での移動操作は、検索クエリにおけるAND条件やNOT条件を変更する場合の操作である。ノードの融合操作は、そのノードに対応するキーワードをORで連結する際の操作である。ノードの削除操作は、そのノードに対応するキーワードを無視する際の操作である。また、バネグラフ自体を変更する操作としては、特徴量の重みを変更する操作を行ってもよい。この操作は、キーワード間の共起度に影響を与えるため、クラスタを変更することになる。更に、バネグラフ自体を変更する操作として、エッジの追加、削除の操作を行ってもよい。
図9は、このようなユーザ操作に応じた検索支援サーバ30の動作例を示したフローチャートである。
クライアント10から操作情報が送信されると、検索支援サーバ30では、まず、受信部31が操作情報を受信して操作判別部42に受け渡す(ステップ321)。
そして、操作判別部42が、受信部31が受信した操作情報に基づいて、ユーザによる指示内容を判別する(ステップ322)。
その結果、指示内容が階層レベル変更指示であったとする。これは、受信部31から渡された情報が、選択されたクラスタの識別情報と階層レベルを変更する旨の情報とを含むことを確認することにより判定することができる。この場合、操作判別部42は、階層レベル変更指示があった旨を表示情報生成部39に伝える。そして、表示情報生成部39が、座標情報記憶部36に記憶された座標情報のうち、選択されたクラスタに対応し、かつ、選択されたクラスタを含むバネグラフの階層レベルの1つ下の階層レベルに対応する座標情報を用いて、バネグラフを表示するための表示情報を生成し、送信部41に渡す(ステップ323)。
すると、送信部41が、表示情報をクライアント10に送信する(ステップ324)。これにより、バネグラフは、クライアント10の図示しないディスプレイに表示されることになる。
また、指示内容がノード変更指示であったとする。これは、受信部31から渡された情報が、選択されたノードの識別情報を含むことを確認することにより判定することができる。この場合、操作判別部42は、受信部31から渡された情報をクラスタ再生成部43に渡し、クラスタ再生成部43が、ノードの変更内容を判定する(ステップ325)。
ここで、操作判別部42から渡された情報がノードの識別情報とノードの座標情報とを含んでいるとする。これは、あるノードを移動する操作が行われ、移動対象のノードの識別情報と、移動先の座標情報とが渡された場合である。
この場合、クラスタ再生成部43は、座標情報記憶部36を参照し、移動先の座標情報を含むクラスタを特定し、一方で、クラスタ定義情報記憶部38を参照し、移動対象のノードを元々含んでいるクラスタを特定し、これらを比較する。その結果、これらのクラスタが異なっていれば、ノードの変更内容はクラスタ間での移動であると判定する。すると、クラスタ再生成部43は、クラスタ定義情報記憶部38に記憶されたクラスタ定義情報において、移動対象のノードに対応するキーワードに対応付けられたクラスタの識別情報を移動先のクラスタの識別情報に書き換える(ステップ326)。
また、クラスタ再生成部43は、座標情報記憶部36を参照し、移動先の座標情報から所定の距離以内に別のノードの座標情報が存在するかどうかを判定する。その結果、別のノードの座標情報が存在すれば、ノードの変更内容は移動対象のノードとその別のノード(移動先のノード)との融合であると判定する。すると、クラスタ再生成部43は、クラスタ定義情報記憶部38に記憶されたクラスタ定義情報を更新する(ステップ327)。具体的には、移動対象のノードに対応するキーワードとクラスタの対応と、移動先のノードに対応するキーワードとクラスタの対応とをマージし、移動対象のノードに対応するキーワードと移動先のノードに対応するキーワードとからなるキーワード群と移動先のクラスタの対応に変更する。そして、クラスタ再生成部43は、頻度情報記憶部33に記憶された頻度情報において、移動対象のノードに対応するキーワードと移動先のノードに対応するキーワードとからなるキーワード群に対して、これらのキーワードに対する情報を平均化した情報を設定する(ステップ328)。具体的には、移動対象のノードに対応するキーワードと出現頻度と頻度レベルの対応と、移動先のノードに対応するキーワードと出現頻度と頻度レベルの対応をマージし、移動対象のノードに対応するキーワードと移動先のノードに対応するキーワードとからなるキーワード群とこれらのキーワードの出現頻度の平均値とその平均値に応じた頻度レベルの対応に変更する。
尚、ここでは、簡単のため、ノードのクラスタ間での移動と、ノードの融合とは同時に起こらないものとした。しかしながら、これらが同時に起こったことを判別し、その場合にステップ326〜328の処理を同時に行うようにしてもよい。
一方、操作判別部42から渡された情報がノードの識別情報を含み、ノードの座標情報としては空値を含んでいるとする。これは、あるノードを削除する操作が行われ、削除対象のノードの識別情報が渡された場合である。
この場合、クラスタ再生成部43は、クラスタ定義情報記憶部38に記憶されたクラスタ定義情報において、削除対象のノードに対応するキーワードに関する情報を削除する(ステップ329)。そして、頻度情報記憶部33に記憶された頻度情報において、削除対象のノードに対応するキーワードに関する情報を削除する(ステップ330)。
また、ステップ322で指示内容が検索クエリ生成指示であったとする。これは、受信部31から渡された情報が、選択されたクラスタの識別情報と検索クエリを生成する旨の情報とを含むことを確認することにより判定することができる。この場合、操作判別部42は、その旨を検索クエリ生成部44に伝える。そして、検索クエリ生成部44が、検索クエリを生成し、送信部41に渡す(ステップ331)。その際、第一に、選択されたクラスタに属するキーワードの中で上位ノードに相当するキーワードをAND条件として組み合わせ、第二に、選択されたクラスタに属するキーワードの中で下位ノードに相当するキーワードをORで連結した条件をAND条件として組み合わせ、第三に、選択されたクラスタ以外の同じ階層レベルのクラスタに属するキーワードの中で、選択されたクラスタに含まれるキーワードとの関連度が限りなく低いキーワードをNOT条件として組み合わせる。
すると、送信部41が、検索クエリを検索サーバ20に送信する(ステップ332)。これにより、検索サーバ20は、検索クエリに基づいてインターネット上を検索し、検索結果のウェブページを検索支援サーバ30に返す。そして、検索支援サーバ30がこの検索結果をクライアント10に送信し、検索結果がクライアント10の図示しないディスプレイに表示されることになる。或いは、検索サーバ20が検索結果を直接クライアント10に送信するようにしてもよい。
次いで、以上の動作を、具体例を用いて説明する。尚、以下において、「Java」は米国サンマイクロシステムズ社の米国及びその他の国における商標又は登録商標であり、「Windows」は米国マイクロソフト社の米国及びその他の国における登録商標である。
まず、ステップ322で指示内容が階層レベル変更指示であると判断される場合の動作の具体例を示す。
図10は、この場合のバネグラフの変化の具体例を示した図である。
(a)に示すように、階層レベル1のバネグラフは、クラスタ1、2、3を含んでいる。このバネグラフを見て、ユーザが、クラスタ3についてより専門的な知識を得たいと考えたとする。その場合、図示するように、クラスタ3の領域をクリックすることで、クラスタ3を選択することができる。尚、図では、クラスタ3を示す破線を太線で示すことにより、クラスタ3が選択されていることを示している。そして、クラスタ3を選択することにより、(b)に示すように、クラスタ3に含まれるキーワードに焦点を当てた階層レベル2のバネグラフを見ることができる。そして、このバネグラフにおいても、階層レベル1の場合と同様、クラスタ3について、更に下位のクラスタであるクラスタ3−1、3−2、3−3が生成されている。
尚、この階層レベル2のバネグラフにおいて、上位ノードは、それよりも下位のノードより大きく表示されている。キーワードの頻度レベルごとに共起行列を生成しており、座標情報記憶部36に記憶されたノード座標情報にノードが表すキーワードの頻度レベルを付与することができるので、このような表示は実現可能である。
ここで、バネグラフ上でクラスタを選択することで生成される検索クエリの具体例を示す。
例えば、図10(b)で、ユーザが、「C」、「main」、「scanf」、「printf」のクラスタについて検索をかけたいとする。この場合、ユーザは、クラスタ3−2を選択する。尚、図では、クラスタ3−2を示す破線を太線で示すことにより、クラスタ3−2が選択されていることを示している。ここで、クラスタ3−2の上位ノードに対応するキーワードは「C」である。従って、検索クエリ生成部44は、まず、「C」をAND条件として検索クエリに含める。また、クラスタ3−2の「C」の次に上位のノードに対応するキーワードは「main」、「scanf」、「printf」である。従って、検索クエリ生成部44は、次に、「main」、「scanf」、「printf」をORで連結した条件をAND条件として検索クエリに含める。更に、クラスタ3−2以外の同階層レベルのクラスタはクラスタ3−1及びクラスタ3−3であり、これらのクラスタに属するキーワードは「C++」、「template」、「class」、「VC++」、「windows」、「.net」である。従って、最後に、検索クエリ生成部44は、「C++」、「template」、「class」、「VC++」、「windows」、「.net」をORで連結した条件をNOT条件として検索クエリに含める。即ち、ここでの検索クエリとしては、
(C) & (scanf | main | printf) & !(C++ | class | template | VC++ | windows | .net)
となる。尚、ここでは、「and」を「&」、「not」を「!」で表わしている。
また、ステップ322で指示内容がノード変更指示であると判断される場合の動作の具体例を示す。この場合、ユーザは、ノードのクラスタ間での移動、融合、削除を行うことができるが、ここでは、そのうち、ノードのクラスタ間での移動を行う場合について例示する。
図11は、この場合のバネグラフの変化の具体例を示した図である。
この例では、図示するように、元々クラスタ1を示す図形内に表示されていた「Perl」を表すノードを、クラスタ2を示す図形内に移動させている。これにより、検索支援サーバ30は、図9のステップ326で、クラスタ定義情報記憶部38で管理されるクラスタ定義情報を更新する。尚、「Perl」を表すノードをクラスタ2に移動することにより、「Java」を表すノードとの間に元々存在しなかったエッジが張られている。これは、「Perl」を表すノードと「Java」を表すノードとの距離が、共起度「20」の場合の距離よりも近くなったためである。但し、このような新たなエッジの描画は行わなくてもよい。
図12は、ステップ326で更新された後のクラスタ定義情報の具体例を示した図である。
「Perl」を表すノードをクラスタ2を示す図形内に移動する前は、図7に示したように、キーワード「Perl」に対応するクラスタはクラスタ1であった。しかしながら、図11に示したような操作を行うと、キーワード「Perl」に対応するクラスタは、図12の太枠内に示すように、クラスタ2となっている。
また、この例において、「VC++」は、「Visual C++」の省略形であるため、ノードとして「Visual C++」が現れる可能性は非常に高い。ここで、ユーザは「VC++」と「Visual C++」を融合することで、システムはこの2つのキーワードをORで連結して検索することになる。このようなクエリをユーザがキーワードとして指定することは大変手間であり、現実的には考えられない。しかし、バネグラフを介して自動的に検索条件を作るシステムを提供することで、その手間の削減と検索条件の最適化を行うことができる。
以上、本実施の形態について説明してきた。
ところで、本実施の形態において、グラフ生成部35は、バネグラフを表示するための表示情報を座標情報のみに基づいて生成するようにした。これは、座標情報の元となる共起情報に各キーワードの頻度レベルが含まれており、座標情報にも頻度レベルの情報が付与されているためである。しかしながら、頻度レベルが共起情報に含まれず、座標情報にも含まれなかった場合には、グラフ生成部35がバネグラフを生成する際に、頻度情報記憶部33に記憶された頻度レベルを参照するようにしてもよい。
また、本実施の形態において検索クエリ生成部44が生成した検索クエリはあくまで一例である。検索クエリは、選択されたクラスタに属するオブジェクトが表すキーワードをAND条件及びOR条件の何れかの条件として含み、かつ、選択されたクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含むものであればよい。また、このとき、AND条件及びOR条件の何れの条件として含むかは、そのキーワードの出現頻度に応じて予め決めておけばよい。
以上説明したように、本実施の形態では、検索語に基づいて検索を行うと、検索結果のウェブページのリストに加えて、検索語と検索結果から抽出した関連語とからなるキーワードに基づいて生成されたバネグラフを返すようにした。そして、ユーザがこのバネグラフを操作してキーワード間の関連性を変更することができ、ユーザがこのバネグラフの所定範囲を選択して検索条件を自動的に作り出すことができるようにした。つまり、ユーザに複雑な検索条件を意識させることなく、ユーザの要望により応えた形での検索が可能となった。
具体的には、各構成により次のようなことが可能となった。
まず、検索結果のリストに加え、検索結果から抽出したキーワードに基づいて生成したバネグラフも返すようにした。これにより、ユーザは、その検索に用いた検索語の妥当性と次の検索に検索語として用いる関連語との関連性を知ることができる。
また、本実施の形態では、バネグラフを用いてキーワード間の関係を可視化し、ユーザにバネグラフを操作させるようにした。これにより、通常、ユーザが用いることが多いAND条件に加え、OR条件(同じ意味の語句)、NOT条件(関係ない分野の語句)もまた自動的に作成できるようになった。
更に、本実施の形態では、バネグラフに階層構造を持たせ、キーワードに上位下位概念を持たせるようにした。これにより、ユーザが検索したいページの内容の深さを調整できるようになった。
更にまた、AND条件に数多くの検索語を指定すると、本来有益なページであるのにも関わらず、どれか1つの検索語が含まれていなかったために、検索結果に含まれないという問題が生じることがある。ここで、バネグラフの特徴を利用し、NOT条件を数多く生成することで、AND条件に使う検索語数を抑えた形で、ユーザにとって、興味のあるページのみを検索することができる。尚、NOT条件を指定したために有益なページが検索されないという場合も考えられるが、検索対象のキーワードとの共起度がある一定以上のものはNOT条件としても除外することで対応できる。
尚、本実施の形態は、次のような場合に、応用可能である。
第一は、検索語の妥当性が分からない場合である。この場合、ユーザはバネグラフにおいてその検索語の占める位置を見て、別の有用な検索語について知ることができる。
第二は、検索語に一般語が多く、検索結果が大量に存在し、複数の検索語を求められる場合である。ユーザは、検索語を簡単にかつ大量にAND、OR、NOT等の検索条件を気にすることなく、検索をかけることができる。その結果、ユーザは検索対象を容易に絞り込むことができる。AND条件の個数は必要ではあるが、検索語を自分で考える必要はなくなる。
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図13は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
尚、図13において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
本発明の実施の形態におけるコンピュータシステムの全体構成を示した図である。 本発明の実施の形態における検索支援サーバの機能構成例を示した図である。 本発明の実施の形態における検索支援サーバの動作例を示したフローチャートである。 本発明の実施の形態において生成される頻度情報の具体例を示した図である。 本発明の実施の形態において生成される共起行列の具体例を示した図である。 本発明の実施の形態において生成されるバネグラフの具体例を示した図である。 本発明の実施の形態において生成されるクラスタ定義情報の具体例を示した図である。 本発明の実施の形態において生成されるバネグラフにクラスタを示す図形を追加したときの具体例を示した図である。 本発明の実施の形態における検索支援サーバの動作例を示したフローチャートである。 本発明の実施の形態において階層レベル変更指示があったときのバネグラフの変化の具体例を示した図である。 本発明の実施の形態においてノードのクラスタ間での移動の指示があったときのバネグラフの変化の具体例を示した図である。 本発明の実施の形態においてノードのクラスタ間での移動の指示があった後のクラスタ定義情報の具体例を示した図である。 本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
符号の説明
10…クライアント、20…検索サーバ、30…検索支援サーバ、32…関連語抽出部、35…グラフ生成部、37…クラスタ生成部、44…検索クエリ生成部

Claims (12)

  1. キーワードに基づく文書データの検索を支援する装置であって、
    検索対象の文書データから複数のキーワードを抽出する抽出部と、
    前記抽出部により抽出された前記複数のキーワードの各々を表す複数のオブジェクトを含み、当該複数のオブジェクトが複数のクラスタに分類されたグラフを生成するグラフ生成部と、
    前記グラフ生成部により生成された前記グラフにおける前記複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、当該特定のクラスタに属するオブジェクトが表すキーワードを、AND条件及びOR条件のうち当該キーワードの出現頻度に応じて予め決められた条件として含み、当該特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成する検索条件文生成部と
    を備えた、装置。
  2. 前記グラフ生成部は、前記複数のオブジェクトが、当該複数のオブジェクトのうちの2つのオブジェクト間の距離が当該2つのオブジェクトが表す2つのキーワードの共起度に応じたものとなるような位置に配置され、当該位置の情報に基づいて前記複数のクラスタに分類された前記グラフを生成する、請求項1の装置。
  3. 前記抽出部は、前記検索対象の文書データに出現するキーワードのうち、特定のレベルの頻度で出現するキーワードを、当該特定のレベルに対応する前記複数のキーワードとして抽出し、
    前記グラフ生成部は、前記特定のレベルを指定するユーザ操作に応じて、当該特定のレベルに対応する前記複数のキーワードの各々を表す複数のオブジェクトを含み、当該複数のオブジェクトが複数のクラスタに分類された前記グラフを生成する、請求項1の装置。
  4. 前記グラフ生成部は、前記グラフに含まれる特定のオブジェクトに対するユーザ操作に応じて、当該特定のオブジェクトに関する変更を当該グラフに加える、請求項1の装置。
  5. 前記特定のオブジェクトに関する変更は、第1のクラスタに属する当該特定のオブジェクトを第2のクラスタに属するようにする変更である、請求項4の装置。
  6. 前記特定のオブジェクトに関する変更は、当該特定のオブジェクト及び当該特定のオブジェクト以外の他のオブジェクトをマージして、当該特定のオブジェクトが表すキーワード及び当該他のオブジェクトが表すキーワードを表す1つのオブジェクトとする変更である、請求項4の装置。
  7. 前記特定のオブジェクトに関する変更は、当該特定のオブジェクトを削除する変更である、請求項4の装置。
  8. キーワードに基づく文書データの検索を支援する装置であって、
    検索対象の文書データから複数のキーワードを抽出する抽出部と、
    前記抽出部により抽出された前記複数のキーワードの各々を表す複数のオブジェクトを含むグラフであって、当該複数のオブジェクトが、当該複数のオブジェクトのうちの2つのオブジェクト間の距離が当該2つのオブジェクトが表す2つのキーワードの共起度に応じたものとなるような位置に配置され、当該位置の情報に基づいて複数のクラスタに分類されたグラフを生成するグラフ生成部と、
    前記グラフ生成部により生成された前記グラフにおける前記複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、当該特定のクラスタに属するオブジェクトが表すキーワードをAND条件及びOR条件の何れかの条件として含み、かつ、当該特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成する検索条件文生成部と
    を備えた、装置。
  9. コンピュータがキーワードに基づく文書データの検索を支援する方法であって、
    前記コンピュータが、検索対象の文書データから複数のキーワードを抽出するステップと、
    前記コンピュータが、抽出された前記複数のキーワードの各々を表す複数のオブジェクトを含み、当該複数のオブジェクトが複数のクラスタに分類されたグラフを生成するステップと、
    前記コンピュータが、生成された前記グラフにおける前記複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、当該特定のクラスタに属するオブジェクトが表すキーワードを、AND条件及びOR条件のうち当該キーワードの出現頻度に応じて予め決められた条件として含み、当該特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成するステップと
    を含む、方法。
  10. コンピュータがキーワードに基づく文書データの検索を支援する方法であって、
    前記コンピュータが、検索対象の文書データから複数のキーワードを抽出するステップと、
    前記コンピュータが、抽出された前記複数のキーワードの各々を表す複数のオブジェクトを含むグラフであって、当該複数のオブジェクトが、当該複数のオブジェクトのうちの2つのオブジェクト間の距離が当該2つのオブジェクトが表す2つのキーワードの共起度に応じたものとなるような位置に配置され、当該位置の情報に基づいて複数のクラスタに分類されたグラフを生成するステップと、
    前記コンピュータが、生成された前記グラフにおける前記複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、当該特定のクラスタに属するオブジェクトが表すキーワードをAND条件及びOR条件の何れかの条件として含み、かつ、当該特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成するステップと
    を含む、方法。
  11. キーワードに基づく文書データの検索を支援する装置としてコンピュータを機能させるプログラムであって、
    前記コンピュータを、
    検索対象の文書データから複数のキーワードを抽出する抽出部と、
    前記抽出部により抽出された前記複数のキーワードの各々を表す複数のオブジェクトを含み、当該複数のオブジェクトが複数のクラスタに分類されたグラフを生成するグラフ生成部と、
    前記グラフ生成部により生成された前記グラフにおける前記複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、当該特定のクラスタに属するオブジェクトが表すキーワードを、AND条件及びOR条件のうち当該キーワードの出現頻度に応じて予め決められた条件として含み、当該特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成する検索条件文生成部と
    して機能させる、プログラム。
  12. キーワードに基づく文書データの検索を支援する装置としてコンピュータを機能させるプログラムであって、
    前記コンピュータを、
    検索対象の文書データから複数のキーワードを抽出する抽出部と、
    前記抽出部により抽出された前記複数のキーワードの各々を表す複数のオブジェクトを含むグラフであって、当該複数のオブジェクトが、当該複数のオブジェクトのうちの2つのオブジェクト間の距離が当該2つのオブジェクトが表す2つのキーワードの共起度に応じたものとなるような位置に配置され、当該位置の情報に基づいて複数のクラスタに分類されたグラフを生成するグラフ生成部と、
    前記グラフ生成部により生成された前記グラフにおける前記複数のクラスタのうちの特定のクラスタを選択するユーザ操作に応じて、当該特定のクラスタに属するオブジェクトが表すキーワードをAND条件及びOR条件の何れかの条件として含み、かつ、当該特定のクラスタ以外のクラスタに属するオブジェクトが表すキーワードをNOT条件として含む検索条件文を生成する検索条件文生成部と
    して機能させる、プログラム。
JP2008166539A 2008-06-25 2008-06-25 文書データの検索を支援する装置及び方法 Active JP5226401B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008166539A JP5226401B2 (ja) 2008-06-25 2008-06-25 文書データの検索を支援する装置及び方法
US12/490,781 US8200672B2 (en) 2008-06-25 2009-06-24 Supporting document data search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008166539A JP5226401B2 (ja) 2008-06-25 2008-06-25 文書データの検索を支援する装置及び方法

Publications (2)

Publication Number Publication Date
JP2010009251A JP2010009251A (ja) 2010-01-14
JP5226401B2 true JP5226401B2 (ja) 2013-07-03

Family

ID=41448727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008166539A Active JP5226401B2 (ja) 2008-06-25 2008-06-25 文書データの検索を支援する装置及び方法

Country Status (2)

Country Link
US (1) US8200672B2 (ja)
JP (1) JP5226401B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190034490A (ko) * 2016-07-29 2019-04-02 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752043B2 (en) 2006-09-29 2010-07-06 Verint Americas Inc. Multi-pass speech analytics
US20080243799A1 (en) * 2007-03-30 2008-10-02 Innography, Inc. System and method of generating a set of search results
JP5318190B2 (ja) * 2009-02-27 2013-10-16 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US8719016B1 (en) 2009-04-07 2014-05-06 Verint Americas Inc. Speech analytics system and system and method for determining structured speech
US10614134B2 (en) 2009-10-30 2020-04-07 Rakuten, Inc. Characteristic content determination device, characteristic content determination method, and recording medium
BR112012010120A2 (pt) * 2009-10-30 2016-06-07 Rakuten Inc dispositivo e método de determinação de conteúdo característico
US8494852B2 (en) * 2010-01-05 2013-07-23 Google Inc. Word-level correction of speech input
US8375061B2 (en) * 2010-06-08 2013-02-12 International Business Machines Corporation Graphical models for representing text documents for computer analysis
US8825649B2 (en) * 2010-07-21 2014-09-02 Microsoft Corporation Smart defaults for data visualizations
JP4712118B1 (ja) * 2010-08-12 2011-06-29 ヤフー株式会社 携帯端末、アプリケーション選択方法及びプログラム
US8977538B2 (en) 2010-09-13 2015-03-10 Richard Salisbury Constructing and analyzing a word graph
JP5585472B2 (ja) * 2011-01-28 2014-09-10 富士通株式会社 情報照合装置、情報照合方法および情報照合プログラム
US8972240B2 (en) * 2011-05-19 2015-03-03 Microsoft Corporation User-modifiable word lattice display for editing documents and search queries
JP2012256176A (ja) * 2011-06-08 2012-12-27 Hitachi Solutions Ltd 情報提示装置
US8666999B2 (en) * 2011-08-02 2014-03-04 Rockwell Automation Technologies, Inc. Search utility program for software developers
US9286391B1 (en) * 2012-03-19 2016-03-15 Amazon Technologies, Inc. Clustering and recommending items based upon keyword analysis
US9785404B2 (en) * 2012-05-23 2017-10-10 Infosys Limited Method and system for analyzing data in artifacts and creating a modifiable data network
KR101423560B1 (ko) 2012-09-28 2014-08-08 (주)오픈놀 키워드 기반 지식 맵 서비스 방법
US9146987B2 (en) 2013-06-04 2015-09-29 International Business Machines Corporation Clustering based question set generation for training and testing of a question and answer system
US9230009B2 (en) 2013-06-04 2016-01-05 International Business Machines Corporation Routing of questions to appropriately trained question and answer system pipelines using clustering
US9400839B2 (en) * 2013-07-03 2016-07-26 International Business Machines Corporation Enhanced keyword find operation in a web page
JP6573321B2 (ja) * 2013-08-29 2019-09-11 コグニティ株式会社 情報処理装置、情報処理方法およびプログラム
KR101538998B1 (ko) * 2013-09-13 2015-07-24 한국과학기술원 지식 구조를 기반으로 한 검색 서비스 제공 방법 및 장치
US9348900B2 (en) 2013-12-11 2016-05-24 International Business Machines Corporation Generating an answer from multiple pipelines using clustering
US9626455B2 (en) 2014-05-01 2017-04-18 Lexisnexis, A Division Of Reed Elsevier Inc. Systems and methods for displaying estimated relevance indicators for result sets of documents and for displaying query visualizations
US9563688B2 (en) 2014-05-01 2017-02-07 International Business Machines Corporation Categorizing users based on similarity of posed questions, answers and supporting evidence
US10915543B2 (en) 2014-11-03 2021-02-09 SavantX, Inc. Systems and methods for enterprise data search and analysis
CN104598629B (zh) * 2015-02-05 2017-11-03 北京航空航天大学 基于流式图模型的社交网络突发事件检测方法
EP3089159B1 (en) 2015-04-28 2019-08-28 Google LLC Correcting voice recognition using selective re-speak
EP3151131A1 (en) * 2015-09-30 2017-04-05 Hitachi, Ltd. Apparatus and method for executing an automated analysis of data, in particular social media data, for product failure detection
US10528668B2 (en) * 2017-02-28 2020-01-07 SavantX, Inc. System and method for analysis and navigation of data
US11328128B2 (en) 2017-02-28 2022-05-10 SavantX, Inc. System and method for analysis and navigation of data
JP6739379B2 (ja) * 2017-03-10 2020-08-12 ヤフー株式会社 情報処理装置、情報処理方法、プログラム、および広告情報処理システム
US10872107B2 (en) * 2017-06-30 2020-12-22 Keysight Technologies, Inc. Document search system for specialized technical documents
JP2019066979A (ja) * 2017-09-29 2019-04-25 キヤノンマーケティングジャパン株式会社 検索装置、その制御方法、及びプログラム、並びに、検索システム、その制御方法、及びプログラム
GB201716304D0 (en) * 2017-10-05 2017-11-22 Palantir Technologies Inc Data analysis system and method
CN108132966A (zh) * 2017-11-28 2018-06-08 北京洪泰同创信息技术有限公司 知识图谱生成方法及装置
US11244013B2 (en) * 2018-06-01 2022-02-08 International Business Machines Corporation Tracking the evolution of topic rankings from contextual data
JP7243196B2 (ja) * 2019-01-11 2023-03-22 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10867338B2 (en) 2019-01-22 2020-12-15 Capital One Services, Llc Offering automobile recommendations from generic features learned from natural language inputs
US20200341977A1 (en) * 2019-04-25 2020-10-29 Mycelebs Co., Ltd. Method and apparatus for managing attribute language
US10489474B1 (en) 2019-04-30 2019-11-26 Capital One Services, Llc Techniques to leverage machine learning for search engine optimization
US10565639B1 (en) 2019-05-02 2020-02-18 Capital One Services, Llc Techniques to facilitate online commerce by leveraging user activity
US11232110B2 (en) * 2019-08-23 2022-01-25 Capital One Services, Llc Natural language keyword tag extraction
US10796355B1 (en) 2019-12-27 2020-10-06 Capital One Services, Llc Personalized car recommendations based on customer web traffic
JP7145247B2 (ja) * 2021-01-19 2022-09-30 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4223578B2 (ja) * 1996-11-29 2009-02-12 ソニー株式会社 キーワード生成方法及びその装置
JP3437478B2 (ja) 1999-03-01 2003-08-18 日本電信電話株式会社 分類木を用いた情報検索装置および方法と分類木を用いた情報検索プログラムを記録した記録媒体
US20030069873A1 (en) * 1998-11-18 2003-04-10 Kevin L. Fox Multiple engine information retrieval and visualization system
SG93868A1 (en) * 2000-06-07 2003-01-21 Kent Ridge Digital Labs Method and system for user-configurable clustering of information
US6678679B1 (en) * 2000-10-10 2004-01-13 Science Applications International Corporation Method and system for facilitating the refinement of data queries
US6925460B2 (en) * 2001-03-23 2005-08-02 International Business Machines Corporation Clustering data including those with asymmetric relationships
WO2003067471A1 (fr) * 2002-02-04 2003-08-14 Celestar Lexico-Sciences, Inc. Appareil et procede permettant de traiter des connaissances dans des documents
TWI273449B (en) * 2004-06-18 2007-02-11 Yi-Jie Wu Computer data classification management system and method
US8312034B2 (en) * 2005-06-24 2012-11-13 Purediscovery Corporation Concept bridge and method of operating the same
JP2007193380A (ja) * 2006-01-16 2007-08-02 So-Net Entertainment Corp 情報処理装置,情報処理方法,およびコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190034490A (ko) * 2016-07-29 2019-04-02 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
KR102430625B1 (ko) 2016-07-29 2022-08-08 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
JP2010009251A (ja) 2010-01-14
US20090327279A1 (en) 2009-12-31
US8200672B2 (en) 2012-06-12

Similar Documents

Publication Publication Date Title
JP5226401B2 (ja) 文書データの検索を支援する装置及び方法
US8150846B2 (en) Content searching and configuration of search results
JP5110201B2 (ja) 検索処理方法及び装置
US10698956B2 (en) Active knowledge guidance based on deep document analysis
US20090248707A1 (en) Site-specific information-type detection methods and systems
KR20200019824A (ko) 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체
TW200805092A (en) Document-based information and uniform resource locator (URL) management
JP2008204453A (ja) 文書に注釈を付するシステムと方法
US20090083266A1 (en) Techniques for tokenizing urls
US20090271388A1 (en) Annotations of third party content
CN112749300B (zh) 用于视频分类的方法、装置、设备、存储介质和程序产品
CN112988784B (zh) 数据查询方法、查询语句生成方法及其装置
JP7172187B2 (ja) 情報表示方法、情報表示プログラムおよび情報表示装置
CN112000495B (zh) 用于兴趣点信息管理的方法、电子设备和存储介质
JP5179564B2 (ja) クエリセグメント位置決定装置
JP6079207B2 (ja) キーワード提示プログラム、キーワード提示方法及びキーワード提示装置
CN112989011A (zh) 数据查询方法、数据查询装置和电子设备
JP2010186296A (ja) 画像検索装置
JP6333306B2 (ja) 検索データ管理装置、検索データ管理方法、および検索データ管理プログラム
JP5394512B2 (ja) 教師データ生成装置、方法及びプログラム
US9898544B2 (en) Guided web navigation tool
CN114154072A (zh) 检索方法、装置、电子设备以及存储介质
JP2023106724A (ja) 支援装置、支援方法、支援プログラム
CN116186455A (zh) 目录生成方法、目录操作方法、装置及设备
US9152696B2 (en) Linkage information output apparatus, linkage information output method and computer-readable recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130314

R150 Certificate of patent or registration of utility model

Ref document number: 5226401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3