Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7203554B2 - Information processing equipment - Google Patents
[go: Go Back, main page]

JP7203554B2 - Information processing equipment - Google Patents

Information processing equipment Download PDF

Info

Publication number
JP7203554B2
JP7203554B2 JP2018189515A JP2018189515A JP7203554B2 JP 7203554 B2 JP7203554 B2 JP 7203554B2 JP 2018189515 A JP2018189515 A JP 2018189515A JP 2018189515 A JP2018189515 A JP 2018189515A JP 7203554 B2 JP7203554 B2 JP 7203554B2
Authority
JP
Japan
Prior art keywords
extracted
document
character string
documents
word
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
JP2018189515A
Other languages
Japanese (ja)
Other versions
JP2020060811A (en
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.)
TIS Inc
Original Assignee
TIS Inc
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 TIS Inc filed Critical TIS Inc
Priority to JP2018189515A priority Critical patent/JP7203554B2/en
Publication of JP2020060811A publication Critical patent/JP2020060811A/en
Application granted granted Critical
Publication of JP7203554B2 publication Critical patent/JP7203554B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.

多数の文書(例えば論文、技術資料、特許文献など)の中から、求める情報が記載されている文書や参考になる文書を簡単に探し出したい、というニーズは古くからある。そのようなニーズに対するアプローチとして、従来は、検索クエリにマッチする文書を複数抽出し、マッチ度合の高いものから順に一覧表示する方法が主流であった。しかしながら、このような方法では、検索結果として出力される文書一覧を見ても、ユーザとしては、抽出された文書同士の関連性や類似性を掴むことができず、検索結果を十分に活用することが難しかった。これに対し、非特許文献1では、抽出された文書からピックアップした複数の単語を木構造で表示することにより、文書同士の関係を直観的に表現しようとする試みが提案されている。 2. Description of the Related Art There has long been a need to easily find a document containing desired information or a reference document from a large number of documents (for example, papers, technical data, patent documents, etc.). Conventionally, as an approach to such needs, a method of extracting a plurality of documents that match a search query and displaying a list in descending order of degree of matching has been the mainstream method. However, with such a method, even if a user sees a document list output as a search result, the user cannot grasp the relevance or similarity between the extracted documents. It was difficult. On the other hand, Non-Patent Document 1 proposes an attempt to intuitively express the relationship between documents by displaying a plurality of words picked up from extracted documents in a tree structure.

Scott Spangler et.al., "Automated Hypothesis Generation Based on Mining Scientific Literature"Scott Spangler et.al., "Automated Hypothesis Generation Based on Mining Scientific Literature"

しかしながら、本発明者らが検証したところ、木構造による表現は非常に有用であるものの、非特許文献1の方法では、単語同士の関係や文書同士の関連性・類似性を適切に表現できない場合も多く、実用化のためにはさらなる改良が必要であるとの課題を認識するに至った。 However, when the inventors of the present invention have verified that the expression by tree structure is very useful, the method of Non-Patent Document 1 cannot appropriately express the relationship between words and the relationship/similarity between documents. There are many problems, and we have come to recognize the problem that further improvement is necessary for practical use.

本発明は上記実情に鑑みなされたものであって、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援することのできる技術を提供することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances. The purpose is to provide technology that can support

本発明の1つの側面は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出する文書特徴算出部と、前記複数の抽出文字列の各々について、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、を有する情報処理装置を提供する。 According to one aspect of the present invention, a search unit extracts a plurality of documents matching a search condition as extracted documents from a group of documents accumulated in a database; an analysis unit for extracting a plurality of character strings from a document as an extracted character string; a document feature calculation unit for calculating a document feature score obtained by digitizing a feature of each of the plurality of extracted documents; a character string feature calculator for obtaining, for each of the extracted character strings, a character string feature quantity representing the features of the extracted character string from document feature scores of one or more extracted documents including the extracted character string; and the plurality of extracted character strings. is associated with a node, and each node is arranged based on the difference in character string feature amounts between extracted character strings.

「文字列」は、「単語」であってもよいし、複数の単語から構成される「複合語」や「語句」であってもよい。「文字列特徴量」は単一の値からなる指標(スカラー)でもよいし複数の値の組からなる指標(ベクトル)であってもよい。スカラーの場合、「文字列特徴量の差」は、例えば、2つの文字列の文字列特徴量の差又はその絶対値である。ベクトルの場合、「文字列特徴量の差」は、例えば、2つのベクトルのコサイン類似度やユークリッド距離から計算できる。 A "character string" may be a "word", or may be a "compound word" or a "phrase" composed of a plurality of words. A “character string feature amount” may be an index (scalar) consisting of a single value or an index (vector) consisting of a set of a plurality of values. In the case of a scalar, the "character string feature amount difference" is, for example, the difference between the character string feature amounts of two character strings or its absolute value. In the case of vectors, the "character string feature amount difference" can be calculated from, for example, cosine similarity or Euclidean distance between two vectors.

上述した本発明の木構造では、文字列の特徴を表す文字列特徴量の差に基づいて各ノードの配置が決定されているので、各ノード(文字列)の配置や接続関係などから、検索結果(複数の抽出文書)に含まれる文字列群の傾向などを容易に把握できる。 In the tree structure of the present invention described above, the arrangement of each node is determined based on the difference in the character string feature quantity representing the characteristics of the character strings. You can easily understand the tendency of character strings included in the results (multiple extracted documents).

また、抽出文字列の特徴を、抽出文字列そのものではなく、当該抽出文字列を使用している文書(テキスト)の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性をよく反映したものとなる。したがって、本発明の木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができ、ユーザによる情報探索作業を支援することが可能となる。 In addition, the feature of the extracted character string is expressed using the document feature score, which is the feature of the document (text) using the extracted character string, rather than the extracted character string itself. Therefore, the arrangement and connection relationship of each node in the tree structure well reflect the relationship and similarity between documents. Therefore, by using the tree structure of the present invention, it is possible to appropriately and intuitively express the relationship/similarity between documents and the relationship between words appearing in a plurality of documents. It becomes possible to support work.

スカラーの文字列特徴量は、以下のように算出されてもよい。例えば、前記文字列特徴算出部は、当該文字列を含む1以上の抽出文書の文書特徴スコアから計算される統計値を、当該文字列の文字列特徴量としてもよい。「統計値」は、例えば、当該文字列を含む1以上の抽出文書の文書特徴スコアの合計値、平均値、又は、標準偏差である。 A scalar character string feature may be calculated as follows. For example, the character string feature calculation unit may use a statistical value calculated from the document feature scores of one or more extracted documents including the character string as the character string feature amount of the character string. A "statistical value" is, for example, the total value, average value, or standard deviation of the document feature scores of one or more extracted documents containing the relevant character string.

ベクトルの文字列特徴量は、以下のように算出されてもよい。例えば、前記文字列特徴算出部は、当該文字列を含む1以上の抽出文書の文書特徴スコアに基づく値を要素としてもつベクトルを、当該文字列の文字列特徴量としてもよい。「文書特徴スコアに基づく値」は、例えば、抽出文書の文書特徴スコアに当該抽出文書における当該文字列の出現頻度を乗じた値である。 A vector character string feature may be calculated as follows. For example, the character string feature calculation unit may use a vector having, as elements, values based on document feature scores of one or more extracted documents including the character string, as the character string feature quantity of the character string. The "value based on the document feature score" is, for example, a value obtained by multiplying the document feature score of the extracted document by the appearance frequency of the character string in the extracted document.

前記文書特徴算出部は、入力文書をn個のクラス(nは2以上の整数)に分類する分類器から構成され、前記抽出文書を前記分類器に入力したときの出力スコアを当該抽出文書の文書特徴スコアとしてもよい。「分類器」は、例えば、複数の文書を教師データとして用いた機械学習により生成された分類器でもよいし、ルールやモデルから理論的に作成した分類器であってもよい。 The document feature calculation unit includes a classifier that classifies an input document into n classes (n is an integer equal to or greater than 2). It may be a document feature score. The “classifier” may be, for example, a classifier generated by machine learning using a plurality of documents as teacher data, or a classifier theoretically created from rules and models.

なお、文書特徴スコアから文字列特徴量を求める方法以外に、文字列から直接的に文字列特徴量を求める方法も採り得る。例えば、情報処理装置は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部であって、入力文字列をn個のクラス(nは2以上の整数)に分類する文字列分類器から構成され、前記抽出文字列を前記文字列分類器に入力したときの出力スコアを当該抽出文字列の文字列特徴量とする文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、を有してもよい。この「文字列分類器」は、例えば、複数の文字列を教師データとして用いた機械学習により生成された分類器でもよいし、ルールやモデルから理論的に作成した分類器であってもよい。 In addition to the method of obtaining the character string feature amount from the document feature score, a method of obtaining the character string feature amount directly from the character string can also be adopted. For example, an information processing apparatus includes a search unit that extracts a plurality of documents matching a search condition as extracted documents from a group of documents accumulated in a database; an analysis unit for extracting a plurality of character strings as extracted character strings from the input It consists of a character string classifier that classifies character strings into n classes (n is an integer equal to or greater than 2). a character string feature calculation unit as a column feature amount, each of the plurality of extracted character strings is associated with a node, and each node is arranged based on a difference in character string feature amounts between the extracted character strings, and an output unit for outputting a tree structure. This "character string classifier" may be, for example, a classifier generated by machine learning using a plurality of character strings as teacher data, or a classifier theoretically created from rules and models.

前記検索条件がキーワードを含む場合は、前記検索部は、同じ意味を有する同義語を記憶する同義語辞書から前記キーワードの同義語を取得し、前記キーワードおよび前記同義語の少なくともいずれか一方を含む文書を、前記抽出文書として抽出してもよい。このような技術によれば、キーワードの同義語も併せて検索することで、文書間で文字列の表記に揺らぎがある場合でも検索漏れを抑制でき、ユーザの検索意図を反映した良好な検索結果を得ることができる。 When the search condition includes a keyword, the search unit obtains synonyms of the keyword from a synonym dictionary that stores synonyms having the same meaning, and includes at least one of the keyword and the synonyms. A document may be extracted as the extracted document. According to such a technology, by searching synonyms of keywords as well, it is possible to suppress search omissions even when there are fluctuations in the notation of character strings between documents, and good search results that reflect the user's search intentions can be obtained. can be obtained.

前記複数の文字列の間の文字列特徴量の平均を算出し、前記複数の文字列のうち前記平均に最も近い文字列特徴量をもつ文字列を前記木構造の基点に決定する基点決定部を有してもよい。このような技術によれば、複数の文字列のうち(文字列特徴量という尺度でみたときに)平均的な文字列が基点に選ばれるので、その基点から分岐する枝(エッジ)にバランスよくノードがつながっていき、結果として偏りの少ない木構造が得られると期待できる。 A base point determination unit that calculates an average of character string feature amounts among the plurality of character strings and determines a character string having a character string feature amount closest to the average among the plurality of character strings as a base point of the tree structure. may have According to this technique, the average character string (when viewed in terms of character string feature values) is selected as the base point from among multiple character strings, so that branches (edges) branching from that base point are well-balanced. It can be expected that the nodes will be connected, and as a result, a tree structure with little bias will be obtained.

前記木構造の基点をユーザにより指定された文字列に変更する基点変更部をさらに備えてもよい。このような技術によれば、木構造の基点をユーザの意図したものに変更することができる。例えば、基点とする文字列をいろいろ変えながら、木構造がどのように変化するかを見たり、生成される木構造を比較したりすることで、自分の期待する分析結果を得やすい木構造を見出したり、あるいは文字列同士や文書同士の新たな関連性などの気付きを得られたりする可能性がある。 A base point changing unit may be further provided for changing the base point of the tree structure to a character string specified by the user. According to such technology, the base point of the tree structure can be changed as intended by the user. For example, by observing how the tree structure changes while changing the base character string, and comparing the generated tree structures, you can find a tree structure that is easy to obtain the analysis results you expect. There is a possibility that you will be able to find headlines or discover new relationships between character strings or between documents.

前記基点変更部は、出力された前記木構造のいずれかのノードをユーザにより指定させ、現在の木構造の基点をユーザにより指定されたノードに対応付けられた文字列に変更するものであってもよい。このようなユーザインターフェースを用いると、ユーザは基点の変更を簡単に行うことができ、利便性が高い。 The base point changing unit causes the user to specify any node of the output tree structure, and changes the base point of the current tree structure to a character string associated with the node specified by the user. good too. With such a user interface, the user can easily change the base point, which is highly convenient.

前記出力部は、所定の文字列に対応するノード、及び/又は、前記所定の文字列に対応するノードであって且つ隣接するノードに対応付けられた文字列と前記所定の文字列とが所定の条件を満たすノード、及び/又は、隣接するノードと所定の条件を満たすノードを、他のノードとは異なる態様で出力してもよい。「異なる態様」は、例えば、色を変える、デザインや書体を変える、文字の大きさを変える、点滅やアニメーションなどの動きを付けるなど、どのような表示効果でもよい。このような技術によれば、例えばユーザが注目している文字列や、その文字列との類似性・関連性が高い文字列だけを、目立たせることができる。 The output unit outputs a node corresponding to a predetermined character string, and/or a character string associated with an adjacent node corresponding to the predetermined character string and the predetermined character string. and/or a node that satisfies a predetermined condition with an adjacent node may be output in a manner different from other nodes. "Different mode" may be any display effect, such as changing color, changing design or typeface, changing character size, adding movement such as blinking or animation. According to such a technique, for example, only a character string that the user is paying attention to or a character string that is highly similar or related to the character string can be highlighted.

前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が少ない文書を優先して抽出してもよい。被参照数が少ない文書は、あまり知られていない情報が記載されている文書である可能性が高い。そのため、このような技術によれば、ユーザが新たな知見を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。 Each of the document groups stored in the database includes reference information indicating other documents to be referred to, and the search unit searches for documents with a small number of references from other documents based on the reference information. You may preferentially extract. A document with a small number of references is highly likely to be a document containing information that is not well known. Therefore, such a technique has the advantage of preferentially extracting documents from which the user is likely to obtain new knowledge.

前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が多い文書を優先して抽出してもよい。被参照数が多い文書は、それだけ重要度の高い文書である可能性が高い。そのため、このような技術によれば、重要な情報を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。 Each of the document groups stored in the database includes reference information indicating other documents to be referred to, and the search unit searches for a document that is referred to by other documents with a large number of references based on the reference information. You may preferentially extract. A document with a large number of references is highly likely to be a document of high importance. Therefore, such a technique has the advantage of preferentially extracting documents from which important information is highly likely to be obtained.

前記解析部は、所定の単語数以下の連続する単語を一つの文字列として抽出してもよい。また、「所定の単語数」の設定をユーザが変更できるようにしてもよい。 The analysis unit may extract, as one character string, consecutive words having a predetermined number of words or less. Also, the user may be allowed to change the setting of the "predetermined number of words".

前記出力部は、前記木構造のいずれかのノードがユーザにより指定されると、指定されたノードに対応付けられた文字列を含む抽出文書の情報を出力してもよい。このとき、「抽出文書の情報」として、当該抽出文書中の「指定されたノードに対応付けられた文字列」を含むテキスト部分を出力してもよい。このようなユーザインターフェースによれば、木構造(に表示された文字列)から文書へのアクセスが容易になり、利便性が向上する。 The output unit may output information of an extracted document including a character string associated with the specified node, when any node of the tree structure is specified by the user. At this time, a text part including the "character string associated with the designated node" in the extracted document may be output as the "extracted document information". Such a user interface facilitates access to documents from (the character strings displayed in) the tree structure, improving convenience.

前記出力部は、前記木構造のいずれかのエッジがユーザにより指定されると、指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの文字列を両方とも含む抽出文書の情報を出力してもよい。このとき、「抽出文書の情報」として、当該抽出文書中の「指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの文字列」の各々を含むテキスト部分を出力してもよい。このようなユーザインターフェースによれば、木構造において隣接する2つの文字列との関連性が高い文書へのアクセスが容易になり、利便性が向上する。 When any edge of the tree structure is specified by the user, the output unit outputs extracted document information including two character strings respectively associated with two nodes connected by the specified edge. may be output. At this time, as the "extracted document information", a text portion containing each of "two character strings respectively associated with two nodes connected by a specified edge" in the extracted document may be output. good. Such a user interface facilitates access to a document highly related to two adjacent character strings in the tree structure, improving convenience.

なお、本発明は、上述した機能ないし処理の少なくとも一部を含む情報処理方法、又は、当該情報処理方法の各ステップをコンピュータに実行させるプログラム、又は、当該プログラムを非一時的に記憶した記憶媒体などとして捉えることもできる。また、本発明は、上述した木構造を生成する木構造生成装置や木構造生成方法、上述した木構造を出力ないし表示する木構造出力装置や木構造出力方法、複数の文書を分析するための文書分析装置や文書分析方法、文書に含まれる複数の文字列を分析するための文字列分析装置や文字列分析方法、ユーザによる情報探索を支援する情報探索支援装置や情報探索支援方法などとして捉えることもできる。 In addition, the present invention provides an information processing method including at least part of the functions or processes described above, a program for causing a computer to execute each step of the information processing method, or a storage medium that non-temporarily stores the program. It can also be taken as The present invention also provides a tree structure generation device and a tree structure generation method for generating the tree structure described above, a tree structure output device and tree structure output method for outputting or displaying the tree structure described above, and a tree structure output method for analyzing a plurality of documents. Document analysis device and document analysis method, character string analysis device and character string analysis method for analyzing multiple character strings contained in a document, information search support device and information search support method for supporting information search by users, etc. can also

複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援することが可能となる。 For a plurality of documents, it is possible to appropriately and intuitively express the relationship/similarity between documents and the relationship between words appearing in the documents, thereby supporting the information search work by the user.

図1は、情報処理装置の構成の一例を示す図である。FIG. 1 is a diagram showing an example of the configuration of an information processing apparatus. 図2は、第1実施形態に係る情報処理装置の機能ブロックの一例を示す図である。FIG. 2 is a diagram illustrating an example of functional blocks of the information processing apparatus according to the first embodiment; 図3は、同義語辞書の構成の一例を示す図である。FIG. 3 is a diagram showing an example of the configuration of a synonym dictionary. 図4は、形態素解析部による形態素解析結果の一例を示す図である。FIG. 4 is a diagram illustrating an example of a morphological analysis result by a morphological analysis unit; 図5は、文書ベクトルの一例を示す図である。FIG. 5 is a diagram showing an example of a document vector. 図6は、単語ベクトルの一例を示す図である。FIG. 6 is a diagram showing an example of word vectors. 図7は、ストップワード辞書の一例を示す図である。FIG. 7 is a diagram showing an example of a stopword dictionary. 図8は、分類度ベクトルの一例を示す図である。FIG. 8 is a diagram showing an example of a classification degree vector. 図9は、「空」である基点ノードの配下に最も分類度が高い単語のノードと最も分類度が低い単語のノードとを配置した状態の一例を示す図である。FIG. 9 is a diagram showing an example of a state in which a node of a word with the highest classification degree and a node of a word with the lowest classification degree are arranged under the "empty" base node. 図10は、最も類似するノードを追加した状態の一例である。FIG. 10 is an example of a state in which the most similar nodes have been added. 図11は、属性データリストの一例を示す図である。FIG. 11 is a diagram showing an example of an attribute data list. 図12は、特定特徴データリストの一例を示す図である。FIG. 12 is a diagram showing an example of a specific feature data list. 図13は、近接規則リストの一例を示す図である。FIG. 13 is a diagram showing an example of a proximity rule list. 図14は、近接規則リストに登録された規則に基づいてノードの表示態様を変更した場合を例示する図である。FIG. 14 is a diagram exemplifying a case where the node display mode is changed based on the rules registered in the proximity rule list. 図15は、表示対象データリストの一例を示す図である。FIG. 15 is a diagram showing an example of a display target data list. 図16は、詳細データ検索部による検索結果の表示例である。FIG. 16 is a display example of search results by the detailed data search unit. 図17は、実施形態に係る処理フローの一例を示す第1の図である。17 is a first diagram illustrating an example of a processing flow according to the embodiment; FIG. 図18は、実施形態に係る処理フローの一例を示す第2の図である。FIG. 18 is a second diagram illustrating an example of the processing flow according to the embodiment; 図19は、実施形態に係る処理フローの一例を示す第3の図である。FIG. 19 is a third diagram illustrating an example of the processing flow according to the embodiment; 図20は、実施形態に係る処理フローの一例を示す第4の図である。FIG. 20 is a fourth diagram illustrating an example of the processing flow according to the embodiment; 図21は、同義語をまとめて生成された第1変形例に係る文書ベクトルの一例を示す図である。FIG. 21 is a diagram showing an example of a document vector according to the first modification, in which synonyms are collectively generated. 図22は、第2実施形態に係る情報処理装置の機能ブロックの一例を示す図である。FIG. 22 is a diagram illustrating an example of functional blocks of an information processing apparatus according to the second embodiment;

以下、図面を参照して、本発明の実施形態に係る情報処理装置、情報処理方法およびプログラムについて説明する。本実施形態に係る情報処理装置は、データベースに蓄積された多数の文書の中から検索条件にマッチする複数の文書を抽出し、抽出された文書に出現する文字列同士の関係を木構造のグラフ形式で出力するものである。以下では、文字列の特徴を示す文字列特徴量の求め方が異なる2つの実施形態を例示する。第1実施形態は、文書の特徴量(文書特徴スコア)を用いて間接的に文字列特徴量を求める方法を開示するものであり、第2実施形態は、分類器を用いて文字列から直接的に文字列特徴量を求める方法を開示する。ただし、以下に示す実施形態の構成は本発明の構成の例示であり、本発明は以下の実施形態の構成に限定されない。 Hereinafter, an information processing apparatus, an information processing method, and a program according to embodiments of the present invention will be described with reference to the drawings. The information processing apparatus according to this embodiment extracts a plurality of documents that match a search condition from a large number of documents stored in a database, and plots relationships between character strings appearing in the extracted documents in a tree-structured graph. format. In the following, two embodiments in which methods of obtaining character string feature amounts indicating character string characteristics are different will be exemplified. The first embodiment discloses a method of indirectly obtaining a character string feature amount using a document feature amount (document feature score). Disclosed is a method for obtaining a character string feature quantity in a systematic manner. However, the configurations of the embodiments shown below are examples of the configurations of the present invention, and the present invention is not limited to the configurations of the following embodiments.

<第1実施形態>
図1は、第1実施形態に係る情報処理装置100の構成の一例を示す図である。図1には、情報処理装置100に接続されるディスプレイ210、キーボード220およびマウス230も例示されている。情報処理装置100は、Central Processing Unit(CPU
)101、主記憶部102、補助記憶部103、通信部104、入出力インターフェース(図中では、入出力IFと表記)105を備えるコンピュータである。CPU101、主記憶部102、補助記憶部103、通信部104および入出力インターフェース105は、接続バスB1によって相互に接続される。
<First Embodiment>
FIG. 1 is a diagram showing an example of the configuration of an information processing apparatus 100 according to the first embodiment. FIG. 1 also illustrates a display 210, a keyboard 220 and a mouse 230 connected to the information processing apparatus 100. FIG. The information processing device 100 has a central processing unit (CPU
) 101 , a main storage unit 102 , an auxiliary storage unit 103 , a communication unit 104 , and an input/output interface (denoted as an input/output IF in the drawing) 105 . CPU 101, main storage unit 102, auxiliary storage unit 103, communication unit 104 and input/output interface 105 are interconnected by connection bus B1.

CPU101は、マイクロプロセッサユニット(MPU)、プロセッサとも呼ばれる。CPU101は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPU101がマルチコア構成を有していてもよい。CPU101が実行する処理のうち少なくとも一部は、CPU101以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、CPU101が実行する処理のうち少なくとも一部は、集積回路(IC)、その他のディジタル回路によって実行されてもよい。また、CPU101の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、Large Scale Integrated circuit(LSI)、Application Specific Integrated Circuit(AS
IC)、プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。CPU101は、プロセッサと集積回路
との組み合わせであってもよい。組み合わせは、例えば、マイクロコントローラユニット(MCU)、System-on-a-chip(SoC)、システムLSI、チップセットなどと呼ばれる。
The CPU 101 is also called a microprocessor unit (MPU) or processor. The CPU 101 is not limited to a single processor, and may have a multiprocessor configuration. Also, a single CPU 101 connected with a single socket may have a multi-core configuration. At least part of the processing executed by the CPU 101 is performed by a processor other than the CPU 101, such as a dedicated processor such as a digital signal processor (DSP), graphics processing unit (GPU), numerical processor, vector processor, or image processor. may Also, at least part of the processing executed by the CPU 101 may be executed by an integrated circuit (IC) or other digital circuits. Also, at least part of the CPU 101 may include an analog circuit. Integrated circuits include Large Scale Integrated Circuit (LSI), Application Specific Integrated Circuit (AS
ICs), including programmable logic devices (PLDs). PLDs include, for example, Field-Programmable Gate Arrays (FPGAs). CPU 101 may be a combination of a processor and an integrated circuit. A combination is called, for example, a microcontroller unit (MCU), a system-on-a-chip (SoC), a system LSI, a chipset, or the like.

情報処理装置100では、CPU101が補助記憶部103に記憶されたプログラムを主記憶部102の作業領域に展開し、プログラムの実行を通じて周辺装置の制御を行う。これにより、情報処理装置100は、所定の目的に合致した処理を実行することができる。主記憶部102および補助記憶部103は、情報処理装置100が読み取り可能な記録媒体である。主記憶部102は、CPU101から直接アクセスされる記憶部として例示される。主記憶部102は、Random Access Memory(RAM)およびRead Only Memory(ROM)を含む。 In the information processing apparatus 100, the CPU 101 expands the program stored in the auxiliary storage unit 103 into the work area of the main storage unit 102, and controls the peripheral devices through the execution of the program. Accordingly, the information processing apparatus 100 can execute processing that meets a predetermined purpose. The main storage unit 102 and the auxiliary storage unit 103 are recording media readable by the information processing apparatus 100 . The main storage unit 102 is exemplified as a storage unit directly accessed from the CPU 101 . The main memory unit 102 includes Random Access Memory (RAM) and Read Only Memory (ROM).

補助記憶部103は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納する。補助記憶部103は外部記憶装置とも呼ばれる。補助記憶部103には、オペレーティングシステム(Operating System、OS)、各種プログラム、各種テーブル等が格納される。OSは、通信部104を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、コンピュータネットワーク等で接続された、他の情報処理装置および外部記憶装置が含まれる。なお
、補助記憶部103は、例えば、ネットワーク上のコンピュータ群であるクラウドシステムの一部であってもよい。
The auxiliary storage unit 103 stores various programs and various data in a recording medium in a readable and writable manner. The auxiliary storage unit 103 is also called an external storage device. The auxiliary storage unit 103 stores an operating system (OS), various programs, various tables, and the like. The OS includes a communication interface program for exchanging data with an external device or the like connected via the communication unit 104 . External devices and the like include, for example, other information processing devices and external storage devices connected via a computer network or the like. Note that the auxiliary storage unit 103 may be part of a cloud system, which is a group of computers on a network, for example.

補助記憶部103は、例えば、Erasable Programmable ROM(EPROM)、ソリッド
ステートドライブ(Solid State Drive、SSD)、ハードディスクドライブ(Hard Disk
Drive、HDD)等である。また、補助記憶部103は、例えば、Compact Disc(CD)ドライブ装置、Digital Versatile Disc(DVD)ドライブ装置、Blu-ray(登録商標) Disc(BD)ドライブ装置等である。また、補助記憶部103は、Network Attached Storage(NAS)あるいはStorage Area Network(SAN)によって提供されてもよい。
The auxiliary storage unit 103 is, for example, an erasable programmable ROM (EPROM), a solid state drive (Solid State Drive, SSD), a hard disk drive (Hard Disk
Drive, HDD) and the like. Further, the auxiliary storage unit 103 is, for example, a Compact Disc (CD) drive device, a Digital Versatile Disc (DVD) drive device, a Blu-ray (registered trademark) Disc (BD) drive device, or the like. Also, the auxiliary storage unit 103 may be provided by Network Attached Storage (NAS) or Storage Area Network (SAN).

通信部104は、例えば、インターネットやLocal Area Network(LAN)等のコンピュータネットワークとのインターフェースである。通信部104は、コンピュータネットワークを介して外部装置等と通信を行う。 The communication unit 104 is, for example, an interface with a computer network such as the Internet or Local Area Network (LAN). A communication unit 104 communicates with an external device or the like via a computer network.

入出力インターフェース105は、入出力装置とのインターフェースであり、例えば、PS/2コネクタ、Universal Serial Bus(USB)コネクタ、Video Graphics Array(VGA)コネクタ、Digital Visual Interface(DVI)コネクタ、High-Definition Multimedia Interface(HDMI(登録商標))等である。 The input/output interface 105 is an interface with an input/output device, such as a PS/2 connector, a Universal Serial Bus (USB) connector, a Video Graphics Array (VGA) connector, a Digital Visual Interface (DVI) connector, a High-Definition Multimedia Interface (HDMI (registered trademark)) and the like.

ディスプレイ210は、CPU101で処理されるデータや主記憶部102に記憶されるデータを出力する出力部である。ディスプレイ210は、例えば、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Electroluminescence(EL)パネル、有機ELパネル等である。ディスプレイ
210は、入出力インターフェース105を介して情報処理装置100に接続される。
A display 210 is an output unit that outputs data processed by the CPU 101 and data stored in the main storage unit 102 . The display 210 is, for example, a Cathode Ray Tube (CRT) display, a Liquid Crystal Display (LCD), a Plasma Display Panel (PDP), an Electroluminescence (EL) panel, an organic EL panel, or the like. The display 210 is connected to the information processing device 100 via the input/output interface 105 .

キーボード220およびマウス230は、ユーザ等からの操作指示等を受け付ける入力手段である。キーボード220およびマウス230は、入出力インターフェース105を介して情報処理装置100に接続される。 The keyboard 220 and the mouse 230 are input means for receiving operation instructions and the like from the user. Keyboard 220 and mouse 230 are connected to information processing apparatus 100 via input/output interface 105 .

<情報処理装置100の機能ブロック>
図2は、第1実施形態に係る情報処理装置100の機能ブロックの一例を示す図である。情報処理装置100は、同義語展開部301、同義語辞書301a、テキスト検索部302、テキストデータベース(図中では、テキストDBと表記)302a、形態素解析部303、文書ベクトル生成部304、ストップワード辞書304a、単語ベクトル生成部305、単語分類度計算部307、分類器308、特徴モデル308a、分類度ベクトル生成部309、基点決定部310,表示データ生成部311、近接規則リスト311a、特定特徴データリスト311b、属性データリスト311c、表示対象データリスト311d、単語特徴量比較部312、ノード文書検索部313、エッジ文書検索部314、テキスト表示部315、詳細データ検索部316を備える。情報処理装置100は、主記憶部102に実行可能に展開されたコンピュータプログラムをCPU101が実行することで、上記各部としての処理を実行する。
<Functional Blocks of Information Processing Apparatus 100>
FIG. 2 is a diagram showing an example of functional blocks of the information processing apparatus 100 according to the first embodiment. The information processing apparatus 100 includes a synonym expansion unit 301, a synonym dictionary 301a, a text search unit 302, a text database (denoted as text DB in the figure) 302a, a morphological analysis unit 303, a document vector generation unit 304, and a stop word dictionary. 304a, word vector generation unit 305, word classification degree calculation unit 307, classifier 308, feature model 308a, classification degree vector generation unit 309, base point determination unit 310, display data generation unit 311, proximity rule list 311a, specific feature data list 311b, an attribute data list 311c, a display target data list 311d, a word feature amount comparison unit 312, a node document search unit 313, an edge document search unit 314, a text display unit 315, and a detailed data search unit 316. The information processing apparatus 100 executes the processes of the respective units described above by the CPU 101 executing a computer program that has been developed in the main storage unit 102 so as to be executable.

テキストデータベース302aには、多数の文書が格納されている。文書は、少なくともテキストを含むデータであり、例えば、論文、技術資料、仕様書、特許文献、書籍、法令、契約書、判例、HTMLやXMLで記述された文書などを例示できる。文書は、テキストの他に、画像や動画や音声を含んでもよい。なお、本明細書では、「文書」という語を文書データ又は文書ファイルの意味で用いるが、文脈によっては、文書データ又は文書ファイルに含まれるテキストの意味で「文書」の語を用いる場合もある。テキストデータベース302aは、文書を文書IDと対応付けて管理する。文書IDは、文書を一意に特定するための識別情報である。なお、文書がインターネットなどのネットワーク上に存在
するリソースである場合には、文書の実体の代わりに、文書の実体へのUniform Resource
Identifier(URI)をテキストデータベース302aに格納してもよい。テキストデ
ータベース302aは、「データベース」の一例である。
A large number of documents are stored in the text database 302a. A document is data including at least text, and examples thereof include articles, technical data, specifications, patent documents, books, laws and regulations, contracts, judicial precedents, and documents written in HTML or XML. Documents may include images, moving images, and audio in addition to text. In this specification, the term "document" is used to mean document data or document file, but depending on the context, the term "document" may be used to mean text included in document data or document file. . The text database 302a manages documents in association with document IDs. A document ID is identification information for uniquely identifying a document. Note that if the document is a resource that exists on a network such as the Internet, a Uniform Resource
The Identifier (URI) may be stored in the text database 302a. The text database 302a is an example of a "database."

テキスト検索部302は、キーボード220等の入力手段を介して指定された検索条件に基づいて、検索条件にマッチする複数の文書をテキストデータベース302aから抽出する。テキスト検索部302により抽出された文書を「抽出文書」と呼ぶ。検索条件は、少なくともキーワードを含み、さらに論理演算子を含んでもよい。テキスト検索部302は、指定された検索条件に含まれるキーワードの同義語を同義語展開部301から受け取り、キーワードと同義語とを指定したOR検索を実行してもよい。キーワードとその同義語とを指定したOR検索を実行することで、テキスト検索部302は、ユーザにより指定されたキーワードとその同義語の少なくともいずれか一方を含む文書をテキストデータベース302aから抽出することができる。テキスト検索部302は、抽出文書の文書IDを主記憶部102や補助記憶部103に記憶させる。テキスト検索部302は、「検索部」の一例である。 The text search unit 302 extracts a plurality of documents matching the search conditions from the text database 302a based on the search conditions specified via input means such as the keyboard 220. FIG. A document extracted by the text search unit 302 is called an "extracted document". A search condition includes at least a keyword and may further include a logical operator. The text search unit 302 may receive synonyms of the keywords included in the specified search condition from the synonym expansion unit 301 and execute an OR search specifying the keyword and synonyms. By executing an OR search specifying a keyword and its synonyms, the text search unit 302 can extract documents containing at least one of the keyword specified by the user and its synonyms from the text database 302a. can. The text search unit 302 stores the document ID of the extracted document in the main storage unit 102 and auxiliary storage unit 103 . The text search unit 302 is an example of a "search unit".

同義語展開部301は、指定されたキーワードの同義語を検索する。ここで、同義語は、キーワードと同じ意味である単語に限定されず、キーワードと類似する意味の単語であってもよい。同義語展開部301は、指定されたキーワードを基に同義語辞書301aを検索する。図3は、同義語辞書301aの構成の一例を示す図である。同義語辞書301aの各行は、複数の同義語から構成される同義語群を示し、同義語群のうちから選択された1つの代表語と残りの同義語とが列挙されている。同義語展開部301は、指定されたキーワードを同義語辞書301aから検索し、キーワードが属する同義語群に含まれる単語(キーワードと同じ単語は除く)を同義語として返す。例えばキーワードとして「林檎」が指定された場合、同義語展開部301は「林檎」を同義語辞書301aから検索し、「林檎」が属する同義語群に含まれる「リンゴ」、「りんご」、「Apple」を「林檎」の
同義語として返す。
The synonym expansion unit 301 searches for synonyms of the designated keyword. Here, synonyms are not limited to words having the same meaning as the keyword, and may be words having similar meaning to the keyword. The synonym developing unit 301 searches the synonym dictionary 301a based on the designated keyword. FIG. 3 is a diagram showing an example of the configuration of the synonym dictionary 301a. Each row of the synonym dictionary 301a indicates a synonym group composed of a plurality of synonyms, and lists one representative word selected from the synonym group and the remaining synonyms. The synonym development unit 301 searches the designated keyword from the synonym dictionary 301a, and returns words included in the synonym group to which the keyword belongs (excluding the same words as the keyword) as synonyms. For example, when "apple" is specified as a keyword, the synonym expansion unit 301 searches for "apple" from the synonym dictionary 301a and finds "apple", "apple", and "apple" included in the synonym group to which "apple" belongs. Returns "Apple" as a synonym for "apple".

形態素解析部303は、入力された文書に含まれるテキストを単語に分割する形態素解析を行う。形態素解析部303は、例えば、単語と品詞とを対応づけた辞書を基にテキストを単語に分割し、当該単語に対応する品詞情報を導く。図4は、形態素解析部303による形態素解析結果の一例を示す図である。図4は、「リンゴは青森などで栽培されている果物です。」というテキストに対して形態素解析を実行した結果の一例である。図4において、各行の左端が、分割された単語を示す。分割された単語の右側には、当該単語の品詞情報として品詞、原形、活用の種類、発音表記等がカンマ区切りで示されている。 The morphological analysis unit 303 performs morphological analysis to divide the text included in the input document into words. The morphological analysis unit 303 divides the text into words based on, for example, a dictionary that associates words with parts of speech, and derives part of speech information corresponding to the words. FIG. 4 is a diagram showing an example of a morphological analysis result by the morphological analysis unit 303. As shown in FIG. FIG. 4 is an example of the result of executing morphological analysis on the text "Apple is a fruit grown in Aomori." In FIG. 4, the left end of each line indicates the divided word. On the right side of the divided word, part of speech, base form, type of conjugation, phonetic notation, etc. are shown as part of speech information of the word, separated by commas.

形態素解析部303は、テキスト検索部302から受け取った複数の抽出文書の各々に含まれるテキストを解析することにより、複数の抽出文書に少なくとも1回以上登場する単語を抽出する。形態素解析部303は、複数の抽出文書から抽出した複数の単語のそれぞれに単語IDを付し、それらを解析結果として主記憶部102に格納する。単語IDは、単語を一意に特定するための識別情報である。形態素解析部303は、「解析部」の一例である。なお本実施形態では、解析部の具体例として形態素解析を例示したが、文書の解析方法は形態素解析に限られず、他の方法を採用してもよい。例えば、日本語の文書の場合には形態素解析の他、チャンキング処理を含む構文解析などを利用してもよい。また、英語の文書の場合にはtokenizerやchunkerを利用することも好ましい。 The morphological analysis unit 303 analyzes the text included in each of the multiple extracted documents received from the text search unit 302 to extract words that appear at least once in the multiple extracted documents. The morphological analysis unit 303 assigns a word ID to each of a plurality of words extracted from a plurality of extracted documents, and stores them in the main storage unit 102 as analysis results. A word ID is identification information for uniquely identifying a word. The morphological analysis unit 303 is an example of an “analysis unit”. In the present embodiment, morphological analysis was exemplified as a specific example of the analysis unit, but the document analysis method is not limited to morphological analysis, and other methods may be employed. For example, in the case of a Japanese document, syntactic analysis including chunking processing may be used in addition to morphological analysis. It is also preferable to use a tokenizer or chunker for English documents.

形態素解析部303は、抽出文書に含まれるすべての単語を抽出してもよいが、抽出数を減らすために、所定の品詞(例えば名詞など)に限定して抽出したり、登場回数が所定の閾値より多い単語のみを抽出したり、登場回数が多いものから所定数の単語を抽出したりしてもよい。また形態素解析部303は、構文解析を併用して、抽出する単語や句を形
成する複合語や係り受け関係を持っている単語や句を形成する複合語の対を選定してもよい。例えばチャンキング処理を含む構文解析を利用することにより、意味的にまとまりのある複合語や語句を抽出することが可能となる。また、形態素解析部303は、形態素解析の結果から単語N-gramを生成してもよい。この場合、形態素解析部303によって最終的に出力される文字列は「単語」ではなく「複数の単語からなる複合語または語句」となるが、これ以降の処理において「単語」と「複合語」と「語句」を区別したり、「単語」か「複合語」か「語句」かで処理を変えたりする必要は特段ない。したがって、以下の説明では便宜的に「単語」という表現を用いるが、形態素解析部303から出力される文字列が「語句」または「複合語」の場合は以下の説明における「単語」を「語句」または「複合語」と読み替えればよい。上述した、登場回数の閾値、抽出する単語数、単語N-gramにおけるパラメータNなどの設定をユーザに指定可能とするとよい。なお、単語N-gramを生成する場合には、N個の単語から構成される語句のみを抽出してもよいし、N個以下の単語から構成される語句を抽出してもよい。
The morphological analysis unit 303 may extract all words contained in the extracted document, but in order to reduce the number of words to be extracted, the morphological analysis unit 303 may extract only certain parts of speech (for example, nouns), It is also possible to extract only words that are more than a threshold value, or to extract a predetermined number of words from words that appear more often. The morphological analysis unit 303 may also use syntactic analysis to select compound words forming a word or phrase to be extracted, or pairs of compound words forming words or phrases having a dependency relationship. For example, by using syntactic analysis including chunking processing, it is possible to extract semantically coherent compound words and phrases. Also, the morphological analysis unit 303 may generate word N-grams from the result of the morphological analysis. In this case, the character string finally output by the morphological analysis unit 303 is not a "word" but a "compound word or phrase consisting of a plurality of words". There is no particular need to distinguish between and "phrases" or to change processing depending on whether it is a "word", a "compound word" or a "phrase". Therefore, in the following description, the expression "word" is used for convenience. ” or “compound word”. It is preferable to allow the user to specify settings such as the threshold for the number of appearances, the number of words to be extracted, the parameter N in the word N-gram, and the like. Note that when generating word N-grams, only phrases composed of N words may be extracted, or phrases composed of N words or less may be extracted.

文書ベクトル生成部304は、形態素解析部303によって抽出された複数の単語の各々について、文書ベクトルを生成する。文書ベクトルは、当該単語の抽出文書ごとの出現回数を要素としてもつベクトルである。文書ベクトル生成部304は、生成した文書ベクトルを単語IDに対応付けて主記憶部102または補助記憶部103に記憶させる。図5は、文書ベクトル3041の一例を示す図である。図5の各列が文書ベクトル3041を示し、各行が抽出文書を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。抽出文書の数がM個であれば、文書ベクトル3041はM次元のベクトルになる。例えば、図5において、単語ID「101」の単語「リンゴ」の文書ベクトル3041は{…,1,2,3,0,0,…}で示されている。この文書ベクトル3041により、単語「リンゴ」が、文書ID「11」の文書に1回、文書ID「12」の文書に2回、文書ID「13」の文書に3回出現し、文書ID「14」および「15」の文書には出現しないことがわかる。 A document vector generation unit 304 generates a document vector for each of the multiple words extracted by the morphological analysis unit 303 . A document vector is a vector whose element is the number of appearances of the word in each extracted document. The document vector generation unit 304 stores the generated document vector in the main storage unit 102 or the auxiliary storage unit 103 in association with the word ID. FIG. 5 is a diagram showing an example of the document vector 3041. As shown in FIG. Each column in FIG. 5 indicates a document vector 3041, and each row indicates an extracted document. The numbers in the table indicate the number of times the word in the corresponding column appears in the document in the corresponding row. If the number of extracted documents is M, the document vector 3041 will be an M-dimensional vector. For example, in FIG. 5, the document vector 3041 of the word "apple" with the word ID "101" is indicated by {..., 1, 2, 3, 0, 0,...}. According to this document vector 3041, the word "apple" appears once in the document with the document ID "11", twice in the document with the document ID "12", and three times in the document with the document ID "13". It can be seen that it does not appear in the documents of "14" and "15".

単語ベクトル生成部305は、テキスト検索部302によって抽出された複数の抽出文書の各々について、単語ベクトルを生成する。単語ベクトルは、当該文書における単語ごとの出現回数を要素としてもつベクトルである。単語ベクトル生成部305は、生成した単語ベクトルを文書IDに対応付けて主記憶部102または補助記憶部103に記憶させる。図6は、単語ベクトル3051の一例を示す図である。図6の各行が単語ベクトル3051を示し、各列が単語を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。単語の数がL個であれば、単語ベクトル3051はL次元のベクトルになる。例えば、図6において、文書ID「12」の文書の単語ベクトル3051は{…,2,1,0,0,0,0,0,…}で示されている。この単語ベクトル3051により、文書ID「12」の文書中に、単語「リンゴ」が2回と単語「ミカン」が1回出現し、単語「トマト」「スイカ」「メロン」「きゅうり」「イチゴ」は出現しないことがわかる。 A word vector generation unit 305 generates a word vector for each of the multiple extracted documents extracted by the text search unit 302 . A word vector is a vector whose elements are the number of occurrences of each word in the document. The word vector generation unit 305 stores the generated word vector in the main memory unit 102 or the auxiliary memory unit 103 in association with the document ID. FIG. 6 is a diagram showing an example of the word vector 3051. As shown in FIG. Each row in FIG. 6 indicates a word vector 3051, and each column indicates a word. The numbers in the table indicate the number of times the word in the corresponding column appears in the document in the corresponding row. If the number of words is L, the word vector 3051 becomes an L-dimensional vector. For example, in FIG. 6, the word vector 3051 of the document with the document ID "12" is indicated by {..., 2, 1, 0, 0, 0, 0, 0,...}. With this word vector 3051, the word "apple" appears twice and the word "orange" once in the document with the document ID "12", and the words "tomato", "watermelon", "melon", "cucumber", and "strawberry" appear. does not appear.

ストップワード辞書304aは、文書ベクトル3041や単語ベクトル3051に含めない単語を示す情報を格納する辞書である。図7は、ストップワード辞書の一例を示す図である。文書ベクトル生成部304および単語ベクトル生成部305は、例えば、ストップワード辞書304aに格納されている単語を除外して文書ベクトル3041や単語ベクトル3051を生成してもよい。 The stop word dictionary 304a is a dictionary that stores information indicating words that are not included in the document vector 3041 or the word vector 3051. FIG. FIG. 7 is a diagram showing an example of a stopword dictionary. The document vector generation unit 304 and the word vector generation unit 305 may generate the document vector 3041 and the word vector 3051 by excluding words stored in the stop word dictionary 304a, for example.

分類器308は、入力される文書をn個のクラス(nは2以上の整数)に分類する分類器である。分類器308は、例えば、予め用意された特徴モデル308aを用いて入力文書のスコアを計算し出力する。このスコアは、入力文書が或るクラスに属する確率又は尤度を表す値であって、連続値をとる(したがって、分類器308は回帰器と呼んでもよい
。)。例えば、入力文書を「果物に関する文書」か否かに分類する2クラス分類器の場合は、0~1の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが1に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが0に近いほど「入力文書は果物に関する文章ではない可能性が高い」と判断できる。また、入力文書を「野菜に関する文書」か「果物に関する文書」か「それ以外の文書」かに分類する3クラス分類器の場合は、-1(野菜)~0~+1(果物)の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが-1に近いほど「入力文書は野菜に関する文書である可能性が高い」と判断でき、出力スコアが+1に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが0に近いと「入力文書は野菜に関する文書でも果物に関する文書でもない可能性が高い」と判断できる。このような分類器308は、多数の教師データ(トレーニング用の文書サンプル)を用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワーク(NN)、ディープニューラルネットワーク(DNN)などを利用できる。本実施形態ではSVMを用いる。分類器308の出力スコアは、入力文書が有する特徴を数値化したものといえるので、以下では「文書特徴スコア」と呼ぶ。分類器308は、抽出文書ごとの文書特徴スコアを算出する「文書特徴算出部」の一例である。
A classifier 308 classifies an input document into n classes (n is an integer equal to or greater than 2). The classifier 308 uses, for example, a feature model 308a prepared in advance to calculate and output the score of the input document. This score is a value representing the probability or likelihood that an input document belongs to a certain class, and takes continuous values (the classifier 308 may therefore be called a regressor). For example, in the case of a two-class classifier that classifies input documents into whether they are “documents about fruit” or not, it is preferable to design or learn to output scores in the range of 0 to 1. In this case, the closer the output score is to 1, the more likely it is that the input document is a document about fruit. I can judge. In the case of a three-class classifier that classifies input documents into "documents about vegetables,""documents about fruits," and "other documents," the range is -1 (vegetables) to 0 to +1 (fruits). should be designed or learned to output a score of In this case, the closer the output score is to -1, the more likely it is that the input document is about vegetables, and the closer the output score is to +1, the more likely it is that the input document is about fruits. If the output score is close to 0, it can be determined that "there is a high possibility that the input document is neither a document about vegetables nor a document about fruits." Such a classifier 308 may be created by machine learning using a large amount of teacher data (document samples for training), or may be created based on rules and models designed by humans. Any machine learning method can be used, such as support vector machine (SVM), Bayesian network, neural network (NN), deep neural network (DNN), and the like. SVM is used in this embodiment. Since the output score of the classifier 308 can be said to be a numerical representation of the features of the input document, it is hereinafter referred to as a "document feature score". The classifier 308 is an example of a “document feature calculator” that calculates a document feature score for each extracted document.

単語分類度計算部307と分類度ベクトル生成部309はともに、単語の文書ベクトル3041と各文書の文書特徴スコアに基づいて、当該単語の特徴を表す特徴量を算出する機能である。単語分類度計算部307と分類度ベクトル生成部309の違いは、前者で求められる特徴量(分類度)が一つの値からなる指標(スカラー)であるのに対し、後者で求められる特徴量(分類度ベクトル)は複数の値の組からなる指標(ベクトル)である点である。いずれの特徴量も単語(文字列)の特徴を表す指標であり、「文字列特徴量」の一例である。各々の特徴量の具体的な計算方法を以下に述べる。 Both the word classification degree calculation unit 307 and the classification degree vector generation unit 309 are functions for calculating a feature amount representing the feature of the word based on the document vector 3041 of the word and the document feature score of each document. The difference between the word classification degree calculation unit 307 and the classification degree vector generation unit 309 is that the feature amount (classification degree) obtained by the former is an index (scalar) consisting of one value, whereas the feature amount ( The classification vector) is an index (vector) consisting of a set of multiple values. Each feature amount is an index representing the feature of a word (character string), and is an example of a "character string feature amount." A specific calculation method for each feature amount will be described below.

単語分類度計算部307は、対象となる単語の文書ベクトル3041から、当該単語が1回以上出現する抽出文書(以下「出現文書」と呼ぶ)を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、単語分類度計算部307は、出現文書の文書特徴スコアとその出現文書における当該単語の出現回数との積を計算し、文書特徴スコアと出現回数の積をすべての出現文書について合計した値を、当該単語の特徴量とする。この特徴量は、後段の木構造生成処理において単語の分類に利用されるため、本明細書ではこの特徴量を「単語の分類度」と称する。例えば図8の「スイカ」の場合、出現文書は文書ID「13」と「15」の2つの文書であり、それぞれの文書特徴スコアは「0.8」と「-0.1」、出現回数は「6」と「3」である。したがって「スイカ」の分類度は、
「スイカ」の分類度=6×0.8+3×(-0.1)=4.5
と求まる。なお本実施形態では、文書特徴スコアと出現回数の積の合計値を分類度と定義したが、合計値の代わりに別の統計量を用いてもよい。例えば、平均、標準偏差等によって分類度が求められてもよい。
The word classification degree calculation unit 307 identifies extracted documents in which the word appears one or more times (hereinafter referred to as “appearing documents”) from the document vector 3041 of the target word, and calculates the document features of each of the identified appearing documents. A feature amount of the word is calculated based on the score. Specifically, the word classification degree calculation unit 307 calculates the product of the document feature score of the appearing document and the number of appearances of the word in the appearing document, and calculates the product of the document feature score and the appearance number for all the appearing documents. The total value is used as the feature amount of the word. Since this feature amount is used for word classification in the subsequent tree structure generation processing, this feature amount is referred to as a "word classification degree" in this specification. For example, in the case of "watermelon" in FIG. are "6" and "3". Therefore, the classification of "watermelon" is
Classification degree of "watermelon" = 6 x 0.8 + 3 x (-0.1) = 4.5
Asked. Note that in the present embodiment, the total value of the product of the document feature score and the number of occurrences is defined as the degree of classification, but another statistic may be used instead of the total value. For example, the classification degree may be determined by means, standard deviation, or the like.

分類度ベクトル生成部309は、対象となる単語の文書ベクトル3041から出現文書を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、分類度ベクトル生成部309は、文書特徴スコアと当該単語の出現回数との積を要素としてもつベクトルを、当該単語の特徴量とする。この特徴量も、後段の木構造生成処理において単語の分類に利用されるため、本明細書でこの特徴量を「分類度ベクトル」と称する。例えば図8の「スイカ」の場合、分類度ベクトル3091は{…,0,0,6×0.8,0,3×(-0.1),…}となる。なお、本実施形態の例では、単語の分類度は、当該単語の分類度ベクトルのすべての要素の和に等しくなる。 The classification vector generation unit 309 identifies the appearing document from the document vector 3041 of the target word, and calculates the feature amount of the word based on the document feature score of each of the identified appearing documents. Specifically, the classification vector generation unit 309 sets a vector having as an element the product of the document feature score and the number of appearances of the word, as the feature amount of the word. Since this feature amount is also used for word classification in the subsequent tree structure generation processing, this feature amount is referred to as a "classification degree vector" in this specification. For example, in the case of "watermelon" in FIG. 8, the classification vector 3091 is {..., 0, 0, 6 x 0.8, 0, 3 x (-0.1),...}. Note that in the example of this embodiment, the degree of classification of a word is equal to the sum of all the elements of the degree of classification vector of the word.

基点決定部310は、木構造の基点となる単語を決定する。基点となる単語は、例えば、ユーザが指定した単語であってもよいし、分類度が最も大きい単語又は最も小さい単語であってもよいし、分類度ベクトル3091の大きさが最も大きい単語又は最も小さい単語であってもよい。また、基点決定部310が、すべての単語の間の分類度の平均である平均分類度を算出し、すべての単語のうちで平均分類度に最も近い分類度をもつ単語を基点に選んでもよい。また、基点決定部310は、すべての単語の間の分類度ベクトルの平均である平均分類度ベクトルを算出し、すべての単語のうちで平均分類度ベクトルに最も近い分類度ベクトルをもつ単語を基点に選んでもよい。基点決定部310は、基点として決定した単語の情報を表示データ生成部311に渡す。なお、本実施形態では、分類度ベクトル3091の大きさを「分類度ベクトルのすべての要素の和」と定義する。したがって、本実施形態では「単語の分類度」と「単語の分類度ベクトルの大きさ」は同じ値となる。 The base point determination unit 310 determines a word that serves as the base point of the tree structure. The word that serves as the base point may be, for example, a word specified by the user, a word with the highest or lowest classification degree, or a word with the highest or lowest classification degree vector 3091 . It can be a small word. Alternatively, the base point determination unit 310 may calculate an average classification degree, which is the average of classification degrees among all words, and select a word having a classification degree closest to the average classification degree among all words as a base point. . In addition, the base point determination unit 310 calculates an average classification vector, which is the average of the classification vectors of all words, and selects the word having the classification vector closest to the average classification vector among all words as the base point. You can choose to The base point determination unit 310 passes information on the word determined as the base point to the display data generation unit 311 . In this embodiment, the magnitude of the classification vector 3091 is defined as "the sum of all the elements of the classification vector". Therefore, in this embodiment, the "word classification degree" and the "word classification degree vector magnitude" have the same value.

なお、木構造の基点は空(から)のノードであってもよい。基点を空のノードにする場合、基点決定部310は、すべての単語の中から、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択し、表示データ生成部311に渡す。 Note that the base point of the tree structure may be an empty node. If the base point is an empty node, the base point determination unit 310 selects a pair of the word with the highest classification degree and the word with the lowest classification degree, or the word with the largest classification degree vector and the word with the smallest classification degree vector. A word pair is selected and passed to the display data generation unit 311 .

表示データ生成部311は、複数の単語の関係を表す木構造を生成し、ディスプレイ210に出力する。本実施形態で生成される木構造は、各々のノードに単語が対応付けられており、かつ、単語間の特徴量(分類度又は分類度ベクトル)の差に基づいて各ノードの配置が決定される点に特徴がある。詳しくは後述する。 The display data generation unit 311 generates a tree structure representing the relationship between multiple words and outputs it to the display 210 . In the tree structure generated in this embodiment, each node is associated with a word, and the arrangement of each node is determined based on the difference in feature amount (classification degree or classification degree vector) between words. It is characterized by Details will be described later.

単語特徴量比較部312は、2つの単語の間の特徴量を比較することで、2つの単語の類似度を評価する機能である。具体的には、単語特徴量比較部312は、2つの単語の間の特徴量の差を計算し、その値を類似度として出力する(この場合、差が小さいほど類似度が高い、差が大きいほど類似度が低いこととなる)。特徴量の差は、例えば次のように求めることができる。特徴量が分類度(スカラー)の場合は、2つの単語の間で分類度の差(減算値)又はその絶対値を計算すればよい。また特徴量が分類度ベクトルの場合は、2つの単語の間の分類度ベクトルの差を、コサイン類似度やユークリッド距離等のベクトル比較関数により計算すればよい。 The word feature quantity comparison unit 312 is a function that evaluates the similarity between two words by comparing the feature quantity between the two words. Specifically, the word feature quantity comparison unit 312 calculates the difference in feature quantity between two words and outputs the value as the degree of similarity (in this case, the smaller the difference, the higher the similarity; The higher the value, the lower the similarity). The difference in feature amount can be obtained, for example, as follows. If the feature quantity is the degree of classification (scalar), the difference (subtraction value) in the degree of classification between two words or its absolute value may be calculated. If the feature quantity is a classification vector, the difference in classification vector between two words may be calculated using a vector comparison function such as cosine similarity or Euclidean distance.

ノード文書検索部313は、キーボード220やマウス230等を用いて、木構造のいずれかのノードがユーザにより指定された場合に、ノードの単語に対応した文書ベクトルの要素になっている文書IDの文書を検索する。また、エッジ文書検索部314は、キーボード220やマウス230等を用いて、木構造のいずれかのエッジがユーザにより指定された場合に、指定されたエッジによって接続される2つのノード間の文書ベクトルのANDを取ったベクトルの要素になっている文書IDの文書を検索する。なお「エッジ」とは、ノードとノードの間をつなぐリンクのことである。ノード文書検索部313やエッジ文書検索部314によるテキスト検索結果は、テキスト表示部315に渡される。テキスト表示部315はテキスト検索結果をディスプレイ210に表示する機能である。 When the user designates any node of the tree structure using the keyboard 220, the mouse 230, or the like, the node document search unit 313 retrieves the document ID that is an element of the document vector corresponding to the word of the node. Search for documents. Further, when the user designates any edge of the tree structure using the keyboard 220, the mouse 230, or the like, the edge document search unit 314 retrieves the document vector between two nodes connected by the designated edge. A document with a document ID that is an element of a vector obtained by ANDing is retrieved. An "edge" is a link connecting between nodes. The text search results from the node document search unit 313 and the edge document search unit 314 are passed to the text display unit 315 . A text display unit 315 has a function of displaying the text search result on the display 210 .

詳細データ検索部316は、キーボード220やマウス230等を用いて、木構造のいずれかのノードがユーザにより指定された場合に、指定されたノードに対応付けられた単語の詳細データを検索して表示する機能である。詳細データ検索部316は、例えば、指定されたノードに表示されている単語を検索キーとして情報処理装置100がアクセス可能な環境に構築されたデータベースやウェブサイトを検索し、検索結果を表示する。情報処理装置100がアクセス可能な環境に構築されたデータベースやウェブサイトは、インターネット上に構築されたデータベースやウェブサイトであってもよいし、情報処理装置
100の補助記憶部103上に構築されたデータベースやLAN上に構築されたデータベースやウェブサイトであってもよい。
When the user designates any node in the tree structure using the keyboard 220, the mouse 230, or the like, the detailed data search unit 316 searches for the detailed data of the word associated with the designated node. It is a function to display. The detailed data search unit 316 searches, for example, a database or a website built in an environment accessible to the information processing apparatus 100 using the word displayed at the designated node as a search key, and displays the search results. The database or website built in the environment accessible by the information processing device 100 may be a database or website built on the Internet, or a database or website built on the auxiliary storage unit 103 of the information processing device 100. It may be a database, a database built on a LAN, or a website.

<処理フロー>
図17から図20を参照して、第1実施形態に係る情報処理装置100が実行する処理フローについて説明する。図17から図20は、第1実施形態に係る処理フローの一例を示す図である。図17の「A」は図18の「A」に接続し、図18の「B」は図19の「B」に接続し、図19の「C」は図20の「C」に接続する。
<Processing flow>
A processing flow executed by the information processing apparatus 100 according to the first embodiment will be described with reference to FIGS. 17 to 20. FIG. 17 to 20 are diagrams showing an example of the processing flow according to the first embodiment. "A" in FIG. 17 connects to "A" in FIG. 18, "B" in FIG. 18 connects to "B" in FIG. 19, and "C" in FIG. 19 connects to "C" in FIG. .

ステップS1では、キーボード220等の入力手段によって検索条件が指定され、検索クエリが生成される。検索クエリは、テキスト検索部302に渡される。ステップS2では、テキスト検索部302は、検索クエリに含まれるキーワードを同義語展開部301に渡す。同義語展開部301は、受け取ったキーワードの同義語を同義語辞書301aから取得し、テキスト検索部302に渡す。 In step S1, search conditions are designated by an input means such as the keyboard 220, and a search query is generated. The search query is passed to text searcher 302 . In step S<b>2 , the text search unit 302 passes the keyword included in the search query to the synonym expansion unit 301 . The synonym development unit 301 acquires synonyms of the received keyword from the synonym dictionary 301 a and passes them to the text search unit 302 .

ステップS3では、テキスト検索部302は、検索クエリに含まれるキーワード又はその同義語を含む文書をテキストデータベース302aから抽出する。ステップS1からステップS3までの処理は、「検索ステップ」の一例である。 In step S3, the text search unit 302 extracts documents containing the keyword or synonyms included in the search query from the text database 302a. The processing from step S1 to step S3 is an example of a "search step."

ステップS4では、形態素解析部303は、テキスト検索部302で得られた抽出文書の各々のテキストに対し形態素解析を行うことによって、複数の単語(文字列)を抽出する。ステップS4は、「解析ステップ」の一例である。 In step S<b>4 , the morphological analysis unit 303 extracts a plurality of words (character strings) by performing morphological analysis on each text of the extracted document obtained by the text search unit 302 . Step S4 is an example of an "analysis step."

ステップS5では、文書ベクトル生成部304は、形態素解析部303で得られた各々の単語について文書ベクトル3041を生成する。ステップS6では、単語ベクトル生成部305が、テキスト検索部302で得られた各々の抽出文書について単語ベクトル3051を生成する。ステップS5とステップS6の順番は入れ替えてもよい。 In step S5, the document vector generator 304 generates a document vector 3041 for each word obtained by the morphological analyzer 303. FIG. In step S6, the word vector generation unit 305 generates word vectors 3051 for each extracted document obtained by the text search unit 302. FIG. The order of step S5 and step S6 may be exchanged.

ステップS7では、分類器308が、テキスト検索部302で得られた抽出文書の各々について、文書特徴スコアを算出する。ステップS8では、単語分類度計算部307が、各単語の分類度を計算する。ステップS9では、分類度ベクトル生成部309が、各単語の分類度ベクトルを計算する。ステップS7は、「文書特徴算出ステップ」の一例であり、ステップS8からステップS9は、「文字列特徴量算出ステップ」の一例である。 At step S7, the classifier 308 calculates a document feature score for each extracted document obtained by the text search unit 302. FIG. In step S8, the word classification degree calculator 307 calculates the classification degree of each word. In step S9, the classification vector generation unit 309 calculates the classification vector of each word. Step S7 is an example of a "document feature calculation step", and steps S8 to S9 are examples of a "character string feature amount calculation step".

ステップS10では、基点決定部310が、木構造の基点ノードとなる単語を決定する。基点決定部310は、基点ノードとして決定した単語を表示データ生成部311に渡す。なお、基点ノードを「空」とする場合には、基点決定部310は、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペア、を表示データ生成部311に渡す。ステップS10は、「基点決定ステップ」の一例である。 In step S10, the base point determination unit 310 determines a word that becomes a base node of the tree structure. The base point determination unit 310 passes the word determined as the base node to the display data generation unit 311 . Note that when the base node is set to "empty", the base point determination unit 310 creates a pair of a word with the highest classification degree and a word with the lowest classification degree vector, or a word with the largest classification degree vector and a word with the smallest classification degree vector. pair to the display data generator 311 . Step S10 is an example of a "base point determination step".

ステップS11では、表示データ生成部311が、基点決定部310から渡された単語を基点ノードとして設定する。基点ノードが「空」である場合には、表示データ生成部311は、基点決定部310から受け取った単語のペアを「空」である基点ノードの配下に配置する。図9は、「空」である基点ノードの配下に分類度が最も大きい単語「リンゴ」のノードと分類度が最も小さい単語「トマト」のノードとを配置した状態の一例を示す図である。ステップS11により木構造の基点が生成される。 In step S11, the display data generation unit 311 sets the word passed from the base point determination unit 310 as a base node. When the base node is "empty", the display data generation unit 311 arranges the word pairs received from the base point determination unit 310 under the "empty" base node. FIG. 9 is a diagram showing an example of a state in which a node of the word "apple" with the highest classification degree and a node of the word "tomato" with the lowest classification degree are arranged under the base node of "empty". A base point of the tree structure is generated in step S11.

ステップS12では、表示データ生成部311は、残りの単語(つまり、未だ木構造に配置されていない単語)の中から、次に木構造に追加する候補となる単語を選択する。基
点ノードが「空」の場合は、例えば、残りの単語の中から、単語の分類度が最も大きい単語と最も小さい単語のペア、又は、単語の分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択するとよい。基点ノードが「空」でない場合は、例えば、残りの単語の中から、基点ノードの単語に最も類似する単語を選択するとよい(なお、単語間の類似度については単語特徴量比較部312と同じ方法で計算すればよい)。選択された追加候補の単語は、単語特徴量比較部312に渡される。
In step S12, the display data generation unit 311 selects words that are candidates to be added to the tree structure next from the remaining words (that is, words that have not yet been arranged in the tree structure). If the base node is "empty", for example, a pair of the word with the highest word classification degree and the word with the lowest word classification degree, or a word with the largest word classification degree vector and the word with the lowest Choose small word pairs. If the base node is not "empty", for example, a word that is most similar to the word of the base node should be selected from among the remaining words (the degree of similarity between words is the same as that of the word feature quantity comparison unit 312). method to calculate). The selected additional candidate words are passed to the word feature quantity comparison unit 312 .

ステップS13では、単語特徴量比較部312が、木構造に既に表示されているノードのうち、子ノードを追加可能なノードを特定する。本実施形態では二分木を対象としているため、子ノードを追加可能なノードとは、子ノードを有していないか、1つの子ノードのみを有するノードである。そして、単語特徴量比較部312は、ステップS12で選択された追加候補の単語と子ノードを追加可能なノードに対応付けられた単語とのすべての組み合わせについて、単語間の特徴量を比較し、単語間の類似度が最も高い(特徴量の差が最も小さい)組み合わせを選定する。追加候補の単語と子ノードを追加可能なノードの情報は、表示データ生成部311に渡される。 In step S13, the word feature quantity comparison unit 312 identifies nodes to which child nodes can be added, among the nodes already displayed in the tree structure. Since this embodiment deals with a binary tree, a node to which a child node can be added is a node that has no child node or only one child node. Then, the word feature amount comparison unit 312 compares the feature amounts between words for all combinations of the addition candidate word selected in step S12 and the word associated with the node to which the child node can be added, A combination with the highest degree of similarity between words (the smallest difference in feature amounts) is selected. Information on the additional candidate words and nodes to which child nodes can be added is passed to the display data generation unit 311 .

ステップS14では、表示データ生成部311が、子ノードを追加可能なノードに対し新たな子ノードを追加し、その子ノードに追加候補の単語を対応付ける。これにより特徴量が類似する単語が子ノードとして連結されていくことになる。図10は、類似するノードを追加した状態の一例である。図10では、ノード「リンゴ」の下に子ノード「みかん」が追加され、ノード「トマト」の下に子ノード「きゅうり」が追加されている。本実施形態では二分木で表示されるため、2つの子ノードを有するノードについては、子ノードの追加が行われない。 In step S14, the display data generation unit 311 adds a new child node to a node to which a child node can be added, and associates the addition candidate word with the child node. As a result, words with similar feature amounts are linked as child nodes. FIG. 10 is an example of a state in which similar nodes are added. In FIG. 10, a child node "orange" is added under the node "apple", and a child node "cucumber" is added under the node "tomato". Since a binary tree is displayed in this embodiment, a child node is not added to a node having two child nodes.

ステップS15では、表示データ生成部311が、未処理の単語(つまり木構造に追加されていない単語)が残っているか調べる。未処理の単語が残っている場合は、ステップS12~S14の処理を繰り返す。未処理の単語が無い場合は、ステップS16に移る。ステップS16では、表示データ生成部311が、決定した構造の二分木をディスプレイ210等の表示装置に出力する。 In step S15, the display data generation unit 311 checks whether there are any unprocessed words (that is, words that have not been added to the tree structure). If unprocessed words remain, the processes of steps S12 to S14 are repeated. If there is no unprocessed word, the process moves to step S16. In step S16, the display data generator 311 outputs the binary tree with the determined structure to a display device such as the display 210 or the like.

ステップS17以降の処理は、表示された木構造に対する操作に応答する処理である。ステップS17では、キーボード220やマウス230等の入力手段によりノードが指定されたか否かが判定される。ノードが指定された場合(ステップS17でYES)、処理はステップS18へ進められる。ノードが指定されていない場合(ステップS17でNO)、処理はステップS19へ進められる。 The processing after step S17 is processing in response to an operation on the displayed tree structure. At step S17, it is determined whether or not a node has been designated by input means such as the keyboard 220 or the mouse 230 or not. If a node has been designated (YES in step S17), the process proceeds to step S18. If no node is specified (NO in step S17), the process proceeds to step S19.

ステップS18では、ノード文書検索部313が、指定されたノードに対応付けられた単語を検索キーとして文書のテキスト検索を行う。このとき、ノード文書検索部313は、指定されたノードに対応付けられた単語の文書ベクトル又は分類度ベクトルから、当該単語が出現する文書を特定し、それらの文書を検索範囲としてテキスト検索を行う。テキスト表示部315は、テキスト検索結果をディスプレイ210に表示する。テキスト検索結果の表示方法はどのようなものでもよい。例えば、検索キーとして用いた単語を含むテキスト部分を抽出し、指定されたノードの近くにそのテキストを表示してもよい(このとき、検索キーとして用いた単語をハイライト表示してもよい)。あるいは、検索キーとして用いた単語を含む文書の一覧(文書IDの一覧、文書のタイトルやファイル名の一覧など)を表示してもよい。 In step S18, the node document search unit 313 searches the text of the document using the word associated with the specified node as a search key. At this time, the node document search unit 313 identifies documents in which the word appears from the document vector or classification degree vector of the word associated with the specified node, and performs a text search using those documents as a search range. . Text display unit 315 displays the text search results on display 210 . The text search results can be displayed in any manner. For example, the text part containing the word used as the search key may be extracted and displayed near the designated node (at this time, the word used as the search key may be highlighted). . Alternatively, a list of documents (a list of document IDs, a list of document titles and file names, etc.) containing words used as search keys may be displayed.

ステップS19では、キーボード220やマウス230等の入力手段によりエッジが指定されたか否かが判定される。エッジが指定された場合(ステップS19でYES)、処理はステップS20へ進められる。エッジが指定されていない場合(ステップ19でNO
)、処理はステップS21へ進められる。
In step S19, it is determined whether or not an edge has been designated by input means such as the keyboard 220 or the mouse 230 or not. If an edge is specified (YES in step S19), the process proceeds to step S20. If no edge is specified (NO in step 19
), the process proceeds to step S21.

ステップS20では、エッジ文書検索部314が、指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの単語の文書ベクトル又は分類度ベクトルのANDを取ったベクトルから出現する文書を特定しそれらの文書を検索範囲としてテキスト検索を行う。テキスト表示部315は、テキスト検索結果をディスプレイ210に表示する。テキスト検索結果の表示方法はどのようなものでもよい。例えば、検索キーとして用いた単語を含むテキスト部分を抽出し、指定されたノードの近くにそのテキストを表示してもよい(このとき、検索キーとして用いた単語をハイライト表示してもよい)。あるいは、検索キーとして用いた単語を含む文書の一覧(文書IDの一覧、文書のタイトルやファイル名の一覧など)を表示してもよい。 In step S20, the edge document search unit 314 identifies documents appearing from the vector obtained by ANDing the document vector or the classification degree vector of two words respectively associated with two nodes connected by the specified edge. Then, text search is performed with those documents as the search range. Text display unit 315 displays the text search results on display 210 . The text search results can be displayed in any manner. For example, the text part containing the word used as the search key may be extracted and displayed near the designated node (at this time, the word used as the search key may be highlighted). . Alternatively, a list of documents (a list of document IDs, a list of document titles and file names, etc.) containing words used as search keys may be displayed.

ステップS21では、キーボード220やマウス230等の入力手段により詳細情報を表示するための操作が行われたか否かが判定される。詳細情報を表示するための操作は、例えば、キーボード220の所定のキーの押下や、マウス230の右クリック等である。詳細情報を表示するための操作が行われた場合(ステップS21でYES)、処理はステップS22に進められる。詳細情報を表示するための操作が行われていない場合(ステップS21でNO)、処理はステップS17に進められる。 In step S21, it is determined whether or not an operation for displaying detailed information has been performed using input means such as the keyboard 220 and the mouse 230 or the like. The operation for displaying the detailed information is, for example, pressing a predetermined key on the keyboard 220, right-clicking the mouse 230, or the like. If an operation for displaying detailed information has been performed (YES in step S21), the process proceeds to step S22. If an operation for displaying detailed information has not been performed (NO in step S21), the process proceeds to step S17.

ステップS22では、詳細データ検索部316は、指定されたノードに対応付けられた単語の詳細情報を表示する。図16は、詳細データ検索部316による検索結果の表示例である。図16では、「リンゴ」のノードが指定され、詳細データ検索部316は指定された「リンゴ」を検索キーとしてインターネット上のウェブサイトを検索し、その検索結果を表示している状態が例示されている。 In step S22, the detailed data search unit 316 displays detailed information of the word associated with the specified node. FIG. 16 is a display example of search results by the detailed data search unit 316. In FIG. FIG. 16 illustrates a state in which the "apple" node is specified, the detailed data search unit 316 searches websites on the Internet using the specified "apple" as a search key, and the search results are displayed. ing.

<表示データ生成部の処理例>
次に、表示データ生成部311による木構造の表示処理のバリエーションを説明する。以下の表示処理は必須の機能ではなく、必要に応じて表示データ生成部311に実装すればよい。
<Processing example of the display data generator>
Next, variations of tree structure display processing by the display data generation unit 311 will be described. The following display processing is not an essential function, and may be implemented in the display data generation unit 311 as necessary.

(属性データリスト)
表示データ生成部311は、属性データリスト311cに登録されている単語については、対応するノードを特定の色や効果を付して表示してもよい。図11は、属性データリスト311cの一例を示す図である。属性データリスト311cでは、単語と当該単語が対応付けられたノードに付与する属性(アトリビュート)とが対応付けられる。図11では、属性の一例として、ノードの背景色が指定される。例えば、単語「みかん」のノードでは、背景色は「橙」となる。
(attribute data list)
The display data generation unit 311 may display the corresponding nodes of the words registered in the attribute data list 311c with specific colors and effects. FIG. 11 is a diagram showing an example of the attribute data list 311c. In the attribute data list 311c, a word is associated with an attribute to be assigned to a node associated with the word. In FIG. 11, the background color of the node is specified as an example of the attribute. For example, the node for the word "orange" has a background color of "orange".

(特定特徴データリスト)
図12は、特定特徴データリスト311bの一例を示す図である。特定特徴データリスト311bは、アトリビュート付与の対象となる単語のリストである。ここで、特定特徴データリスト311bに登録されている単語を「対象単語」と呼び、対象単語が対応付けられたノードを「対象ノード」と呼ぶ。また、対象ノードに隣接するノード(つまり、親ノード又は子ノード)を「隣接ノード」と呼び、隣接ノードに対応付けられた単語を「隣接単語」と呼ぶ。
(Specific feature data list)
FIG. 12 is a diagram showing an example of the specific feature data list 311b. The specific feature data list 311b is a list of words to which attributes are assigned. Here, the words registered in the specific feature data list 311b are called "target words", and the nodes associated with the target words are called "target nodes". A node adjacent to the target node (that is, a parent node or a child node) is called an "adjacent node", and a word associated with the adjacent node is called an "adjacent word".

表示データ生成部311は、対象単語と隣接単語が所定の条件を満たす場合に、対象ノード及び/又は隣接ノードを特定の色や効果を付して表示する。所定の条件は、例えば、対象単語と隣接単語の間の類似度が所定の閾値よりも高いという条件である。単語間の類似度は、上述したように、単語の分類度の差から求めてもよいし、分類度ベクトルのコサ
イン類似度やユークリッド距離などから求めてもよい。また、所定の閾値の設定は、ユーザが変更可能であるとよい。
The display data generation unit 311 displays the target node and/or the adjacent node with specific colors and effects when the target word and the adjacent word satisfy predetermined conditions. The predetermined condition is, for example, that the degree of similarity between the target word and adjacent words is higher than a predetermined threshold. The degree of similarity between words may be obtained from the difference in word classification, as described above, or may be obtained from the cosine similarity of classification degree vectors, the Euclidean distance, or the like. Moreover, it is preferable that the setting of the predetermined threshold can be changed by the user.

(近接規則リスト)
表示データ生成部311は、近接規則リスト311aに登録された規則に基づいてノードの表示態様を変更してもよい。図13は、近接規則リスト311aの一例を示す図である。近接規則リスト311aは、ルールID、隣接色、個数、アトリビュート、の4つの項目を含む。ルールIDは、近接規則リスト311aに登録された各規則を一意に識別するIDである。隣接色は、隣接するノードの背景色である。個数は、隣接するノードの個数である。アトリビュートは、隣接色および個数の条件を満たした場合に変更するノードの背景色である。例えば、ルールID:4の近接規則の場合、背景色が「赤」の隣接ノードが2つ存在するノードの背景色は「黄色」に変更される。図14は、近接規則リスト311aに登録された規則に基づいてノードの表示態様を変更した場合を例示する図である。図14(A)は変更前の状態を例示し、図14(B)は変更後の状態を例示する。図14では、ノード1001に隣接する2つのノード(親ノードと子ノード)が赤色であるため、ルールID:4の近接規則にしたがい、ノード1001の色が黄色に変更されている。
(proximity rule list)
The display data generator 311 may change the node display mode based on the rules registered in the proximity rule list 311a. FIG. 13 is a diagram showing an example of the proximity rule list 311a. The proximity rule list 311a includes four items: rule ID, adjacent color, count, and attribute. The rule ID is an ID that uniquely identifies each rule registered in the proximity rule list 311a. Adjacent color is the background color of adjacent nodes. The number is the number of adjacent nodes. The attribute is the background color of the node that changes when the adjacency color and count conditions are met. For example, in the case of the proximity rule with rule ID: 4, the background color of a node that has two adjacent nodes with a background color of "red" is changed to "yellow." FIG. 14 is a diagram illustrating a case where the node display mode is changed based on the rules registered in the proximity rule list 311a. FIG. 14A illustrates the state before change, and FIG. 14B illustrates the state after change. In FIG. 14, two nodes (a parent node and a child node) adjacent to the node 1001 are red, so the color of the node 1001 is changed to yellow according to the proximity rule of rule ID:4.

表示データ生成部311は、さらに、表示対象データリスト311dを参照して、表示対象データリスト311dに登録されていない単語については、ノードとして出力しなくともよい。図15は、表示対象データリスト311dの一例を示す図である。表示対象データリスト311dは、ノードとして表示する対象となる単語が登録される。図15では、「みかん」、「すいか」および「きゅうり」が表示対象データリスト311dに登録されており、これら3つの単語以外の単語はノードとして出力されない。ノードとしての表示を望まない単語を表示対象データリスト311dから除外しておくことで、表示データ生成部311がノイズの少ない木構造を表示することができる。 The display data generator 311 may refer to the display target data list 311d further, and may not output words that are not registered in the display target data list 311d as nodes. FIG. 15 is a diagram showing an example of the display target data list 311d. Words to be displayed as nodes are registered in the display target data list 311d. In FIG. 15, "orange", "watermelon" and "cucumber" are registered in the display target data list 311d, and words other than these three words are not output as nodes. By excluding words not desired to be displayed as nodes from the display target data list 311d, the display data generation unit 311 can display a tree structure with less noise.

<第1変形例>
第1実施形態では、文書ベクトル生成部304は、単語毎に文書ベクトル3041を生成し、同義語は考慮しなかった。しかしながら、文書ベクトル生成部304は、同義語辞書301aを参照して、同義語の中から選択された代表語に同義語を置き換えて文書ベクトル3041を生成してもよい。図21は、同義語をまとめて生成した文書ベクトル3041aの一例を示す図である。図21の上段は同義語を代表語に置き換える前の文書ベクトル3041の一例であり、図21の下段は同義語を代表語に置き換えた後の文書ベクトル3041aの一例である。図21の上段において、例えば、同じ「リンゴ」を示す単語「リンゴ」、「りんご」および「林檎」について、それぞれ異なる文書ベクトル3041が生成されている。また、同じ「スイカ」を示す単語「スイカ」および「西瓜」について、それぞれ異なる文書ベクトル3041が生成されている。図21の下段では、同義語を代表語による表記に置き換えた結果、「リンゴ」、「りんご」および「林檎」が代表語「リンゴ」に置き換えられて文書ベクトル3041aが生成され、「スイカ」および「西瓜」が代表語「スイカ」に置き換えられて文書ベクトル3041aが生成されていることがわかる。同義語を代表語に置き換えた後における出現回数は、各同義語の出現回数の合計となる。同義語を代表語に置き換えて文書ベクトル3041aが生成される場合、木構造で表示される各ノードも同義語を代表語に置き換えて表示されてもよい。同義語を代表語に置き換えることで、文書の各々における単語の表記の揺れを吸収することができる。
<First modification>
In the first embodiment, the document vector generator 304 generated the document vector 3041 for each word and did not consider synonyms. However, the document vector generation unit 304 may generate the document vector 3041 by referring to the synonym dictionary 301a and replacing the synonym with a representative word selected from the synonyms. FIG. 21 is a diagram showing an example of a document vector 3041a in which synonyms are collectively generated. The upper part of FIG. 21 is an example of a document vector 3041 before synonyms are replaced with representative words, and the lower part of FIG. 21 is an example of a document vector 3041a after synonyms are replaced with representative words. In the upper part of FIG. 21, for example, different document vectors 3041 are generated for the words "ringo", "ringo" and "ringo" indicating the same "ringo". Also, different document vectors 3041 are generated for the words "suika" and "watermelon" indicating the same "suika". In the lower part of FIG. 21, as a result of replacing the synonyms with representative words, "apple", "apple" and "apple" are replaced with the representative word "apple" to generate a document vector 3041a. It can be seen that the document vector 3041a is generated by replacing "watermelon" with the representative word "watermelon". The number of appearances after replacing the synonyms with the representative words is the sum of the number of appearances of each synonym. When the document vector 3041a is generated by replacing the synonyms with the representative words, each node displayed in the tree structure may also be displayed by replacing the synonyms with the representative words. By replacing synonyms with representative words, it is possible to absorb variations in spelling of words in each document.

<第2変形例>
第1実施形態では、テキスト検索部302は、検索条件として与えられたキーワードを含むすべての文書をテキストデータベース302aから抽出した。しかしながら、テキスト検索部302は、検索条件として日時が指定される場合、文書の作成日と指定された日
時とが一致する文書、指定された日時以降に作成された文書または指定された日時以前に作成された文書を抽出してもよい。この場合、文書の各々には、当該文書を作成した作成日を示す作成日付情報が付されており、テキスト検索部302が作成日付情報と指定された日時とを照合すればよい。検索条件として日時が指定される場合、表示データ生成部311は、例えば、指定された日時と文書に付された作成日付情報とに基づいて、ノードの表示態様を変更してもよい。例えば、表示データ生成部311は、指定された日時と作成日付情報とが一致する文書に出現する単語のノードを他のノードと異なる態様で表示することで、ユーザが他のノードと区別しやすいように表示してもよい。
<Second modification>
In the first embodiment, the text search unit 302 extracted all documents containing keywords given as search conditions from the text database 302a. However, if a date and time is specified as a search condition, the text search unit 302 searches for documents whose creation date matches the specified date and time, documents created after the specified date and time, or documents created before the specified date and time. You may extract the created document. In this case, each document is attached with date-of-creation information indicating the date of creation of the document, and the text search unit 302 can compare the date-of-creation with the designated date and time. When date and time are specified as a search condition, the display data generator 311 may change the node display mode based on the specified date and time and creation date information attached to the document, for example. For example, the display data generation unit 311 displays word nodes that appear in documents whose creation date information matches the specified date and time in a manner different from other nodes, so that the user can easily distinguish them from other nodes. can be displayed as

<第3変形例>
第1実施形態では、文書ベクトル生成部304は、ストップワード辞書304aに登録されている単語を除いて、文書に含まれるすべての単語を用いて文書ベクトル3041を生成した。しかしながら、文書ベクトル3041に用いる単語の単語数に関して閾値を設けて制限してもよい。例えば、文書中における単語の出現順に文書ベクトル3041の要素として採用し、採用した単語の数が閾値に達した時点で、残りの単語については文書ベクトル3041の要素として採用しない方法も可能である。また、文書ベクトル3041の要素として採用した単語の数が閾値に達すると、それ以降は最も古く要素として採用された単語を文書ベクトル3041から除外して、新しい単語を文書ベクトル3041の要素として採用する方法も可能である。また、単語に重みづけを行う所定のアルゴリズム(例えば、TF-IDF、Okapi BM25等)によって単語に重みづけを行い、重みの高い単語から順に文書ベクトル3041の要素として採用し、文書ベクトル3041の要素として採用した単語の数が閾値に達すると、それ以降の単語は文書ベクトル3041の要素として採用しない方法も可能である。
<Third modification>
In the first embodiment, the document vector generation unit 304 generated the document vector 3041 using all words included in the document except for the words registered in the stop word dictionary 304a. However, the number of words used in the document vector 3041 may be limited by setting a threshold. For example, it is possible to adopt a method in which words are adopted as elements of the document vector 3041 in order of appearance in the document, and the remaining words are not adopted as elements of the document vector 3041 when the number of adopted words reaches a threshold. Also, when the number of words adopted as elements of the document vector 3041 reaches a threshold value, the oldest words adopted as elements are removed from the document vector 3041, and new words are adopted as elements of the document vector 3041. A method is also possible. In addition, the words are weighted by a predetermined algorithm (for example, TF-IDF, Okapi BM25, etc.) for weighting words, and the words with the highest weights are adopted as elements of the document vector 3041 in descending order. A method is also possible in which, when the number of words adopted as the document vector 3041 reaches a threshold value, the subsequent words are not adopted as the elements of the document vector 3041 .

<第4変形例>
文書は、他の文書への参照情報を含んでもよい。例えば、文書が論文である場合、引用した論文を示す情報を他の文書への参照情報として含んでもよい。このような場合、テキスト検索部302は、文書の各々が他の文書から参照される被参照数を集計し、被参照数の多い文書を優先して抽出してもよい。優先して抽出とは、例えば、抽出する文書の数に閾値が設けられている場合、検索クエリに基づいて抽出した文書のうち被参照数の多い文書から順番に文書を抽出し、抽出した文書の数が閾値に達すると抽出を終了すればよい。被参照数が多い文書は、それだけ重要度の高い文書である可能性が高い。そのため、このような構成を採用することで、重要な情報を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
<Fourth modification>
A document may contain references to other documents. For example, if the document is a paper, it may contain information indicating the cited paper as reference information to other documents. In such a case, the text search unit 302 may tally the number of times each document is referenced by other documents, and preferentially extract documents with a large number of times of reference. For example, when a threshold is set for the number of documents to be extracted, the extracted documents are extracted in descending order of the number of references from among the documents extracted based on the search query. When the number of reaches a threshold value, the extraction should be terminated. A document with a large number of references is highly likely to be a document of high importance. Therefore, by adopting such a configuration, there is an advantage that documents from which there is a high possibility of obtaining important information are preferentially extracted.

また、テキスト検索部302は、文書の各々が他の文書から参照される被参照数を集計し、被参照数の少ない文書を優先して抽出してもよい。この場合における優先して抽出とは、例えば、抽出する文書の数に閾値が設けられている場合、検索クエリに基づいて抽出した文書のうち被参照数の少ない文書から順番に文書を抽出し、抽出した文書の数が閾値に達すると抽出を終了すればよい。被参照数が少ない文書は、あまり知られていない情報が記載されている文書である可能性が高い。そのため、このような構成を採用することで、ユーザが新たな知見を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。 Further, the text search unit 302 may tally the number of times each document is referred to by other documents, and preferentially extract documents with a low number of times of referencing. The priority extraction in this case means, for example, when a threshold is set for the number of documents to be extracted, the documents extracted based on the search query are extracted in descending order of the number of references, and When the number of extracted documents reaches the threshold, the extraction should be terminated. A document with a small number of references is highly likely to be a document containing information that is not well known. Therefore, by adopting such a configuration, there is an advantage that documents that are highly likely to provide new knowledge to the user are preferentially extracted.

<第5変形例>
第1実施形態では、木構造の初期の基点は基点決定部310が決定したが、木構造が表示された後はユーザにより基点を変更できるようにしてもよい。例えば、キーボード220またはマウス230等の入力手段によって、ユーザが基点としたいノードを指定すると、基点決定部310は、指定されたノードを基点として表示データ生成部311に渡し、表示データ生成部311は指定されたノードを基点として二分木を生成すればよい。この
ような処理を実行する基点決定部310および表示データ生成部311は、「基点変更部」の一例である。
<Fifth Modification>
In the first embodiment, the initial base point of the tree structure is determined by the base point determination unit 310, but the user may change the base point after the tree structure is displayed. For example, when the user designates a node to be used as a base point using input means such as the keyboard 220 or the mouse 230, the base point determination unit 310 passes the designated node as a base point to the display data generation unit 311, and the display data generation unit 311 A binary tree can be generated with the specified node as the base point. The base point determination unit 310 and the display data generation unit 311 that execute such processing are an example of the “base point change unit”.

<第6変形例>
第1実施形態では、二分木を例示したが、木構造としては、三分木またはそれ以上に分岐する木構造であってもよい。この場合、ユーザがキーボード220等の入力手段を介して、表示データ生成部311に対して分岐する分岐数を指定すればよい。例えば、木構造を三分木とする場合、分岐数として「3」が指定されればよい。
<Sixth modification>
In the first embodiment, a binary tree was exemplified, but the tree structure may be a ternary tree or a tree structure that branches into more branches. In this case, the user may specify the number of branches for the display data generator 311 via input means such as the keyboard 220 . For example, when the tree structure is a ternary tree, "3" may be specified as the number of branches.

<第7変形例>
第1実施形態では、基点ノードが「空」の場合に、基点の下に接続するノードとして、分類度又は分類度ベクトルの大きさ(以下まとめて「分類度」と記す)が最大の単語と最小の単語のペアを選択し(ステップS10参照)、それ以降追加するノードとして、残りの単語の中から、分類度が最大の単語と最小の単語のペアを選択することとした(ステップS12参照)。このような選択手順は、木構造が二分木であり、かつ、分類度が「当該単語があるクラスに属するか否か」を表す指標である場合に好適な例である。もし、木構造が二分木であり、かつ、分類度が「当該単語が第1のクラスに属するか第2のクラスに属するか」を表す指標である場合は、ステップS10やS12において、第1のクラスへの分類度が最大の単語と第2のクラスへの分類度が最大の単語の2つを選択すればよい。また、木構造が三分木であり、かつ、分類度が「当該単語が第1のクラスに属するか第2のクラスに属するか第3のクラスに属するか」を表す指標である場合は、ステップS10やS12において、第1のクラスへの分類度が最大の単語と第2のクラスへの分類度が最大の単語と第3のクラスへの分類度が最大の単語の3つを選択すればよい。分岐数が3より多い場合も同様である。
<Seventh Modification>
In the first embodiment, when the base node is "empty", the word with the maximum classification degree or the magnitude of the classification degree vector (hereinafter collectively referred to as "classification degree") is used as a node connected under the base point. The minimum word pair is selected (see step S10), and as nodes to be added thereafter, a word pair with the highest and lowest classification degrees is selected from the remaining words (see step S12). ). Such a selection procedure is a suitable example when the tree structure is a binary tree and the degree of classification is an index representing "whether or not the word belongs to a certain class". If the tree structure is a binary tree and the classification degree is an index indicating whether the word belongs to the first class or the second class, then in steps S10 and S12, the first The word with the highest degree of classification to the class of 1 and the word with the highest degree of classification to the second class should be selected. Further, when the tree structure is a ternary tree and the classification degree is an index representing "whether the word belongs to the first class, the second class, or the third class", In steps S10 and S12, three words are selected: the word with the highest degree of classification into the first class, the word with the highest degree of classification into the second class, and the word with the highest degree of classification into the third class. Just do it. The same applies when the number of branches is more than three.

<第1実施形態の利点>
以上述べた第1実施形態による利点をまとめると次のとおりである。上述した木構造では、単語の特徴を表す特徴量(分類度又は分類度ベクトル)の差に基づいて各ノードの配置が決定されているので、各ノード(単語)の配置や接続関係などから、検索結果である複数の抽出文書に出現する単語の傾向などを容易に把握できる。また、上記実施形態では、単語の特徴を、単語そのものではなく、当該単語を使用している文書(テキスト、文脈)の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性を反映したものとなる。したがって、上述した木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができ、ユーザによる情報探索作業を支援することが可能となる。
<Advantages of the First Embodiment>
The advantages of the first embodiment described above are summarized as follows. In the tree structure described above, the arrangement of each node is determined based on the difference in the feature amount (classification degree or classification degree vector) representing the feature of the word. It is possible to easily grasp the tendencies of words that appear in multiple extracted documents that are search results. Moreover, in the above embodiment, the feature of a word is expressed using the document feature score, which is the feature of the document (text, context) using the word, rather than the word itself. Therefore, the arrangement and connection relationship of each node in the tree structure reflect the relationship and similarity between documents. Therefore, by using the above-described tree structure, it is possible to appropriately and intuitively express the relationship/similarity between documents and the relationship between words appearing in a plurality of documents. It becomes possible to support

<第2実施形態>
図22を参照して、本発明の第2実施形態について説明する。第2実施形態では、単語分類器(文字列の分類器)を用いて単語から直接的に単語の特徴量である分類度を求める。
<Second embodiment>
A second embodiment of the present invention will be described with reference to FIG. In the second embodiment, a word classifier (character string classifier) is used to obtain a classification degree, which is a word feature amount, directly from a word.

図22に示すように、第2実施形態に係る情報処理装置100は、単語分類器401及び単語特徴モデル401aを備える。それ以外の構成は第1実施形態のものと同じである。 As shown in FIG. 22, the information processing apparatus 100 according to the second embodiment includes a word classifier 401 and word feature models 401a. Other configurations are the same as those of the first embodiment.

単語分類器401は、入力される単語をn個のクラス(nは2以上の整数)に分類する分類器である。単語分類器401は、例えば、予め用意された単語特徴モデル401aを用いて入力単語のスコアを計算し出力する。このスコアは、入力単語が或るクラスに属する確率又は尤度を表す値であって、連続値をとる(したがって、単語分類器401は回帰
器と呼んでもよい。)。このような単語分類器401は、多数の教師データを用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワーク(NN)、ディープニューラルネットワーク(DNN)などを利用できる。本実施形態ではSVMを用いる。
The word classifier 401 is a classifier that classifies input words into n classes (n is an integer equal to or greater than 2). The word classifier 401 uses, for example, a word feature model 401a prepared in advance to calculate and output the score of the input word. This score is a value representing the probability or likelihood that an input word belongs to a certain class, and takes continuous values (therefore, the word classifier 401 may be called a regressor). Such a word classifier 401 may be created by machine learning using a large amount of teacher data, or may be created based on human-designed rules and models. Any machine learning method can be used, such as support vector machine (SVM), Bayesian network, neural network (NN), deep neural network (DNN), and the like. SVM is used in this embodiment.

機械学習の場合に、文字列が出現する複数の文書のデータを教師データとして用いてもよい。文字列と文字列特徴量との対応関係を学習するための教師データとして、当該文字列が出現する文書のデータを利用することにより、第1実施形態の方法で求められる特徴量(分類度)と同じような特性をもつ特徴量を得ることができる。例えば、文字列を「果物」か「野菜」かの2つのカテゴリに分類する単語分類器を学習する場合であれば、「果物」について記載されている多数の文書データ、及び、「野菜」について記載されている多数の文書データを、教師データとして用いる。そして、教師データ(つまり「果物」カテゴリの文書群と「野菜」カテゴリの文書群)から抽出した文字列(例えば「リンゴ」、「ミカン」など)が各カテゴリの文書群に出現する割合に応じて、当該文字列を各カテゴリに分類することの確からしさ(つまり、「果物らしさ」、「野菜らしさ」)を学習する。このような単語分類器を用いると、例えば、「リンゴ」という文字列を入力したときに、「果物:0.98、野菜:0.31」というような出力スコアが得られる。 In the case of machine learning, data of a plurality of documents in which character strings appear may be used as teacher data. By using document data in which the character string appears as teacher data for learning the correspondence relationship between the character string and the character string feature amount, the feature amount (classification degree) obtained by the method of the first embodiment It is possible to obtain a feature quantity with characteristics similar to those of For example, when learning a word classifier that classifies character strings into two categories of "fruit" and "vegetable", a large number of document data describing "fruit" and A large number of written document data are used as teacher data. Then, according to the ratio of occurrences of character strings (e.g., "apple", "orange", etc.) extracted from the training data (that is, documents in the "fruits" category and documents in the "vegetables" category), Then, the likelihood of classifying the character string into each category (that is, “fruit-likeness” and “vegetable-likeness”) is learned. Using such a word classifier, for example, when the character string "apple" is input, an output score such as "fruit: 0.98, vegetable: 0.31" is obtained.

また、上記以外の方法として、WordNetなどのシソーラスを用いて単語同士の意味的距離(概念距離)を計算してもよい。 As a method other than the above, a thesaurus such as WordNet may be used to calculate the semantic distance (conceptual distance) between words.

なお、単語分類器401の出力スコアは、単語が表す文字列の特徴を数値化したものであり、「文字列特徴量」の一例である。また単語分類器401は、「文字列特徴算出部」の一例である。 Note that the output score of the word classifier 401 is obtained by quantifying the characteristics of the character string represented by the word, and is an example of the "character string characteristic quantity". Also, the word classifier 401 is an example of a “character string feature calculator”.

<第2実施形態の利点>
以上述べた第2実施形態の構成によっても、第1実施形態と同様の作用効果を得ることができる。
<Advantages of Second Embodiment>
With the configuration of the second embodiment described above, it is possible to obtain the same effects as those of the first embodiment.

<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させる情報処理プログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
<Computer-readable recording medium>
An information processing program that causes a computer or other machine or device (hereinafter referred to as a computer or the like) to implement any of the functions described above can be recorded in a computer-readable recording medium. By causing a computer or the like to read and execute the program of this recording medium, the function can be provided.

ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、Compact Disc Read Only Memory(CD-ROM)、Compact Disc - Recordable(CD-R)、Compact Disc - ReWriterable(CD-RW)、Digital Versatile Disc(DVD)、ブ
ルーレイディスク(BD)、Digital Audio Tape(DAT)、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
Here, a computer-readable recording medium is a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer, etc. Say. Examples of such recording media that can be removed from a computer or the like include flexible discs, magneto-optical discs, Compact Disc Read Only Memory (CD-ROM), Compact Disc-Recordable (CD-R), Compact Disc-ReWriterable. (CD-RW), Digital Versatile Disc (DVD), Blu-ray Disc (BD), Digital Audio Tape (DAT), 8 mm tape, and memory cards such as flash memory. In addition, there are a hard disk, a ROM, and the like as recording media fixed to a computer or the like.

100・・・情報処理装置
210・・・ディスプレイ
220・・・キーボード
230・・・マウス
3041・・・文書ベクトル
3051・・・単語ベクトル
3091・・・分類度ベクトル
DESCRIPTION OF SYMBOLS 100... Information processing apparatus 210... Display 220... Keyboard 230... Mouse 3041... Document vector 3051... Word vector 3091... Classification degree vector

Claims (14)

データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、
前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、
前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出する文書特徴算出部と、
前記複数の抽出文字列の各々について、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、
前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、
を有し、
前記文字列特徴算出部は、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアに基づく値を要素としてもつベクトルを、当該文字列の文字列特徴量とする、
情報処理装置。
a search unit for extracting a plurality of documents that match a search condition as extracted documents from a group of documents accumulated in a database;
an analysis unit that analyzes the plurality of extracted documents to extract a plurality of character strings from the plurality of extracted documents as extracted character strings;
a document feature calculation unit for calculating a document feature score obtained by quantifying the feature of each of the plurality of extracted documents;
a character string feature calculation unit for obtaining, for each of the plurality of extracted character strings, a character string feature quantity representing the feature of the extracted character string from document feature scores of one or more extracted documents containing the extracted character string;
an output unit that outputs a tree structure in which each of the plurality of extracted character strings is associated with a node and each node is arranged based on the difference in character string feature amounts between the extracted character strings;
has
The character string feature calculation unit uses a vector having, as elements, values based on document feature scores of one or more extracted documents containing the extracted character string, as the character string feature amount of the character string.
Information processing equipment.
前記文書特徴スコアに基づく値は、抽出文書の文書特徴スコアに当該抽出文書における当該抽出文字列の出現頻度を乗じた値である、
請求項に記載の情報処理装置。
The value based on the document feature score is a value obtained by multiplying the document feature score of the extracted document by the appearance frequency of the extracted character string in the extracted document,
The information processing device according to claim 1 .
前記文書特徴算出部は、入力文書をn個のクラス(nは2以上の整数)に分類する分類器から構成され、前記抽出文書を前記分類器に入力したときの出力スコアを当該抽出文書の文書特徴スコアとする、
請求項1又は2に記載の情報処理装置。
The document feature calculation unit includes a classifier that classifies an input document into n classes (n is an integer equal to or greater than 2). be the document feature score,
The information processing apparatus according to claim 1 or 2 .
データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、
前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、
前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部であって、入力文字列をn個のクラス(nは2以上の整数)に分類する文字列分類器から構成され、前記抽出文字列を前記文字列分類器に入力したときの出力スコアを当該抽出文字列の文字列特徴量とする文字列特徴算出部と、
前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、
を有する情報処理装置。
a search unit for extracting a plurality of documents that match a search condition as extracted documents from a group of documents accumulated in a database;
an analysis unit that analyzes the plurality of extracted documents to extract a plurality of character strings from the plurality of extracted documents as extracted character strings;
A character string feature calculation unit for obtaining, for each of the plurality of extracted character strings, a character string feature amount representing a feature of the extracted character string, wherein the input character string is divided into n classes (n is an integer equal to or greater than 2). A character string feature calculation unit configured by a character string classifier for classification, and using an output score when the extracted character string is input to the character string classifier as a character string feature amount of the extracted character string;
an output unit that outputs a tree structure in which each of the plurality of extracted character strings is associated with a node and each node is arranged based on the difference in character string feature amounts between the extracted character strings;
Information processing device having
前記検索条件は、キーワードを含み、
前記検索部は、同じ意味を有する同義語を記憶する同義語辞書から前記キーワードの同義語を取得し、前記キーワードおよび前記同義語の少なくともいずれか一方を含む文書を、前記抽出文書として抽出する、
請求項1からのいずれか一項に記載の情報処理装置。
The search condition includes a keyword,
The search unit acquires synonyms of the keyword from a synonym dictionary that stores synonyms having the same meaning, and extracts documents containing at least one of the keyword and the synonyms as the extracted documents.
The information processing apparatus according to any one of claims 1 to 4 .
前記複数の抽出文字列の間の文字列特徴量の平均を算出し、前記複数の抽出文字列のうち前記平均に最も近い文字列特徴量をもつ抽出文字列を前記木構造の基点に決定する基点決定部を有する、
請求項1からのいずれか一項に記載の情報処理装置。
calculating an average of character string feature amounts among the plurality of extracted character strings, and determining an extracted character string having a character string feature amount closest to the average among the plurality of extracted character strings as a base point of the tree structure; having a base point determination unit;
The information processing apparatus according to any one of claims 1 to 5 .
前記木構造の基点をユーザにより指定された抽出文字列に変更する基点変更部をさらに備える、
請求項1からのいずれか一項に記載の情報処理装置。
further comprising a base point changing unit that changes the base point of the tree structure to an extracted character string specified by a user;
The information processing apparatus according to any one of claims 1 to 6 .
前記基点変更部は、出力された前記木構造のいずれかのノードをユーザにより指定させ、現在の木構造の基点をユーザにより指定されたノードに対応付けられた抽出文字列に変更するものである、
請求項に記載の情報処理装置。
The base point changing unit causes the user to specify any node of the output tree structure, and changes the base point of the current tree structure to the extracted character string associated with the node specified by the user. ,
The information processing apparatus according to claim 7 .
前記出力部は、所定の抽出文字列に対応するノード、及び/又は、前記所定の抽出文字列に対応するノードであって且つ隣接するノードに対応付けられた抽出文字列と前記所定の抽出文字列とが所定の条件を満たすノード、及び/又は、隣接するノードと所定の条件を満たすノードを、他のノードとは異なる態様で出力する、
請求項1からのいずれか一項に記載の情報処理装置。
The output unit outputs a node corresponding to a predetermined extracted character string, and/or an extracted character string and the predetermined extracted character associated with adjacent nodes that are nodes corresponding to the predetermined extracted character string. Outputting nodes whose columns and predetermined conditions and/or adjacent nodes and nodes satisfying predetermined conditions in a manner different from other nodes,
The information processing apparatus according to any one of claims 1 to 8 .
前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、
前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が少ない文書を優先して抽出する、
請求項1からのいずれか一項に記載の情報処理装置。
each of the document groups stored in the database includes reference information indicating other documents to be referred to;
The search unit preferentially extracts a document with a small number of references from other documents based on the reference information.
The information processing apparatus according to any one of claims 1 to 9 .
前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、
前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が多い文書を優先して抽出する、
請求項1からのいずれか一項に記載の情報処理装置。
each of the document groups stored in the database includes reference information indicating other documents to be referred to;
The search unit preferentially extracts a document with a large number of references from other documents based on the reference information.
The information processing apparatus according to any one of claims 1 to 9 .
前記解析部は、所定の単語数以下の連続する単語を一つの抽出文字列として抽出する、
請求項1から11のいずれか一項に記載の情報処理装置。
The analysis unit extracts consecutive words with a predetermined number of words or less as one extracted character string,
The information processing apparatus according to any one of claims 1 to 11 .
前記出力部は、前記木構造のいずれかのノードがユーザにより指定されると、指定され
たノードに対応付けられた抽出文字列を含む抽出文書の情報を出力する、
請求項1から12のいずれか一項に記載の情報処理装置。
When any node of the tree structure is specified by the user, the output unit outputs extracted document information including an extracted character string associated with the specified node.
The information processing apparatus according to any one of claims 1 to 12 .
前記出力部は、前記木構造のいずれかのエッジがユーザにより指定されると、指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの抽出文字列を両方とも含む抽出文書の情報を出力する、
請求項1から13のいずれか一項に記載の情報処理装置。
When any edge of the tree structure is specified by the user, the output unit outputs an extracted document containing both two extracted character strings respectively associated with two nodes connected by the specified edge. output information,
The information processing apparatus according to any one of claims 1 to 13 .
JP2018189515A 2018-10-04 2018-10-04 Information processing equipment Active JP7203554B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018189515A JP7203554B2 (en) 2018-10-04 2018-10-04 Information processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018189515A JP7203554B2 (en) 2018-10-04 2018-10-04 Information processing equipment

Publications (2)

Publication Number Publication Date
JP2020060811A JP2020060811A (en) 2020-04-16
JP7203554B2 true JP7203554B2 (en) 2023-01-13

Family

ID=70218979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018189515A Active JP7203554B2 (en) 2018-10-04 2018-10-04 Information processing equipment

Country Status (1)

Country Link
JP (1) JP7203554B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021196858A (en) * 2020-06-15 2021-12-27 株式会社日立製作所 Failure countermeasure recommendation system and failure countermeasure recommendation method
CN112883687B (en) * 2021-02-05 2022-03-15 北京科技大学 An Interactive Labeling Method for Legal Contracts Based on Contract Text Markup Language
CN116611514B (en) * 2023-07-19 2023-10-10 中国科学技术大学 A data-driven value orientation evaluation system construction method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223466A (en) 2002-01-31 2003-08-08 Seiko Epson Corp Patent search device, control method of patent search device, control program, and recording medium
JP2005025465A (en) 2003-07-01 2005-01-27 Toshiba Corp Document search method and document search apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3614618B2 (en) * 1996-07-05 2005-01-26 株式会社日立製作所 Document search support method and apparatus, and document search service using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223466A (en) 2002-01-31 2003-08-08 Seiko Epson Corp Patent search device, control method of patent search device, control program, and recording medium
JP2005025465A (en) 2003-07-01 2005-01-27 Toshiba Corp Document search method and document search apparatus

Also Published As

Publication number Publication date
JP2020060811A (en) 2020-04-16

Similar Documents

Publication Publication Date Title
Singh et al. A systematic review of text stemming techniques
Rogers et al. Real-time text classification of user-generated content on social media: Systematic review
CN102640152B (en) Method and computer system for retrieving document data according to retrieval keywords
US11625537B2 (en) Analysis of theme coverage of documents
US10878233B2 (en) Analyzing technical documents against known art
CN102640145B (en) Credible inquiry system and method
US9684683B2 (en) Semantic search tool for document tagging, indexing and search
US20150095316A1 (en) Web-Scale Entity Relationship Extraction
Smith et al. Evaluating visual representations for topic understanding and their effects on manually generated topic labels
US20150205860A1 (en) Information retrieval device, information retrieval method, and information retrieval program
US20090112845A1 (en) System and method for language sensitive contextual searching
JP5836893B2 (en) File management apparatus, file management method, and program
JP7203554B2 (en) Information processing equipment
JPWO2010109594A1 (en) Document search device, document search system, document search program, and document search method
JP7170487B2 (en) Information processing device and program
JP7428250B2 (en) Method, system, and apparatus for evaluating document retrieval performance
JP4945015B2 (en) Document search system, document search program, and document search method
US9886488B2 (en) Conceptual document analysis and characterization
JP5269399B2 (en) Structured document retrieval apparatus, method and program
JP2008282328A (en) Text classification device, text classification method, text classification program, and recording medium recording the program
Shen et al. A hybrid model combining formulae with keywords for mathematical information retrieval
JP5998779B2 (en) SEARCH DEVICE, SEARCH METHOD, AND PROGRAM
BAZRFKAN et al. Using machine learning methods to summarize persian texts
JP7778743B2 (en) Document search program, document search device, and document search method
US12608407B2 (en) System and method for searching tree based organizational hierarchies, including topic hierarchies, and generating and presenting search interfaces for same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220719

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: 20221108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221227

R150 Certificate of patent or registration of utility model

Ref document number: 7203554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250