JP7351372B2 - 生成プログラム、生成方法および情報処理装置 - Google Patents

生成プログラム、生成方法および情報処理装置 Download PDF

Info

Publication number
JP7351372B2
JP7351372B2 JP2022069412A JP2022069412A JP7351372B2 JP 7351372 B2 JP7351372 B2 JP 7351372B2 JP 2022069412 A JP2022069412 A JP 2022069412A JP 2022069412 A JP2022069412 A JP 2022069412A JP 7351372 B2 JP7351372 B2 JP 7351372B2
Authority
JP
Japan
Prior art keywords
word
text data
bitmap
appearance position
index
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
JP2022069412A
Other languages
English (en)
Other versions
JP2022095952A (ja
Inventor
正弘 片岡
清司 大倉
将夫 出内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2022069412A priority Critical patent/JP7351372B2/ja
Publication of JP2022095952A publication Critical patent/JP2022095952A/ja
Application granted granted Critical
Publication of JP7351372B2 publication Critical patent/JP7351372B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/325Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、生成プログラム等に関する。
従来、テキストデータに対して形態素解析に加え、構文解析と意味解析を実行し、テキストデータに含まれる各単語について、主語(S)・動詞(V)・目的語(O)・補語(C)や、単語同士の係り受け等の属性を特定し、その後の処理で利用している。たとえば、従来技術では、テキストデータに含まれる単語を単語コードに圧縮する場合に、上記の意味解析を実行し、単語に対応する属性を、単語コードの一部に格納することで、単語と属性との対応付けを行っている。
特開2009-087347号公報 特開平9-212523号公報 特開2017-194762号公報
しかしながら、上述した従来技術では、テキストデータに含まれる単語の属性を高速に特定することができないという問題がある。
1つの側面では、本発明は、テキストデータに含まれる単語の属性を特定する処理を高速化することができる生成プログラム、生成方法および情報処理装置を提供することを目的とする。
第1の案では、コンピュータに以下の処理を実行させる。コンピュータは、テキストデータを受け付ける。コンピュータは、受け付けたテキストデータを解析することで、テキストデータに含まれる第1の単語に対して特定の関係性を有する第2の単語をそれぞれ特定する。コンピュータは、テキストデータに含まれる第1の単語の出現位置と、第1の単語の出現位置を基準とする第2の単語の出現位置とを対応付けた情報を生成し、第1の単語と第1の単語の出現位置とを対応付けた情報を生成する。
テキストデータに含まれる単語の属性を特定する処理を高速化できる。
図1は、本実施例に係る情報処理装置の処理の一例を説明するための図(1)である。 図2は、本実施例に係る情報処理装置の処理の一例を説明するための図(2)である。 図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図4は、第2インデックスの横軸に配置される属性の一例を示す図である。 図5Aは、第1インデックスをサイズ縮小する処理の一例を説明するための図である。 図5Bは、第2インデックスをサイズ縮小する処理の一例を説明するための図である。 図6Aは、第1インデックスを復元する処理の一例を説明するための図である。 図6Bは、第2インデックスを復元する処理の一例を説明するための図である。 図7は、第1インデックスおよび第2インデックスを生成する処理を示すフローチャートである。 図8は、検索クエリを基にして単語の属性を特定する処理を示すフローチャートである。 図9は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
以下に、本願の開示する生成プログラム、生成方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1および図2は、本実施例に係る情報処理装置の処理の一例を説明するための図である。図1に示すように、情報処理装置は、テキストデータ140aを基にして、第1インデックス140cおよび第2インデックス140dを生成する。
テキストデータ140aは、複数の単語を含む文章の情報である。たとえば、図1に示すテキストデータ140aは「・・・Micky eats cheese every day. It is his favorate.・・・」を含む。図1に示すテキストデータ140aは一例であり、他の文章の情報であってもよい。
情報処理装置は、テキストデータ140aに対して字句解析を実行することで、テキストデータ140aに含まれる各単語について、単語の「属性」を特定する。単語の属性は、「単語の品詞」と、「単語のSVOC」と、「単語の係り受け」とを含む。単語の品詞は、名詞、代名詞、形容詞、動詞、副詞、前置詞、接続詞、感動詞等を含む。
単語のSVOCは、センテンスに含まれる各単語の要素を区別するための記号である。Sは、センテンスの主語を示す記号である。Vは、センテンスの動詞を示す記号である。Oは、センテンスの動詞の目的語を示す記号である。Cは、センテンスの補語を示す記号である。
たとえば、テキストデータ140aのセンテンス「Micky eats cheese every day」において、主語(S)は「Micky」であり、動詞(S)は「eats」であり、目的語(O)は「cheese」である。テキストデータ140aのセンテンス「It is his favorate.」において、主語(S)は「It」であり、動詞(S)は「is」であり、補語(C)は「favorate」である。
単語の係り受けについて説明する。単語の係り受けを、係り受け元の単語と、係り受け先の単語で定義する。本実施例では一例として、センテンスに含まれる「主語」となる単語を、係り受け元の単語とし、「目的語」に対応する単語を、係り受け先の単語とする。たとえば、テキストデータ140aのセンテンス「Micky eats cheese every day」において、単語「Micky」の係り受けの先の単語は「cheese」となる。
情報処理装置は、テキストデータ140aの形態素解析、構文解析、意味解析の結果を基にして、第1インデックス140cおよび第2インデックス140dを生成する。
第1インデックス140cは、テキストデータ140aに含まれる単語と、単語のオフセットとを対応付ける情報である。ここでは説明を省略するが、情報処理装置は、辞書情報を用いて、単語を単語IDに変換(圧縮)するものとする。オフセットは、テキストデータ140aに含まれる先頭の単語を始点とた、オフセットである。たとえば、センテンス「Micky eats cheese every day」が、テキストデータ140aの先頭のセンテンスである場合には、「Micky」が先頭の単語となる。このため、「Micky」、「eats」、「cheese」、「every」、「day」のオフセットはそれぞれ「1」、「2」、「3」、「4」、「5」となる。
第1インデックス140cの横軸は、オフセットに対応する軸である。第1インデックス140cの縦軸は、単語ID(単語)に対応する軸である。情報処理装置は、各単語IDにおいて、該当するインデックスの位置に、フラグ「1」を設定する。たとえば、「Micky」が、テキストデータ140aのオフセット「1」に位置している場合には、情報処理装置は、単語「Micky」の単語ID「A001h」の行10aと、オフセット「1」の列10bとが交差する箇所にフラグ「1」を設定する。情報処理装置は、他の単語についても同様に、該当する箇所にフラグ「1」を設定する処理を繰り返し実行することで、第1インデックス140cを生成する。
第2インデックス140dは、テキストデータ140aに含まれる単語のオフセットと、単語の属性とを対応付ける情報である。第2インデックス140dの横軸は単語の属性に対応する軸である。単語の属性は、「単語の品詞」と、「単語のSVOC」と、「単語の係り受け」とを含む。第2インデックス140dの縦軸は、単語のオフセットに対応する軸である。
属性の横軸は、単語の品詞に対応する部分11aと、単語のSVOCに対応する部分11bと、単語の係り受けに対応する部分11cとに分けられる。単語の品詞に対応する部分11aには、「名詞、代名詞、形容詞、動詞、副詞、前置詞、接続詞、感動詞」に対応する列が存在する。たとえば、テキストデータ140aのオフセット「1」には、品詞「名詞」となる単語「Micky」が存在している。このため、情報処理装置は、第2インデックス140dのオフセット「1」の行12aと、品詞「名詞」に対応する列13aとが交差する位置に、フラグ「1」を設定する。
単語のSVOCに対応する部分11bには、「S、V、O、C」に対応する列が存在する。たとえば、テキストデータ140aのオフセット「1」には、主語(S)となる単語「Micky」が存在している。このため、情報処理装置は、第2インデックス140dのオフセット「1」の行12aと、主語(S)に対応する列13bとが交差する位置に、フラグ「1」を設定する。
単語の係り受けに対応する部分11cには、相対オフセット「1、2、3、4、・・・、n」に対応する列が存在する。相対オフセットは、係り受け元の単語から、係り受け先の単語までのオフセットを示すものである。たとえば、テキストデータ140aのセンテンス「Micky eats cheese every day」において、係り受け元の単語を「Micky(オフセット「1」)」、係り受け先の単語を「cheese」とすると、相対オフセットは「2」となる。このため、情報処理装置は、第2インデックス140dのオフセット「1」の行12aと、相対オフセット「2」に対応する列13cとが交差する位置に、フラグ「1」を設定する。
情報処理装置は、他の単語のオフセットについても同様に、該当する箇所にフラグ「1」を設定する処理を繰り返し実行することで、第2インデックス140dを生成する。
図2の説明に移行する。情報処理装置は、検索クエリ50aにより、単語の指定を受け付けると、第1インデックス140cと、第2インデックス140dとを段階的に利用して、指定された単語の属性を特定する。
たとえば、検索クエリ50aにより、単語「Micky」(単語ID:A001h)を受けた場合について説明する。情報処理装置は、第1インデックス140c上において、単語「Micky」に対応する単語ID「A001h」の行10aを走査し、フラグ「1」が設定された箇所を特定する。情報処理装置は、フラグ「1」が設定された箇所に対応するオフセットを、単語「Micky」のオフセットとして特定する。
続いて、情報処理装置は、第1インデックス140cを用いて特定した、単語「Micky」のオフセットと、第2インデックス140dとを比較して、単語「Micky」の属性情報50bと特定する。属性情報50bには、後述するように、品詞、SOVC、係り受けに関する情報が含まれる。
情報処理装置は、第2インデックス140d上において、単語「Micky」のオフセットに対応する行12aを走査する。情報処理装置は、単語の品詞に対応する部分11aにおいて、フラグ「1」が設定されている箇所が存在する場合には、フラグ「1」が設定された列に対応する品詞を、単語「Micky」に対応する品詞として特定する。
情報処理装置は、単語のSVOCに対応する部分11bにおいて、フラグ「1」が設定されている箇所が存在する場合には、フラグ「1」が設定された列に対応する「S、V、O、C」のいずれかを、単語「Micky」に対応するSVOCとして特定する。
情報処理装置は、単語の係り受けに対応する部分11cにおいて、フラグ「1」が設定されている箇所が存在する場合には、フラグ「1」が設定された行に対応する相対オフセットを特定する。この相対オフセットは、「Micky」の係り受け先となる他の単語の相対オフセットである。
上記のように、情報処理装置は、検索クエリ50aを受け付けた場合に、第1インデックス140cを用いて、指定された単語に対応するテキストデータ140a上のオフセットを特定する。情報処理装置は、特定したオフセットと、第2インデックス140dとを比較して、検索クエリ50aで指定された単語に対応する属性情報50bを特定する。これによって、検索クエリを指定するのみで、テキストデータに含まれる単語の属性を容易に特定できる。
次に、図1および図2で説明した情報処理装置の構成について説明する。図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図3に示すように、この情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、ネットワーク等を介して他の外部装置とデータ通信を実行する処理部である。通信部110は、通信装置等に対応する。たとえば、情報処理装置100は、ユーザの使用する端末装置とデータ通信を実行して、テキストデータ140aや、検索クエリの情報を受信してもよい。
入力部120は、情報処理装置100に各種の情報を入力するための入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。たとえば、ユーザは、入力部120を操作して、検索クエリとなる単語を指定してもよい。
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。表示部130は、液晶ディスプレイやタッチパネル等に対応する。たとえば、表示部130は、検索クエリによって特定される単語の属性情報や、属性情報に関連する情報を表示してもよい。
記憶部140は、テキストデータ140a、辞書情報140b、第1インデックス140c、第2インデックス140d、圧縮データ140eを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
テキストデータ140aは、複数の単語を含む文章の情報である。たとえば、図1で示したテキストデータ140aは「・・・Micky eats cheese every day. It is his favorate.・・・」を含む。
辞書情報140bは、静的辞書および動的辞書の情報を保持するデータである。静的辞書は、単語と、静的コードとを対応付けるデータである。動的辞書は、静的辞書に存在しない単語に、ユニークな動的コードを割り当てる場合に、かかる単語と動的コードとを対応付けたデータを保持する。本実施例では一例として、静的コードおよび動的コードを、単語IDと表記する。
第1インデックス140cは、テキストデータ140aに含まれる単語の単語IDと、単語のオフセットとを対応付ける情報である。第1インデックス140cのデータ構造は、図1および図2に示した第1インデックス140cに対応する。第1インデックス140cの横軸は、オフセットに対応する軸である。第1インデックス140cの縦軸は、単語ID(単語)に対応する軸である。第1インデックス140cでは、フラグ「1」の設定により、単語の単語IDと、単語のオフセットとが対応付けられる。
第2インデックス140dは、テキストデータ140aに含まれる単語のオフセットと、単語の属性とを対応付ける情報である。第2インデックス140dのデータ構造は、図1および図2に示した第2インデックス140dに対応する。第2インデックス140dの縦軸は、単語のオフセットに対応する軸である。第2インデックス140dの横軸は、属性に対応する軸である。単語の属性は、「単語の品詞」と、「単語のSVOC」と、「単語の係り受け」とを含む。
図4は、第2インデックスの横軸に配置される属性の一例を示す図である。図4に示すように、横軸に対応する属性には、単語の品詞に対応する部分11aと、単語のSVOCに対応する部分11bと、単語の係り受けに対応する部分11cとに分けられる。
単語の品詞に対応する部分11aには、名詞、代名詞、形容詞、動詞、副詞、前置詞、接続詞等が設定される。たとえば、テキストデータ140aの「1」に、「Micky」が存在し、このオフセット1の「Micky」が名詞である場合には、オフセット「1」の行12aと、品詞「名詞」に対応する列13aとが交差する位置に、フラグ「1」が設定される。
単語のSVOCに対応する部分11bには、「S、V、O、C」に対応する列が存在する。たとえば、テキストデータ140aのオフセット「1」には、主語(S)となる単語「Micky」が存在している。このため、情報処理装置は、第2インデックス140dのオフセット「1」の行12aと、主語(S)に対応する列13bとが交差する位置に、フラグ「1」が設定される。
単語の係り受けに対応する部分11cには、相対オフセット「1、2、3、4、・・・、n」に対応する列が存在する。たとえば、テキストデータ140aのセンテンス「Micky eats cheese every day」において、係り受け元の単語を「Micky(オフセット「1」)」、係り受け先の単語を「cheese」とすると、相対オフセットは「2」となる。このため、情報処理装置は、第2インデックス140dのオフセット「1」の行12aと、相対オフセット「2」に対応する列13cとが交差する位置に、フラグ「1」を設定される。
圧縮データ140eは、辞書情報140bを基にして、テキストデータ140aを圧縮したデータである。
図3の説明に戻る。制御部150は、受付部150aと、生成部150bと、第1特定部150cと、第2特定部150dと、通知部150eとを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
受付部150aは、ネットワーク上の端末装置または入力部120等から、各種の情報を受け付ける処理部である。たとえば、受付部150aは、テキストデータ140aを受け付けた場合には、受け付けたテキストデータ140aを、記憶部140に格納する。受付部150aは、検索クエリ50aの情報を受け付けた場合には、検索クエリ50aの情報を、第1特定部150cに出力する。
生成部150bは、テキストデータ140aを基にして、第1インデックス140cおよび第2インデックス140dを生成する処理部である。生成部150bは、生成した第1インデックス140cおよび第2インデックス140dを、記憶部140に格納する。また、生成部150bは、辞書情報140bを基にして、テキストデータ140aを圧縮し、圧縮データ140eを生成する。生成部150bは、生成した圧縮データ140eを、記憶部140に格納する。
生成部150bは、テキストデータ140aに対して形態素解析、構文解析、意味解析を実行することで、テキストデータ140aに含まれる各単語について、単語の属性を特定する。単語の属性は、「単語の品詞」と、「単語のSVOC」と、「単語の係り受け」とを含む。
生成部150bは、テキストデータ140aの単語を選択し、選択した単語と辞書情報140bとを比較して、単語IDを特定する。生成部150bは、単語IDに対応する行と、選択した単語のオフセットに対応する列とが交差する、第1インデックス140cの位置にフラグ「1」を立てる。また、生成部150bは、選択した単語のオフセットに対応する行と、選択した単語の品詞の列、選択した単語のSVOCの列、選択した単語の係り受け先の単語の相対オフセットの列とが交差する、第2インデックス140dの各位置にフラグ「1」を立てる。生成部150bは、該当のない列には、フラグを立てない。
たとえば、「Micky」が、テキストデータ140aのオフセット「1」に位置しているものとする。この場合には、生成部150bは、単語「Micky」の単語ID「A001h」の行10aと、オフセット「1」の列10bとが交差する、第1インデックス140c
の位置にフラグ「1」を設定する。
たとえば、テキストデータ140aのオフセット「1」に、品詞「名詞」となる単語「Micky」が存在しているものとする。この場合には、生成部150bは、第2インデックス140dのオフセット「1」の行12aと、品詞「名詞」に対応する列13aとが交差する位置に、フラグ「1」を設定する。
たとえば、テキストデータ140aのオフセット「1」に、主語(S)となる単語「Micky」が存在しているものとする。この場合には、生成部150bは、第2インデックス140dのオフセット「1」の行12aと、主語(S)に対応する列13bとが交差する位置に、フラグ「1」を設定する。
たとえば、テキストデータ140aのセンテンス「Micky eats cheese every day」において、係り受け元の単語を「Micky(オフセット「1」)」、係り受け先の単語を「cheese」とすると、相対オフセットは「2」となる。この場合には、生成部150bは、第2インデックス140dのオフセット「1」の行12aと、相対オフセット「2」に対応する列13cとが交差する位置に、フラグ「1」を設定する。
生成部150bは、テキストデータ140aの他の単語についても、上記の処理を繰り返し実行することで、第1インデックス140cおよび第2インデックス140dにフラグを設定する処理を繰り返し実行する。また、生成部150bは、上記の処理と平行して、テキストデータ140aを、圧縮データ140eに圧縮する処理を実行してもよい。
第1特定部150cは、検索クエリ50aで指定される単語のオフセットを、第1インデックスを基にして特定する処理部である。第1特定部150cは、特定した単語のオフセットの情報を、第2特定部150dに出力する。
第1特定部150cは、受付部150aから検索クエリ50aの情報を受け付けると、検索クエリ50aで指定される単語と、辞書情報140bとを比較して、単語IDを特定する。たとえば、第1特定部150cは、検索クエリ50aにより、単語「Micky」を指定された場合には、単語「Micky」と、辞書情報140bとの比較により、単語ID「A001h」を取得する。
第1特定部150cは、単語IDと、第1インデックス140cとを比較して、単語のオフセットを特定する。たとえば、第1特定部150cは、第1インデックス140c上において、単語ID「A001h」の行10a(図2等を参照)を走査し、フラグ「1」が設定された箇所を特定する。情報処理装置は、フラグ「1」が設定された箇所に対応するオフセットを、単語「Micky」のオフセットとして特定する。テキストデータ140aに複数の「Micky」が含まれている場合には、各「Micky」に対応するオフセットがそれぞれ特定される。
第2特定部150dは、検索クエリ50aで指定された単語のオフセットと、第2インデックス140dとを基にして、検索クエリ50aで指定された単語の属性の情報を特定する処理部である。第2特定部150dは、特定した属性の情報を、通知部150eに出力する。第2特定部150dは、単語のオフセットが複数存在する場合には、各オフセットについて、単語の属性の情報を特定する。
第2特定部150dは、第2インデックス140dにおいて、検索クエリ50aで指定された単語のオフセットの行を走査する。第2特定部150dは、単語の品詞に対応する部分11aにおいて、フラグ「1」が設定されている箇所が存在する場合には、フラグ「1」が設定された列に対応する品詞を、指定された単語に対応する品詞として特定する。
たとえば、図4において、検索クエリ50aで指定された単語のオフセットの行を、行12aとすると、「名詞」に対応する列13aにフラグ「1」が設定されている。この場合には、第2特定部150dは、単語の属性として「名詞」を特定する。
第2特定部150dは、単語のSVOCに対応する部分11bにおいて、フラグ「1」が設定されている箇所が存在する場合には、フラグ「1」が設定された列に対応する「S、V、O、C」のいずれかを、単語に対応するSVOCとして特定する。
たとえば、図4において、検索クエリ50aで指定された単語のオフセットの行を、行12aとすると、「S」に対応する列13bにフラグ「1」が設定されている。この場合には、第2特定部150dは、単語の属性として「主語」を特定する。
第2特定部150dは、単語の係り受けに対応する部分11cにおいて、フラグ「1」が設定されている箇所が存在する場合には、フラグ「1」が設定された行に対応する相対オフセットを特定する。
たとえば、図4において、検索クエリ50aで指定された単語のオフセットの行を、行12aとすると、「2」に対応する列13cにフラグ「1」が設定されている。この場合には、第2特定部150dは、係り受け先となる単語の相対オフセットが「2」であると特定する。第2特定部150dは、相対オフセットをそのまま単語の属性としてもよいし、係り受け元の単語と、係り受け先の単語との組を特定して、単語の属性としてもよい。
第2特定部150dは、検索クエリ50aで指定された単語のオフセットに位置する単語を、テキストデータ140aから検出し、係り受け元の単語として特定する。第2特定部150dは、検索クエリ50aで指定された単語のオフセットと、特定した相対オフセットとを加算した加算オフセットに位置する単語を、テキストデータ140aから検出し、係り受け先の単語として特定する。
通知部150eは、第2特定部150dにより特定された単語の属性の情報を、検索クエリ50aの送信元となる端末装置に通知する処理部である。通知部150eは、検索クエリ50aが、入力部120から入力されたものである場合には、単語の属性の情報を、表示部130に表示させてもよい。
ところで、生成部150bは、第1インデックス140cを生成した場合に、ビットマップの折り返し技術を用いて、第1インデックス140cを隣接する素数(底)でハッシュ化し、サイズを縮小してもよい。図5Aは、第1インデックスをサイズ縮小する処理の一例を説明するための図である。
ここでは、32ビットレジスタを想定し、一例として29と31の素数(底)を基に、第1インデックス140cの各ビットマップをハッシュ化する。ビットマップb1から、ハッシュ化ビットマップh11およびハッシュ化ビットマップh12を生成する場合について説明する。ビットマップb1は、第1インデックス140cのある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップh11は、底「29」によりハッシュ化されたビットマップである。ハッシュ化ビットマップh12は、底「31」によりハッシュ化されたビットマップである。
生成部150bは、ビットマップb1の各ビットの位置を、1つの低で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。生成部150bは、該当するビットマップb1のビットの位置に「1」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「1」を設定する処理を行う。
ビットマップb1から、底「29」のハッシュ化ビットマップh11を生成する処理の一例について説明する。はじめに、生成部150bは、ビットマップb1の位置「0~28」の情報を、ハッシュ化ビットマップh11にコピーする。続いて、ビットマップb1のビットの位置「35」を、低「29」で割った余りは「6」となるので、ビットマップb1の位置「35」は、ハッシュ化ビットマップh11の位置「6」と対応付けられる。生成部150bは、ビットマップb1の位置「35」に「1」が設定されているため、ハッシュ化ビットマップh11の位置「6」に「1」を設定する。
ビットマップb1のビットの位置「42」を、低「29」で割った余りは「13」となるので、ビットマップb1の位置「42」は、ハッシュ化ビットマップh11の位置「13」と対応付けられる。生成部150bは、ビットマップb1の位置「42」に「1」が設定されているため、ハッシュ化ビットマップh11の位置「13」に「1」を設定する。
生成部150bは、ビットマップb1の位置「29」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh11を生成する。
ビットマップb1から、底「31」のハッシュ化ビットマップh12を生成する処理の一例について説明する。はじめに、生成部150bは、ビットマップb1の位置「0~30」の情報を、ハッシュ化ビットマップh12にコピーする。続いて、ビットマップb1のビットの位置「35」を、低「31」で割った余りは「4」となるので、ビットマップb1の位置「35」は、ハッシュ化ビットマップh12の位置「4」と対応付けられる。生成部150bは、ビットマップb1の位置「35」に「1」が設定されているため、ハッシュ化ビットマップh12の位置「4」に「1」を設定する。
ビットマップb1のビットの位置「42」を、低「31」で割った余りは「11」となるので、ビットマップb1の位置「42」は、ハッシュ化ビットマップh12の位置「11」と対応付けられる。生成部150bは、ビットマップb1の位置「42」に「1」が設定されているため、ハッシュ化ビットマップh12の位置「13」に「1」を設定する。
生成部150bは、ビットマップb1の位置「31」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh12を生成する。
生成部150bは、第1インデックス140cの各行について上記の折り返し技術による圧縮を行うことで、第1インデックス140cのデータ量を削減することが可能となる。底「29」、「31」のハッシュ化ビットマップは、生成元のビットマップの行(単語ID)の情報が付与されて、記憶部140に格納されるものとする。
生成部150bは、第2インデックス140dを生成した場合に、ビットマップの折り返し技術を用いて、第2インデックス140dを隣接する素数(底)でハッシュ化し、サイズを縮小してもよい。図5Bは、第2インデックスをサイズ縮小する処理の一例を説明するための図である。
ここでは、一例として11と13の素数(底)を基に、第2インデックス140dの各ビットマップをハッシュ化する。ビットマップb2から、ハッシュ化ビットマップh21およびハッシュ化ビットマップh22を生成する場合について説明する。ビットマップb2は、第2インデックス140dのある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップh21は、底「11」によりハッシュ化されたビットマップである。ハッシュ化ビットマップh22は、底「13」によりハッシュ化されたビットマップである。
生成部150bは、ビットマップb2の各ビットの位置を、1つの低で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。生成部150bは、該当するビットマップb2のビットの位置に「1」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「1」を設定する処理を行う。
ビットマップb2から、底「11」のハッシュ化ビットマップh21を生成する処理の一例について説明する。はじめに、生成部150bは、ビットマップb2の位置「0~10」の情報を、ハッシュ化ビットマップh21にコピーする。続いて、ビットマップb2のビットの位置「15」を、低「11」で割った余りは「4」となるので、ビットマップb2の位置「15」は、ハッシュ化ビットマップh11の位置「4」と対応付けられる。生成部150bは、ビットマップb2の位置「15」に「1」が設定されているため、ハッシュ化ビットマップh21の位置「6」に「1」を設定する。
生成部150bは、ビットマップb2の位置「15」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh21を生成する。
ビットマップb2から、底「13」のハッシュ化ビットマップh22を生成する処理の一例について説明する。はじめに、生成部150bは、ビットマップb2の位置「0~12」の情報を、ハッシュ化ビットマップh22にコピーする。続いて、ビットマップb2のビットの位置「15」を、低「13」で割った余りは「2」となるので、ビットマップb2の位置「15」は、ハッシュ化ビットマップh22の位置「2」と対応付けられる。生成部150bは、ビットマップb2の位置「15」に「1」が設定されているため、ハッシュ化ビットマップh22の位置「2」に「1」を設定する。
生成部150bは、ビットマップb2の位置「15」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh22を生成する。
生成部150bは、第2インデックス140dの各行について上記の折り返し技術による圧縮を行うことで、第2インデックス140dのデータ量を削減することが可能となる。底「11」、「13」のハッシュ化ビットマップは、生成元のビットマップの行(オフセット)の情報が付与されて、記憶部140に格納されるものとする。
第1特定部150cは、第1インデックス140cが折り返し技術によりハッシュ化されている場合には、単語IDに対応するハッシュ化ビットマップを読み出し、復元した後に、単語のオフセットを特定する処理を行う。
図6Aは、第1インデックスを復元する処理の一例を説明するための図である。ここでは一例として、第1特定部150cが、ハッシュ化ビットマップh11およびハッシュ化ビットマップh12を基にして、ビットマップb1を復元する場合について説明する。
第1特定部150cは、底「29」のハッシュ化ビットマップh11から、中間ビットマップh11’を生成する。第1特定部150cは、ハッシュ化ビットマップh11の位置0~28の値を、中間ビットマップh11’の位置0~28にそれぞれ、コピーする。
第1特定部150cは、中間ビットマップh11’の位置29以降の値については、「29」毎に、ハッシュ化ビットマップh11の位置0~28の値を、それぞれコピーする処理を繰り返し実行する。図6Aに示す例では、中間ビットマップh11’の位置29~43の位置に、ハッシュ化ビットマップh11の位置0~14の値を、コピーした例を示す。
第1特定部150cは、底「31」のハッシュ化ビットマップh12から、中間ビットマップh12’を生成する。第1特定部150cは、ハッシュ化ビットマップh12の位置0~30の値を、中間ビットマップh12’の位置0~30にそれぞれ、コピーする。
第1特定部150cは、中間ビットマップh12’の位置31以降の値については、「31」毎に、ハッシュ化ビットマップh12の位置0~30の値を、それぞれコピーする処理を繰り返し実行する。図6Aに示す例では、中間ビットマップh12’の位置31~43の位置に、ハッシュ化ビットマップh12の位置0~12の値を、コピーした例を示す。
第1特定部150cは、中間ビットマップh11’と、中間ビットマップh12’とを生成すると、中間ビットマップh11’と、中間ビットマップh12’とをAND演算することで、ハッシュ化前のビットマップb1を復元する。第1特定部150cは、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、単語IDに対応するビットマップを復元することができる。
第2特定部150dは、第2インデックス140dが折り返し技術によりハッシュ化されている場合には、オフセットに対応するハッシュ化ビットマップを読み出し、復元した後に、オフセットに対応する属性を特定する処理を行う。
図6Bは、第2インデックスを復元する処理の一例を説明するための図である。ここでは一例として、第2特定部150dが、ハッシュ化ビットマップh21およびハッシュ化ビットマップh22を基にして、ビットマップb2を復元する場合について説明する。
第2特定部150dは、底「11」のハッシュ化ビットマップh21から、中間ビットマップh21’を生成する。第2特定部150dは、ハッシュ化ビットマップh21の位置0~10の値を、中間ビットマップh21’の位置0~10にそれぞれ、コピーする。
第2特定部150dは、中間ビットマップh21’の位置11以降の値については、「11」毎に、ハッシュ化ビットマップh21の位置0~10の値を、それぞれコピーする処理を繰り返し実行する。図6Bに示す例では、中間ビットマップh21’の位置11~21に、ハッシュ化ビットマップh21の位置0~10の値を、コピーし、中間ビットマップh21’の位置22~31に、ハッシュ化ビットマップh21の位置0~9の値を、コピーした例を示す。
第2特定部150dは、底「13」のハッシュ化ビットマップh22から、中間ビットマップh22’を生成する。第2特定部150dは、ハッシュ化ビットマップh22の位置0~12の値を、中間ビットマップh22’の位置0~12にそれぞれ、コピーする。
第2特定部150dは、中間ビットマップh22’の位置13以降の値については、「13」毎に、ハッシュ化ビットマップh22の位置0~12の値を、それぞれコピーする処理を繰り返し実行する。図6Bに示す例では、中間ビットマップh22’の位置13~25の位置に、ハッシュ化ビットマップh22の位置0~12の値を、コピーし、中間ビットマップh22’の位置26~31の位置に、ハッシュ化ビットマップh22の位置0~5の値を、コピーした例を示す。
第2特定部150dは、中間ビットマップh21’と、中間ビットマップh22’とを生成すると、中間ビットマップh21’と、中間ビットマップh22’とをAND演算することで、ハッシュ化前のビットマップb2を復元する。第2特定部150dは、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、オフセットに対応するビットマップを復元することができる。
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図7は、第1インデックスおよび第2インデックスを生成する処理を示すフローチャートである。図7に示すように、情報処理装置100の受付部150aは、テキストデータ140aを受け付ける(ステップS101)。
情報処理装置100の生成部150bは、テキストデータ140aに対して形態素解析、構文解析、意味解析を実行する(ステップS102)。生成部150bは、テキストデータ140aに含まれる単語を選択する(ステップS103)。生成部150bは、単語を単語IDに圧縮し、圧縮データ140eに格納する(ステップS104)。
生成部150bは、選択した単語の単語IDの行と、選択した単語のオフセットの列とが交差する第1インデックス140cの位置にフラグ「1」を設定する(ステップS105)。生成部150bは、選択した単語のオフセットと、選択した単語に関連する属性の各列とが交差する第2インデックスの位置にフラグ「1」を設定する(ステップS106)。
生成部150bは、単語の選択を終了する場合には(ステップS107,Yes)、第1インデックス140cおよび第2インデックス140dを隣接する素数でハッシュ化し、サイズを縮小し(ステップS109)、インデックスを生成する処理を終了する。一方、生成部150bは、単語の選択を終了しない場合には(ステップS107,No)、テキストデータ140aに含まれる未選択の単語を選択し(ステップS108)、ステップS104に移行する。
図8は、検索クエリを基にして単語の属性を特定する処理を示すフローチャートである。図8に示すように、情報処理装置100の受付部150aは、検索クエリを受け付ける(ステップS201)。情報処理装置100の第1特定部150cは、検索クエリに含まれる単語を単語IDに変換する(ステップS202)。
第1特定部150cは、検索クエリで指定された単語の単語IDをもとに、第1インデックス140cを復元して、単語のオフセットを特定する(ステップS203)。情報処理装置100の第2特定部150dは、第1特定部150cにより特定された単語のオフセットをもとに、第2インデックス140dを復元して、単語の属性を特定する(ステップS204)。
情報処理装置100の通知部150eは、検索クエリで指定された単語と、単語の属性とを対応付けて通知する(ステップS205)。
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、検索クエリにより単語が指定された場合に、単語の単語IDと第1インデックスとを基にして、指定された単語のオフセットを特定する。情報処理装置100は、特定した単語のオフセットと、第2インデックスとを基にして、単語のオフセットに対応する属性を特定する。このように、第1インデックス140c、第2インデックス140dを用いることで、テキストデータ140aに含まれる単語の属性を高速に特定できる。
情報処理装置100が特定する単語の属性は「単語の品詞」と、「単語のSVOC」と、「単語の係り受け」とを有する。このため、検索クエリで単語を指定することで、指定した単語に対応する品詞、センテンス上の要素、係り受けの関係を特定することができる。
情報処理装置100は、テキストデータ140aを形態素解析、構文解析、意味解析し、テキストデータに含まれる係り受け元の単語と、係り受け先の単語とを特定し、係り受け元の単語のオフセットと、係り受け先の単語の相対的なオフセットとを対応付けた第2インデックスを生成する。また、情報処理装置100は、係り受け元の単語と、係り受け元の単語のオフセットとを対応付けた第1インデックスを生成する。これによって、テキストデータ140aに含まれる単語の属性(係り受けの関係)を特定するために使用する第1インデックス140c、第2インデックス140dの情報を生成することができる。
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図9は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図9に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、有線または無線ネットワークを介して他の装置との間でデータの授受を行うインタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
ハードディスク装置207は、受付プログラム207a、生成プログラム207b、第1特定プログラム207c、第2特定プログラム207d、通知プログラム207eを有する。また、ハードディスク装置207は、各プログラム207a~207eを読み出してRAM206に展開する。
受付プログラム207aは、受付プロセス206aとして機能する。生成プログラム207bは、生成プロセス206bとして機能する。第1特定プログラム207cは、第1特定プロセス206cとして機能する。第2特定プログラム207dは、第2特定プロセス206dとして機能する。通知プログラム207eは、通知プロセス206eとして機能する。
受付プロセス206aの処理は、受付部150aの処理に対応する。生成プロセス206bの処理は、生成部150bの処理に対応する。第1特定プロセス206cの処理は、第1特定部150cの処理に対応する。第2特定プロセス206dの処理は、第2特定部150dの処理に対応する。通知プロセス206eの処理は、通知部150eの処理に対応する。
なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207eを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)単語の指定を受け付け、
テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置を該単語それぞれに対応付けた情報を参照して、指定された前記単語に対応付けられた出現位置を特定し、
前記テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を該出現位置に対応付ける情報を参照して、特定した前記出現位置に対応付けられた属性を特定する、
処理をコンピュータに実行させることを特徴とする特定プログラム。
(付記2)前記属性は、前記テキストデータに含まれる単語のうち、指定された前記単語に対して特定の関係を有する他の単語の出現位置であることを特徴とする付記1に記載の特定プログラム。
(付記3)前記関係は、係り受けの関係であることを特徴とする付記2に記載の特定プログラム。
(付記4)前記属性は、前記単語の品詞であることを特徴とする付記1に記載の特定プログラム。
(付記5)前記属性は、前記テキストデータに含まれる文の要素のうち、いずれの要素に対応するかを示す情報であることを特徴とする付記1に記載の特定プログラム。
(付記6)単語の指定を受け付け、
テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を、該出現位置と、該単語とに対応付けて記憶する記憶部を参照して、指定された前記単語の前記テキストデータにおける出現位置での属性を特定する、
処理をコンピュータに実行させることを特徴とする特定プログラム。
(付記7)テキストデータを受け付け、
受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる第1の単語に対して特定の関係性を有する第2の単語をそれぞれ特定し、
前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、
前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する
処理をコンピュータに実行させることを特徴とする生成プログラム。
(付記8)前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成する処理は、前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対応する文の要素とを更に対応付けることを特徴とする付記7に記載の生成プログラム。
(付記9)前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする付記7に記載の生成プログラム。
(付記10)前記第1の単語と前記第1の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする付記7に記載の生成プログラム。
(付記11)コンピュータが実行する特定方法であって、
単語の指定を受け付け、
テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置を該単語それぞれに対応付けた情報を参照して、指定された前記単語に対応付けられた出現位置を特定し、
前記テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を該出現位置に対応付ける情報を参照して、特定した前記出現位置に対応付けられた属性を特定する、
処理を実行することを特徴とする特定方法。
(付記12)前記属性は、前記テキストデータに含まれる単語のうち、指定された前記単語に対して特定の関係を有する他の単語の出現位置であることを特徴とする付記11に記載の特定方法。
(付記13)前記関係は、係り受けの関係であることを特徴とする付記12に記載の特定方法。
(付記14)前記属性は、前記単語の品詞であることを特徴とする付記11に記載の特定方法。
(付記15)前記属性は、前記テキストデータに含まれる文の要素のうち、いずれの要素に対応するかを示す情報であることを特徴とする付記11に記載の特定方法。
(付記16)単語の指定を受け付け、
テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を、該出現位置と、該単語とに対応付けて記憶する記憶部を参照して、指定された前記単語の前記テキストデータにおける出現位置での属性を特定する、
処理をコンピュータに実行させることを特徴とする特定方法。
(付記17)テキストデータを受け付け、
受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる第1の単語に対して特定の関係性を有する第2の単語をそれぞれ特定し、
前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、
前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する
処理をコンピュータに実行させることを特徴とする生成方法。
(付記18)前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成する処理は、前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対応する文の要素とを更に対応付けることを特徴とする付記17に記載の生成方法。
(付記19)前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成する処理は、前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対応する文の要素とを更に対応付けることを特徴とする付記17に記載の生成方法。
(付記20)前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする付記17に記載の生成方法。
(付記21)単語の指定を受け付ける受付部と、
テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置を該単語それぞれに対応付けた情報を参照して、指定された前記単語に対応付けられた出現位置を特定する第1特定部と、
前記テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を該出現位置に対応付ける情報を参照して、特定した前記出現位置に対応付けられた属性を特定する第2特定部と
を有することを特徴とする情報処理装置。
(付記22)前記属性は、前記テキストデータに含まれる単語のうち、指定された前記単語に対して特定の関係を有する他の単語の出現位置であることを特徴とする付記21に記載の情報処理装置。
(付記23)前記関係は、係り受けの関係であることを特徴とする付記22に記載の情報処理装置。
(付記24)前記属性は、前記単語の品詞であることを特徴とする付記21に記載の情報処理装置。
(付記25)前記属性は、前記テキストデータに含まれる文の要素のうち、いずれの要素に対応するかを示す情報であることを特徴とする付記21に記載の情報処理装置。
(付記26)単語の指定を受け付ける受付部と、
テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置を該単語それぞれに対応付けた情報を参照して、指定された前記単語に対応付けられた出現位置を特定する第1特定部と、
前記テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を該出現位置に対応付ける情報を参照して、特定した前記出現位置に対応付けられた属性を特定する第2特定部と
を有することを特徴とする情報処理装置。
(付記27)テキストデータを受け付ける受付部と、
受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる第1の単語に対して特定の関係性を有する第2の単語をそれぞれ特定し、前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する生成部と
を有することを特徴とする情報処理装置。
(付記28)前記生成部は、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成する処理は、前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対応する文の要素とを更に対応付けることを特徴とする付記27に記載の情報処理装置。
(付記29)前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記生成部は、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする付記27に記載の情報処理装置。
(付記30)前記第1の単語と前記第1の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記生成部は、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする付記27に記載の情報処理装置。
100 情報処理装置
110 通信部
120 入力部
130 表示部
140 記憶部
140a テキストデータ
140b 辞書情報
140c 第1インデックス
140d 第2インデックス
140e 圧縮データ
150 制御部
150a 受付部
150b 生成部
150c 第1特定部
150d 第2特定部
150e 通知部

Claims (5)

  1. テキストデータを受け付け、
    受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる主語になる単語と、前記主語となる単語の動詞となる単語と、前記動詞となる単語の目的語となる単語を特定し、
    前記特定した単語のうち、前記主語となる単語を第1の単語として特定し、前記目的語となる単語を第2の単語として特定し、
    前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対する文の要素と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、
    前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する
    処理をコンピュータに実行させることを特徴とする生成プログラム。
  2. 前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする請求項1に記載の生成プログラム。
  3. 前記第1の単語と前記第1の単語の出現位置とを対応付けた情報は、0および1が並ぶビットマップであり、前記ビットマップを、所定の素数を基にしてハッシュ化する処理を更に実行することを特徴とする請求項1に記載の生成プログラム。
  4. コンピュータが実行する生成方法であって、
    テキストデータを受け付け、
    受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる主語になる単語と、前記主語となる単語の動詞となる単語と、前記動詞となる単語の目的語となる単語を特定し、
    前記特定した単語のうち、前記主語となる単語を第1の単語として特定し、前記目的語となる単語を第2の単語として特定し、
    前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対する文の要素と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、
    前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する
    処理を実行することを特徴とする生成方法。
  5. テキストデータを受け付ける受付部と、
    受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる主語になる単語と、前記主語となる単語の動詞となる単語と、前記動詞となる単語の目的語となる単語を特定し、前記特定した単語のうち、前記主語となる単語を第1の単語として特定し、前記目的語となる単語を第2の単語として特定し、前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の品詞と、前記第1の単語に対する文の要素と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する生成部と
    を有することを特徴とする情報処理装置。
JP2022069412A 2018-04-12 2022-04-20 生成プログラム、生成方法および情報処理装置 Active JP7351372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022069412A JP7351372B2 (ja) 2018-04-12 2022-04-20 生成プログラム、生成方法および情報処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018077144A JP7135399B2 (ja) 2018-04-12 2018-04-12 特定プログラム、特定方法および情報処理装置
JP2022069412A JP7351372B2 (ja) 2018-04-12 2022-04-20 生成プログラム、生成方法および情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018077144A Division JP7135399B2 (ja) 2018-04-12 2018-04-12 特定プログラム、特定方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2022095952A JP2022095952A (ja) 2022-06-28
JP7351372B2 true JP7351372B2 (ja) 2023-09-27

Family

ID=68161808

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018077144A Active JP7135399B2 (ja) 2018-04-12 2018-04-12 特定プログラム、特定方法および情報処理装置
JP2022069412A Active JP7351372B2 (ja) 2018-04-12 2022-04-20 生成プログラム、生成方法および情報処理装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018077144A Active JP7135399B2 (ja) 2018-04-12 2018-04-12 特定プログラム、特定方法および情報処理装置

Country Status (2)

Country Link
US (1) US11120222B2 (ja)
JP (2) JP7135399B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513243A (ja) 1997-03-07 2001-08-28 マイクロソフト コーポレイション テキストの意味論的表現を利用した情報の検索
JP2006244298A (ja) 2005-03-04 2006-09-14 Mitsubishi Electric Corp テキストマイング方法及びテキストマイニング装置
JP2007287134A (ja) 2006-03-20 2007-11-01 Ricoh Co Ltd 情報抽出装置、及び情報抽出方法
JP2008021270A (ja) 2006-07-14 2008-01-31 Univ Of Tokyo データ変換装置および方法、データベース管理装置および方法、ならびにデータベース検索システムおよび方法
JP2011113536A (ja) 2009-11-30 2011-06-09 Fuji Xerox Co Ltd 情報検索プログラム及び情報検索装置
JP2017194762A (ja) 2016-04-18 2017-10-26 富士通株式会社 インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959769A (en) * 1983-10-03 1990-09-25 Wang Laboratories, Inc. Structures and methods for representing and processing documents
JP3419483B2 (ja) * 1993-01-25 2003-06-23 株式会社東芝 自然言語処理装置及びその方法
JPH09212523A (ja) 1996-01-30 1997-08-15 Oki Electric Ind Co Ltd 全文検索方法
US6279017B1 (en) * 1996-08-07 2001-08-21 Randall C. Walker Method and apparatus for displaying text based upon attributes found within the text
US20050210056A1 (en) * 2004-01-31 2005-09-22 Itzhak Pomerantz Workstation information-flow capture and characterization for auditing and data mining
CA2698054C (en) 2007-08-31 2015-12-22 Microsoft Corporation Coreference resolution in an ambiguity-sensitive natural language processing system
US8301633B2 (en) 2007-10-01 2012-10-30 Palo Alto Research Center Incorporated System and method for semantic search
US8229929B2 (en) * 2010-01-06 2012-07-24 International Business Machines Corporation Cross-domain clusterability evaluation for cross-guided data clustering based on alignment between data domains
WO2015141101A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP6125138B2 (ja) * 2015-03-18 2017-05-10 三菱電機株式会社 情報提供システム
US10652248B2 (en) * 2016-07-28 2020-05-12 Molecula Corp. Systems and methods of managing data rights and selective data sharing
JP7103763B2 (ja) * 2017-07-20 2022-07-20 株式会社日立製作所 情報処理システムおよび情報処理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513243A (ja) 1997-03-07 2001-08-28 マイクロソフト コーポレイション テキストの意味論的表現を利用した情報の検索
JP2006244298A (ja) 2005-03-04 2006-09-14 Mitsubishi Electric Corp テキストマイング方法及びテキストマイニング装置
JP2007287134A (ja) 2006-03-20 2007-11-01 Ricoh Co Ltd 情報抽出装置、及び情報抽出方法
JP2008021270A (ja) 2006-07-14 2008-01-31 Univ Of Tokyo データ変換装置および方法、データベース管理装置および方法、ならびにデータベース検索システムおよび方法
JP2011113536A (ja) 2009-11-30 2011-06-09 Fuji Xerox Co Ltd 情報検索プログラム及び情報検索装置
JP2017194762A (ja) 2016-04-18 2017-10-26 富士通株式会社 インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
立石 健二,係り受け情報を利用したWeb上の日本語テキスト検索システム,情報処理学会研究報告,社団法人情報処理学会,1998年07月17日,第98巻, 第59号,pp.47~54

Also Published As

Publication number Publication date
US11120222B2 (en) 2021-09-14
JP2019185491A (ja) 2019-10-24
JP7135399B2 (ja) 2022-09-13
JP2022095952A (ja) 2022-06-28
US20190317990A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
US9633063B2 (en) Methods and apparatus for automated redaction of content in a document
GB2401972A (en) Identifying special word usage in a document
US20180082680A1 (en) Syntactic re-ranking of potential transcriptions during automatic speech recognition
JP2005128873A (ja) 質問応答型文書検索システム及び質問応答型文書検索プログラム
KR20180105546A (ko) 클레임 요소 명사의 요소 명사 참조 번호를 획득하기 위한 요소 명사 참조 번호 획득방법
US20110046940A1 (en) Machine translation device, machine translation method, and program
JP2024023870A (ja) 次元圧縮方法、表示方法および情報処理装置
WO2003027895A2 (en) Character string conversion
US20220083579A1 (en) Method and system for performing summarization of text
CN114303152A (zh) 对资源数据的有效存储和取回
CN113743090B (zh) 一种关键词提取方法及装置
JP2009169689A (ja) データ分類方法およびデータ処理装置
JP7351372B2 (ja) 生成プログラム、生成方法および情報処理装置
JP2019211959A (ja) 検索方法、検索プログラムおよび検索装置
CN109766539B (zh) 标准词库分词方法、装置、设备及计算机可读存储介质
JP6972711B2 (ja) 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
JP6972788B2 (ja) 特定プログラム、特定方法および情報処理装置
US20140181065A1 (en) Creating Meaningful Selectable Strings From Media Titles
EP4357937A1 (en) Information processing program, information processing method, and information processing device
JP2009258887A (ja) 機械翻訳装置及び機械翻訳プログラム
CN110297825B (zh) 数据处理方法、装置、计算机设备以及存储介质
JP4139805B2 (ja) 字句をデータに変換する装置、方法及びプログラム
JP2001067375A (ja) 名称検索装置、キーボード及び名称検索プログラムを記録した記録媒体
CN114968265A (zh) 反混淆安卓应用源码的方法、设备和计算机可读存储介质
JPH1139334A (ja) 文書処理装置及び方法、及びそのプログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230512

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230828

R150 Certificate of patent or registration of utility model

Ref document number: 7351372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150