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

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

Info

Publication number
JP2019185491A
JP2019185491A JP2018077144A JP2018077144A JP2019185491A JP 2019185491 A JP2019185491 A JP 2019185491A JP 2018077144 A JP2018077144 A JP 2018077144A JP 2018077144 A JP2018077144 A JP 2018077144A JP 2019185491 A JP2019185491 A JP 2019185491A
Authority
JP
Japan
Prior art keywords
word
text data
appearance position
information
attribute
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.)
Granted
Application number
JP2018077144A
Other languages
English (en)
Other versions
JP7135399B2 (ja
Inventor
片岡 正弘
Masahiro Kataoka
正弘 片岡
清司 大倉
Seiji Okura
清司 大倉
将夫 出内
Masao Ideuchi
将夫 出内
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 JP2018077144A priority Critical patent/JP7135399B2/ja
Priority to US16/364,486 priority patent/US11120222B2/en
Publication of JP2019185491A publication Critical patent/JP2019185491A/ja
Priority to JP2022069412A priority patent/JP7351372B2/ja
Application granted granted Critical
Publication of JP7135399B2 publication Critical patent/JP7135399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/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/20Natural language analysis
    • G06F40/268Morphological analysis
    • 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/30Semantic analysis

Abstract

【課題】テキストデータに含まれる単語の属性を容易に特定すること。【解決手段】情報処理装置100は、単語の指定を受け付け、テキストデータに含まれる単語それぞれのテキストデータにおける出現位置を該単語それぞれに対応付けた情報を参照して、指定された単語に対応付けられた出現位置を特定する。情報処理装置100は、テキストデータに含まれる単語それぞれのテキストデータにおける出現位置での属性を該出現位置に対応付ける情報を参照して、特定した出現位置に対応付けられた属性を特定する。【選択図】図3

Description

本発明は、特定プログラム等に関する。
従来、テキストデータに対して形態素解析に加え、構文解析と意味解析を実行し、テキストデータに含まれる各単語について、主語(S)・動詞(V)・目的語(O)・補語(C)や、単語同士の係り受け等の属性を特定し、その後の処理で利用している。たとえば、従来技術では、テキストデータに含まれる単語を単語コードに圧縮する場合に、上記の意味解析を実行し、単語に対応する属性を、単語コードの一部に格納することで、単語と属性との対応付けを行っている。
特開2009−087347号公報 特開平9−212523号公報 特開2017−194762号公報
しかしながら、上述した従来技術では、テキストデータに含まれる単語の属性を高速に特定することができないという問題がある。
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特定プロセス207cとして機能する。通知プログラム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 (15)

  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. コンピュータが実行する特定方法であって、
    単語の指定を受け付け、
    テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を、該出現位置と、該単語とに対応付けて記憶する記憶部を参照して、指定された前記単語の前記テキストデータにおける出現位置での属性を特定する、
    処理を実行することを特徴とする特定方法。
  13. コンピュータが実行する生成方法であって、
    テキストデータを受け付け、
    受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる第1の単語に対して特定の関係性を有する第2の単語をそれぞれ特定し、
    前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、
    前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する
    処理を実行することを特徴とする生成方法。
  14. 単語の指定を受け付ける受付部と、
    テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置を該単語それぞれに対応付けた情報を参照して、指定された前記単語に対応付けられた出現位置を特定する第1特定部と、
    前記テキストデータに含まれる単語それぞれの前記テキストデータにおける出現位置での属性を該出現位置に対応付ける情報を参照して、特定した前記出現位置に対応付けられた属性を特定する第2特定部と
    を有することを特徴とする情報処理装置。
  15. テキストデータを受け付ける受付部と、
    受け付けた前記テキストデータを解析することで、前記テキストデータに含まれる第1の単語に対して特定の関係性を有する第2の単語をそれぞれ特定し、前記テキストデータに含まれる前記第1の単語の出現位置と、前記第1の単語の出現位置を基準とする前記第2の単語の出現位置とを対応付けた情報を生成し、前記第1の単語と前記第1の単語の出現位置とを対応付けた情報を生成する生成部と
    を有することを特徴とする情報処理装置。
JP2018077144A 2018-04-12 2018-04-12 特定プログラム、特定方法および情報処理装置 Active JP7135399B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018077144A JP7135399B2 (ja) 2018-04-12 2018-04-12 特定プログラム、特定方法および情報処理装置
US16/364,486 US11120222B2 (en) 2018-04-12 2019-03-26 Non-transitory computer readable recording medium, identification method, generation method, and information processing device
JP2022069412A JP7351372B2 (ja) 2018-04-12 2022-04-20 生成プログラム、生成方法および情報処理装置

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2019185491A true JP2019185491A (ja) 2019-10-24
JP7135399B2 JP7135399B2 (ja) 2022-09-13

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 After (1)

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

Country Status (2)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244298A (ja) * 2005-03-04 2006-09-14 Mitsubishi Electric Corp テキストマイング方法及びテキストマイニング装置
JP2014238865A (ja) * 2007-08-31 2014-12-18 マイクロソフト コーポレーション 曖昧感応自然言語処理システムにおける同一指示解決
JP2017194762A (ja) * 2016-04-18 2017-10-26 富士通株式会社 インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法

Family Cites Families (15)

* 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
US6076051A (en) 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
US20050210056A1 (en) * 2004-01-31 2005-09-22 Itzhak Pomerantz Workstation information-flow capture and characterization for auditing and data mining
JP2007287134A (ja) * 2006-03-20 2007-11-01 Ricoh Co Ltd 情報抽出装置、及び情報抽出方法
JP2008021270A (ja) 2006-07-14 2008-01-31 Univ Of Tokyo データ変換装置および方法、データベース管理装置および方法、ならびにデータベース検索システムおよび方法
US8301633B2 (en) 2007-10-01 2012-10-30 Palo Alto Research Center Incorporated System and method for semantic search
JP5493779B2 (ja) * 2009-11-30 2014-05-14 富士ゼロックス株式会社 情報検索プログラム及び情報検索装置
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
CN106104520B (zh) * 2014-03-20 2019-04-26 日本电气株式会社 信息处理设备、信息处理方法和存储介质
CN107408118A (zh) * 2015-03-18 2017-11-28 三菱电机株式会社 信息提供系统
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244298A (ja) * 2005-03-04 2006-09-14 Mitsubishi Electric Corp テキストマイング方法及びテキストマイニング装置
JP2014238865A (ja) * 2007-08-31 2014-12-18 マイクロソフト コーポレーション 曖昧感応自然言語処理システムにおける同一指示解決
JP2017194762A (ja) * 2016-04-18 2017-10-26 富士通株式会社 インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
立石 健二 外3名: "係り受け情報を利用したWeb上の日本語テキスト検索システム", 情報処理学会研究報告, vol. 第98巻第59号, JPN6014023196, 17 July 1998 (1998-07-17), JP, pages 47 - 54, ISSN: 0004715528 *

Also Published As

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

Similar Documents

Publication Publication Date Title
US8515984B2 (en) Extensible search term suggestion engine
GB2401972A (en) Identifying special word usage in a document
JP6122800B2 (ja) 電子機器、文字列表示方法、および文字列表示プログラム
JP2024023870A (ja) 次元圧縮方法、表示方法および情報処理装置
US20030061031A1 (en) Japanese virtual dictionary
Chinnakotla et al. Transliteration for resource-scarce languages
CN114303152A (zh) 对资源数据的有效存储和取回
US20220083579A1 (en) Method and system for performing summarization of text
JP2009169689A (ja) データ分類方法およびデータ処理装置
JP7351372B2 (ja) 生成プログラム、生成方法および情報処理装置
KR100942123B1 (ko) 키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템
US9613019B2 (en) Techniques for automatically generating test data
US11704090B2 (en) Audio interactive display system and method of interacting with audio interactive display system
JP2019211959A (ja) 検索方法、検索プログラムおよび検索装置
US10430503B2 (en) Electronic display content fitting
CN109145084B (zh) 数据处理方法、数据处理装置和服务器
JP2010250389A (ja) 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、
WO2019003517A1 (ja) 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
JPWO2020021609A1 (ja) 生成方法、生成プログラムおよび情報処理装置
JP2019215660A (ja) 処理プログラム、処理方法および情報処理装置
WO2022264216A1 (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP7458543B1 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2001067375A (ja) 名称検索装置、キーボード及び名称検索プログラムを記録した記録媒体
TW202109349A (zh) 通訊伺服器裝置、通訊裝置及其操作方法
JP4922252B2 (ja) 効果表現提示装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220815

R150 Certificate of patent or registration of utility model

Ref document number: 7135399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150