JP5364802B2 - 文書検索システム、文書検索方法 - Google Patents

文書検索システム、文書検索方法 Download PDF

Info

Publication number
JP5364802B2
JP5364802B2 JP2012005225A JP2012005225A JP5364802B2 JP 5364802 B2 JP5364802 B2 JP 5364802B2 JP 2012005225 A JP2012005225 A JP 2012005225A JP 2012005225 A JP2012005225 A JP 2012005225A JP 5364802 B2 JP5364802 B2 JP 5364802B2
Authority
JP
Japan
Prior art keywords
vocabulary
occurrence
document
dictionary
group
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
JP2012005225A
Other languages
English (en)
Other versions
JP2013145448A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2012005225A priority Critical patent/JP5364802B2/ja
Publication of JP2013145448A publication Critical patent/JP2013145448A/ja
Application granted granted Critical
Publication of JP5364802B2 publication Critical patent/JP5364802B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、文書検索システム、文書検索方法に関する。
従来、ネットワーク上に公開された電子文書を検索する技術として、利用者が入力した検索用キーワードに基づいて検索を行う文書検索装置が知られている。通常、文書検索装置では利用者が目的の文書を得るためには、文書に関連した適切なキーワードを入力する必要があった。計算機やネットワークの性能向上や、非同期処理等の技術の発達により、利用者が検索用キーワードの一部を入力している途中で、利用者が入力した検索用キーワードに対して共起関係にあるキーワードを関連キーワードとして提示する文書検索装置が提供されるようになった。文書検索装置が関連キーワードを利用者に対して提示することにより、利用者は、入力する手間を省く、あるいは利用者がより求める情報に対して近い検索用キーワードを把握することが可能となる。
このように利用者に対して提示する語彙を決定する方法としては、文書を登録する際に同じ文書内に出現する語彙同士には共起関係にあるとして、この語彙同士の共起情報を共起辞書に登録しておき、利用者が入力した検索用キーワードと共起関係にある語彙を共起辞書を参照して提示する方式が知られている。
しかしながら、共起辞書を用いてキーワードを提示する場合、文書中に出現する単語間の共起情報を記憶するため共起辞書のサイズが膨大になってしまう問題がある。例えば2つのキーワード間の共起を記憶する場合、キーワード数をNとすると最大で(N×(N−1))/2個の共起関係を記憶する必要があり、3個以上のキーワードの共起関係を記憶する場合はさらに共起辞書のサイズは増大する。
そこで、概念辞書を用いて意味的に類似した語彙を1つにグループ化することで共起辞書のサイズを削減する技術が提示されている。
特開2000−137738号公報
しかしながら、上記従来の検索装置においては、概念辞書を用いて意味的に類似した語彙を1つにグループ化することで共起辞書のサイズを削減しているが、共起した語彙として同一グループ内の語彙全てを提示することになるため、実際には共起していない語彙も関連するキーワードとして提示してしまう可能性がある。
また、類似の語彙をまとめたグループに多数の語彙が含まれることになった場合に、検索時にグループに含まれる語彙を全て表示させるには時間がかかることから、関連するキーワードを提示するために利用者が許容できる時間を超えて、検索時の利便性が損なわれるという問題も生じていた。
本発明は、上記に鑑みてなされたものであって、検索用のキーワードに対して共起する語彙を提示するまでに要する時間を抑制することのできる文書検索システムを提供することにある。
上述した課題を解決し、目的を達成するために、実施形態の文書検索システムは、文書登録装置と、文書検索装置とを備える。文書登録装置は、一の語彙に対して、同一の文書内に出現して共起関係にある他の語彙を対応付けた共起情報を共起辞書に記憶する共起辞書生成部と、共起辞書のサイズが所定の最大サイズより大きい場合に、グループ化される前記語彙の文書中における出現頻度の合計値が所定の最大出現頻度以下となるよう前記共起辞書に記憶された複数の語彙を同一の語彙グループに対応付けグループ辞書に記憶するグループ化処理を実行するグループ化部と、を備える。共起辞書生成部は、当該語彙グループに含まれる語彙と共起関係にある語彙と前記語彙グループとを対応付けた共起情報を共起辞書に記憶するとともに、当該語彙グループに対応付けられた語彙を前記共起辞書から削除する。
文書検索装置は、前記入力中キーワード受信部で受け付けた前記検索用キーワードと共起する前記語彙または前記語彙グループを前記共起辞書から取得する共起語彙取得部と、前記語彙グループが取得された場合は、前記グループ辞書から当該語彙グループに含まれる前記語彙を取得するとともに、取得した前記語彙と、前記検索用キーワードとの同一文書中における出現回数である共起頻度を索引辞書を用いて算出し、当該共起頻度から前記検索用キーワードと共起関係にあると判断される前記語彙を取得する共起グループ処理部とを備える。
実施形態に係る文書検索システムのモジュール構成図である。 実施形態に係る文書検索システムに登録される文書の一例を示す図である。 実施形態に係る文書検索システムに登録されるデータから切り出した語彙を示す図である。 実施形態に係る索引化部で作成する索引辞書の一例を示す図である。 実施形態に係る共起辞書作成処理部が作成する共起辞書の一例を示す図である。 実施形態に係る文書検索システムが保持する共起辞書を作成するために必要なパラメータの一例を示す図である。 実施形態に係るグループ化部で共起辞書内の語彙をグループ化するための処理の流れを示すフロー図である。 実施形態に係るグループ化部が作成した共起辞書の一例を示す図である。 実施形態に係るグループ化部が作成するグループ辞書の一例を示す図である。 実施形態に係る共起語彙取得部で検索用キーワードに関連する語彙を取得するための処理を示すフロー図である。 実施形態に係るキーワード入力部でキーワードを入力中の状態の一例を示す模式図である。 実施形態に係るキーワード入力部で文書検索システムが提示した関連キーワード一覧表示の一例を示す模式図である。
以下に、本発明にかかる文書検索システムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
図1は文書検索システムの機能構成例を示す構成図である。文書検索システム1は、例えばCPUやHDD(HardDiskDrive)を備えたサーバ装置20と、クライアント端末10とから構成され、クライアント端末10からの指示による文書登録と、登録した文書の検索を行うシステムとして構成されている。図1に示されるように、サーバ装置20は、文書登録装置2と、文書検索装置3と、索引辞書31と、共起辞書32と、共起辞書作成パラメータ33と、グループ辞書34と、を備えている。索引辞書31、共起辞書32、共起辞書作成パラメータ33、及びグループ辞書34のそれぞれの辞書は、サーバ装置20のHDDに記憶されている。
文書登録装置2は、クライアント端末10から登録するよう指示された文書41を登録する処理を行い、語彙切り出し部21と、索引化部22と、共起辞書生成部23と、グループ化部24とを備える。本実施形態の文書登録装置2の動作は文書41が文書検索システム1に登録文書として入力されることにより開始される。
文書検索装置3は、クライアント端末10のキーワード入力部11を通じて送信された検索用キーワードを受付けて検索用キーワードに一致する文章を検索し検索結果を文書42として利用者のクライアント端末10へと送信する。文書検索装置3は、入力中キーワード受信部25と、共起語彙取得部26と、共起グループ処理部27と、共起語彙提示部28と、入力済みキーワード受信部29と、キーワード検索処理部30と、を備える。
語彙切り出し部21は、文書検索システム1に登録する文書41内の文字列を解析し、索引に登録する語彙と呼ばれる単位の文字列を切り出す。この切り出し処理の一例を図2、及び図3を用いて説明する。図2は、文書検索システムに登録される文書の一例を示しており、文書はXMLフォーマット形式で記述されている。文書は、全体が<本></本>というタグで囲まれており、この<本></本>が一つの文書単位を定義している。<本>タグは、「出版日」という属性を持っており、値は“2000/1/1”である。また<本>タグは、子要素として<題名></題名>、<著者></著者>、<価格></価格>のタグを有しており、値はそれぞれ“スポーツ入門 野球” 、“高木太郎” 、“2000”である。各属性名やタグは、値の意味を表している。
図3は、図2の文書を語彙の単位に切り出した例であり、属性の値及びタグの値が、“2000”、”/”、”1”、”/”、”1”、”スポーツ”、”入門”、”野球”、”高木”、”太郎”、”2000”の単位で切り出されている。
索引化部22は、文書から語彙切り出し部21が切り出した語彙を、当該語彙が登場する文書に割り当てられた文書番号と対応付けて索引辞書31へと登録する。図4は、索引辞書31の一例を示している。図4に示した索引辞書31は、「語彙」と「登録文書番号リスト」の項目を有する。「語彙」は語彙切り出し部21で切り出された語彙が登録される。「登録文書番号リスト」は、各語彙がどの文書に存在するかが語彙に対応付けられた文書番号のリストとして記憶される。したがって、索引辞書31を参照することで、語彙を索引として、その語彙がどの文書に出現するかを把握することができる。図4は、図2で示した文書の文書番号を1001として図3の各語彙を索引辞書31に登録した時の例であり、切り出された各語彙に対応する「登録文書番号リスト」の最後に、文書番号1001がそれぞれ登録されている。語彙の索引辞書31への登録の際には、切り出された語彙が既に索引辞書31に記憶されている場合は、記憶済みの語彙の登録文書番号リストに新たな文書番号が追加される。一方、切り出された語彙が索引辞書31に記憶されていない場合には、新たに語彙と、新たな文書番号を含む登録文書番号リストが記憶される。
共起辞書生成部23は、語彙切り出し部21で切り出された語彙と、同一の文書内に出現して共起関係にある語彙とを対応付け共起情報として共起辞書32に登録する。共起辞書32は、同一文書中に出現した語彙と語彙との共起関係を共起情報として記録するものである。登録された共起辞書32の一例を図5に示す。図5の共起辞書32は「共起辞書サイズ」「語彙番号」、「グループ化判別フラグ」、「語彙」、「出現頻度」、「共起語彙番号リスト」、「語彙グループ総出現頻度」の項目を有する。「共起辞書サイズ」は共起辞書32がサーバ装置20において使用している記憶容量である。図5においては、「200MB」の記憶容量を使用している旨を示している。「語彙」は語彙切り出し部21で切り出された語彙を示す。「語彙番号」は「語彙」を識別するために共起辞書生成部23が各語彙に対して割り当てた番号である。「出現頻度」は「語彙」がこれまで登録された全文書内で出現した数である。「共起語彙番号リスト」は「語彙」と同一文書中に現れた語彙のリストである。共起語彙番号リストにおいて、語彙番号とともに記される()で囲まれた数字は、「語彙」と同じ文書中に出現した回数である共起頻度を示している。共起頻度は、図4で示した索引辞書31において、2つの語彙がともに出現する文書の個数をカウントすることによって、算出される。「語彙グループ総出現頻度」は「語彙」と同一文書中に現れた語彙のうち、「グループ化判別フラグ」が“true”である語彙グループに含まれる語彙の出現頻度の合計である。「グループ化判別フラグ」は、共起辞書32に登録されているレコードが、語彙か語彙グループであるかを判別するためのフラグである。trueの場合、そのレコードは語彙グループであり、falseの場合、そのレコードは語彙であることを示している。
図5では、図3にて切り出された語彙である”2000”、”/”、”1”、”スポーツ”、”入門”、”野球”、”高木”、”太郎”の各語彙に対して既に語彙番号23、21、22、1、3、2、24、25がそれぞれ割り当てられている。各語彙に対する共起関係が既に共起辞書32に登録されている場合は、共起語彙番号リストに語彙番号と共起頻度が記憶されているため、共起辞書生成部23は、該当する語彙の共起頻度の数値を更新する。ある語彙と他の語彙とが初めて同一文書中に出現した場合は、共起辞書生成部23は、新規に共起語彙番号リストに追加する。語彙がこれまで共起辞書32に登録されたものでない場合、共起辞書生成部23は、新たに語彙番号を取得してレコードを追加する。”高木”、”太郎”の2つの語彙は、”スポーツ”、”入門”、”野球”の語彙と図2の文書中で始めて共起関係となったため、それぞれの語彙の共起語彙番号リストの欄に共起頻度1として新規に追加される。
グループ化部24は、共起辞書32内において複数の語彙をグループ化し、語彙グループとしてグループ辞書34に登録する。このとき、共起辞書生成部23は、この新たな語彙グループを共起辞書32に新しいレコードとして追加するとともに、共起語彙番号リストの欄にこの語彙グループに含まれるそれぞれの語彙と共起関係にある他の語彙を追加する。また、共起辞書生成部23は、グループ化した語彙のレコード、及び共起語彙番号リスト中の語彙を共起辞書32から削除し、削除した語彙番号の変わりに共起語彙番号リストの欄には語彙グループの語彙番号と共起頻度とを追加する。グループ化部24の詳細な処理、及びグループ化部24が作成するグループ辞書34については後述する。
共起辞書作成パラメータ33は、共起辞書32内に登録した語彙をグループ化する際に用いるパラメータを記憶する。
図6はグループ化部24が共起辞書32に登録された語彙をグループ化する際に用いるパラメータの一例である。図6の共起辞書作成パラメータ33は「共起辞書最大サイズ(DicMaxSize)」、「トータル許容時間」、「通信コスト」、「その他処理時間」、「共起計算許容時間」、「共起計算処理能力」、「語彙グループ最大出現頻度(Wnum_max)」の項目を有する。「共起辞書最大サイズ(DicMaxSize)」は、予め定められた共起辞書の最大サイズを表す。共起辞書サイズが共起辞書最大サイズよりも大きくなった場合、共起辞書サイズを低減するために共起語彙のグループ化処理が行われる。「トータル許容時間」は利用者の入力中の検索用キーワードを文書検索装置3側で受け取ってからこの検索用キーワードと共起する語彙を提示するまでにかかる処理時間として想定する最大の時間である。「通信コスト」はクライアント端末10とサーバ装置20との間においてデータ通信に要する通信時間として想定される時間である。「その他の処理時間」とは、通信、及び共起関係の計算以外の処理にかかると想定される時間である。「共起計算許容時間」は「トータル許容時間」から「通信コスト」、「その他の処理時間」を除いたものであり、検索用キーワードと共起関係にある語彙を取得するまでに許容される最大の時間である。図6の場合「トータル許容時間」、「通信コスト」、「その他の処理時間」は各々100ms、60ms、20msと設定されているため、「共起計算許容時間」は100−60-20=20msとなる。「共起計算処理能力」は文書検索システム1において、2つの語彙が共起関係にあるかを一定時間(1ms)内に何個判断できるかを表すものである。「語彙グループ最大出現頻度(Wnum_max)」は共起辞書内の語彙をグループ化する際に計算される共起語彙の「語彙グループ総出現頻度」の最大値を示し、「共起計算許容時間」と「共起計算処理能力」から計算される。図6では「共起計算許容時間」、「共起計算処理能力」は20ms、5個/msであるため20×5=100が語彙グループの最大出現頻度である。語彙グループに含まれる語彙の出現頻度を合計した語彙グループ総出現頻度がWnum_maxを超える場合、本実施形態の文書検索システムの処理能力では、許容時間として設定した20ms以内に利用者に対して検索用キーワードに関連する別のキーワードを提示できないことになる。したがって、本実施形態においては、語彙グループを作成する際には、その語彙グループに含まれる語彙の数が、語彙グループ中の語彙の出現頻度の合計値が語彙グループWnum_maxを超えないように設定される。
キーワード入力部11は、利用者が検索する検索用キーワードを入力、または文書検索システム1が提示した関連キーワードの選択を受け付けてサーバ装置20へと送信する。キーワード入力部11は本実施形態においてはクライアント端末10に実装される。
入力中キーワード受信部25は、キーワード入力部11で利用者が入力中の検索用のキーワードを受信する。共起語彙取得部26は、入力中キーワード受信部25で受信したキーワードと共起する共起語彙番号リストを共起辞書32から取得する。共起語彙取得部26は、取得した共起語彙番号リストから、検索用キーワードと共起する語彙、又は語彙グループを取得する。共起語彙番号リストに含まれる語彙番号に該当するレコードが語彙グループのものであった場合、共起グループ処理部27は、グループ辞書34から語彙グループに対応付けられた各語彙を取得する。共起グループ処理部27は、取得したそれぞれの語彙に対する検索用キーワードの共起頻度を索引辞書31を用いて計算する。そして共起グループ処理部27は、計算結果から検索用キーワードと共起している語彙、すなわち共起頻度が1以上の語彙のみを関連するキーワードとして選択する。共起語彙提示部28は、共起語彙取得部26が取得した語彙、及び共起グループ処理部27が取得した検索用キーワードと共起する語彙を利用者へと提示する。共起語彙提示部28は、共起語彙の提示にあたっては、利用者が使用するクライアント端末10へと共起語彙のリストを送信する。クライアント端末10においては、リストが共起語彙として提示される。入力済みキーワード受信部29は、キーワード入力部11でユーザが入力を完了して検索が実行された際の検索用のキーワードを取得する。キーワード検索処理部30は、入力済みキーワード受信部29で取得された検索用キーワードを含む文書を索引辞書31から検索し、検索結果の文書42をクライアント端末10に対して送信する。
次に、グループ化部24が図6に示した共起辞書作成パラメータ33の数値を用いて、共起辞書32に登録された共起情報から語彙グループを作成する処理の流れの一例について図7〜図9を用いて説明する。図7は、語彙をグループ化するグループ化処理の流れを示したフロー図であり、図8はグループ化された後の状態の共起辞書32の一例を示した図である。また、図9は、グループ辞書34の一例を示した図である。グループ辞書34とは、共起辞書32内に登録された語彙をグループ化した際に、どの語彙がどのグループに属するかを記憶したものである。
図7で示される、グループ化処理は、文書が新たに登録されて共起辞書32に語彙が追加された後に開始される。まず、グループ化部24は、共起辞書32の共起辞書サイズが共起辞書最大サイズであるDicMaxSize以下であるか否かを判定する(ステップS10)。共起辞書32のサイズがDicMaxSizeより大きいと判定された場合(ステップS10:No)、グループ化部24は、共起辞書32内で最も出現頻度の低い語彙Wminと、その出現頻度とを取得する(ステップS20)。次に、グループ化部24は、Wminの語彙の出現頻度と、共起辞書32に登録されている語彙グループ総出現頻度とを加算した値がWnum_max以下であるかを判定する(ステップS30)。グループ化判別フラグがtrueのレコードが、共起辞書32に登録されていない場合、グループ化された語彙が存在していないため、この語彙グループ総出現頻度は「0」となっている。
Wminの語彙の出現頻度と、共起辞書32に登録されている語彙グループ総出現頻度とを加算した値がWnum_max以下であると判定された場合(ステップS30:Yes)、グループ化部24は、語彙グループ化候補リストListを初期化してWminの語彙を語彙グループ化候補リストListに追加する(ステップS40)。次に、グループ化部24は、Wminの次に出現頻度の低い語彙Wnextを取得する(ステップS50)。次に、グループ化部24は、共起辞書32に記憶された語彙グループ総出現頻度の値に、List内の語彙とWnextの語彙の出現頻度を加算した数値がWnum_max以下であるかを判定する(ステップS60)。
数値がWnum_max以下であると判定された場合(ステップS60:Yes)、グループ化部24は、ListにWnextを追加する(ステップS80)。その後ステップS50からの処理を繰り返す。
一方、数値がWnum_maxより大きいと判定された場合(ステップS60:No)、グループ化部24は、List内に含まれる語彙数が2以上であるかを判定する(ステップS70)。List内に含まれる語彙数が2以上と判定された場合(ステップS70:Yes)、グループ化部24は、List内の語彙をグループ化するために新規語彙番号N(Nは共起辞書32に語彙番号として登録されていない正の整数)を取得し、グループ辞書34に新規語彙番号NとList内の語彙リストを登録する(ステップS90)。
次に、共起辞書生成部23は、共起辞書32に新規要素として、語彙番号にNを、グループ化判別フラグにtrueを、語彙にグループ化の場合に記録する文字列「-------」を、出現頻度にList内の語彙全ての出現頻度を合算した値を、共起語彙番号リストにList内の語彙それぞれの共起情報を合算したものを、それぞれ登録する(ステップS100)。さらに、共起辞書生成部23は、語彙番号Nと共起する語の共起語彙番号リストに語彙番号Nと共起頻度を追加する(ステップS110)。また、共起辞書生成部23は、共起辞書32の語彙グループ総出現頻度の値に、List内の語彙の出現頻度を加算して更新し、語彙グループNと共起する語彙の語彙グループ総出現頻度の欄に、更新後の値を追加する(ステップS115)。
次に、共起辞書生成部23は、List内の各語彙を共起辞書32から削除する(ステップS120)。次に共起辞書生成部23は、削除した語彙と共起する語彙の共起語彙番号リストから削除した語彙番号を削除する(ステップS130)。その後ステップS10に進む。
なお、共起辞書サイズがDicMaxSize以下の場合(ステップS10:Yes)、Wminの語彙の出現頻度と、共起辞書32に登録されている語彙グループ総出現頻度とを加算した値がWnum_maxより大きいと判定された場合(ステップS30:No)、又はList内に含まれる語彙数が2未満であると判定された場合(ステップS70:No)、処理は終了する。
図5の共起辞書32を上記の処理の流れに従ってグループ化した場合の例について以下に示す。まず、図5の共起辞書32では共起辞書サイズが200MBであり、図6のDicMaxSizeの100MBよりも大きいことから、出現頻度の最も低い語彙番号10000の語彙”ペタンク”がWminとして取得される(ステップS10、S20)。次に、Wminである語彙“ペタンク”の出現頻度の10を加算した語彙グループ総出現頻度がWnum_maxの100よりも小さいことから、語彙グループ化候補リストListが初期化されて“ペタンク”が追加される(ステップS30、S40)。
さらに、次の出現頻度の低い語彙として語彙番号9999の語彙”南山之寿”がWnextとして取得される(ステップS50)。次に、List内の語彙と“南山之寿”の出現頻度の合計値が10+20=30であり、Wnum_maxより小さいためListに“南山之寿”が追加される(ステップS60、S80)。さらに、次の出現頻度が低い語彙として語彙番号9998の語彙”セパタクロー”がWnextとして取得される(ステップS50)。次に、List内の語彙と”セパタクロー”の出現頻度の合計値が10+20+34=64であり、Wnum_maxより小さいためListに”セパタクロー”が追加される(ステップS60、S80)。さらに、次の出現頻度が低い語彙として語彙番号9997の語彙”千秋万歳”がWnextとして取得される(ステップS50)。
List内の語彙と“千秋万歳”の出現頻度の合計値が10+20+34+101=165であり、Wnum_maxより大きくなり、さらにListの語彙数が2以上であるためList用に新規語彙番号10001が取得され、図9のようにグループ辞書34に語彙番号10001と、グループ内語彙リストとして”ペタンク”、”南山之寿”、”セパタクロー”が登録される(ステップS60、S70、S90)。
次に、図8に示されるように、共起辞書32に新規語彙番号10001、グループ化判別フラグにtrue、語彙に文字列「-------」、出現頻度に各語彙の合計出現頻度64、共起語彙番号リストに各語彙の共起語彙番号頻度を足し合わせたものである1(28)、3(12)、19(4)、40(16)、52(2)、78(2)が新たなレコードとして追加される(ステップS100)。次に追加した語彙番号10001の共起語彙番号リストにある各語彙番号1、3、19、40、52、78に対して、それぞれ語彙番号10001を共起語彙として追加し(S110)、それぞれの語彙グループ総出現頻度に今回グループ化した語彙の出現頻度の合計値を加えて更新する(S115)。次にListに追加した語彙番号9999、9998、9997が共起辞書のレコードから削除される(ステップS120)。次に削除した語彙番号9999、9998、9997と共起していた語彙番号1、3、19、40、52、78の共起語彙番号リストから削除した語彙番号が取り除かれる(ステップS130)。このように、共起辞書32からレコードを削除した結果、必要とする記憶容量が減り、削除後の共起辞書32のサイズは195MBになる。
図9はグループ化部24が共起辞書32の語彙をグループ化する際に作成するグループ辞書34の一例である。グループ辞書34は「語彙番号」、「グループ内語彙リスト」の項目を有する。「語彙番号」は語彙グループが共起辞書32から与えられる識別番号である。「グループ内語彙リスト」はグループ化した語彙のリストである。
次に、このようにグループ化された語彙が利用者による検索時に入力した検索用キーワードと共起した際の処理の流れを、図10を用いて説明する。本実施形態の文書検索装置3において共起する関連キーワードを提示する処理は、キーワード入力部11において利用者が1つのキーワードが入力され、続いてスペースキー(空白記号)が入力されると開始する。
図11はキーワード入力部11で利用者が検索用のキーワードを入力中の状態を示す一例である。図11では検索用キーワードとして“スポーツ”の入力後、次のキーワードを入力するためにスペースキーが入力されている。入力中のキーワード情報は入力中キーワード受信部25に渡され、さらに入力中キーワード受信部25から共起語彙取得部26に入力したキーワード”スポーツ”が渡される。次に、共起語彙取得部26は、キーワード”スポーツ”を共起辞書32から検索し、該当するレコードを取得する。図8で示した共起辞書32から、共起語彙取得部26は、語彙番号1のレコードを取得し、その共起語彙番号リストから検索用キーワードと共起する語彙と共起頻度の組合せのリストを関連語彙リストRWListとして取得する。
次に検索用のキーワードが入力中であって、検索が実行されるまでの間、図10で示した処理の流れに従って共起頻度を計算し、共起語彙提示部28が共起されている語彙を関連キーワードとしてユーザに提示する処理を説明する。なお、この処理においては、iという変数を用いる。iは1以上であり、かつ入力対象の関連語彙リストRWListの要素数以下である(i:1≦i≦RWList内の要素数)。
まず、共起語彙取得部26は、検索用キーワードと共起する関連語彙リストRWListを取得する(ステップS200)。次に、共起語彙取得部26は、i=1とし、RWListmax=RWListの語彙数と設定する(ステップS210)。次に共起語彙取得部26は、iがRWListmax以下であるかを判定する(ステップS220)。
iがRWListmax以下であると判定された場合(ステップS220:Yes)、共起語彙取得部26は、RWList内のi番目の語彙RWiを取得する(ステップS230)。次に、共起語彙取得部26は、共起辞書32を参照して語彙RWiのレコードを取得し、グループ化判別フラグの項目がtrueであるか否か、すなわち語彙グループであるか否かを判定する(ステップS240)。
グループ化判別フラグの項目がtrueの場合(ステップS240:Yes)、共起グループ処理部27は、グループ辞書34を参照して、該当する語彙番号に登録されているレコードを取得し、グループ内語彙リストの項目にある語彙リストWListを取得する(ステップS250)。共起グループ処理部27は、j=1(1≦j≦WListmax)と設定し、WList内の要素数=WListmaxとして設定する(ステップS260)。次に、共起グループ処理部27は、jがWListmax以下であるか否かを判定する(ステップS270)。
jがWListmax以下であると判定された場合(ステップS270:Yes)、共起グループ処理部27は、WList内のj番目の語彙Wjを取得する(ステップS280)。次に、共起グループ処理部27は、索引辞書31から語彙Wjと利用者が入力した検索用キーワードWinputの両方を含む文書の数Dnumを取得し(ステップS290)、Dnumが0より大きいか否かを判定する(ステップS300)。
Dnumが0より大きいと判定された場合(ステップS300:Yes)、共起グループ処理部27は、出力リストRListに語彙Wjを追加し(ステップS310)、ステップS320へと移行する。一方、Dnumが0であると判定された場合(ステップS300:No)、RListにその語彙Wjは追加されないまま、ステップS320へと移行する。
共起グループ処理部27は、jにj+1を代入し(j:=j+1)(ステップS320)、再びステップS270に戻って処理を繰り返す。
jがWListmaxより大きい、すなわち語彙グループ内の全ての語彙に対する共起関係の再計算が終了した場合(ステップS270:No)、ステップS340へと移行する。また、グループ化判別フラグの項目がfalse、すなわち語彙RWiが語彙グループでない場合(ステップS240:No)、出力リストRListに語彙RWiを追加し(ステップS330)、ステップS340へと移行する。
ステップS340では、共起語彙取得部26は、iにi+1を代入し(i:=i+1)(ステップS340)、再びステップS220に戻って処理を繰り返す。iがRWListmaxより大きいと判定された場合(ステップS220:No)、共起語彙提示部28は、出力リストRListの語彙を関連キーワードとして利用者に提示して終了する(ステップS350)。
図8の共起辞書32と図9のグループ辞書34と図11のキーワード入力画面に対して上述した処理が行われた結果のキーワード画面の一例を図12に示す。図11のキーワード入力画面で入力されたキーワード“スポーツ”は入力中キーワード受信部25を経て共起語彙取得部26に渡される。共起語彙取得部26は、共起辞書32から語彙の項目が“スポーツ”のレコードを取得する。さらに共起語彙取得部26はレコードの共起語彙番号リストの項目から共起語彙の番号と、共起頻度の組合せのリストである2(600)、3(200)、21(100)、22(80)、23(300)、24(1)、25(1)、10001(28)の8個の要素の組み合わせを関連語彙リストRWListとして取得する(ステップS200)。
次に、共起語彙取得部26はiに1を代入して、RWListmaxとしてRWListの要素数8を代入する(ステップS210)。次にiがRWListmax以下であるため1番目の語彙番号2を語彙RWiとして取得する(ステップ220、S230)。次に共起語彙取得部26は共起辞書32から語彙番号の項目が2のレコードを取得してグループ化判別フラグの項目を調べ、falseであるので出力リストRListに語彙“野球”とその共起頻度とを登録する(ステップS240、S330)。次に共起語彙取得部26はiにi+1として2を代入する(ステップS340)。同様にiが2〜7の場合も、共起語彙取得部26はグループ化判別フラグがfalseのためiが1の場合と同じ処理を繰り返す(ステップS220、S230、S240、S330、S340)。最後のステップS340でiに8が代入される(ステップS340)。
共起語彙取得部26は、RWListから8番目の語彙番号10001を語彙RWiとして取得する(ステップS220、S230)。次に、共起グループ処理部27は、共起辞書32から語彙番号の項目が10001のレコードを取得してグループ化判別フラグの項目を調べ、trueであるのでグループ辞書34から語彙番号の項目が10001のレコードを取得し、項目グループ内語彙リストから”ペタンク”、”南山之寿”、”セパタクロー”を取得してWListに格納する(ステップS240、S250)。
次に共起グループ処理部27は、jに1を代入して、WListmaxとしてWListの要素数3を代入する(ステップS260)。次にjがRListmax以下であるため、共起グループ処理部27は、1番目の語彙”ペタンク”を語彙Wjとして取得する(ステップS270、S280)。次に、共起グループ処理部27は、索引辞書31からWjの語彙“ペタンク”と入力キーワード“スポーツ”を含む文書を検索し、文書番号5、19を含む8件の文書を取得する(ステップS290)。文書が0件より大きいため、共起グループ処理部27は、出力リストRListに語彙“ペタンク”と、その共起頻度とを登録する(ステップS300、S310)。
次に共起グループ処理部27は、jに2を代入してWListの2番目の語彙“南山之寿”を取得する。次に共起グループ処理部27は、索引辞書31から語彙Wjの語彙“南山之寿”と入力キーワード“スポーツ”を含む文書を検索し、0件の文書を取得する(ステップS320、S270、S280、S290)。文書が0件であるため何もしないでjに3が代入される(ステップS300、S320)。次に共起グループ処理部27は、jがRListmax以下であるため3番目の語彙”セパタクロー”を語彙Wjとして取得する(ステップS270、S280)。次に共起グループ処理部27は、索引辞書31から語彙Wjの語彙“セパタクロー”と入力キーワード“スポーツ”を含む文書を検索し、文書番号136を含む20件の文書を取得する(ステップS290)。文書が0件より大きいため、共起グループ処理部27は、出力リストRListに語彙“セパタクロー”とその共起頻度とを追加する(ステップS300、S310)。次に、共起グループ処理部27は、jに4を代入するがRListmaxより大きい為、iに9を代入する(ステップS320、S270、S340)。次にiがRWListmaxより大きくなったため、共起語彙提示部28は、これまでRListに登録された語彙と共起頻度を、関連キーワードと想定するヒット件数として図12のように利用者が操作するクライアント端末10に提示して終了する(ステップS220、S350)。
以上に示した本実施形態の文書検索システムによれば、以下のような効果を奏することができる。すなわち、登録した文書から共起辞書32を作成する場合において、文書検索システム1は、共起辞書32のサイズが最大辞書サイズより大きい場合に、語彙のグループ化を行うこととしたため、不要なときにはグループ化を行う必要がなく、グループ化により関連キーワードの提示にかかる時間が増加することを防止することができる。
また、語彙をグループ化する際には、グループ化される語彙の出現頻度の合計値が最大出現頻度以下となるようにすることで、共起計算許容時間内の間に文書検索システム1が関連キーワードを利用者に対して提示できる件数に、語彙グループに含める語彙の数を設定することとしたため、関連キーワードの提示にかかる時間を所望の時間内にコントロールすることができるようになる。
更には、共起辞書32の語彙がグループ化されている場合、検索時においてグループ内の各語彙の共起頻度を索引辞書31から求めることで実際に検索用キーワードと共起する語彙のみを取得することができ、共起辞書32のサイズを小さくしても、関連キーワード提示に係る精度を落とすことなく関連キーワードを提示することができる。
なお、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上記実施形態においては語彙グループが一つである場合を示したが、語彙グループを複数のグループに分けて作成することもできる。その場合、語彙グループ総出現頻度は各語彙グループに含まれる語彙の出現頻度を合計したものとなる。
また、語彙グループを作成する際には、上記の登録文書中の共起関係に加え、概念辞書に基づいて概念が類似する語彙同士を同一の語彙グループに対応付けてグループ辞書34記憶するようにしてもよい。
また、語彙をグループ化する際には、上記実施形態においては、出現頻度が低いものから順にグループ化をするようにしたが、出現頻度が所定値より低いものをグループ化するようにしてもよい。
また、共起する語彙を取得する処理が開始されるタイミングを、利用者がキーワードを入力後に、スペースが入力されたときに開始されることとしたが、例えば検索用のキーワードが終わったことを検知し、この直後に開始されるようにしてもよい。また、検索用のキーワードは利用者が入力する方式ではなく、システムが自動的に入力するような方式に本実施形態を適用することもできる。
11…キーワード入力部
21…語彙切り出し部
22…索引化部
23…共起辞書生成部
24…グループ化部
25…入力中キーワード受信部
26…共起語彙取得部
27…共起グループ処理部
28…共起語彙提示部
29…入力済みキーワード受信部
30…キーワード検索処理部
31…索引辞書
32…共起辞書
33…共起辞書作成パラメータ
34…グループ辞書

Claims (7)

  1. 検索対象となる文書を登録する文書登録装置と、入力された検索用キーワードと一致する文書を検索する文書検索装置と、を備える文書検索システムであって、
    前記文書登録装置は、
    前記文書から語彙を切り出す語彙切り出し部と、
    切り出された前記語彙と、当該語彙が含まれる文書とを対応付けて索引辞書に記憶する索引化部と、
    一の語彙に対して、同一の文書内に出現して共起関係にある他の語彙を対応付けた共起情報を共起辞書に記憶する共起辞書生成部と、
    前記共起辞書のサイズが所定の最大サイズより大きい場合に、グループ化される前記語彙の文書中における出現頻度の合計値が所定の最大出現頻度以下となるよう前記共起辞書に記憶された複数の語彙を同一の語彙グループに対応付けグループ辞書に記憶するグループ化処理を実行するグループ化部と、
    を備え、
    前記共起辞書生成部は、当該語彙グループに含まれる語彙と共起関係にある語彙と前記語彙グループとを対応付けた共起情報を前記共起辞書に記憶するとともに、当該語彙グループに対応付けられた語彙の前記共起情報を前記共起辞書から削除し、
    前記文書検索装置は、
    入力された検索用キーワードを受け付ける入力中キーワード受信部と、
    前記入力中キーワード受信部で受け付けた前記検索用キーワードと共起する前記語彙または前記語彙グループを前記共起辞書から取得する共起語彙取得部と、
    前記語彙グループが取得された場合は、前記グループ辞書から当該語彙グループに含まれる前記語彙を取得するとともに、取得した前記語彙と、前記検索用キーワードとの同一文書中における出現回数である共起頻度を前記索引辞書を用いて算出し、当該共起頻度から前記検索用キーワードと前記共起関係にあると判断される前記語彙を取得する共起グループ処理部と、
    前記共起語彙取得部、及び前記共起グループ処理部が取得した前記語彙を前記検索用キーワードに対する関連キーワードとして提示する共起語彙提示部と
    を備えることを特徴とする文書検索システム。
  2. 前記グループ化部は、前記共起辞書に登録された前記語彙のうち、前記出現頻度が低い語彙から順に前記グループ化処理を行う
    ことを特徴とする請求項1に記載の文書検索システム。
  3. 前記グループ化部は、前記共起辞書に登録された前記語彙のうち、前記出現頻度が所定値以下の前記語彙に対して前記グループ化処理を行う
    ことを特徴とする請求項1に記載の文書検索システム。
  4. 前記最大出現頻度は、前記共起グループ処理部が、前記検索用キーワードと前記共起関係にある前記語彙を選択するまでに要する時間の許容値として予め設定された共起取得時間内に、ある語彙が他の語彙と前記共起関係にあるか否かを判断することのできる語彙数に基づき設定される
    ことを特徴とする請求項1に記載の文書検索システム。
  5. 前記グループ化部は、概念辞書に基づいて概念が類似する語彙同士を同一の前記語彙グループに対応付けて前記グループ辞書に記憶する
    ことを特徴とする請求項1に記載の文書検索システム。
  6. 前記共起語彙取得部は、利用者が前記検索用キーワードを入力後に新たな入力を検知すると、当該検索用キーワードと共起関係にある前記語彙、又は前記語彙グループを取得する
    ことを特徴とする請求項1に記載の文書検索システム。
  7. 検索対象となる文書を登録する文書登録装置と、入力された検索用キーワードと一致する文書を検索する文書検索装置と、を備える文書検索システムにおいて、実行される文書検索方法であって、
    前記文書登録装置が、前記文書から語彙を切り出す語彙切り出しステップと、
    前記文書登録装置が、切り出された前記語彙と、当該語彙が含まれる文書とを対応付けて索引辞書に記憶する索引化ステップと、
    前記文書登録装置が、一の語彙に対して、同一の文書内に出現して共起関係にある他の語彙を対応付けた共起情報を共起辞書に記憶する共起辞書生成ステップと、
    前記文書登録装置が、前記共起辞書のサイズが所定の最大サイズより大きい場合に、グループ化される前記語彙の文書中における出現頻度の合計値が所定の最大出現頻度以下となるよう前記共起辞書に記憶された複数の語彙を同一の語彙グループに対応付けグループ辞書に記憶するグループ化処理を実行するグループ化ステップと、
    前記文書登録装置が、当該語彙グループに含まれる語彙と共起関係にある語彙と、前記語彙グループとを対応付けた共起情報を前記共起辞書に記憶するとともに、当該語彙グループに対応付けられた語彙の前記共起情報を前記共起辞書から削除する共起辞書更新ステップと、
    前記文書検索装置が、入力された検索用キーワードを受け付ける入力中キーワード受信ステップと、
    前記文書検索装置が、前記入力中キーワード受信ステップで受け付けた前記検索用キーワードと共起する前記語彙または前記語彙グループを前記共起辞書から取得する共起語彙取得ステップと、
    前記文書検索装置が、前記語彙グループが取得された場合は、前記グループ辞書から当該語彙グループに含まれる前記語彙を取得するとともに、取得した前記語彙と、前記検索用キーワードとの同一文書中における出現回数である共起頻度を前記索引辞書を用いて算出し、当該共起頻度から前記検索用キーワードと共起関係にあると判断される前記語彙を取得する共起グループ処理ステップと、
    前記文書検索装置が、前記共起語彙取得ステップ、及び前記共起グループ処理ステップにて取得された前記語彙を前記検索用キーワードに対する関連キーワードとして提示する共起語彙提示ステップと
    を含む文書検索方法。
JP2012005225A 2012-01-13 2012-01-13 文書検索システム、文書検索方法 Active JP5364802B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012005225A JP5364802B2 (ja) 2012-01-13 2012-01-13 文書検索システム、文書検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012005225A JP5364802B2 (ja) 2012-01-13 2012-01-13 文書検索システム、文書検索方法

Publications (2)

Publication Number Publication Date
JP2013145448A JP2013145448A (ja) 2013-07-25
JP5364802B2 true JP5364802B2 (ja) 2013-12-11

Family

ID=49041221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012005225A Active JP5364802B2 (ja) 2012-01-13 2012-01-13 文書検索システム、文書検索方法

Country Status (1)

Country Link
JP (1) JP5364802B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326121B1 (ko) * 2017-09-20 2021-11-12 삼성에스디에스 주식회사 텍스트 컨텐츠 인덱싱 방법 및 그 장치
CN111651446B (zh) * 2020-06-02 2023-06-06 亚太恒星经济技术发展有限公司 一种基于大数据的数据重复频率监测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3687118B2 (ja) * 1994-12-01 2005-08-24 富士ゼロックス株式会社 関連語辞書作成装置および関連語辞書作成方法
JP3539282B2 (ja) * 1998-08-28 2004-07-07 トヨタ自動車株式会社 仕様設定支援装置
US8631004B2 (en) * 2009-12-28 2014-01-14 Yahoo! Inc. Search suggestion clustering and presentation

Also Published As

Publication number Publication date
JP2013145448A (ja) 2013-07-25

Similar Documents

Publication Publication Date Title
US11803596B2 (en) Efficient forward ranking in a search engine
US9639609B2 (en) Enterprise search method and system
JP5740029B2 (ja) 対話型サーチクエリーを改良するためのシステム及び方法
US8713024B2 (en) Efficient forward ranking in a search engine
US6442540B2 (en) Information retrieval apparatus and information retrieval method
US7680778B2 (en) Support for reverse and stemmed hit-highlighting
US8793259B2 (en) Information retrieval device, information retrieval method, and program
US20100287162A1 (en) method and system for text summarization and summary based query answering
JP4129048B2 (ja) 固有表現抽出装置、方法、及びプログラム
WO2012142553A2 (en) Identifying query formulation suggestions for low-match queries
US11573989B2 (en) Corpus specific generative query completion assistant
JP2008090401A (ja) 文書検索装置、文書検索方法および文書検索プログラム
WO2019009995A1 (en) SYSTEM AND METHOD FOR RESEARCHING MUSIC IN NATURAL LANGUAGE
JP4959603B2 (ja) ドキュメントを解析するためのプログラム,装置および方法
JP2000276487A (ja) 事例蓄積・検索装置、並びに事例蓄積方法および事例検索方法、並びに事例蓄積プログラムを記録したコンピュータで読取可能な記録媒体および事例検索プログラムを記録したコンピュータで読取可能な記録媒体
JP5364802B2 (ja) 文書検索システム、文書検索方法
JP5418138B2 (ja) 文書検索システム、情報処理装置およびプログラム
JPH0844771A (ja) 情報検索装置
JP4783563B2 (ja) インデックス生成プログラム、検索プログラム、インデックス生成方法、検索方法、インデックス生成装置および検索装置
JP2008026964A (ja) 検索処理装置及びプログラム
JP2004086307A (ja) 情報検索装置、情報登録装置、情報検索方法、及びコンピュータ読み取り可能なプログラム
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
JP7428035B2 (ja) データ検索装置、データ検索方法およびプログラム
JP7022789B2 (ja) 文書検索装置、文書検索方法およびコンピュータプログラム
JP7272540B2 (ja) 情報提供システム、情報提供方法、及びデータ構造

Legal Events

Date Code Title Description
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: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130909

R150 Certificate of patent or registration of utility model

Ref document number: 5364802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350