JP5426710B2 - Search support device, search support method and program - Google Patents
Search support device, search support method and program Download PDFInfo
- Publication number
- JP5426710B2 JP5426710B2 JP2012062595A JP2012062595A JP5426710B2 JP 5426710 B2 JP5426710 B2 JP 5426710B2 JP 2012062595 A JP2012062595 A JP 2012062595A JP 2012062595 A JP2012062595 A JP 2012062595A JP 5426710 B2 JP5426710 B2 JP 5426710B2
- Authority
- JP
- Japan
- Prior art keywords
- occurrence
- keyword
- word
- unit
- input
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明の実施形態は、検索支援装置、検索支援方法およびプログラムに関する。 Embodiments described herein relate generally to a search support apparatus , a search support method, and a program .
文書検索は、検索対象となる文書集合から、ユーザが指定した検索キーワードを含む文書を検索する技術である。ここで文書とは、電子化された文書そのものだけでなく、テキストデータを持つ各種のコンテンツを含む。文書検索におけるユーザの操作負担を軽減するため、従来、様々な検索支援方法が提案されている。 Document search is a technique for searching a document including a search keyword designated by a user from a set of documents to be searched. Here, the document includes not only the digitized document itself but also various contents having text data. Conventionally, various search support methods have been proposed in order to reduce a user's operation burden in document search.
例えば、過去の検索式の履歴に基づいて、検索キーワードの候補をユーザに提示する方法が知られている。この方法では、ユーザの入力操作によって例えば「拡散強調像」という検索キーワードが入力されると、それに続く検索キーワードの候補として、「遅延相」、「脂肪」、「高信号」、「軸位」など、過去の検索式の履歴の中で頻繁に共起する単語を提案する。この方法によれば、複数の検索キーワードを含む検索式の生成を容易にし、ユーザの操作負担を軽減することができる。しかし、この方法では、適切な検索キーワードの候補を提案するためには多くの履歴が必要であり、履歴が偏っていたり、不足している場合には提案の質が低下し、目的の文書を検索することができない懸念がある。 For example, a method of presenting search keyword candidates to a user based on a history of past search expressions is known. In this method, when a search keyword “diffusion weighted image”, for example, is input by the user's input operation, “delayed phase”, “fat”, “high signal”, “axial position” are selected as subsequent search keyword candidates. Suggest words that frequently occur in the history of past search formulas. According to this method, it is possible to easily generate a search expression including a plurality of search keywords and reduce the operation burden on the user. However, this method requires a lot of history in order to propose appropriate search keyword candidates, and if the history is biased or insufficient, the quality of the proposal decreases, and the target document There is a concern that it cannot be searched.
また、共起関係にある2つの単語の組み合わせを定義した共起辞書を用いて、検索キーワードの候補をユーザに提案する方法が知られている。この方法では、ユーザの入力操作によってある単語が検索キーワードとして入力されると、それに続く検索キーワードの候補として、入力された検索キーワードに対する共起確率が高い単語として共起辞書に登録されている単語を提案する。この方法によれば、複数の検索キーワードを含む検索式の生成を容易にし、ユーザの操作負担を軽減することができる。しかし、この方法では、事前に単語同士の共起関係を定義した共起辞書を準備する必要があり、また、事前に準備した共起辞書が検索対象となる文書集合に適合しない場合、提案の質が低下し、目的の文書を検索することができない懸念がある。 There is also known a method of proposing search keyword candidates to a user using a co-occurrence dictionary that defines a combination of two words having a co-occurrence relationship. In this method, when a word is input as a search keyword by the user's input operation, a word registered in the co-occurrence dictionary as a word having a high co-occurrence probability for the input search keyword as a subsequent search keyword candidate Propose. According to this method, it is possible to easily generate a search expression including a plurality of search keywords and reduce the operation burden on the user. However, with this method, it is necessary to prepare a co-occurrence dictionary in which co-occurrence relationships between words are defined in advance, and if the prepared co-occurrence dictionary does not match the document set to be searched, There is a concern that the quality will deteriorate and the target document cannot be retrieved.
以上のように、複数の検索キーワードを含む検索式の生成を容易にする従来技術では、提案の質が低下して目的の文書を検索できない場合があり、改良が求められる。 As described above, in the conventional technology that facilitates the generation of a search expression including a plurality of search keywords, the quality of the proposal may be deteriorated and the target document may not be searched, and improvement is required.
本発明が解決しようとする課題は、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる検索支援装置、検索支援方法およびプログラムを提供することである。 The problem to be solved by the present invention is to propose search keyword candidates suitable for a set of documents to be searched without requiring the user to perform complicated operations in advance, and appropriately support document search. A search support apparatus , a search support method, and a program are provided.
実施形態の検索支援装置は、抽出部と、算出部と、第1検出部と、第1生成部と、第2生成部と、第1認識部と、共起伝播部と、第2検出部と、第3生成部と、第2認識部と、提示部と、検索部と、を備える。抽出部は、検索対象の文書集合からキーワード候補を抽出する。算出部は、抽出された2つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出する。第1検出部は、前記共起確率が第1条件を満たす2つのキーワード候補の組み合わせである共起キーワード組を検出する。第1生成部は、前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成する。第2生成部は、入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成する。第1認識部は、前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識する。共起伝播部は、前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す。第2検出部は、前記共起確率がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出する。第3生成部は、前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成する。第2認識部は、前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第2条件を満たすワード列を提案ワード列と認識する。提示部は、前記提案ワード列を提示する。検索部は、提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行う。 The search support device of the embodiment includes an extraction unit, a calculation unit, a first detection unit, a first generation unit, a second generation unit, a first recognition unit, a co-occurrence propagation unit, and a second detection unit. And a third generation unit, a second recognition unit, a presentation unit, and a search unit. The extraction unit extracts keyword candidates from the document set to be searched. The calculation unit calculates a co-occurrence probability, which is a probability that one keyword candidate appears in the same document in the document set together with another keyword candidate, for the extracted combination of two keyword candidates. The first detection unit detects a co-occurrence keyword set that is a combination of two keyword candidates in which the co-occurrence probability satisfies the first condition. The first generation unit generates a co-occurrence dictionary that is a set of dictionary elements having one keyword candidate of the co-occurrence keyword set as a headword and the other keyword candidate as a co-occurrence word. The second generation unit generates a character string complement rule that is a rule for complementing the input character string to obtain keyword candidates included in the co-occurrence keyword set. A 1st recognition part recognizes the keyword candidate obtained by complementing an input character string according to the said character string complementation rule as an input keyword. The co-occurrence propagation unit refers to the co-occurrence dictionary, acquires a co-occurrence word of a dictionary element having the input keyword as an entry word, and acquires a co-occurrence word of a dictionary element having the acquired co-occurrence word as an entry word Repeat the process. The second detection unit detects a zero co-occurrence keyword set that is a combination of two keyword candidates having the co-occurrence probability of zero. The third generation unit generates a zero co-occurrence dictionary which is a set of dictionary elements in which one keyword candidate of the zero co-occurrence keyword set is a headword and the other keyword candidate is a zero co-occurrence word. The second recognizing unit refers to the zero co-occurrence dictionary, and includes the zero co-occurrence keyword set in a word string connecting the input keyword and the co-occurrence word acquired by the processing by the co-occurrence propagation unit. If there is a word string that simultaneously includes two keyword candidates that constitute a word string, the word string is excluded, and among the remaining word strings, a word string that satisfies the second condition is recognized as a proposed word string. The presenting unit presents the proposed word string. When the presented proposed word string is selected, the search unit generates a search formula based on the proposed word string and searches the document set.
以下、実施形態の検索支援装置および検索支援方法について、図面を参照しながら詳細に説明する。 Hereinafter, a search support device and a search support method of an embodiment will be described in detail with reference to the drawings.
(第1実施形態)
図1は、第1実施形態の検索支援装置100の機能的な構成を示すブロック図である。本実施形態の検索支援装置100は、図1に示すように、キーワード候補抽出部(抽出部)101と、インデックス生成部102と、共起確率算出部(算出部)103と、共起キーワード組検出部(第1検出部)104と、共起辞書生成部(第1生成部)105と、パトリシア木生成部(第2生成部)106と、入力受付部107と、入力キーワード認識部(第1認識部)108と、共起伝播部109と、提案ワード列認識部(第2認識部)110と、表示部(提示部)111と、検索部112と、を備える。
(First embodiment)
FIG. 1 is a block diagram illustrating a functional configuration of the
キーワード候補抽出部101は、検索対象の文書集合300から、検索キーワードの候補となるキーワード候補を抽出する。検索対象の文書集合300からキーワード候補を抽出する方法は特に限定されるものではなく、様々な方法を用いることができる。例えば、検索キーワードとして用いることができる多数の単語が登録された語彙辞書を参照し、検索対象の文書集合300に含まれる各文書から、語彙辞書に登録された単語をキーワード候補として抽出することができる。
The keyword
ここで、検索対象の文書集合300は、本実施形態の検索支援装置100を使用するユーザが任意に指定することができる。つまり、本実施形形態の検索支援装置100では、ユーザが検索対象の文書集合300を指定すると、キーワード候補抽出部101が、ユーザにより指定された文書集合300からキーワード候補を抽出する処理を実行する。以下では、検索対象の文書集合300の具体例として、図2に示すような書籍情報の集合を例示する。図2の例では、5つの書籍情報がそれぞれ文書1〜文書5として示されており、文書1〜文書5は、それぞれ「書籍名」、「著者名」、「訳者名」、「出版社」、「ISBN」、および「概要」の項目ごとに、対応する書籍の情報が例えばテキストデータで記述されている。キーワード候補抽出部101は、これら各文書の項目ごとに記述されたテキストデータからキーワード候補を抽出する。なお、検索対象の文書集合300は一般的に多数の文書の集合となるが、ここでは説明を簡単にするために5つの文書のみを例示している。
Here, the search target document set 300 can be arbitrarily designated by the user using the
図3は、図2に例示した文書集合300からキーワード候補抽出部101によって抽出されたキーワード候補の一例を示している。また、図4は、抽出されたキーワード候補と出現頻度との関係の一例を示している。キーワード候補の出現頻度は、文書集合300内の文書のうち、同一のキーワード候補が出現する文書数を表す。例えば、図2に例示した文書集合300において、キーワード候補の1つである「花子」は、文書1〜文書5からそれぞれ抽出されるため、キーワード候補「花子」の出現頻度は5である。
FIG. 3 shows an example of keyword candidates extracted by the keyword
キーワード候補抽出部101は、文書集合300からキーワード候補を抽出すると、抽出したキーワード候補を該キーワード候補が出現する文書を指し示す文書ポインタ情報とともにインデックス生成部102に対して出力する。また、キーワード候補抽出部101は、抽出した2つのキーワード候補の組み合わせを、共起確率算出部103に対して出力する。また、キーワード候補抽出部101は、抽出したキーワード候補と出現頻度との関係を示す図4のような情報を、図示しない記憶手段を用いて保持しておくことが望ましい。
When the keyword
インデックス生成部102は、キーワード候補抽出部101から入力したキーワード候補および文書ポインタ情報に基づいて、検索対象の文書集合300に対するインデックス301を生成する。インデックス301は、ある検索キーワードが入力された場合に、その検索キーワードが出現する文書を指し示す文書ポインタ情報を保持する。
The
共起確率算出部103は、キーワード候補抽出部101から入力した2つのキーワード候補の組み合わせのそれぞれについて、一のキーワード候補が他のキーワード候補とともに文書集合300内の同一文書に出現する確率である共起確率を算出する。
The co-occurrence
図5は、2つのキーワード候補の組み合わせの出現頻度の一例を示す図である。また、図6は、図5の出現頻度と文書集合300の文書総数とから算出される2つのキーワード候補間の共起確率の一例を示す図である。また、図7は、図6の共起確率に基づいて生成される共起ネットワークの一例を示す図である。2つのキーワード候補の組み合わせの出現頻度は、文書集合300内の文書のうち、2つのキーワード候補が同時に出現する文書数を表す。例えば、図2に例示した文書集合300において、キーワード候補である「花子」と「府中」は、文書1、文書2、および文書5において同時に出現するため、「花子」と「府中」の組み合わせの出現頻度は3である。
FIG. 5 is a diagram illustrating an example of the appearance frequency of a combination of two keyword candidates. FIG. 6 is a diagram illustrating an example of the co-occurrence probability between two keyword candidates calculated from the appearance frequency of FIG. 5 and the total number of documents in the document set 300. FIG. 7 is a diagram illustrating an example of a co-occurrence network generated based on the co-occurrence probability of FIG. The appearance frequency of the combination of two keyword candidates represents the number of documents in which two keyword candidates appear simultaneously in the documents in the document set 300. For example, in the document set 300 illustrated in FIG. 2, the keyword candidates “Hanako” and “Fuchu” appear simultaneously in
共起確率算出部103は、キーワード候補抽出部101から入力した2つのキーワード候補の組み合わせのそれぞれについて、まず、各組み合わせの出現頻度を求める。そして、共起確率算出部103は、求めた組み合わせの出現頻度を文書集合300に含まれる文書総数で除算することで、2つのキーワード候補間の共起確率を求める。そして、共起確率算出部103は、求めた共起確率を保持する図7に示すような共起ネットワークを生成し、生成した共起ネットワークを共起キーワード組検出部104に対して出力する。共起ネットワークは、図7に示すように、キーワード候補をノードとし、共起関係にあるノード同士をリンクで結び、リンクに共起確率を対応付けたものである。
The co-occurrence
共起キーワード組検出部104は、共起確率算出部103から入力した共起ネットワークに基づいて、共起確率が第1条件を満たす2つのキーワード候補の組み合わせである共起キーワード組を検出し、共起辞書生成部105およびパトリシア木生成部106に対して出力する。ここで、第1条件としては、例えば、最終的に得られる共起キーワード組の個数が閾値β以上になるように設定される閾値αに対して、共起確率が閾値αよりも大きいという条件を用いることができる。なお、第1条件はこの例に限らず、予め定めた様々な条件を用いることができる。
The co-occurrence keyword set
図8は、共起確率が閾値αよりも大きい共起キーワード組を検出する場合の共起キーワード組検出部104による処理の一例を示すフローチャートである。
FIG. 8 is a flowchart illustrating an example of processing performed by the co-occurrence keyword set
共起キーワード組検出部104は、まず、閾値αを予め定めた初期値に設定し、共起確率算出部103で算出された共起確率が閾値αよりも大きいキーワード候補の組み合わせを抽出する(ステップS101)。具体的には、共起キーワード組検出部104は、例えば、共起確率算出部103から入力した共起ネットワークの1つのノードを取り出して、そのノードに対して閾値αよりも大きい共起確率に対応するリンクで結ばれたノードを特定し、これら2つのノードが示す2つのキーワード候補の組み合わせを抽出する。そして、共起キーワード組検出部104は、共起ネットワークのすべてのノードに対して上記の処理を繰り返し、共起確率が閾値αよりも大きいキーワード候補の組み合わせをすべて抽出する。
The co-occurrence keyword set
次に、共起キーワード組検出部104は、ステップS101で抽出したキーワード候補の組み合わせの個数をカウントし、抽出したキーワード候補の組み合わせの個数が閾値β以上か否かを判定する(ステップS102)。この判定の結果、抽出したキーワード候補の組み合わせの個数が閾値β未満であれば(ステップS102:No)、共起キーワード組検出部104は、閾値αを所定量減少させ(ステップS103)、ステップS101に戻って上記の処理を繰り返す。一方、抽出したキーワード候補の組み合わせの個数が閾値β以上であれば(ステップS102:Yes)、抽出したキーワード候補の組み合わせを共起キーワード組として、共起辞書生成部105およびパトリシア木生成部106に対して出力する(ステップS104)。
Next, the co-occurrence keyword set
共起辞書生成部105は、共起キーワード組検出部104から入力した共起キーワード組に基づいて、共起辞書302を生成する。共起辞書302は、図9に示すように、(見出し語、共起語、共起確率)の3つの要素を1組としたデータ構造を持つ辞書要素の集合であり、見出し語が指定されたときに、その見出し語を持つ辞書要素を検索して共起語および共起確率を取得することができる。共起辞書生成部105は、共起キーワード組検出部104から入力したすべての共起キーワード組について、各共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とし、これらキーワード候補間の共起確率を記述した辞書要素を生成し、これら辞書要素の集合である共起辞書302を生成する。共起辞書生成部105により生成された共起辞書302の一例を図10に示す。なお、共起辞書302の全体は大きくなるため、図10では、便宜上一部のみを示している。
The co-occurrence
パトリシア木生成部106は、共起キーワード組検出部104から入力した共起キーワード組に基づいて、入力文字列を補完して共起キーワード組に含まれるキーワード候補を得るためのパトリシア木303(文字列補完規則)を生成する。パトリシア木生成部106により生成されたパトリシア木303の一例を図11に示す。なお、パトリシア木303の全体は大きくなるため、図11では、便宜上一部のみを示している。
Based on the co-occurrence keyword set input from the co-occurrence keyword set
パトリシア木303は、図11に示すように、各ノードが部分文字列を持つ木構造として表される。ルートから末端側へと順次ノードを辿り、各ノードが持つ各部分文字列を順次結合し、末端ノードであるリーフに到達した時点で得られた文字列が出力文字列として求められる。パトリシア木生成部106は、共起キーワード組検出部104から入力した共起キーワード組に含まれるキーワード候補をそれぞれ部分文字列に分割し、共通する部分文字列をマージすることによって、共起キーワード組に含まれるキーワード候補が出力文字列となるパトリシア木303を生成する。図11に示すパトリシア木303の範囲では、「おりおん」、「おりんぴっく」、「おりんぽす」、「とうよう」、「とうきょう」、「はるこ」、「はなこ」が、それぞれ出力文字列となる。
As shown in FIG. 11, the
入力受付部107は、ユーザからの操作入力を受け付ける。例えば、ユーザがキーボードなどの入力デバイスを用いて文字列を入力する操作を行った場合、入力受付部107はユーザによる文字列の入力を受け付けて、入力された文字列(入力文字列)を入力キーワード認識部108に対して出力する。ここで、入力文字列は1つの単語を構成しない部分文字列を含む。また、ここでは1文字のみの入力であっても入力文字列として扱う。入力受付部107は、入力文字列が変化するたびに、変化語の新たな入力文字列を入力キーワード認識部108に対して出力する。また、ユーザが例えば改行キーの押下など、入力文字列を確定する所定の操作を行った場合には、入力受付部107は、確定された入力文字列を検索キーワードとして検索部112に対して出力する。さらに、入力受付部107は、ユーザによって後述する表示部111に表示された提案ワード列のうちのいずれかを選択する操作が行われた場合には、その操作を受け付けて、選択された提案キーワード列に含まれる各キーワード候補を検索キーワードとして検索部112に対して出力する。
The
入力キーワード認識部108は、パトリシア木生成部106により生成されたパトリシア木303に従って、入力受付部107が受け付けた入力文字列を補完することで得られるキーワード候補を入力キーワードと認識し、認識した入力キーワードを共起伝播部109に対して出力する。すなわち、入力キーワード認識部108は、ユーザがこれまでに入力した入力文字列を入力受付部107から受け取り、パトリシア木303を検索することによって、後続で入力される可能性のある文字列を推定して、入力文字列を先頭とし、共起キーワード組に含まれるキーワード候補と一致する文字列を求める。このとき、得られる文字列は、共起キーワード組に含まれるキーワード候補のうち、入力文字列と前方一致するものすべてとなる。ここで得られるすべての文字列を入力キーワードとすると後段の処理負荷が著しく増加することが懸念されるので、入力キーワード認識部108は、得られた文字列のうち、入力キーワードと認識する文字列を絞り込むことが望ましい。絞り込みの方法としては、例えば、上述したように、キーワード候補抽出部101により抽出されたキーワード候補と出現頻度との関係を示す図4のような情報が保持されている場合、この情報を参照し、出現頻度が大きい順に上位M0件(M0は予め定めた自然数)を入力キーワードと認識するといった方法を用いることができる。
The input
また、入力キーワード認識部108は、ユーザから新たに入力された文字に対して、これまでの入力で得られたパトリシア木303のノードを基点として、新たに入力された文字に対応する次のノードを探索して、新たに入力された文字を加えた入力文字列と前方一致するキーワード候補を取得する。そして、そのうちの上位M0件を入力キーワードと認識し、共起伝播部109に対して出力する。入力キーワード認識部108は、ユーザによって新たな文字の入力が行われるたびに上記処理を繰り返す。
In addition, the input
共起伝播部109は、共起辞書生成部105により生成された共起辞書302を参照し、入力キーワード認識部108から入力した入力キーワードを見出し語とする辞書要素の共起語を取得し、さらに、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す。具体的には、共起伝播部109は、入力キーワード認識部108から入力したM0件の入力キーワードそれぞれについて、共起辞書302を検索して入力キーワードに対する共起語を求め、複数求められた共起語のうち、入力キーワードとの間の共起確率が大きい順に上位M1件(M1は予め定めた自然数)の共起語を1段共起語として一時的に記憶する。そして、共起伝播部109は、M1件の1段共起語のそれぞれについて、共起辞書302を検索して1段共起語に対する共起語を求め、複数求められた共起語のうち、1段共起語との間の共起確率が大きい順に上位M2件(M2は予め定めた自然数)の共起語を2段共起語として一時的に記憶する。このとき、共起伝播部109は、入力キーワードと1段共起語との間の共起確率に対して、1段共起語と2段共起語との間の共起確率を積算した値である積算共起確率を求め、一時的に記憶する。さらに、共起伝播部109は、求めた積算共起確率が閾値γよりも大きければ、2段共起語から3段共起語、3段共起語から4段共起語といったように、入力キーワードから共起関係が伝播するキーワード候補を順次求める処理を繰り返し、共起関係にあるキーワード候補間の共起確率を順次積算した値である積算共起確率を求めていく。そして、共起伝播部109は、求めた積算共起確率が閾値γ以下になると処理を停止する。
The
すなわち、共起伝播部109は、入力キーワードを見出し語とする辞書要素の共起語を1段共起語とし、L−1段共起語(Lは2以上の自然数)を見出し語とする辞書要素の共起語をL段共起語としたときに、Lを1ずつ増加させながらL段共起語を取得する処理を繰り返し、入力キーワードと1段共起語との間の共起確率に対して、L−1段共起語とL段共起語との間の共起確率を順次積算した値である積算共起確率が閾値γ以下になると、処理を停止する。そして、共起伝播部109は、処理を停止した段階で得られた入力キーワードからL段共起語までを繋げたワード列、あるいは、入力キーワードからL−1段共起語までを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部110に対して出力する。なお、共起確率の高いキーワード同士で伝播が繰り返すことを避けるために、同じキーワード候補が重複するワード列は処理の対象から除外する。共起伝播部109は、入力キーワード認識部108から新たな入力キーワードを入力するたびに、上記の処理を実施する。
That is, the
図12は、共起伝播部109から提案ワード列認識部110に対して出力されるワード列のデータ構造の一例を示す図である。共起伝播部109から提案ワード列認識部110に対しては、例えば図12に示すように、入力キーワード、1段共起語、・・・、L段共起語を繋げたワード列と、そのワード列の積算共起確率とを組み合わせたデータが出力される。また、入力キーワードからL−1段共起語までを繋げてワード列とする場合は、入力キーワード,・・・,L−1段共起語を繋げたワード列と、そのワード列の積算共起確率とを組み合わせたデータが、共起伝播部109から提案ワード列認識部110に対して出力される。
FIG. 12 is a diagram illustrating an example of a data structure of a word string output from the
なお、上記の例では、積算共起確率が閾値γ以下になると共起伝播部109がL段共起語を取得する処理を停止するものとして説明したが、共起伝播部109が処理を停止する条件はこの例に限定されるものではなく、例えば、得られたワード列の数が上限に達すると共起伝播部109の処理を停止する、あるいは、1段共起語に繋がる共起語の数が上限に達すると共起伝播部109の処理を停止するといった条件を用いるようにしてもよい。また、上記の例では、1段共起語からL段共起語を取得する処理を行う際に、得られる共起語の共起確率が大きい順に上位M1件、上位ML件を絞り込むようにしているが、共起語を取得する条件となる共起確率を予め定めておき、この予め定めた共起確率以上のものを1段共起語からL段共起語として順次取得するようにしてもよい。
In the above example, it has been described that the
提案ワード列認識部110は、共起伝播部109から入力したワード列のうち、第2条件を満たすワード列を提案ワード列と認識し、認識した提案ワード列を表示部111に対して出力する。ここで、第2条件としては、例えば、積算共起確率が大きい順に上位N件(Nは予め定めた自然数)という条件を用いることができる。なお、第2条件はこの例に限らず、予め定めた様々な条件を用いることができる。
The proposed word
図13は、入力キーワード認識部108、共起伝播部109および提案ワード列認識部110による処理の一例を示すフローチャートである。
FIG. 13 is a flowchart illustrating an example of processing by the input
入力キーワード認識部108は、入力受付部107から入力文字列を入力すると、パトリシア木303に基づいて、入力文字列を補完して得られるキーワード候補を取得し、取得したキーワード候補のうち、出現頻度が大きい順に上位M0件のキーワード候補を入力キーワードと認識する(ステップS201)。そして、入力キーワード認識部108は、認識した入力キーワードを、共起伝播部109に対して出力する。
When the input
次に、共起伝播部109は、入力キーワード認識部108からM0件の入力キーワードを入力すると、共起辞書302を参照して、M0件の入力キーワードの共起語をそれぞれ求め、これら共起語のうち、入力キーワードとの間の共起確率が大きい順に上位M1件のキーワード候補を1段共起語として取得する(ステップS202)。また、共起伝播部109は、共起辞書302を参照して、L−1段共起語(Lは2以上の自然数)の共起語をそれぞれ求め、これら共起語のうち、L−1段共起語との間の共起確率が大きい順に上位ML件のキーワード候補をL段共起語として取得する(ステップS203)。そして、共起伝播部109は、入力キーワードと1段共起語との間の共起確率に対して、L−1段共起語とL段共起語との間の共起確率を順次積算した値である積算共起確率が閾値γ以下であるか否かを判定する(ステップS204)。この判定の結果、積算共起確率が閾値γよりも大きければ(ステップS204:No)、共起伝播部109は、Lの値をインクリメント(+1)して(ステップS205)ステップS203に戻り、L段共起語を取得する処理を繰り返す。一方、積算共起確率が閾値γ以下であれば(ステップS204:Yes)、共起伝播部109は、入力キーワードと取得した共起語とを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部110に対して出力する。
Next, when the
次に、提案ワード列認識部110は、共起伝播部109からワード列を入力すると、入力したワード列のうち、積算共起確率が大きい順に上位N件のワード列を提案ワード列として認識する(ステップS206)。そして、提案ワード列認識部110は、認識した提案ワード列を表示部111に対して出力する(ステップS207)。
Next, when a word string is input from the
表示部111は、提案ワード列認識部110から入力した提案ワード列を表示して、ユーザに提示する。表示部111が表示する提案ワード列は、ユーザがマウスやキーボードなどの入力デバイスを用いて、そのいずれかを選択することができる。表示部111が表示する提案ワード列のいずれかをユーザが選択した場合、その操作が入力受付部107により受け付けられ、選択された提案ワード列に含まれる各キーワード候補がそれぞれ検索キーワードとして検索部112に出力される。また、表示部111は、後述の検索部112から検索結果を入力した場合は、検索結果を表示する。
The display unit 111 displays the suggested word string input from the suggested word
検索部112は、表示部111が表示する提案ワード列のうちのいずれかがユーザにより選択された場合に、選択された提案ワード列に含まれる各キーワード候補を受け取り、これらキーワード候補のすべてを検索キーワードとして含む検索式を生成して、文書集合300に対する検索を行う。具体的には、検索部112は、インデックス生成部102が生成したインデックス301を参照して、検索式に含まれる検索キーワードを含む文書ポインタ情報を順次検索し、検索式に含まれるすべての検索キーワードを含む文書への文書ポインタ情報を求める。次に、検索部112は、検索対象の文書集合300から、得られた文書ポインタ情報が指し示す文書を求め、必要な情報を検索結果として表示部111に対して出力する。
The
本実施形態の検索支援装置100は、ハードウェア構成として、例えば、CPUなどの制御装置、ROMやRAMなどの内部記憶装置、キーボードやマウスなどの入力デバイス、液晶パネルなどの表示装置、ハードディスク、CD、DVD、フラッシュメモリなどの外部記憶装置を備えた、通常のコンピュータを利用したハードウェア構成を採用することができる。この場合、コンピュータがプログラムを実行することによって、本実施形態の検索支援装置100における上記の機能的な構成を実現することができる。また、インデックス301、共起辞書302、およびパトリシア木303は、例えば、ハードディスクやフラッシュメモリなどの外部記憶装置に格納しておくことができる。
The
次に、図2に例示した文書集合300を検索対象として検索を行う場合を例に挙げて、本実施形態の検索支援装置100による処理の具体例について説明する。以下では、図2に示した文書集合300から図10に例示した共起辞書302および図11に例示したパトリシア木303が生成されているものとする。
Next, a specific example of processing performed by the
まず、ユーザがキーボードなどの入力デバイスを用いて文字列「お」を入力すると、入力受付部107がこの文字列の入力を受け付けて、入力文字列「お」を入力キーワード認識部108に対して出力する。入力キーワード認識部108は、入力受付部107から入力文字列「お」を受け取り、図11に例示したパトリシア木303を検索して、入力キーワードを認識する処理を行う。入力キーワード認識部108は、まず、入力文字列「お」に該当するノードを求めるために、図11に例示したパトリシア木303をルートから順に探索し、「お」に該当するノードとして「おり」のノードを取得する。次に、入力キーワード認識部108は、その「おり」のノードからたどれるリーフ群を特定し、そのリーフが示す文字列を「おり」に後続する文字列として求め、入力文字列「お」を補完したキーワード候補を求める。この場合は「オリンピック」、「オリオン」および「オリンポス」が得られる。入力キーワード認識部108は、得られたキーワード候補のうち、出現頻度が大きい順に上位M0件を入力キーワードと認識する。ここでは、M0=3と定められているものとする。この場合、入力キーワード認識部108は、「オリンピック」、「オリオン」および「オリンポス」を入力キーワードと認識し、これらの入力キーワードを共起伝播部109に対して出力する。
First, when a user inputs a character string “O” using an input device such as a keyboard, the
共起伝播部109は、入力キーワード「オリンピック」、「オリオン」および「オリンポス」を入力キーワード認識部108から受け取り、図10に例示した共起辞書302を参照して、これら入力キーワードを見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
(オリオン、花子、0.75)
(オリオン、小向、0.5)
(オリオン、磯子、0.5)
(オリオン、次郎、0.5)
(オリオン、ワールドカップ、0.5)
(オリオン、出版、0.4)
(オリオン、鎌倉、0.33)
(オリオン、杉田、0.33)
(オリオン、東洋、0.25)
(オリオン、府中、0.25)
(オリンピック、東洋、0.67)
(オリンピック、堀川、0.5)
(オリンピック、芝浦、0.5)
(オリンピック、川崎、0.5)
(オリンピック、春子、0.5)
(オリンピック、次郎、0.5)
(オリンピック、世界、0.5)
(オリンピック、陸上、0.5)
(オリンピック、太郎、0.5)
(オリンピック、出版、0.4)
(オリンピック、花子、0.4)
(オリンピック、府中、0.25)
(オリンポス、鎌倉、0.5)
(オリンポス、東京、0.5)
(オリンポス、府中、0.33)
(オリンポス、出版、0.2)
(オリンポス、花子、0.2)
The
(Orion, Hanako, 0.75)
(Orion, Komukai, 0.5)
(Orion, Isogo, 0.5)
(Orion, Jiro, 0.5)
(Orion, World Cup, 0.5)
(Orion, Publishing, 0.4)
(Orion, Kamakura, 0.33)
(Orion, Sugita, 0.33)
(Orion, Toyo, 0.25)
(Orion, Fuchu, 0.25)
(Olympic, Oriental, 0.67)
(Olympic, Horikawa, 0.5)
(Olympic Games, Shibaura, 0.5)
(Olympic, Kawasaki, 0.5)
(Olympic, Haruko, 0.5)
(Olympic, Jiro, 0.5)
(Olympic, World, 0.5)
(Olympic, land, 0.5)
(Olympic, Taro, 0.5)
(Olympic, publication, 0.4)
(Olympic, Hanako, 0.4)
(Olympic, Fuchu, 0.25)
(Olympos, Kamakura, 0.5)
(Olympos, Tokyo, 0.5)
(Olympos, Fuchu, 0.33)
(Olympus, Publishing, 0.2)
(Olympus, Hanako, 0.2)
次に、共起伝播部109は、得られた辞書要素の共起語の中から、見出し語(入力キーワード)との間の共起確率が大きい順に上位M1件の共起語を1段共起語として取得する。ここでは、M1=3に設定されているものとする。なお、見出し語との間の共起確率が同じ共起語については、例えば、見出し語の出現頻度が大きい順、共起語の出現頻度が大きい順などを基準として、取得する共起語を決定することができる。この場合、入力キーワード「オリオン」との間の共起確率が0.75の「花子」、入力キーワード「オリンピック」との間の共起確率が0.67の「東洋」、入力キーワード「オリオン」との間の共起確率が0.5の「小向」がそれぞれ1段共起語として取得される。
Next, the
さらに、共起伝播部109は、1段共起語と共起関係にある2段共起語を求めるため、再度共起辞書302を参照して、1段共起語を見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
(花子、オリオン、0.75)
(花子、府中、0.6)
(花子、鎌倉、0.4)
(花子、杉田、0.4)
(花子、オリンピック、0.4)
(東洋、オリンピック、0.67)
(東洋、出版、0.6)
(東洋、小向、0.33)
(東洋、太郎、0.33)
(東洋、堀川、0.33)
(東洋、芝浦、0.33)
(小向、杉田、0.5)
(小向、東京、0.5)
(小向、オリオン、0.5)
Further, the
(Hanako, Orion, 0.75)
(Hanako, Fuchu, 0.6)
(Hanako, Kamakura, 0.4)
(Hanako, Sugita, 0.4)
(Hanako, Olympics, 0.4)
(Toyo, Olympics, 0.67)
(Toyo, Publishing, 0.6)
(Toyo, Komukai, 0.33)
(Toyo, Taro, 0.33)
(Toyo, Horikawa, 0.33)
(Toyo, Shibaura, 0.33)
(Komukai, Sugita, 0.5)
(Komukai, Tokyo, 0.5)
(Komukai, Orion, 0.5)
次に、共起伝播部109は、得られた辞書要素の共起語の中から、積算共起確率が閾値γよりも大きくなる共起語を、1段共起語に繋がる2段共起語として取得する。ここでは、閾値γ=0.37に設定されているものとする。この場合、1段共起語「花子」に対しては、入力キーワードである「オリオン」との間の共起確率が0.75であるので、積算共起確率が0.37よりも大きくなるには共起確率が0.49以上の2段共起語を取得する必要があり、この条件を満たす「オリオン」および「府中」が、それぞれ2段共起語として取得される。ただし、「オリオン」は入力キーワードと重複するため、処理の対象から除外される。また、1段共起語「東洋」に対しては、入力キーワードである「オリンピック」との間の共起確率が0.67であるので、積算共起確率が0.37よりも大きくなるには共起確率が0.55以上の2段共起語を取得する必要があり、この条件を満たす「オリンピック」および「出版」が、それぞれ2段共起語として取得される。ただし、「オリンピック」は入力キーワードと重複するため、処理の対象から除外される。また、1段共起語「小向」に対しては、入力キーワードである「オリオン」との間の共起確率が0.5であるので、積算共起確率が0.37よりも大きくなるには共起確率が0.8以上の2段共起語を取得する必要があるが、この条件を満たす共起語は存在しないため、2段共起語は得られない。
Next, the
以上の処理の結果、入力キーワードと1段共起語と2段共起語とを繋げたワード列として、(オリオン、花子、府中、0.45)および(オリンピック、東洋、出版、0.4)が得られる。 As a result of the above processing, (Orion, Hanako, Fuchu, 0.45) and (Olympic, Toyo, Publishing, 0.4) are used as word strings connecting the input keyword, the first-stage co-occurrence word, and the second-stage co-occurrence word. ) Is obtained.
その後、共起伝播部109は、2段共起語と共起関係にある3段共起語を求めるため、再度共起辞書302を参照して、2段共起語を見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
(府中、鎌倉、0.67)
(府中、出版、0.6)
(府中、花子、0.6)
(出版、東洋、0.6)
(出版、府中、0.6)
(出版、オリオン、0.4)
Thereafter, the
(Fuchu, Kamakura, 0.67)
(Fuchu, Publishing, 0.6)
(Fuchu, Hanako, 0.6)
(Publishing, Toyo, 0.6)
(Publishing, Fuchu, 0.6)
(Publishing, Orion, 0.4)
次に、共起伝播部109は、得られた辞書要素の共起語の中から、積算共起確率が閾値γ=0.37よりも大きくなる共起語を、2段共起語に繋がる3段共起語として取得する処理を行う。この場合、2段共起語「府中」に対しては、それまでの積算共起確率が0.45であるので、積算共起確率が0.37よりも大きくなるには共起確率が0.82以上の3段共起語を取得する必要があるが、この条件を満たす共起語は存在しないため、3段共起語は得られない。また、2段共起語「出版」に対しては、それまでの積算共起確率が0.4であるので、積算共起確率が0.37よりも大きくなるには共起確率が0.99以上の3段共起語を取得する必要があるが、この条件を満たす共起語は存在しないため、3段共起語は得られない。このため、共起伝播部109は共起語を伝播させる処理を停止して、それまでの処理で得られたワード列である(オリオン、花子、府中、0.45)および(オリンピック、東洋、出版、0.4)を、提案ワード列認識部110に対して出力する。
Next, the
提案ワード列認識部110は、共起伝播部109からワード列である(オリオン、花子、府中、0.45)および(オリンピック、東洋、出版、0.4)を受け取り、これらワード列のうち、積算共起確率が大きい順に上位N件を提案ワード列と認識する。ここでは、N=2と定められているものとする。なお、積算共起確率が同じワード列については、例えば、入力キーワードの出現頻度が大きい順、1段共起語の出現頻度が大きい順、2段共起語の出現頻度が大きい順などを基準として、N件の提案ワード列を決定することができる。この場合、提案ワード列認識部110は、(オリオン、花子、府中)および(オリンピック、東洋、出版)をそれぞれ提案ワード列と認識し、これらの提案ワード列を表示部111に対して出力する。
The proposed word
表示部111は、提案ワード列認識部110から提案ワード列(オリオン、花子、府中)および(オリンピック、東洋、出版)を受け取ると、これら提案ワード列を表示してユーザに提示する。そして、ユーザがマウスなどの入力デバイスを用いて、表示部111に表示された提案ワード列のうち、例えば(オリオン、花子、府中)を選択する操作を行うと、この選択操作が入力受付部107によって受け付けられ、提案ワード列に含まれる「オリオン」、「花子」、および「府中」の各キーワード候補がそれぞれ検索部112に出力される。なお、提案ワード列が表示部111に表示された状態で、ユーザがいずれかの提案ワード列を選択せずに文字列の入力を続け、例えば「おりん」という文字列を入力した場合は、入力キーワード認識部108が「オリンピック」および「オリンポス」を入力キーワードとして認識し、以降、同様の処理が行われる。
Upon receiving the suggested word strings (Orion, Hanako, Fuchu) and (Olympic, Toyo, Publishing) from the suggested word
検索部112は、入力受付部107から「オリオン」、「花子」、および「府中」を受け取ると、これらのキーワード候補のすべてを検索キーワードとして含む検索式を生成して、文書集合300に対する検索を行う。その結果、図2に例示した文書集合300の中から[文書2]が得られ、[文書2]についての情報が検索結果として表示部111に表示される。
Upon receiving “Orion”, “Hanako”, and “Fuchu” from the
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の検索支援装置100によれば、ユーザは検索対象の文書集合300を指定するだけで、その文書集合300に含まれるキーワード候補のうち、共起確率が大きいキーワード候補の組み合わせである共起キーワード組が検出され、共起キーワード組に基づいた共起辞書302が生成されるとともに、入力文字列を補完して共起キーワード組を構成するキーワード候補を入力キーワードとして得るための文字列補完規則であるパトリシア木303が生成される。そして、ユーザが文字列を入力すると、その入力文字列に対応した入力キーワードと、入力キーワードから共起関係が伝播する共起語とを繋げた提案ワード列がユーザに提示され、提示された提案ワード列をユーザが選択すると、検索対象の文書集合300から提案ワード列に含まれるキーワード候補をすべて含んだ文書の検索が行われる。したがって、本実施形態の検索支援装置100によれば、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合300に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる。
As described above in detail with specific examples, according to the
また、本実施形態の検索支援装置100によれば、共起伝播部109が、共起辞書302を参照し、入力キーワードを見出し語とする辞書要素の共起語を1段共起語とし、L−1段共起語を見出し語とする辞書要素の共起語をL段共起語としたときに、Lを1ずつ増加させながらL段共起語を取得する処理を繰り返し、積算共起確率が閾値γ以下になると処理を停止するようにしているので、ユーザに提示する提案ワード列の積算共起確率を閾値γに近い値に揃えることができる。このことは、ユーザに対して無駄な提案をせずに、文書集合300に含まれる複数のキーワード候補を検索キーワードとして効果的に提案することに繋がる。つまり、積算共起確率が過大となるワード列は、一般的に関係性の高い単語の羅列である場合が多いが、本実施形態の検索支援装置100では、積算共起確率が閾値γに近い値の提案ワード列をユーザに提示するため、一般的に関係性の高い単語の羅列を提案することなく、ユーザにとって好ましいと考えられる提案を行うことができる。
Further, according to the
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態は、共起確率がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組を予め検出して、ゼロ共起辞書を生成しておき、入力キーワードと共起ごとを繋げたワード列の中にゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を提案ワード列の対象から除外する。すなわち、入力キーワードから共起関係を伝播させていくことで入力キーワードに後続するキーワード候補を順次取得する場合、入力キーワードと1段共起語、1段共起語と2段共起語との間といったように、連続するキーワード候補間では共起関係が保証されるが、例えば、入力キーワードと2段共起語との間のように、離れたキーワード候補間では必ずしも共起関係があるとは限らない。このため、例えば、入力キーワードと2段共起語との間に共起関係がない(つまり、入力キーワードと2段共起語とが同時に出現する文書が検索対象の文書集合内に存在しない)場合、このようなワード列を提案ワード列としてユーザに提示し、ユーザがこの提案ワード列を選択して文書集合に対する検索を行うと、検索結果が得られない(つまり、ヒット件数がゼロになる)といった問題が生じる。そこで、本実施形態では、共起確率がゼロとなる2つのキーワード候補を同時に含むワード列を提案ワード列の対象から除外することで、提案ワード列に基づいて文書集合を検索すれば必ず検索結果が得られるようにしている。なお、以下では、本実施形態の特徴部分についてのみ説明し、第1実施形態と共通する構成要素については同一の符号を付して重複した説明を省略する。
(Second Embodiment)
Next, a second embodiment will be described. In the second embodiment, a zero co-occurrence keyword set, which is a combination of two keyword candidates whose co-occurrence probability is zero, is detected in advance, and a zero co-occurrence dictionary is generated to connect the input keyword and each co-occurrence. If there is a word string that includes two keyword candidates that simultaneously constitute a zero co-occurrence keyword set in the word string, the word string is excluded from the target of the proposed word string. That is, when sequentially acquiring keyword candidates that follow the input keyword by propagating the co-occurrence relationship from the input keyword, the input keyword, the first-stage co-occurrence word, the first-stage co-occurrence word, and the second-stage co-occurrence word A co-occurrence relationship is guaranteed between consecutive keyword candidates, such as between, but for example, there is always a co-occurrence relationship between distant keyword candidates, such as between an input keyword and a two-stage co-occurrence word. Is not limited. Therefore, for example, there is no co-occurrence relationship between the input keyword and the two-stage co-occurrence word (that is, a document in which the input keyword and the two-stage co-occurrence word appear simultaneously does not exist in the search target document set). In such a case, when such a word string is presented to the user as a suggested word string, and the user selects the proposed word string and performs a search on the document set, no search result is obtained (that is, the number of hits becomes zero). ) Problems arise. Therefore, in the present embodiment, a search result is always obtained by searching a document set based on a proposed word string by excluding a word string that simultaneously includes two keyword candidates whose co-occurrence probability is zero from the target of the proposed word string. Is to be obtained. Hereinafter, only the characteristic part of the present embodiment will be described, and the same components as those in the first embodiment will be denoted by the same reference numerals, and redundant description will be omitted.
図14は、第2実施形態の検索支援装置200の機能的な構成を示すブロック図である。本実施形態の検索支援装置200は、図14に示すように、第1実施形態の検索支援装置100の構成に加え、ゼロ共起キーワード組検出部(第2検出部)201、ゼロ共起辞書生成部(第3生成部)202を備える。また、本実施形態の検索支援装置200は、第1実施形態の検索支援装置100が備える共起伝播部109および提案ワード列認識部110に代えて、共起伝播部209および提案ワード列認識部210を備える。
FIG. 14 is a block diagram illustrating a functional configuration of the
ゼロ共起キーワード組検出部201は、共起確率算出部103から図7に例示したような共起ネットワークを入力し、この共起ネットワークに基づいて、共起確率がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出し、ゼロ共起辞書生成部202に対して出力する。具体的には、ゼロ共起キーワード組検出部201は、例えば、キーワード候補抽出部101が抽出したキーワード候補のうち、出現頻度が所定値を超えるキーワード候補を選出し、選出したこれらキーワード候補のそれぞれについて、共起確率がゼロとなるキーワード候補との組み合わせを求めて、ゼロ共起キーワード組とする。ここで、出現頻度が所定値を超えるキーワード候補を対象とするのは、出現頻度が著しく小さいキーワード候補はそもそも共起キーワード組を構成するキーワード候補となっていないと想定されるためである。
The zero co-occurrence keyword set
図15は、共起確率が0である2つのキーワード候補の組み合わせを示す図であり、図6に例示した2つのキーワード候補間の共起確率のうち、共起確率がゼロとなるものを抽出したものである。図15の例では、出現頻度が2以上のキーワード候補のそれぞれについて、共起確率がゼロとなる他のキーワード候補との組み合わせを表している。 FIG. 15 is a diagram illustrating a combination of two keyword candidates having a co-occurrence probability of 0. Of the co-occurrence probabilities between the two keyword candidates illustrated in FIG. 6, those having a co-occurrence probability of zero are extracted. It is a thing. In the example of FIG. 15, each keyword candidate having an appearance frequency of 2 or more represents a combination with another keyword candidate having a co-occurrence probability of zero.
ゼロ共起辞書生成部202は、ゼロ共起キーワード組検出部201から入力したゼロ共起キーワード組に基づいて、ゼロ共起辞書304を生成する。ゼロ共起辞書304は、図16に示すように、(見出し語、ゼロ共起語)の2つの要素を1組としたデータ構造を持つ辞書要素の集合であり、見出し語が指定されたときに、その見出し語を持つ辞書要素を検索してゼロ共起語を取得することができる。ゼロ共起辞書生成部202は、ゼロ共起キーワード組検出部201から入力したすべてのゼロ共起キーワード組について、出現頻度で絞り込んだ一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語として辞書要素を生成し、これら辞書要素の集合であるゼロ共起辞書304を生成する。ゼロ共起辞書生成部202により生成されたゼロ共起辞書304の一例を図17に示す。なお、ゼロ共起辞書304の全体は大きくなるため、図17では、便宜上一部のみを示している。
The zero co-occurrence
共起伝播部209は、入力キーワード認識部108から入力したM0件の入力キーワードそれぞれについて、共起辞書302を検索して入力キーワードに対する共起語を求め、複数求められた共起語のうち、入力キーワードとの間の共起確率が大きい順に上位M1件(M1は予め定めた自然数)の共起語を1段共起語として一時的に記憶する。そして、共起伝播部109は、M1件の1段共起語のそれぞれについて、共起辞書302を検索して1段共起語に対する共起語を求め、複数求められた共起語のうち、1段共起語との間の共起確率が閾値δ以上となる共起語を2段共起語として一時的に記憶する。さらに、共起伝播部209は、1段共起語に繋がる共起語の個数が予め定めた所定値Aに達するまで、2段共起語から3段共起語、3段共起語から4段共起語といったように、1段共起語に繋がる共起語を順次求める処理を繰り返し、1段共起語に繋がる共起語の個数が所定値Aに達すると処理を停止する。
The
すなわち、共起伝播部209は、入力キーワードを見出し語とする辞書要素の共起語を1段共起語とし、L−1段共起語(Lは2以上の自然数)を見出し語とする辞書要素の共起語をL段共起語としたときに、Lを1ずつ増加させながらL段共起語を取得する処理を繰り返し、Lが所定値Aになると、入力キーワードからL段共起語までの積算共起確率を求めて、処理を停止する。そして、共起伝播部209は、処理を停止した段階で得られた入力キーワードからL段共起語までを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部210に対して出力する。なお、第1実施形態と同様に、共起確率の高いキーワード同士で伝播が繰り返されることを避けるために、同じキーワード候補が重複するワード列は処理の対象から除外する。共起伝播部209は、入力キーワード認識部108から新たな入力キーワードを入力するたびに、上記の処理を実施する。
That is, the
なお、上記の例では、1段共起語に繋がる共起語の数が所定値Aに達すると共起伝播部209の処理を停止するものとして説明したが、共起伝播部209が処理を停止する条件はこの例に限定されるものではなく、例えば、第1実施形態と同様に、積算共起確率が閾値γ以下になると共起伝播部209が処理を停止する、あるいは、得られたワード列の数が上限に達すると共起伝播部209の処理を停止するといった条件を用いるようにしてもよい。
In the above example, it has been described that the process of the
提案ワード列認識部210は、第1実施形態の提案ワード列認識部110と同様に、共起伝播部209から入力したワード列のうち、第2条件を満たすワード列を提案ワード列と認識し、認識した提案ワード列を表示部111に対して出力する。ただし、提案ワード列認識部210は、まずゼロ共起辞書304を参照し、共起伝播部210から入力したワード列の中にゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在するか否かを判定し、そのようなワード列が存在する場合には、該ワード列を除外して、残りのワード列のうち、第2条件を満たすワード列を提案ワード列として表示部111に対して出力する。なお、第2条件としては、第1実施形態と同様に、例えば、積算共起確率が大きい順に上位N件(Nは予め定めた自然数)という条件を用いることができる。
Similar to the proposed word
図18は、本実施形態の検索支援装置200の入力キーワード認識部108、共起伝播部209および提案ワード列認識部210による処理の一例を示すフローチャートである。
FIG. 18 is a flowchart illustrating an example of processing performed by the input
入力キーワード認識部108は、入力受付部107から入力文字列を入力すると、パトリシア木303に基づいて、入力文字列を補完して得られるキーワード候補を取得し、取得したキーワード候補のうち、出現頻度が大きい順に上位M0件のキーワード候補を入力キーワードと認識する(ステップS301)。そして、入力キーワード認識部108は、認識した入力キーワードを、共起伝播部209に対して出力する。
When the input
次に、共起伝播部209は、入力キーワード認識部108からM0件の入力キーワードを入力すると、共起辞書302を参照して、M0件の入力キーワードの共起語をそれぞれ求め、これら共起語のうち、共起確率が大きい順に上位M1件のキーワード候補を1段共起語として取得する(ステップS302)。また、共起伝播部209は、共起辞書302を参照して、L−1段共起語(Lは2以上の自然数)の共起語をそれぞれ求め、これら共起語のうち、L−1段共起語との間の共起確率が閾値δ以上となるキーワード候補をL段共起語として取得する(ステップS303)。そして、共起伝播部209は、Lの値が予め定めた所定値Aに達したか否かを判定する(ステップS304)。この判定の結果、Lの値が所定値A未満であれば(ステップS304:No)、共起伝播部209は、Lの値をインクリメント(+1)して(ステップS305)ステップS303に戻り、L段共起語を取得する処理を繰り返す。一方、Lの値が所定値Aに達していれば(ステップS304:Yes)、共起伝播部209は、入力キーワードと取得した共起語とを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部210に対して出力する。
Next, when the
次に、提案ワード列認識部210は、共起伝播部209からワード列を入力すると、ゼロ共起辞書304を参照して、入力したワード列の中にゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在するか否かを判定する(ステップS306)。そして、提案ワード列認識部210は、ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は(ステップS306:Yes)、当該ワード列を削除する(ステップS307)。一方、入力したワード列の中にゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在しない場合は(ステップS306:No)、ステップS307の処理をスキップする。次に、提案ワード列認識部210は、ステップS307で削除したワード列を除く残りのワード列のうち、積算共起確率が大きい順に上位N件のワード列を提案ワード列として認識する(ステップS308)。そして、提案ワード列認識部210は、認識した提案ワード列を表示部111に対して出力する(ステップS309)。
Next, when a word string is input from the
本実施形態の検索支援装置200は、第1実施形態の検索支援装置100と同様に、ハードウェア構成として、例えば、CPUなどの制御装置、ROMやRAMなどの内部記憶装置、キーボードやマウスなどの入力デバイス、液晶パネルなどの表示装置、ハードディスク、CD、DVD、フラッシュメモリなどの外部記憶装置を備えた、通常のコンピュータを利用したハードウェア構成を採用することができる。この場合、コンピュータがプログラムを実行することによって、本実施形態の検索支援装置200における上記の機能的な構成を実現することができる。また、インデックス301、共起辞書302、およびパトリシア木303、ゼロ共起辞書304は、例えば、ハードディスクやフラッシュメモリなどの外部記憶装置に格納しておくことができる。
Similar to the
次に、図2に例示した文書集合300を検索対象として検索を行う場合を例に挙げて、本実施形態の検索支援装置200による処理の具体例について説明する。以下では、図2に示した文書集合300から図10に例示した共起辞書302、図11に例示したパトリシア木303、および図17に例示したゼロ共起辞書304が生成されているものとする。
Next, a specific example of processing performed by the
まず、ユーザがキーボードなどの入力デバイスを用いて文字列「お」を入力すると、入力受付部107がこの文字列の入力を受け付けて、入力文字列「お」を入力キーワード認識部108に対して出力する。入力キーワード認識部108は、入力受付部107から入力文字列「お」を受け取り、図11に例示したパトリシア木303を検索して、入力キーワードを認識する処理を行う。入力キーワード認識部108は、まず、入力文字列「お」に該当するノードを求めるために、図11に例示したパトリシア木303をルートから順に探索し、「お」に該当するノードとして「おり」のノードを取得する。次に、入力キーワード認識部108は、その「おり」のノードからたどれるリーフ群を特定し、そのリーフが示す文字列を「おり」に後続する文字列として求め、入力文字列「お」を補完したキーワード候補を求める。この場合は「オリンピック」、「オリオン」および「オリンポス」が得られる。入力キーワード認識部108は、得られたキーワード候補のうち、出現頻度が大きい順に上位M0件を入力キーワードと認識する。ここでは、M0=3と定められているものとする。この場合、入力キーワード認識部108は、「オリンピック」、「オリオン」および「オリンポス」を入力キーワードと認識し、これらの入力キーワードを共起伝播部209に対して出力する。
First, when a user inputs a character string “O” using an input device such as a keyboard, the
共起伝播部209は、入力キーワード「オリンピック」、「オリオン」および「オリンポス」を入力キーワード認識部108から受け取り、図10に例示した共起辞書302を参照して、これら入力キーワードを見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
(オリオン、花子、0.75)
(オリオン、小向、0.5)
(オリオン、磯子、0.5)
(オリオン、次郎、0.5)
(オリオン、ワールドカップ、0.5)
(オリオン、出版、0.4)
(オリオン、鎌倉、0.33)
(オリオン、杉田、0.33)
(オリオン、東洋、0.25)
(オリオン、府中、0.25)
(オリンピック、東洋、0.67)
(オリンピック、堀川、0.5)
(オリンピック、芝浦、0.5)
(オリンピック、川崎、0.5)
(オリンピック、春子、0.5)
(オリンピック、次郎、0.5)
(オリンピック、世界、0.5)
(オリンピック、陸上、0.5)
(オリンピック、太郎、0.5)
(オリンピック、出版、0.4)
(オリンピック、花子、0.4)
(オリンピック、府中、0.25)
(オリンポス、鎌倉、0.5)
(オリンポス、東京、0.5)
(オリンポス、府中、0.33)
(オリンポス、出版、0.2)
(オリンポス、花子、0.2)
The
(Orion, Hanako, 0.75)
(Orion, Komukai, 0.5)
(Orion, Isogo, 0.5)
(Orion, Jiro, 0.5)
(Orion, World Cup, 0.5)
(Orion, Publishing, 0.4)
(Orion, Kamakura, 0.33)
(Orion, Sugita, 0.33)
(Orion, Toyo, 0.25)
(Orion, Fuchu, 0.25)
(Olympic, Oriental, 0.67)
(Olympic, Horikawa, 0.5)
(Olympic Games, Shibaura, 0.5)
(Olympic, Kawasaki, 0.5)
(Olympic, Haruko, 0.5)
(Olympic, Jiro, 0.5)
(Olympic, World, 0.5)
(Olympic, land, 0.5)
(Olympic, Taro, 0.5)
(Olympic, publication, 0.4)
(Olympic, Hanako, 0.4)
(Olympic, Fuchu, 0.25)
(Olympos, Kamakura, 0.5)
(Olympos, Tokyo, 0.5)
(Olympos, Fuchu, 0.33)
(Olympus, Publishing, 0.2)
(Olympus, Hanako, 0.2)
次に、共起伝播部209は、得られた辞書要素の共起語の中から、見出し語(入力キーワード)との間の共起確率が大きい順に上位M1件の共起語を1段共起語として取得する。ここでは、M1=3に設定されているものとする。なお、見出し語との間の共起確率が同じ共起語については、例えば、見出し語の出現頻度が大きい順、共起語の出現頻度が大きい順などを基準として、取得する共起語を決定することができる。この場合、入力キーワード「オリオン」との間の共起確率が0.75の「花子」、入力キーワード「オリンピック」との間の共起確率が0.67の「東洋」、入力キーワード「オリオン」との間の共起確率が0.5の「小向」がそれぞれ1段共起語として取得される。
Next, the
さらに、共起伝播部209は、1段共起語と共起関係にある2段共起語を求めるため、再度共起辞書302を参照して、1段共起語を見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
(花子、オリオン、0.75)
(花子、府中、0.6)
(花子、鎌倉、0.4)
(花子、杉田、0.4)
(花子、オリンピック、0.4)
(東洋、オリンピック、0.67)
(東洋、出版、0.6)
(東洋、太郎、0.33)
(東洋、堀川、0.33)
(東洋、芝浦、0.33)
(小向、杉田、0.5)
(小向、東京、0.5)
(小向、オリオン、0.5)
Further, the
(Hanako, Orion, 0.75)
(Hanako, Fuchu, 0.6)
(Hanako, Kamakura, 0.4)
(Hanako, Sugita, 0.4)
(Hanako, Olympics, 0.4)
(Toyo, Olympics, 0.67)
(Toyo, Publishing, 0.6)
(Toyo, Taro, 0.33)
(Toyo, Horikawa, 0.33)
(Toyo, Shibaura, 0.33)
(Komukai, Sugita, 0.5)
(Komukai, Tokyo, 0.5)
(Komukai, Orion, 0.5)
次に、共起伝播部209は、得られた辞書要素の共起語の中から、見出し語(1段共起語)との間の共起確率が閾値δ以上となるキーワード候補を2段共起語として取得する。ここでは、閾値δ=0.4に設定されているものとする。この場合、1段共起語「花子」に対しては、共起確率が0.4以上である「オリオン」、「府中」、「鎌倉」、「杉田」が、それぞれ2段共起語として取得される。ただし、「オリオン」は入力キーワードと重複するため、処理の対象から除外される。また、1段共起語「東洋」に対しては、共起確率が0.4以上である「オリンピック」および「出版」が、それぞれ2段共起語として取得される。ただし、「オリンピック」は入力キーワードと重複するため、処理の対象から除外される。また、1段共起語「小向」に対しては、共起確率が0.4以上である「杉田」、「東京」、「オリオン」が、それぞれ2段共起語として取得される。ただし、「オリオン」は入力キーワードと重複するため、処理の対象から除外される。
Next, the
以上の処理の結果、入力キーワードと1段共起語と2段共起語とを繋げたワード列として、(オリオン、花子、府中)、(オリオン、花子、鎌倉)、(オリオン、花子、杉田)、(オリンピック、東洋、出版)、(オリオン、小向、杉田)、(オリオン、小向、東京)が得られる。 As a result of the above processing, as a word string connecting the input keyword, the first-stage co-occurrence word, and the second-stage co-occurrence word, (Orion, Hanako, Fuchu), (Orion, Hanako, Kamakura), (Orion, Hanako, Sugita) ), (Olympic, Toyo, Publishing), (Orion, Komukai, Sugita), (Orion, Komukai, Tokyo).
次に、共起伝播部209は、1段共起語に繋がる共起語の個数が予め定めた所定値Aに達したか否かを確認する。ここでは、簡単のために所定値A=1に設定されているものとする。この場合、共起伝播部209は、2段共起語が取得された段階で処理を停止し、それまでの処理で得られたワード列についてそれぞれ積算共起確率を求めて、(オリオン、花子、府中、0.45)、(オリオン、花子、鎌倉、0.45)、(オリオン、花子、杉田、0.3)、(オリンピック、東洋、出版、0.4)、(オリオン、小向、杉田、0.25)、(オリオン、小向、東京、0.25)を提案ワード列認識部210に対して出力する。
Next, the
提案ワード列認識部210は、共起伝播部209からワード列である(オリオン、花子、府中、0.45)、(オリオン、花子、鎌倉、0.45)、(オリオン、花子、杉田、0.3)、(オリンピック、東洋、出版、0.4)、(オリオン、小向、杉田、0.25)、(オリオン、小向、東京、0.25)を受け取ると、まず、ゼロ共起辞書304を参照し、これらのワード列の中に、ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は、当該ワード列を削除する。図17に例示したゼロ共起辞書304には、「オリオン」を見出し語とし、「東京」をゼロ共起語とする辞書要素が存在し、上記ワード列のうち(オリオン、小向、東京、0.25)は「オリオン」と「東京」とを同時に含むため、(オリオン、小向、東京、0.25)が削除される。
The proposed word
次に、提案ワード列認識部210は、削除されずに残ったワード列(オリオン、花子、府中、0.45)、(オリオン、花子、鎌倉、0.45)、(オリオン、花子、杉田、0.3)、(オリンピック、東洋、出版、0.4)、(オリオン、小向、杉田、0.25)のうち、積算共起確率が大きい順に上位N件を提案ワード列と認識する。ここでは、N=4と定められているものとする。なお、積算共起確率が同じワード列については、例えば、入力キーワードの出現頻度が大きい順、1段共起語の出現頻度が大きい順、2段共起語の出現頻度が大きい順などを基準として、N件の提案ワード列を決定することができる。この場合、提案ワード列認識部210は、(オリオン、花子、府中)、(オリオン、花子、鎌倉)、(オリオン、花子、杉田)、(オリンピック、東洋、出版)をそれぞれ提案ワード列と認識し、これらの提案ワード列を表示部111に対して出力する。
Next, the proposed word
提案ワード列認識部210が表示部111に出力する提案ワード列は、いずれもユーザが選択したときに確実に検索結果が得られる(つまり、ヒット件数がゼロにならない)ワード列である。例えば(オリオン、花子、府中)が選択されれば、図2に例示した文書集合300の中で[文書2]が得られ、(オリオン、花子、鎌倉)が選択されれば、図2に例示した文書集合300の中で[文書2]が得られ、(オリオン、花子、杉田)が選択されれば、図2に例示した文書集合300の中で[文書3]が得られ、(オリンピック、東洋、出版)が選択されれば、図2に例示した文書集合300の中で[文書1]が得られる。
Each of the proposed word strings output to the display unit 111 by the proposed word
表示部111は、提案ワード列認識部210から提案ワード列(オリオン、花子、府中)、(オリオン、花子、鎌倉)、(オリオン、花子、杉田)、(オリンピック、東洋、出版)を受け取ると、これら提案ワード列を表示してユーザに提示する。そして、ユーザがマウスなどの入力デバイスを用いて、表示部111に表示された提案ワード列のうち、例えば(オリンピック、東洋、出版)を選択する操作を行うと、この選択操作が入力受付部107によって受け付けられ、提案ワード列に含まれる「オリンピック」、「東洋」、および「出版」の各キーワード候補がそれぞれ検索部112に出力される。なお、提案ワード列が表示部111に表示された状態で、ユーザがいずれかの提案ワード列を選択せずに文字列の入力を続け、例えば「おりお」という文字列を入力した場合は、入力キーワード認識部108が「オリオン」を入力キーワードとして認識し、以降、同様の処理が行われる。
When the display unit 111 receives the proposed word sequence (Orion, Hanako, Fuchu), (Orion, Hanako, Kamakura), (Orion, Hanako, Sugita), (Olympic, Toyo, Publishing) from the proposed word
検索部112は、入力受付部107から「オリンピック」、「東洋」、および「府中」を受け取ると、これらのキーワード候補のすべてを検索キーワードとして含む検索式を生成して、文書集合300に対する検索を行う。その結果、図2に例示した文書集合300の中から[文書1]が得られ、[文書1]についての情報が検索結果として表示部111に表示される。
When the
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の検索支援装置200によれば、第1実施形態の検索支援装置100と同様に、ユーザは検索対象の文書集合300を指定するだけで、その文書集合300に含まれるキーワード候補のうち、共起確率が大きいキーワード候補の組み合わせである共起キーワード組が検出され、共起キーワード組に基づいた共起辞書302が生成されるとともに、入力文字列を補完して共起キーワード組を構成するキーワード候補を入力キーワードとして得るための文字列補完規則であるパトリシア木303が生成される。そして、ユーザが文字列を入力すると、その入力文字列に対応した入力キーワードと、入力キーワードから共起関係が伝播する共起語とを繋げた提案ワード列がユーザに提示され、提示された提案ワード列をユーザが選択すると、検索対象の文書集合300から提案ワード列に含まれるキーワード候補をすべて含んだ文書の検索が行われる。したがって、本実施形態の検索支援装置200によれば、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合300に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる。
As described above in detail with specific examples, according to the
また、本実施形態の検索支援装置200によれば、共起関係がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組が検出され、ゼロ共起辞書304が生成される。そして、提案ワード列認識部210は、ゼロ共起辞書304を参照し、ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列を除いたワード列を、提案ワード列として表示部111に出力する。したがって、本実施形態の検索支援装置200によれば、確実に検索結果が得られる提案ワード列のみをユーザに提示して、ユーザが無駄な検索を行うことがないように、適切に検索を支援することができる。
Further, according to the
以上説明した第1および第2実施形態の検索装置100,200における各機能構成は、例えば、検索支援装置100,200のハードウェア構成としてコンピュータを用いる場合、このコンピュータで所定のプログラムを実行することにより実現できる。検索支援装置100,200として用いるコンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
Each functional configuration in the
また、検索支援装置100,200として用いるコンピュータで実行されるプログラムを、インターネット等のネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、検索支援装置100,200として用いるコンピュータで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、検索支援装置100,200として用いるコンピュータで実行されるプログラムを、コンピュータ内部のROM等に予め組み込んで提供するように構成してもよい。
Further, a program executed by a computer used as the
検索支援装置100,200として用いるコンピュータで実行されるプログラムは、検索支援装置100,200の主要な構成要素(キーワード候補抽出部101、共起確率算出部103、共起キーワード組検出部104、ゼロ共起キーワード組検出部201、共起辞書生成部105、パトリシア木生成部106、ゼロ共起辞書生成部202、入力キーワード認識部108、共起伝播部109,209、提案ワード列認識部110,210、表示部111、検索部112)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU(プロセッサ)が記憶媒体からプログラムを読み出して実行することにより、上記の各構成要素が主記憶装置上にロードされ、上記の各構成要素が主記憶装置上に生成されるようになっている。なお、実施形態の検索支援装置100,200の主要な構成要素は、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
The programs executed on the computers used as the
以上述べた少なくとも一つの実施形態の検索支援装置によれば、上記の主要な構成要素を備えることにより、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる。 According to the search support apparatus of at least one embodiment described above, the search keyword suitable for the set of documents to be searched without requiring the user to perform complicated operations in advance by including the main components described above. Candidates can be proposed and document search can be supported appropriately.
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 As mentioned above, although some embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
100 検索支援装置
101 キーワード候補抽出部
103 共起確率算出部
104 共起キーワード組検出部
105 共起辞書生成部
106 パトリシア木生成部
108 入力キーワード認識部
109 共起伝播部
110 提案ワード列認識部
111 表示部
112 検索部
200 検索支援装置
201 ゼロ共起キーワード組検出部
202 ゼロ共起辞書生成部
209 共起伝播部
210 提案ワード列認識部
DESCRIPTION OF
Claims (7)
抽出された2つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出する算出部と、
前記共起確率が第1条件を満たす2つのキーワード候補の組み合わせである共起キーワード組を検出する第1検出部と、
前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成する第1生成部と、
入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成する第2生成部と、
前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識する第1認識部と、
前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す共起伝播部と、
前記共起確率がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出する第2検出部と、
前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成する第3生成部と、
前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第2条件を満たすワード列を提案ワード列と認識する第2認識部と、
前記提案ワード列を提示する提示部と、
提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行う検索部と、を備えることを特徴とする検索支援装置。 An extraction unit for extracting keyword candidates from a set of documents to be searched;
For a combination of two extracted keyword candidates, a calculation unit that calculates a co-occurrence probability that is a probability that one keyword candidate appears in the same document in the document set together with another keyword candidate;
A first detection unit that detects a co-occurrence keyword set in which the co-occurrence probability satisfies a first condition and is a combination of two keyword candidates;
A first generation unit that generates a co-occurrence dictionary that is a set of dictionary elements having one keyword candidate of the co-occurrence keyword set as a headword and the other keyword candidate as a co-occurrence word;
A second generation unit that generates a character string completion rule that is a rule for complementing an input character string and obtaining keyword candidates included in the co-occurrence keyword set;
A first recognition unit that recognizes a keyword candidate obtained by complementing an input character string according to the character string completion rule as an input keyword;
Co-occurrence is repeated by referring to the co-occurrence dictionary, acquiring a co-occurrence word of a dictionary element having the input keyword as an entry word, and acquiring a co-occurrence word of the dictionary element having the acquired co-occurrence word as an entry word A propagation section;
A second detection unit that detects a zero-co-occurrence keyword set that is a combination of two keyword candidates for which the co-occurrence probability is zero;
A third generation unit for generating a zero co-occurrence dictionary that is a set of dictionary elements in which one keyword candidate of the zero co-occurrence keyword set is a headword and the other keyword candidate is a zero co-occurrence word;
Two keyword candidates that constitute the zero co-occurrence keyword set in a word string that refers to the zero co-occurrence dictionary and connects the input keyword and the co-occurrence word acquired by the processing by the co-occurrence propagation unit A second recognition unit that recognizes a word string that satisfies the second condition among the remaining word strings as a proposed word string,
A presentation unit for presenting the suggested word string;
A search support apparatus, comprising: a search unit that generates a search formula based on the proposed word string and searches the document set when the proposed word string is selected.
前記検索支援装置の抽出部が、検索対象の文書集合からキーワード候補を抽出するステップと、
前記検索支援装置の算出部が、抽出された2つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出するステップと、
前記検索支援装置の第1検出部が、前記共起確率が第1条件を満たす2つのキーワード候補の組み合わせである共起キーワード組を検出するステップと、
前記検索支援装置の第1生成部が、前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成するステップと、
前記検索支援装置の第2生成部が、入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成するステップと、
前記検索支援装置の第1認識部が、前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識するステップと、
前記検索支援装置の共起伝播部が、前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返すステップと、
前記検索支援装置の第2検出部が、共起確率がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出するステップと、
前記検索支援装置の第3生成部が、前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成するステップと、
前記検索支援装置の第2認識部が、前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第2条件を満たすワード列を提案ワード列と認識するステップと、
前記検索支援装置の提示部が、前記提案ワード列を提示するステップと、
前記検索支援装置の検索部が、提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行うステップと、を含むことを特徴とする検索支援方法。 A search support method executed in a search support device,
An extraction unit of the search support device extracting keyword candidates from a set of documents to be searched;
The calculation unit of the search support device calculates a co-occurrence probability that is a probability that one keyword candidate appears in the same document in the document set together with another keyword candidate for the combination of the extracted two keyword candidates. When,
A step of detecting a co-occurrence keyword set in which the first detection unit of the search support device is a combination of two keyword candidates in which the co-occurrence probability satisfies a first condition;
A step of generating a co-occurrence dictionary which is a set of dictionary elements having one keyword candidate of the co-occurrence keyword set as a headword and the other keyword candidate as a co-occurrence word;
A step of generating a character string completion rule that is a rule for obtaining a keyword candidate included in the co-occurrence keyword set by complementing an input character string by the second generation unit of the search support device;
A step of recognizing a keyword candidate obtained by complementing an input character string according to the character string complementing rule as an input keyword by the first recognition unit of the search support device;
The co-occurrence propagation unit of the search support device refers to the co-occurrence dictionary, acquires a co-occurrence word of a dictionary element having the input keyword as an entry word, and obtains a dictionary element having the acquired co-occurrence word as an entry word. Repeating the process of obtaining co-occurrence words;
A second detection unit of the search support device detecting a zero co-occurrence keyword set that is a combination of two keyword candidates having a co-occurrence probability of zero;
The third generation unit of the search support device generates a zero co-occurrence dictionary that is a set of dictionary elements in which one keyword candidate of the zero co-occurrence keyword set is a headword and the other keyword candidate is a zero co-occurrence word. Steps,
The second recognition unit of the search support device, in the reference to the zero cooccurrence dictionary, word sequence obtained by connecting the occurrence word acquired by treatment with the input keyword and the co-occurrence propagating unit, the zero When there is a word string that includes two keyword candidates that simultaneously constitute a co-occurrence keyword set, the word string is excluded, and among the remaining word strings, a word string that satisfies the second condition is recognized as a proposed word string. Steps,
The presenting unit of the search support device presenting the suggested word string;
The search unit of the search support device includes a step of generating a search formula based on the proposed word string and searching the document set when the presented suggested word string is selected. Search support method.
検索対象の文書集合からキーワード候補を抽出する抽出部の機能と、 A function of an extraction unit that extracts keyword candidates from a set of documents to be searched;
抽出された2つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出する算出部の機能と、 A function of a calculation unit that calculates a co-occurrence probability that is a probability that one keyword candidate appears in the same document in the document set together with another keyword candidate for a combination of two extracted keyword candidates;
前記共起確率が第1条件を満たす2つのキーワード候補の組み合わせである共起キーワード組を検出する第1検出部の機能と、 A function of a first detection unit that detects a co-occurrence keyword set in which the co-occurrence probability satisfies a first condition and is a combination of two keyword candidates;
前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成する第1生成部の機能と、 A function of a first generation unit that generates a co-occurrence dictionary that is a set of dictionary elements in which one keyword candidate of the co-occurrence keyword set is a headword and the other keyword candidate is a co-occurrence word;
入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成する第2生成部の機能と、 A function of a second generation unit that generates a character string completion rule that is a rule for complementing an input character string and obtaining keyword candidates included in the co-occurrence keyword set;
前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識する第1認識部の機能と、 A function of a first recognition unit that recognizes a keyword candidate obtained by complementing an input character string according to the character string completion rule as an input keyword;
前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す共起伝播部の機能と、 Co-occurrence is repeated by referring to the co-occurrence dictionary, acquiring a co-occurrence word of a dictionary element having the input keyword as an entry word, and acquiring a co-occurrence word of the dictionary element having the acquired co-occurrence word as an entry word The function of the propagation part;
前記共起確率がゼロとなる2つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出する第2検出部の機能と、 A function of a second detection unit for detecting a zero co-occurrence keyword set that is a combination of two keyword candidates with the co-occurrence probability being zero;
前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成する第3生成部の機能と、 A function of a third generation unit that generates a zero co-occurrence dictionary that is a set of dictionary elements in which one keyword candidate of the zero co-occurrence keyword set is a headword and the other keyword candidate is a zero co-occurrence word;
前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する2つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第2条件を満たすワード列を提案ワード列と認識する第2認識部の機能と、 Two keyword candidates that constitute the zero co-occurrence keyword set in a word string that refers to the zero co-occurrence dictionary and connects the input keyword and the co-occurrence word acquired by the processing by the co-occurrence propagation unit If there is a word string that simultaneously contains the word string, the function of the second recognition unit that excludes the word string and recognizes a word string satisfying the second condition as a proposed word string among the remaining word strings;
前記提案ワード列を提示する提示部の機能と、 A function of a presentation unit for presenting the suggested word string;
提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行う検索部の機能と、を実現させるためのプログラム。 A program for realizing a function of a search unit that generates a search formula based on the proposed word string and performs a search on the document set when the proposed word string is presented.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012062595A JP5426710B2 (en) | 2012-03-19 | 2012-03-19 | Search support device, search support method and program |
CN201210082643.6A CN103324646B (en) | 2012-03-19 | 2012-03-26 | Retrieval assisting system and retrieval support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012062595A JP5426710B2 (en) | 2012-03-19 | 2012-03-19 | Search support device, search support method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013196358A JP2013196358A (en) | 2013-09-30 |
JP5426710B2 true JP5426710B2 (en) | 2014-02-26 |
Family
ID=49193393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012062595A Active JP5426710B2 (en) | 2012-03-19 | 2012-03-19 | Search support device, search support method and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5426710B2 (en) |
CN (1) | CN103324646B (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6173896B2 (en) * | 2013-12-10 | 2017-08-02 | 株式会社日立製作所 | Data processing method and data processing server |
JP5952343B2 (en) * | 2014-06-11 | 2016-07-13 | ヤフー株式会社 | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM |
JP6072739B2 (en) * | 2014-08-28 | 2017-02-01 | ヤフー株式会社 | Extraction apparatus, extraction method and extraction program |
JP6149836B2 (en) * | 2014-09-30 | 2017-06-21 | ダイキン工業株式会社 | Human resource search device |
JP6056829B2 (en) * | 2014-09-30 | 2017-01-11 | ダイキン工業株式会社 | Recommendation creation device |
CN108780302B (en) * | 2016-03-18 | 2021-04-16 | 三菱电机株式会社 | Control logic diagram creation support device |
JP6077163B2 (en) * | 2016-06-09 | 2017-02-08 | ヤフー株式会社 | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM |
JP6622236B2 (en) * | 2017-03-06 | 2019-12-18 | 株式会社日立製作所 | Idea support device and idea support method |
US10817551B2 (en) * | 2017-04-25 | 2020-10-27 | Panasonic Intellectual Property Management Co., Ltd. | Method for expanding word, word expanding apparatus, and non-transitory computer-readable recording medium |
US11314794B2 (en) | 2018-12-14 | 2022-04-26 | Industrial Technology Research Institute | System and method for adaptively adjusting related search words |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03273360A (en) * | 1990-03-23 | 1991-12-04 | Hitachi Ltd | Method and device for machine translation |
JPH0756948A (en) * | 1993-08-09 | 1995-03-03 | Fuji Xerox Co Ltd | Information retrieval device |
JP3596210B2 (en) * | 1997-01-16 | 2004-12-02 | 富士ゼロックス株式会社 | Related word dictionary creation device |
JP2001249933A (en) * | 2000-03-06 | 2001-09-14 | Nippon Telegr & Teleph Corp <Ntt> | Retrieval word input complementing method and device and recording medium having program for executing the method stored thereon |
JP3717808B2 (en) * | 2001-06-29 | 2005-11-16 | 株式会社日立製作所 | Information retrieval system |
US10515374B2 (en) * | 2005-03-10 | 2019-12-24 | Adobe Inc. | Keyword generation method and apparatus |
JP4841940B2 (en) * | 2005-11-28 | 2011-12-21 | 株式会社日立製作所 | How to display the station name search system |
CN101601038A (en) * | 2007-08-03 | 2009-12-09 | 松下电器产业株式会社 | Related word presentation device |
JP2010003015A (en) * | 2008-06-18 | 2010-01-07 | Hitachi Software Eng Co Ltd | Document search system |
-
2012
- 2012-03-19 JP JP2012062595A patent/JP5426710B2/en active Active
- 2012-03-26 CN CN201210082643.6A patent/CN103324646B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN103324646B (en) | 2017-03-01 |
JP2013196358A (en) | 2013-09-30 |
CN103324646A (en) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5426710B2 (en) | Search support device, search support method and program | |
CN105917327B (en) | System and method for entering text into an electronic device | |
JP6461980B2 (en) | Coherent question answers in search results | |
US10929603B2 (en) | Context-based text auto completion | |
US20070156404A1 (en) | String matching method and system using phonetic symbols and computer-readable recording medium storing computer program for executing the string matching method | |
US8782049B2 (en) | Keyword presenting device | |
US8583415B2 (en) | Phonetic search using normalized string | |
US10387543B2 (en) | Phoneme-to-grapheme mapping systems and methods | |
JP2016102866A (en) | False recognition correction device and program | |
US20200387815A1 (en) | Building training data and similarity relations for semantic space | |
JP6705352B2 (en) | Language processing device, language processing method, and language processing program | |
JP4945015B2 (en) | Document search system, document search program, and document search method | |
JP5447368B2 (en) | NEW CASE GENERATION DEVICE, NEW CASE GENERATION METHOD, AND NEW CASE GENERATION PROGRAM | |
US11842152B2 (en) | Sentence structure vectorization device, sentence structure vectorization method, and storage medium storing sentence structure vectorization program | |
JP6811087B2 (en) | Search device, search method, and program | |
JP5112416B2 (en) | Term extraction device, method and term dictionary data structure | |
JP2010097239A (en) | Dictionary creation device, dictionary creation method, and dictionary creation program | |
WO2007088902A1 (en) | Character processing device, method and program, and recording medium | |
JP6881077B2 (en) | Discrimination program, discrimination device and discrimination method | |
JP6805927B2 (en) | Index generator, data search program, index generator, data search device, index generation method, and data search method | |
JP6753190B2 (en) | Document retrieval device and program | |
JP2009169513A (en) | Device, method and program for estimating nickname | |
US20140181065A1 (en) | Creating Meaningful Selectable Strings From Media Titles | |
JP6303508B2 (en) | Document analysis apparatus, document analysis system, document analysis method, and program | |
JP5691558B2 (en) | Example sentence search device, processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131008 |
|
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: 20131105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131128 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5426710 Country of ref document: JP 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 |