JP6680126B2 - 符号化プログラム、符号化装置、符号化方法、及び検索方法 - Google Patents

符号化プログラム、符号化装置、符号化方法、及び検索方法 Download PDF

Info

Publication number
JP6680126B2
JP6680126B2 JP2016145779A JP2016145779A JP6680126B2 JP 6680126 B2 JP6680126 B2 JP 6680126B2 JP 2016145779 A JP2016145779 A JP 2016145779A JP 2016145779 A JP2016145779 A JP 2016145779A JP 6680126 B2 JP6680126 B2 JP 6680126B2
Authority
JP
Japan
Prior art keywords
word
code
compression
information
semantic structure
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
JP2016145779A
Other languages
English (en)
Other versions
JP2018018174A (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 JP2016145779A priority Critical patent/JP6680126B2/ja
Priority to EP17182307.3A priority patent/EP3276507B1/en
Priority to US15/654,984 priority patent/US9906238B2/en
Publication of JP2018018174A publication Critical patent/JP2018018174A/ja
Application granted granted Critical
Publication of JP6680126B2 publication Critical patent/JP6680126B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • 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/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/705Unicode

Landscapes

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

Description

本発明は、符号化プログラム、符号化装置、符号化方法、及び検索方法に関する。
図1は、文書に対して実行される様々なテキスト解析の間の関係の例を示している。テキスト解析は、例えば、形態素解析(品詞解析)、構文解析(係り受け解析)、意味解析を含む。形態素解析は、文を形態素に分割し、各形態素に対して品詞情報を付与する処理である。形態素解析により得られる形態素は、単語として扱われることもある。なお、形態素解析では、字句解析が実行されてもよい。字句解析は、表記に基づいて文書内の文を単語に分割する処理である。
構文解析は、単語の品詞情報に基づいて自立語を含む文節を合成し、文節に含まれる自立語に基づいて文節同士の係り受け関係(修飾関係)を求める処理である。また、意味解析は、例えば、係り受け関係に基づいて文に含まれる単語間の意味的な関係を解析する処理である。意味解析結果は、例えば、同義表現、多義表現の意味を求める処理、又は複数の単語の中から類語を抽出する処理で用いることができる。ある程度割り切った意味解析は、単語のみ、又は単語及び品詞情報に基づいて行うことができるが、係り受け関係を用いた方が意味解析の精度は向上する。なお、意味解析では、構文解析の一部の処理が実行されてよい。
意味解析では、自然文の形態素解析結果を用いて、その自然文の意味構造が求められる。意味構造を用いることで、自然文が何を意味するかを、コンピュータが扱うデータとして表現することができる。
意味構造は、例えば、形態素解析結果に含まれる複数の単語の概念をそれぞれ表す複数のノードと、ノードに接続される有向のアークとを含む。アークが、1つのノードにしか接続されていない場合、そのアークは接続されたノードの属性を表す。また、アークが2つのノードを接続する場合、そのアークは、接続された2つのノードの間の関係を表す。1つのノードが複数のアークと接続される場合もある。意味構造は、例えば、ノードと、アークとにより作成されるグラフ構造(有向グラフ)により表される。図2は、「私は学校で働いています」の1文に対応するグラフ構造を例示する図である。
意味解析では、例えば、ルールベースで構造が定義され、必要に応じて複数の構造を組み合わせながら解析が行われる。意味解析で用いられるルールには、例えば、フィルモア(Fillmore)が提唱する格文法がある。格文法では、例えば、文を一個の動詞と複数の格範疇から成るものとみる。例えば、このようなルールを繰り返し適用することで、最終的には、図2に示すような、1文に対応するグラフ構造を生成することができる。
また、図3は、テキスト解析結果を活用する活用処理の一例を示す図である。文書311は、圧縮辞書301を用いて圧縮され、圧縮文書312として保存される。そして、活用時に圧縮文書312が伸張されて文書311が復元され、文書311に対して解析用辞書302を用いて形態素解析及び意味解析を行うことで、意味解析結果313が生成される。意味解析結果313は、アプリケーションプログラム等により活用される。
これに関し、例えば、意味内容が損なわれないように文書を書き換え、書き換え後に圧縮テーブルを参照しながら、文書をビット列に置き換えて文書圧縮を行うための技術が知られている(例えば、特許文献1を参照)。また、データ通信システムを介した情報アクセスおよび検索方法を得るための技術が知られている(例えば、特許文献2を参照)。自然言語処理用の辞書を用意しなくとも文書内容を解析できるようにするための技術が知られている(例えば、特許文献3を参照)。
特開平7−160684号公報 特開2008−135023号公報 特開平7−129588号公報
上述の活用処理の一例では、圧縮文書を伸長した後に、例えば、形態素解析及び意味解析などのテキスト解析が行われる。活用のために圧縮文書の伸長と意味解析とが行われるため、処理負荷が大きい。1つの側面において、本発明は、文書の意味解析結果を活用する際の処理負荷を軽減することを目的とする。
本発明の一つの態様の符号化プログラムは、コンピュータに生成する処理と、出力する処理とを実行させる。生成する処理では、コンピュータは圧縮対象文書内の文に含まれる複数の単語それぞれに圧縮符号を割り当てて複数の単語符号を生成するとともに、文を意味解析して複数の単語それぞれに対応する複数の意味構造情報を生成する処理を実行する。また、コンピュータは複数の意味構造情報のそれぞれに圧縮符号を割り当てて意味構造符号を生成する処理を実行する。出力する処理では、コンピュータは複数の単語符号と複数の意味構造符号とを所定の順序で配列して出力する処理を実行する。
一つの態様によれば、文書の意味解析結果を活用する際の処理負荷を軽減することができる。
様々なテキスト解析の間の関係を例示する図である。 グラフ構造を例示する図である。 テキスト解析結果の活用処理の一例を示す図である。 LZ77符号化で用いられる圧縮辞書の例を示す図である。 LZ78符号化で用いられる圧縮辞書の例を示す図である。 実施形態の符号化装置の機能的構成例を示す図である。 符号化処理の例を示すフローチャートである。 第1の実施形態に係る符号化装置を例示する図である。 第1の実施形態に係る符号化処理のフローチャートである。 単語辞書の例を示す図である。 意味解析結果を表す木構造を例示する図である。 単語の概念情報の例と、アークの例とを示す図である。 意味構造の二分木への変換を例示する図である。 二分木の基本形を例示する図である。 4本の部分木を接続した意味構造二分木を例示する図である。 符号表の例を示す図である。 意味構造情報及び入れ子情報に対する圧縮符号の割り当てを例示する図である。 意味構造二分木への意味構造情報及び入れ子情報に対する圧縮符号の割り当てを例示する図である 第1の順序で配列された圧縮符号列の例を示す図である。 第2の順序で配列された圧縮符号列の例を示す図である。 第2の実施形態に係る符号化装置を示す図である。 第2の実施形態に係る符号化処理のフローチャートである。 中間符号表の例を示す図である。 複数の圧縮対象文書の例を示す図である。 複数の圧縮対象文書に対する集計情報の例を示す図である。 圧縮符号の符号表の例を示す図である。 活用処理を行う情報処理装置の機能的構成例を示す図である。 圧縮符号列を同義語抽出に利用する場合の活用処理のフローチャートである。 同義語検索の例を示す図である。 圧縮符号列を知識抽出に利用する場合の活用処理のフローチャートである。 圧縮符号列を文章推敲に利用する場合の活用処理のフローチャートである。 圧縮符号列を同義語抽出に利用する場合の活用処理の変形形態のフローチャートである。 実施形態に係る符号化処理又は活用処理を実行する情報処理装置のハードウェア構成を例示する図である。
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
図3に示した活用処理では、圧縮文書を伸長した後に、例えば、形態素解析及び意味解析などのテキスト解析が行われる。活用のために圧縮文書の伸長が行われるため、処理負荷が大きい。また、意味解析は、目的に応じて個々のアプリケーションが個別に実行していることもあり、これは、更なる処理負荷の増大を招いている。この様な処理負荷の増大の影響は、特に、携帯端末のように計算資源が少ない情報処理装置ではより大きくなる。
そこで、意味解析結果の活用処理の負荷を軽減するために、文書を圧縮する際に、予め形態素解析及び意味解析を行って解析結果を取得しておき、解析結果を圧縮して保存しておくことも考えられる。この場合、活用時に意味解析を行わなくてもよくなる。しかしながら、圧縮された意味解析結果を伸張する処理が追加される。即ち、圧縮文書と圧縮された意味解析結果とを一旦伸張して、伸張された文書と伸張された意味解析結果とを対応付けた後に、意味解析結果の活用が可能になる。従って、伸長処理と対応付け処理の負荷は軽減されない。
圧縮文書と圧縮された意味解析結果とを一旦伸張する理由は、圧縮辞書と解析用辞書との間に共通性がないためである。圧縮辞書には、最長一致文字列のように、単語を意識しない符号化のための文字列が格納されるのに対して、解析用辞書には、単語及び単語の品詞、品詞の細分類などを含む情報が格納される。
図4は、LZ77符号化で用いられる圧縮辞書の例を示しており、図5は、LZ78符号化で用いられる圧縮辞書の例を示している。図4及び図5に示されるように、圧縮辞書の文字列は単語の途中で分割されることが多く、単語の情報が保持されないため、圧縮辞書の文字列を意味解析結果と対応付けることは困難である。
そこで、圧縮辞書の文字列として自然言語の単語を用いることで、圧縮処理と形態素解析とで辞書を共用することが考えられる。1つの辞書に基づいて形態素解析を行うとともに単語を圧縮することで、各単語とその意味解析結果とを圧縮されたままの状態で対応付けることが可能になる。
図6は、実施形態の符号化装置の機能的構成例を示している。図6の符号化装置600は、記憶部611、符号生成部612、及び出力部614を含む。
記憶部611は、例えば、圧縮対象文書を記憶してよい。符号生成部612は、圧縮対象文書に対する圧縮処理を行うとともに、圧縮対象文書に対する意味解析を行い、意味解析結果に対する圧縮処理を行う。出力部614は、圧縮結果を配列して出力する。
図7は、図6の符号化装置600が行う符号化処理の例を示すフローチャートである。S701において符号生成部612は、圧縮対象文書内の文に含まれる複数の単語に圧縮符号を割り当てるとともに、文を意味解析して、複数の単語のそれぞれについての意味構造情報を生成する。なお、意味構造情報は、例えば、グラフ構造内のノードと、そのノードを終点とする上位のノードからのアークとを示す情報を含んでよい。そして、符号生成部612は、単語に対応する意味構造情報のそれぞれに対して圧縮符号を割り当てる。
S702において出力部614は、複数の単語のそれぞれと複数の意味構造情報のそれぞれとに対して割り当てられた圧縮符号を、所定の順序で配列して出力する。このような符号化装置600によれば、文書の意味解析結果を活用するための処理負荷を軽減することができる。なお、意味解析は、圧縮対象文書内の文に含まれる複数の単語を用いて実行されてもよく、或いは別の実施形態では、文に含まれる複数の単語のそれぞれに対して割り当てられた圧縮符号を用いて実行されてもよい。
<第1の実施形態>
図8は、第1の実施形態に係る符号化装置800を例示する図である。符号化装置800は、記憶部611、符号生成部612、出力部614、及び形態素解析部801を含む。記憶部611は、例えば、符号化処理の開始時に、圧縮対象文書811、単語辞書813、及び符号表814を記憶している。
図9は、第1の実施形態に係る符号化処理のフローチャートである。図9の符号化処理は、例えば、図8の符号化装置800により実行されてよい。S901において形態素解析部801は、単語辞書813を用いて、圧縮対象文書811に対する形態素解析を行い、圧縮対象文書811内の各文に含まれる形態素を抽出する。なお、形態素解析により得られる形態素は、単語として扱われることもある。
図10は、単語辞書813の例を示している。図10の単語辞書813の各エントリは単語を識別するための単語ID、単語、及び付加情報を含む。付加情報は、単語の属性を表す情報であり、例えば、品詞、品詞の細分類、活用などの情報を含んでよい。付加情報は、単語辞書813の1つのエントリに対し複数登録されていてよい。なお、品詞の細分類は、例えば、品詞を更に詳細に分類した情報である。例えば、品詞が名詞である場合は、普通名詞、固有名詞、数詞などの細分類であってよい。また更に、付加情報には、1つの単語に対して複数の品詞の細分類が含まれていてもよい。例えば、固有名詞は、更に、人名、組織名、地名などの更に詳細に分類されてもよい。形態素解析部801は、各文の文字列と単語辞書813に登録された各単語の文字列とを比較することで、該当する単語を抽出することができる。
S902において符号生成部612は、形態素解析結果を用いて各文に対する意味解析を行い、意味解析結果812を生成して記憶部611に格納する。なお、意味解析結果812は、例えば、図2に示すグラフ構造であってよい。
また、図11は、意味解析結果812を表すグラフ構造(例えば、図2)から変換される木構造を例示する図である。意味解析結果から得られるグラフ構造は、中心ノードがあり、また、ループを有さない構造であるため、図11に示す様に木構造に変換することが可能である。なお、中心ノードは、例えば、文における述語であってよい。また、図11では、グラフ構造において1つのノードにしかつながらないアークについては、ノードと接続されていない側のアークの端に空ノード(NIL)を割り当てることで、木構造が生成されている。そのため、ノードには、例えば、単語の概念を表す概念情報と、そのノードを終点とする上位のノードからのアークとが対応付けられる。或いは、ノードが空ノード(NIL)である場合には、例えば、空ノードの上位のノードの属性を表すアークが対応づけられる。概念情報は、例えば、単語辞書813の付加情報に含まれる情報であってよく、単語に対する品詞の細分類を含んでいてよい。図12は、単語の概念情報の例と、アークの例とを示す図である。例えば、単語の概念情報において、ADJは形容詞、ADVは副詞、ADVPは副詞句である。また、アークにおいて、例えば、「ST」はグラフ構造の起点(中心ノード)を表すアークである。「ST」が付される単語は、例えば文における述語であってよい。「AGENT」は、例えば、動作主を表すアークである。
また、グラフ構造を変換して得られた木構造においてノードの枝が2本でない場合、ダミーノードを挿入することで二分木に変換することができる。例えば、1つのノードが3本又は4本の枝を持つ場合は、1階層のダミーノードを挿入することで二分木に変換することができ、1つのノードが5本〜8本の枝を持つ場合は、2階層のダミーノードを挿入することで二分木に変換することができる。
図13は、図11の意味構造木の二分木への変換を例示する図である。図11において3本以上の枝を有するノード1301及びノード1302は、図13ではダミーノード(dm)が挿入されており、ノードの1つ当たりの枝の数が削減されて二分木に変換されている。以上で述べた様に、図2に例示する意味構造を表すグラフ構造は、図13に示すように二分木に変換することができる。なお、この意味構造を表すグラフ構造から変換された二分木を、以下では意味構造二分木と呼ぶことがある。
また、意味構造を表すグラフ構造を二分木に変換することで、二分木の基本形を用いて、意味構造二分木を表すことが可能である。図14は、二分木の基本形を例示する図である。図14の二分木は、ノード0〜ノード14の15個のノードからなる4階層の二分木であり、各ノードの番号は、二分木の木構造中の位置を表す。この二分木を基本形とする複数の部分木を入れ子構造で接続することで、より深い階層構造を有する二分木を生成することができる。意味構造を表すグラフ構造を二分木に変換した場合、二分木は一部分のみが深くなる傾向があり、基本形の部分木の葉ノードに別の部分木を接ぎ木することで、不要な部分の割合を少なくすることが可能である。
図15は、4本の部分木を接続した意味構造二分木の例を示している。部分木1202及び部分木1203は、部分木1201を親とする子の部分木であり、部分木1204は、部分木1202を親とする子の部分木である。
部分木1202の根ノード0は、親の部分木1201の葉ノード7と一致しており、部分木1203の根ノード0は、親の部分木1201の葉ノード13と一致している。また、部分木1204の根ノード0は、親の部分木1202の葉ノード11と一致している。これらの4本の部分木を用いることで、例えば、以下の19個のノードからなる9階層の二分木を記述することができる。
部分木1201:ノード0〜ノード3,ノード5〜ノード7,ノード13
部分木1202:ノード1〜ノード5,ノード11
部分木1203:ノード1,ノード2
部分木1204:ノード1,ノード3,ノード4
このように、意味構造二分木の木構造を複数の部分木により表現することで、一部分のみが深い階層構造を有する意味構造二分木を、記憶部611に効率良く格納することができる。この場合、意味解析結果812は、意味構造二分木の各枝に対応する意味構造情報とともに、親の部分木と子の部分木との接続関係を表す入れ子情報を含む。
S903において、符号生成部612は、単語辞書813、及び符号表814を参照して、圧縮対象文書811内の各文に含まれる各単語に対して、圧縮符号を割り当てる。また、符号生成部612は、意味解析結果812に含まれる意味構造情報及び入れ子情報に対して、例えば、所定のルールに従って圧縮符号を割り当てる。そして、符号生成部612は、単語、意味構造情報、及び入れ子情報に対して割り当てた圧縮符号を、それぞれ、単語符号815、意味構造符号816、及び入れ子符号817として記憶部611に格納する。
符号表814には、単語と圧縮符号との対応関係が登録される。圧縮符号としては、例えば、1バイト〜5バイトの固定長符号を用いることができる。このような圧縮符号の例を、16進数を用いて以下に示す。
英数字:00h〜7Fh(1バイト)
CJK文字:A00000h〜AFFFFFh(3バイト)
英語の単語:B00000h〜B7FFFFh(3バイト)
英語の連結単語:B8000000h〜BFFFFFFFh(4バイト)
日本語の単語:C00000h〜C7FFFFh(3バイト)
日本語の連結単語:C8000000h〜CFFFFFFFh(4バイト)
第3言語の単語:D00000h〜D7FFFFh(3バイト)
第3言語の連結単語:D8000000h〜DFFFFFFFh(4バイト)
4桁の数値:E00000h〜E3FFFFh(3バイト)
6桁の数値:E4000000h〜E4FFFFFFh(4バイト)
9桁の数値:E500000000h〜E8FFFFFFFFh(5バイト)
意味構造情報及び入れ子情報:F000000000h〜(5バイト)
4桁及び6桁の数値に割り当てられた圧縮符号は、10進数の数値に対して3桁毎に“,”が挿入されているか否か、正の数又は負の数のいずれであるか等の数値表現上のオプションを区別する符号も含んでいてよい。
単語、意味構造情報、及び入れ子情報に割り当てられた3〜5バイトの圧縮符号のうち、上位4ビットは、符号種別を識別するために用いられる。例えば、“C”は日本語の単語を表し、“F”は意味構造情報及び入れ子情報を表す。残りのビットは、個々の単語、意味構造情報、又は入れ子情報を識別するために用いられる。
上記圧縮符号は一例に過ぎず、単語に対して別の方法で圧縮符号を割り当ててもよい。圧縮符号は、別のサイズの固定長符号であってもよく、可変長符号であってもよい。
図16は、符号表814の例を示している。図16の符号表814の各エントリは、例えば、単語を識別するためのIDと、圧縮符号とを含む。単語のIDとしては、図10の単語IDが用いられる。例えば、単語ID“1”に対応する単語“さくら”の圧縮符号は“C01234h”である。
符号生成部612は、単語を、符号表814の対応する圧縮符号に置き換えることで、単語符号815を生成することができる。単語辞書813の情報と符号表814の情報とをまとめて管理することも可能である。
また、符号生成部612は、意味構造情報、及び入れ子情報に対して、例えば、所定のルールに従って圧縮符号を割り当てることで、意味構造符号816、及び入れ子符号817を生成することができる。意味構造情報、及び入れ子情報は、例えば、以下の情報を含むように符号化されてよい。
一実施形態において、意味構造情報に割り当てられた5バイトの圧縮符号のうち、上位4ビットは、符号種別を識別するために用いられる。残りの下位36ビットの内訳は、以下の通りである。
4ビット:基本形の二分木内のノードの番号
8ビット:ノードを含む二分木のID
12ビット:ノードが表す単語の概念情報
12ビット:上位ノードとの接続関係を表すアーク(接続情報)
また、入れ子情報に割り当てられた5バイトの圧縮符号のうち、上位4ビットは、符号種別を識別するために用いられる。残りの下位36ビットの内訳は、以下の通りである。
4ビット:基本形の二分木内のノードの番号
8ビット:ノードを含む二分木のID
12ビット:子の二分木のID
12ビット:木と木の接合を表す符号
図17は、意味構造情報及び入れ子情報に対する圧縮符号の最下位24ビットのうちの上位12ビット、又は下位12ビットに割り当てられた圧縮符号を例示する図である。図17の例では、単語の概念情報である「WORK=HATARAKU」、「I」に対して、それぞれ“0xAAA”、“0x085”が割り当てられている。また、アークを表す「ST」、「AGENT」に対して、それぞれ“0x001”、“0x0BC”が割り当てられている。なお、「ST」は、例えば、グラフ構造の起点を表すアークである。「AGENT」は、例えば、動作主を表すアークである。入れ子情報の子の二分木のIDに対しては、“0xF01”以上の符号が割り当てられている。
図18は、図13の意味構造二分木の意味構造情報及び入れ子情報に対して割り当てられる圧縮符号を例示している。図18の意味構造二分木は、親の二分木の葉ノード8及び葉ノード10の各位置に子の二分木の根ノード0を接続することで生成されている。親の二分木のIDには、意味構造情報のノードを含む二分木を示す8bitにおいて“0x00”が割り当てられている。葉ノード8に接続された子の二分木のIDには、ノードを含む二分木のIDを示す8bitにおいて意味構造情報及び入れ子情報ともに“0x01”が割り当てられている。また、入れ子情報の子ノードを示す12bitでは“0xF01”が割り当てられている。同様に、葉ノード10に接続された子の二分木のIDには、ノードを含む二分木のIDを示す8bitにおいて意味構造情報及び入れ子情報ともに“0x02”が割り当てられている。入れ子情報の子の二分木のIDを示す12bitでは葉ノード10に接続された子の二分木のIDに“0xF02”が割り当てられている。
また、例えば、親の二分木の根ノード0の意味構造情報には意味構造符号“0xF000AAA001”が割り当てられている。意味構造符号“0xF000AAA001”のうち、先頭の“F”(4ビット)は、意味構造情報であることを表し、次の“0”(4ビット)は、二分木内でのノード0の番号を表し、次の“00”(8ビット)は、ノードを含む二分木のIDを表している。更に、次の“AAA”(12ビット)は、単語の概念情報:「WORK=HATARAKU」を表す。また、末尾の“001”(12bit)は、アーク:STを表す。
ノード1のダミーノードの意味構造情報には意味構造符号“0xF100000000”が割り当てられている。意味構造符号“0xF100000000”のうち、先頭の“F”(4ビット)は、意味構造情報であることを表し、次の“1”(4ビット)は、ノード1の番号を表し、次の“00”(8ビット)は、ノードを含む二分木のIDを表している。次の“000”(12ビット)は単語の概念情報を含まないNILノードであることを表し、末尾の“000”(12bit)は、アークを含まないダミーノードであることを表す。
親の二分木の葉ノード8には、意味構造情報と、入れ子情報とが存在する。このうち、入れ子情報には入れ子符号“0xF800F01002”が割り当てられ、意味構造情報には意味構造符号“0xF001001013”が割り当てられている。
親の二分木の葉ノード8の入れ子符号“0xF800F01002”のうち、先頭の“F”は、入れ子情報であることを表し、次の“8”は、ノード8の番号を表し、次の“00”は、ノードを含む二分木のIDを表し、次の“F01”は子の二分木のIDを表す。また、末尾の12bitには、木と木の接合を表す入れ子情報であることを示す符号として“002”が割り振られている。
また、親の二分木の葉ノード8の意味構造符号“0xF001001013”のうち、先頭の“F”は、意味構造情報であることを表し、次の“0”は、ノードを含む二分木内でのノード0の番号を表し、次の“01”は、ノードを含む二分木のIDを表す。次の“001”は、単語と対応するノードであるが単語の概念情報を含まず、表記の情報と対応づいているノードであることを示す符号である。また、末尾の“013”は、アーク:「SCOPE」を表す。
同様に、親の二分木の葉ノード10には、意味構造情報と、入れ子情報とが存在する。このうち、入れ子情報には入れ子符号“0xFA00F02002”が割り当てられ、意味構造情報には意味構造符号“0xF0020850BC”が割り当てられる。
親の二分木の葉ノード10の入れ子符号“0xFA00F02002”のうち、先頭の“F”は、入れ子情報であることを表し、次の“A”は、ノード10の番号を表す。また、次の“00”は、ノードを含む二分木のIDを表し、次の“F02”は子の二分木のIDを表す。また、末尾の12bitには、木と木の接合を表す入れ子情報であることを示す符号として“002”が割り振られている。
また、親の二分木の葉ノード10の意味構造符号“0xF0020850BC”のうち、先頭の“F”は、意味構造情報であることを表し、次の“0”は、ノードを含む二分木内でのノード0の番号を表し、次の“02”は、ノードを含む二分木のIDを表す。次の085は、単語の概念情報:「I」に割り当てられている符号である。また、末尾の“0BC”は、アーク:AGENTに割り当てられている符号である。
このように、2本の部分木を接続するノードに対しては、意味構造符号816及び入れ子符号817が割り当てられ、それ以外のノードに対しては、意味構造符号816が割り当てられてよい。
S904において出力部614は、1文ごとに、単語符号815、意味構造符号816、及び入れ子符号817を所定の順序で配列して圧縮符号列を生成し、生成した圧縮符号列を、例えば、活用処理を行う情報処理装置へ出力する。所定の順序としては、例えば、以下のような順序が用いられる。
(1)第1の順序
1文ごとに、各単語に対して割り当てられた単語符号815と、その単語に対応する意味構造情報に対して割り当てられた意味構造符号816とを隣接して配置する。なお、単語と対応付けられていないNILノードやダミーノードについての意味構造符号816は、例えば、単語符号815と、その単語に対応する意味構造情報に対して割り当てられた意味構造符号816とを配列後、その後ろに配列されてよい。図19は、第1の順序で配列された圧縮符号列の例を示している。第1の順序で圧縮符号を配列することで、意味解析結果を活用する活用処理において、各単語とその意味解析結果とを容易に対応付けることができる。
(2)第2の順序
1文ごとに、複数の単語に対して割り当てられた複数の単語符号815を隣接して配置する。図20は、第2の順序で配列された圧縮符号列の例を示している。この例では、1文ごとに、単語符号815がまとめて先に配置され、続いて、意味構造符号816がまとめて配置される。第2の順序で圧縮符号を配列することで、単語のみを用いる活用処理において、単語符号を効率良く参照することが可能になる。なお、図20の例では、単語と対応する意味構造符号816を、単語の出現順に配列しており、その後ろに単語と対応づかないNILノードやダミーノードについての意味構造符号816を配列している。
以上で述べた第1の実施形態に係る符号化処理によれば、形態素解析及び意味解析が圧縮時に行われる。活用時に形態素解析及び意味解析を行わなくてもよく、また、圧縮文書を伸長しなくてもよいため、圧縮文書の伸長後に形態素解析及び意味解析を行う場合と比較して、計算コストが削減される。また、例えば、形態素解析及び意味解析と、データの圧縮とを大きな計算資源を有するクラウド環境で実行し、得られた意味解析結果を含む圧縮データを、携帯端末などの計算資源が少ない情報処理装置が活用する場合、大きな効果が期待できる。
また、近年、ハードディスク等の記憶装置へのデータの読み書きの速度に比べて、プロセッサの演算速度は劇的に増加している。そのため、例えば、記憶装置へのデータの読み書きの際のデータ量を抑えるために、圧縮が実行されることが増えている。そして、例えば、圧縮処理と、意味解析処理とを別々で実行した場合、それぞれの処理において個別に記憶装置へのデータの読み書きが発生してしまう。一方、上記の実施形態では、圧縮のためにデータを記憶装置から読み出した際に、形態素解析及び意味解析などの一連の処理を実行している。そのため、データの書き込み処理を一度で済ませることができ、圧縮と意味解析とを全体として見た際の処理速度を改善することができる。
なお、上記の図9の動作フローでは、符号生成部612が、意味解析を、形態素解析結果に含まれる単語を用いて実行し、その後に、単語と、意味構造情報及び入れ子情報に対して符号を割り当てる例を述べている。この様にすることで、例えば、既存の意味解析を実行するアプリケーションを、実施形態に係る符号化処理の意味解析において利用することが可能である。しかしながら実施形態はこれに限定されるものではない。例えば、別の実施形態では、符号生成部612は、S901において形態素解析を行い、形態素解析結果に含まれる単語に圧縮符号を割り当てて単語符号815を生成してよい。そして、S902において符号生成部612は、単語符号815を用いて意味解析を実行してよい。この場合、S903において符号生成部612は、意味解析結果812に含まれる意味構造情報及び入れ子情報に対して符号を割り当ててよい。
<第2の実施形態>
図21は、第2の実施形態に係る符号化装置2100を示している。図21の符号化装置2100は、図6の符号化装置600と同様に、形態素解析部801、記憶部611、符号生成部612、及び出力部614を含む。符号生成部612は、第1の変換部2101、集計部2102、生成部2103、及び第2の変換部2104を含む。記憶部611は、例えば、符号化処理の開始時に、圧縮対象文書811、単語辞書813、及び中間符号が登録されている中間符号表2112を記憶している。
図22は、第2の実施形態に係る符号化処理のフローチャートである。図22の符号化処理は、図21の符号化装置2100により行われる。図22のS2201及びS2202において符号化装置2100の形態素解析部801と符号生成部612は、例えば、図9のS901及びS902と同様の処理を実行してよい。
続いて、S2203において、符号生成部612の第1の変換部2101は、単語辞書813及び中間符号表2112を参照して、圧縮対象文書811内の各文に含まれる各単語に対して、中間符号を割り当てる。
図23は、中間符号表2112の例を示している。図23の中間符号表2112の各エントリは単語を識別するためのIDと、中間符号とを含む。中間符号としては、例えば、図16の圧縮符号と同様の符号を用いることができる。
また更に、S2203において第1の変換部2101は、S2202の意味解析結果812に含まれる意味構造情報及び入れ子情報に対して、例えば、所定のルールに従って圧縮符号を割り当てることで中間符号を生成する。そして、第1の変換部2101は、生成した中間符号と、IDとを対応付けて中間符号表2112に登録し、記憶部611に格納する。意味構造情報及び入れ子情報に対する中間符号に割り当てられるIDには、例えば、単語IDと重複しないIDが用いられる。S2203の処理により、中間符号表2112には、例えば、単語辞書813における単語のIDと中間符号とを対応づける情報に加えて、意味構造情報及び入れ子情報に対する中間符号と、IDとを対応づける情報が追加される。
S2204において、集計部2102は、圧縮対象文書811内の各文に含まれる各単語に対して割り当てた中間符号と、意味解析結果812に含まれる意味構造情報及び入れ子情報に対して割り当てた中間符号とについて、各中間符号の出現回数をカウントする。そして、集計部2102は、中間符号のカウント結果を集計情報2114として記憶部611に格納する。複数の圧縮対象文書811を符号化する場合は、文書毎に中間符号の出現回数がカウントされてよい。なお、カウントの際に、集計部2102は、各単語に対して割り当てた中間符号と、意味解析結果812に含まれる意味構造情報及び入れ子情報に対して割り当てた中間符号とを所定の順序で配列して中間符号列を生成してよい。そして、集計部2102は、中間符号列に含まれる単語に対して割り当てた中間符号と、意味構造情報及び入れ子情報に対して割り当てた中間符号とをカウントしてよい。
図24は、複数の圧縮対象文書811の例を示しており、図25は、図24の複数の圧縮対象文書811に対する集計情報2114の例を示している。図25の集計情報2114の各エントリは、圧縮対象文書811の文書IDと、圧縮対象文書811に対して割り当てられた各中間符号の出現回数とを含む。図25では、中間符号が単語で表現されているが、実際には、例えば、中間符号表2112のIDにより、単語、意味構造情報、及び入れ子情報の中間符号が識別されてよい。
例えば、文書ID“1”に対応する圧縮対象文書811には、単語“さくら”、“学校”、及び“の”が1個ずつ含まれ、単語“かえで”は含まれない。また、文書ID“2”に対応する圧縮対象文書811には、単語“かえで”、“学校”、及び“の”が1個ずつ含まれ、単語“さくら”は含まれない。
S2205において、生成部2103は、集計情報2114に基づいて、出現頻度がより高い情報に対してより短い圧縮符号を割り当て、出現頻度がより低い情報に対してより長い圧縮符号を割り当てる符号表2113を生成する。このとき、生成部2103は、集計情報2114に記録されている文書毎の出現回数から、所定サイズのブロック毎の出現回数を求め、ブロック毎の出現回数に基づいて適切な符号表2113を生成することができる。
図26は、圧縮符号の符号表2113の例を示している。図26の符号表2113の各エントリは単語、意味構造情報、及び入れ子情報を識別するためのIDと、中間符号表2112の中間符号と、S2205で割り当てた圧縮符号とを含む。なお、単語辞書813、及び符号表2113の情報はまとめて管理されてもよい。
S2206において、第2の変換部2104は、単語辞書813及び符号表2113を参照して、圧縮対象文書811内の各文に含まれる各単語と、意味解析結果812に含まれる意味構造情報及び入れ子情報とに対して、圧縮符号を割り当てる。そして、第2の変換部2104は、単語、意味構造情報、及び入れ子情報に対して割り当てた圧縮符号を、それぞれ、単語符号815、意味構造符号816、及び入れ子符号817として記憶部611に格納する。なお、ここでは、単語、意味構造情報、及び入れ子情報に対して符号表2113の圧縮符号を割り当てた符号を単語符号815、意味構造符号816、及び入れ子符号817と呼んでいる。しかしながら、実施形態はこれに限定されるものではない。例えば、符号表2113において単語、意味構造情報、及び入れ子情報のぞれぞれと対応づけられる中間符号も、単語符号815、意味構造符号816、及び入れ子符号817として用いることができる。
S2207において、出力部614は、単語符号815、意味構造符号816、及び入れ子符号817を所定の順序で配列して圧縮符号列を生成し、生成した圧縮符号列と符号表2113と集計情報2114とを例えば、記憶部611に出力する。或いは、別の実施形態では、出力部614は、圧縮符号列と符号表2113と集計情報2114とを、例えば、活用処理を行う情報処理装置へと出力してよい。所定の順序としては、例えば、上述した第1の順序又は第2の順序が用いられる。
図22の符号化処理によれば、図9の符号化処理と同様に、活用処理の負荷が軽減される。さらに、圧縮対象文書811の圧縮符号列と符号表2113と集計情報2114とが関連付けて出力されるため、それらの情報の管理を一元化することができる。意味解析結果812と集計情報2114とを併せて用いることで、活用処理の精度が向上するとともに、活用処理が高速化される。
なお、第2の実施形態では符号生成部612が、意味解析を、形態素解析結果に含まれる単語を用いて実行し、その後に、単語と、意味構造情報及び入れ子情報とに対して符号を割り当てる例を述べている。この様にすることで、例えば、既存の意味解析を実行するアプリケーションを、実施形態に係る符号化処理の意味解析において利用することが可能である。しかしながら実施形態はこれに限定されるものではない。例えば、別の実施形態では、符号生成部612は、形態素解析結果に含まれる単語に符号を割り当て、符号化された単語を用いて意味解析を実行してもよい。
<活用処理>
続いて、上述の処理により生成された圧縮符号列の活用処理について例示する。
[第1の活用例]
第1の活用例では、圧縮符号列を、同義語抽出に利用する場合を例示する。同義語とは、例えば、語形は異なるが、同じ意味で用いられる語であってよい。例えば、同義語は、「本」と「書物」、「病気」と「やまい」、又は、「ビットを立てる」の「立てる」と「ビットをオンする」の「オンする」などを含んでいてよい。そして、圧縮符号列に含まれる意味解析結果は、このような同義語を文章中から抽出するために利用することができる。
図27は、活用処理を行う情報処理装置2700の機能的構成例を示している。情報処理装置2700は、例えば、制御部2701と、記憶部2710とを含んでいてよい。制御部2701は例えば、プロセッサがプログラムを実行することで実現されてよい。また、情報処理装置2700の記憶部2710は例えばメモリであってよい。情報処理装置2700の記憶部2710は、例えば、単語辞書813、符号表2113、集計情報2114、及び圧縮符号列2711を記憶している。圧縮符号列2711は、例えば、符号化装置2100の出力部614によって出力された単語符号815、意味構造符号816、及び入れ子符号817が所定の順序で配列されている情報であってよい。また、情報処理装置2700は、例えば、圧縮符号列2711の生成を行った符号化装置2100であってもよい。
図28は、圧縮符号列2711を、同義語抽出に利用する場合の動作フローを例示する図である。S2801において制御部2701は、文書単位で集計されている集計情報2114を検索対象として設定する。S2802において、制御部2701は、例えば、同義語抽出のキーとなる表現の入力をユーザから受け付ける。なお、入力されるキーとなる表現は、例えば、単語、単語の概念情報、及びアークを含んでいる文の形式でもよいし、単語、単語の概念情報、及びアークに関する情報をユーザ操作により受け付けてもよい。なお、入力されたキーとなる表現が、文の形式である場合、制御部2701は、入力された文に意味解析を行うことで、単語、単語の概念情報、及びアークなどの情報を取得することができる。また、ここで入力されるキーとなる表現は、同義語が登場し易い傾向のある表現であってよい。同義語が登場し易い傾向のある表現は、例えば、既知の同義語辞典などに登録されている同義語が利用される文章中の表現を抽出することで、得ることができる。
続いて、S2803において制御部2701は、入力されたキーとなる表現を符号化する。例えば、制御部2701は、入力されたキーとなる表現に含まれる単語、単語の概念情報、及びアークを、中間符号に変換する。すなわち、例えば、単語は単語符号に、単語の概念情報、及びアークは、意味構造符号および入れ子符号に変換する。なお、例えば、単語は、符号表2113により中間符号と相互変換されてよく、単語の概念情報、及びアークは、所定のルールに従って、中間符号と相互変換されてよい。
次に、S2804において、制御部2701は、集計情報2114と、中間符号とに基づいて、検索対象となる文書を決定する。たとえば、制御部2701は、集計情報2114を参照し、入力されたキーとなる表現を符号化して得られた、単語符号、意味構造符号を含む文書を検索対象として決定してよい。
S2805において制御部2701は、検索対象として決定された文書の圧縮符号列2711に対して、S2802で入力されたキーとなる表現を用いて検索を行い、キーとなる表現を含む文の圧縮符号列を抽出する。例えば、制御部2701は、圧縮符号列2711の圧縮符号を符号表2113を用いて中間符号へと変換し、中間符号列を生成してよい。そして、制御部2701は、生成された中間符号列を、入力されたキーとなる表現に含まれる単語、単語の概念情報、及びアークに対応する中間符号を用いて検索し、単語、単語の概念情報、及びアークを含む文に対応する中間符号列を抽出してよい。
S2806において制御部2701は、抽出された文に対応する中間符号列から同義語である可能性のある単語を同義語候補として出力する。例えば、制御部2701は、抽出された文に対応する中間符号列において、キーとして入力されたアークにより、キーとして入力された単語と接続される単語の中間符号を、抽出された文に対応する中間符号列に符号化されている意味構造符号及び入れ子符号に基づいて特定する。そして、制御部2701は、特定した単語の中間符号を単語辞書813及び符号表2113を用いて単語に変換し、同義語候補として出力する。なお、別の実施形態では、制御部2701は、単語を中間符号のまま出力してもよく、又は圧縮符号に変換して出力してもよい。
図29は、ビットが出現した後に「UP」の単語の概念情報を持つ「立てる」を検索する例である。なお、図29に示す例では、圧縮符号列内の圧縮符号が符号表2113を用いて中間符号に置き換えられている。そして、単語の中間符号“0xC02651”(ビット)の代わりに、意味構造情報の中間符号の末尾の24ビット“0x042019”と単語の中間符号“0xC02651”(ビット)とを併せた48ビット“0x04201902651”を検索している。図19で述べた様に意味構造符号816と、単語符号815とを並べて配列することで、制御部2701は、概念情報と、その概念情報に隣接する単語とを合わせた検索が圧縮状態で可能である。そして、検索の結果、例えば、キーとして入力した概念情報、アーク、及びビットの並びが見つかった場合、制御部2701は、キーとして入力したアークにより単語:ビットと接続される単語を、同義語候補として出力してよい。なお、制御部2701は、例えば、抽出された単語についての概念情報が、「UP」の概念情報であるかを更に確認することで、同義語抽出の精度を高めることができる。
図28及び図29で述べた様に、意味構造符号816と、単語符号815とを隣接して配置することで、圧縮符号列から特定の意味構造に対応する単語を高速に検出することができる。また、例えば、n-gramなどの手法で指定された範囲における語の連接に基づいて同義語を抽出する場合、1つの単語に複数の修飾語がかかることがあり、この場合、修飾関係が遠くなってしまうことがある。しかしながら、例えば、意味解析では、修飾関係を有するノード同士は隣接して配置されるため、意味解析結果を利用することで、或る単語とアークにより直接接続される単語を検索することが可能であり、高い精度で同義語を抽出することができる。
[第2の活用例]
第2の活用例では、圧縮符号列2711を、知識抽出に利用する場合を例示する。例えば、Q&A(Question and Answer)サイトに投稿された質問と、その回答とを含む記事から、質問を分類するための知識を抽出することが考えられる。
例えば、「オペレーティングシステムのシステムファイル、又はハードディスクの起動に必要な情報が破損している可能性があります。」の回答があったとする。この場合に、この文章から、記事が例えば、「オペレーティングシステムのシステムファイル」、「ハードディスクの起動」、及び「情報の破損」に関するものであるという、3つの知識が抽出されてよい。そして、例えば、このような知識の抽出に、圧縮符号列2711に含まれる意味解析結果を利用することができる。
図30は、圧縮符号列を、知識抽出に利用する場合の動作フローを例示する図である。S3001において制御部2701は、文書単位で集計されている集計情報2114を検索対象として設定する。S3002において、制御部2701は、例えば、知識抽出のための検索キーの入力をユーザから受け付ける。なお、検索キーは、例えば、知識として利用可能な表現に含まれやすいアークを含む文の形式で受け付けてもよいし、アークに関する情報をユーザ操作により受け付けてもよい。また、知識の抽出に有効な検索キーは、例えば、既に抽出済みの知識などに基づいて、知識に含まれやすいアークを特定することで、得ることができる。
S3003において制御部2701は、入力された検索キーから取得されたアークを所定のルールに従って中間符号に変換する。
次に、S3004において制御部2701は、集計情報2114と、中間符号とに基づいて、検索対象となる文書を決定する。例えば、制御部2701は、集計情報2114に基づいて、得られたアークの中間符号が含まれている文書を検索対象として決定してよい。
S3005において制御部2701は、検索対象として決定された文書の圧縮符号列2711に対して、入力された検索キーから得られたアークで検索を行い、検索されたアークによって接続される2つの単語を知識候補として出力する。例えば、制御部2701は、検索対象の文書の圧縮符号列2711を符号表2113を用いて中間符号列に変換し、得られた中間符号列の中から入力されたアークに対応する中間符号を含む文の中間符号列を特定してよい。更に制御部2701は、例えば、特定された文の中間符号列において、アークにより接続される2つの単語の中間符号を、特定された文に対応する中間符号列に符号化されている意味構造符号及び入れ子符号に基づいて特定する。そして、制御部2701は、特定された2つの単語の中間符号を符号表2113と単語辞書813を用いて単語に変換し、出力してよい。なお、別の実施形態では、制御部2701は、単語を中間符号のまま出力してもよく、又は圧縮符号に変換して出力してもよい。また、例えば、検索キーから得られたアークと、出力された2つの単語とは、Q&Aの記事を分類するための知識として利用されてよい。
[第3の活用例]
第3の活用例では、圧縮符号列2711を、文書推敲に利用する場合を例示する。例えば、情報処理装置2700は、文章に複数の解釈が可能な文が存在する場合に文の訂正を促すために意味解析結果を利用してよい。
例えば、「メモリAに表示されるメッセージを格納する」という文章があった場合、メッセージがメモリAに表示されるのか、又はメッセージがメモリAに格納されるのかが曖昧である。そして、この様な曖昧な表現となりやすい文章を抽出するために、圧縮符号列2711に含まれる意味解析結果を利用することができる。
図31は、圧縮符号列2711を、文章推敲に利用する場合の動作フローを例示する図である。S3101において制御部2701は、文書単位で集計されている集計情報2114を検索対象として設定する。S3102において、制御部2701は、例えば、文章推敲を行うことが望ましい文章を抽出するための検索キーの入力をユーザから受け付ける。例えば、検索のキーとなる表現は、複数のアークの並びであってよい。なお、検索のキーとなる表現は、例えば、所定の並びの複数のアークを含む文の形式で受け付けてもよいし、所定の複数のアークの並びに関する情報をユーザ操作により受け付けてもよい。また、文章推敲を行うことが望ましい文章を抽出するための有効な検索キーは、例えば、既知の文章推敲が望まれる複数の文章から得られた文章を曖昧にする傾向のあるアークの並び等を特定することで、得ることができる。
S3103において制御部2701は、例えば、入力された検索キーから取得された複数のアークを所定のルールに従って中間符号に変換する。
次に、S3104において制御部2701は、集計情報2114と、中間符号とに基づいて、検索対象となる文書を決定する。例えば、制御部2701は、集計情報2114を参照し、検索キーから取得された複数のアークに対応する中間符号が含まれている文書を、検索対象として決定してよい。
S3105において制御部2701は、検索対象として決定された文書の圧縮符号列を符号表2113を用いて中間符号列に変換する。そして、制御部2701は、得られた文書の中間符号列を、S3102で入力された検索のキーとなる表現から得られた所定の順序で並ぶ複数のアークに対応する中間符号を用いて検索する。そして、制御部2701は、文書の中間符号列に符号化されている意味構造符号及び入れ子符号に基づいて、所定の順序で並ぶ複数のアークを含む文の中間符号列を特定し、その文の中間符号列を出力する。出力される文は、例えば、文章推敲が望まれる可能性の高い文であり、ユーザに修正等を促すために利用されてよい。なお、出力される文は、中間符号や圧縮符号で出力されていても、元の単語に復号されていてもよい。制御部2701は、符号表2113を用いて、単語、中間符号、及び圧縮符号の間の変換を実行することができる。
以上の第1の活用例から第3の活用例で例示したように、情報処理装置2700は、例えば、符号化装置2100が出力した圧縮符号列2711を用いて、意味解析結果を様々な処理で利用することができる。そのため、活用時に意味解析をしなくてもよく、文書の意味解析結果を活用する際の処理負荷を軽減することができる。なお、以上の活用例では、集計情報2114を用いて、検索対象の文書を効果的に絞り込む場合を例示したが、実施形態に係る活用例はこれに限定されるものではない。例えば、別な活用例では、集計情報2114は、用いられなくてもよい。
[第1の活用例の変形形態]
第1の活用例の変形形態では、集計情報を用いない場合の圧縮符号列2711の同義語抽出での利用について例示する。なお、変形形態においては、情報処理装置2700の記憶部2710は、符号表2113の代わりに、符号表814を記憶しており、一方、集計情報2114は記憶していなくてよい。また、圧縮符号列2711は、第1の実施形態に係る符号化装置800により出力された圧縮符号列であってよい。
図32は、圧縮符号列2711を同義語抽出に利用する第1の活用処理の変形形態の動作フローを例示する図である。S3201において制御部2701は、検索対象となる文書の指定をユーザから受け付ける。S3202において、制御部2701は、例えば、同義語抽出のキーとなる表現の入力をユーザから受け付ける。なお、入力されるキーとなる表現は、例えば、単語、単語の概念情報、及びアークを含んでいる文の形式でもよいし、単語、単語の概念情報、及びアークに関する情報をユーザ操作により受け付けてもよい。また、入力されるキーとなる表現は、同義語が登場し易い傾向のある表現であってよい。
続いて、S3203において制御部2701は、入力されたキーとなる表現に含まれる例えば、単語、単語の概念情報、及びアークを、単語辞書813、符号表814を参照して、或いは所定のルールに従って対応する圧縮符号に変換する。
S3204において制御部2701は、S3201で指定された検索対象となる文書の圧縮符号列2711に対して、S3203で変換したキーとなる表現の圧縮符号を用いて検索を行い、キーとなる表現を含む文の圧縮符号列を抽出する。
S3205において制御部2701は、抽出された文の圧縮符号列から同義語である可能性のある単語を同義語候補として出力する。例えば、制御部2701は、抽出された文に対応する圧縮符号列に符号化されている意味構造符号及び入れ子符号に基づいて、キーとして入力されたアークにより、キーとして入力された単語と接続される単語の単語符号を特定する。そして、制御部2701は、特定された単語符号を単語辞書813及び符号表814を用いて単語に変換し、同義語候補として出力する。なお、別の実施形態では、制御部2701は、例えば、単語を単語符号のまま出力してもよい。
以上で述べた様に、第1の活用例の変形形態では、情報処理装置2700は、例えば、符号化装置800が出力した圧縮符号列2711を用いて、伸張せずとも、意味解析結果を様々な処理で利用することができる。そのため、活用時に伸張と、意味解析とをしなくてもよく、文書の意味解析結果を活用する際の処理負荷を軽減することができる。
なお、上記においては、日本語を例に説明が行われているが、実施形態はこれに限定されるものではなく、例えば、英語や中国語などその他の言語に対しても実施形態を適用することができる。
図6、図8、及び図21の符号化装置600、800、及び2100と図27の活用処理を行う情報処理装置2700とは、例えば、図33に示す情報処理装置(コンピュータ)3300を用いて実現可能である。
図33の情報処理装置3300は、プロセッサ3301、メモリ3302、入力装置3303、出力装置3304、補助記憶装置3305、媒体駆動装置3306、及びネットワーク接続装置3307を含む。これらの構成要素はバス3308により互いに接続されている。
メモリ3302は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリである。メモリ3302は、符号化処理又は活用処理のためのプログラム及びデータを格納する。メモリ3302は、例えば、図6、図8、図21の記憶部611、又は図27の記憶部2710として用いられてよい。
プロセッサ3301は、例えば、メモリ3302を利用してプログラムを実行することにより、図6、図8、及び図21の符号生成部612、出力部614、及び形態素解析部801として動作し、符号化処理を行う。プロセッサ3301は、図21の第1の変換部2101、集計部2102、生成部2103、及び第2の変換部2104としても動作する。或いは、プロセッサ3301は、例えば、メモリ3302を利用してプログラムを実行することにより、図27の制御部2701として動作し、活用処理を行う。
入力装置3303は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置3304は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。処理結果は、活用処理の結果であってもよい。
補助記憶装置3305は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置3305は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置3300は、補助記憶装置3305にプログラム及びデータを格納しておき、それらをメモリ3302にロードして使用することができる。補助記憶装置3305は、図6、図8、及び図21の記憶部611、又は図27の記憶部2710として用いることができる。
媒体駆動装置3306は、可搬型記録媒体3309を駆動し、その記録内容にアクセスする。可搬型記録媒体3309は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体3309は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。ユーザ又はオペレータは、この可搬型記録媒体3309にプログラム及びデータを格納しておき、それらをメモリ3302にロードして使用することができる。
このように、プログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ3302、補助記憶装置3305、及び可搬型記録媒体3309のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置3307は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、ネットワーク接続装置3307を介して外部の装置からプログラム及びデータを受信し、それらをメモリ3302にロードして使用することができる。ネットワーク接続装置3307により、例えば、符号化装置600、800、及び2100、又は活用処理を行う情報処理装置2700は、符号表2113、集計情報2114、及び圧縮符号列などを送受信することができる。
なお、情報処理装置3300が図33のすべての構成要素を含まなくてもよく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータからの指示や情報の入力を行わない場合は、入力装置3303を省略してもよく、ユーザ又はオペレータへの問い合わせや処理結果の出力を行わない場合は、出力装置3304を省略してもよい。情報処理装置3300が可搬型記録媒体3309又は通信ネットワークにアクセスしない場合は、媒体駆動装置3306又はネットワーク接続装置3307を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
600 符号化装置
611 記憶部
612 符号生成部
614 出力部
800 符号化装置
801 形態素解析部
2100 符号化装置
2101 第1の変換部
2102 集計部
2103 生成部
2104 第2の変換部
2700 情報処理装置
2701 制御部
2710 記憶部
3300 情報処理装置
3301 プロセッサ
3302 メモリ
3303 入力装置
3304 出力装置
3305 補助記憶装置
3306 媒体駆動装置
3307 ネットワーク接続装置
3308 バス
3309 可搬型記録媒体

Claims (9)

  1. 圧縮対象文書内の文に含まれる複数の単語それぞれに圧縮符号を割り当てて複数の単語符号を生成するとともに、前記文を意味解析して前記複数の単語それぞれに対応する複数の意味構造情報を生成し、前記複数の意味構造情報のそれぞれに圧縮符号を割り当てて意味構造符号を生成し、
    前記複数の単語符号と前記複数の意味構造符号とを所定の順序で配列した圧縮符号列を出力し、
    検索のための第1の単語と第1のアークの入力を受け付け、
    前記第1の単語から生成された第1の単語符号と、前記第1のアークから生成された第1の圧縮符号とに基づいて、前記圧縮符号列から前記第1のアークにより前記第1の単語と接続される第2の単語を特定する、
    処理をコンピュータに実行させる符号化プログラム。
  2. 前記意味構造情報は、前記単語符号を用いて生成されることを特徴とする請求項1に記載の符号化プログラム。
  3. 前記意味構造情報は、前記複数の単語を用いて生成されることを特徴とする請求項1に記載の符号化プログラム。
  4. 前記所定の順序は、前記文に含まれる前記複数の単語のうち各単語に対して割り当てられた前記単語符号を、各単語に対応する前記意味構造符号と隣接して配置する順序であることを特徴とする請求項1から請求項3のいずれか1項に記載の符号化プログラム。
  5. 前記所定の順序は、前記文に含まれる前記複数の単語のうち各単語に対して割り当てられた前記単語符号を隣接して配置する順序であることを特徴とする請求項1から請求項3のいずれか1項に記載の符号化プログラム。
  6. 圧縮対象文書内の文に含まれる複数の単語それぞれに圧縮符号を割り当てて複数の単語符号を生成するとともに、前記文を意味解析して前記複数の単語それぞれに対応する複数の意味構造情報を生成し、前記複数の意味構造情報のそれぞれに圧縮符号を割り当てて意味構造符号を生成する符号生成部と、
    前記複数の単語符号と前記複数の意味構造符号とを所定の順序で配列した圧縮符号列を出力する出力部と、
    検索のための第1の単語と第1のアークの入力を受け付ける受付部と、
    前記第1の単語から生成された第1の単語符号と、前記第1のアークから生成された第1の圧縮符号とに基づいて、前記圧縮符号列から前記第1のアークにより前記第1の単語と接続される第2の単語を特定する特定部と、
    を備えることを特徴とする符号化装置。
  7. 圧縮対象文書内の文に含まれる複数の単語それぞれに圧縮符号を割り当てて複数の単語符号を生成するとともに、前記文を意味解析して前記複数の単語それぞれに対応する複数の意味構造情報を生成し、前記複数の意味構造情報のそれぞれに圧縮符号を割り当てて意味構造符号を生成する工程と、
    前記複数の単語符号と前記複数の意味構造符号とを所定の順序で配列した圧縮符号列を出力する工程と、
    検索のための第1の単語と第1のアークの入力を受け付ける工程と、
    前記第1の単語から生成された第1の単語符号と、前記第1のアークから生成された第1の圧縮符号とに基づいて、前記圧縮符号列から前記第1のアークにより前記第1の単語と接続される第2の単語を特定する工程と
    を含むコンピュータが実行する符号化方法。
  8. 第1の単語を第1の単語符号に変換し、および単語間の接続関係を表す第1のアークを第1の圧縮符号に変換し、
    圧縮対象文書内の文に含まれる複数の単語それぞれに圧縮符号を割り当てて得られた単語符号と、前記文を意味解析して得られた前記複数の単語それぞれに対応する複数の意味構造情報に圧縮符号を割り当てて得られた意味構造符号とが、所定の順序で配列された圧縮符号列から、前記第1の単語符号および前記第1の圧縮符号に基づいて、前記第1のアークにより前記第1の単語と接続される第2の単語を特定する、
    処理をコンピュータに実行させる検索方法。
  9. 前記所定の順序は、前記文に含まれる前記複数の単語のうち各単語に対して割り当てられた前記単語符号を隣接して配置する順序であることを特徴とする請求項8に記載の検索方法。
JP2016145779A 2016-07-25 2016-07-25 符号化プログラム、符号化装置、符号化方法、及び検索方法 Active JP6680126B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016145779A JP6680126B2 (ja) 2016-07-25 2016-07-25 符号化プログラム、符号化装置、符号化方法、及び検索方法
EP17182307.3A EP3276507B1 (en) 2016-07-25 2017-07-20 Encoding device, encoding method and search method
US15/654,984 US9906238B2 (en) 2016-07-25 2017-07-20 Encoding device, encoding method and search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016145779A JP6680126B2 (ja) 2016-07-25 2016-07-25 符号化プログラム、符号化装置、符号化方法、及び検索方法

Publications (2)

Publication Number Publication Date
JP2018018174A JP2018018174A (ja) 2018-02-01
JP6680126B2 true JP6680126B2 (ja) 2020-04-15

Family

ID=59485154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016145779A Active JP6680126B2 (ja) 2016-07-25 2016-07-25 符号化プログラム、符号化装置、符号化方法、及び検索方法

Country Status (3)

Country Link
US (1) US9906238B2 (ja)
EP (1) EP3276507B1 (ja)
JP (1) JP6680126B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
US10664662B2 (en) * 2018-04-18 2020-05-26 Microsoft Technology Licensing, Llc Multi-scale model for semantic matching
CN110909870B (zh) * 2018-09-14 2022-12-09 中科寒武纪科技股份有限公司 训练装置及方法
CN112713899B (zh) * 2020-12-18 2021-10-08 广东高云半导体科技股份有限公司 Fpga码流数据的压缩方法、装置及存储介质
CN112800722B (zh) * 2021-02-09 2024-04-26 柳州智视科技有限公司 基于语义理解的文字组织编码方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873056A (en) * 1993-10-12 1999-02-16 The Syracuse University Natural language processing system for semantic vector representation which accounts for lexical ambiguity
JPH07129588A (ja) 1993-11-09 1995-05-19 Nippon Telegr & Teleph Corp <Ntt> パターン誘導型文書内容解析装置
JPH07160684A (ja) 1993-12-03 1995-06-23 Matsushita Electric Ind Co Ltd 文書圧縮装置および文書圧縮方法
US5991713A (en) 1997-11-26 1999-11-23 International Business Machines Corp. Efficient method for compressing, storing, searching and transmitting natural language text
US6965857B1 (en) * 2000-06-02 2005-11-15 Cogilex Recherches & Developpement Inc. Method and apparatus for deriving information from written text
JP3832807B2 (ja) * 2001-06-28 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ
NO325864B1 (no) 2006-11-07 2008-08-04 Fast Search & Transfer Asa Fremgangsmåte ved beregning av sammendragsinformasjon og en søkemotor for å støtte og implementere fremgangsmåten
JP5062131B2 (ja) * 2008-10-06 2012-10-31 富士通株式会社 情報処理プログラム、情報処理装置、および情報処理方法
JP2013190985A (ja) * 2012-03-13 2013-09-26 Sakae Takeuchi 知識応答システム、方法およびコンピュータプログラム
CN105824797B (zh) * 2015-01-04 2019-11-12 华为技术有限公司 一种评价语义相似度的方法、装置和系统
JP6447161B2 (ja) * 2015-01-20 2019-01-09 富士通株式会社 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法
JP6467937B2 (ja) * 2015-01-21 2019-02-13 富士通株式会社 文書処理プログラム、情報処理装置および文書処理方法
JP6742692B2 (ja) * 2015-01-30 2020-08-19 富士通株式会社 符号化プログラムおよび伸長プログラム

Also Published As

Publication number Publication date
US20180026650A1 (en) 2018-01-25
US9906238B2 (en) 2018-02-27
JP2018018174A (ja) 2018-02-01
EP3276507B1 (en) 2023-08-02
EP3276507A1 (en) 2018-01-31

Similar Documents

Publication Publication Date Title
JP6680126B2 (ja) 符号化プログラム、符号化装置、符号化方法、及び検索方法
US11334609B2 (en) Semantic structure search device and semantic structure search method
JP3421700B2 (ja) データ圧縮装置及び復元装置並びにその方法
US10747946B2 (en) Non-transitory computer-readable storage medium, encoding apparatus, and encoding method
US11394956B2 (en) Encoding apparatus and encoding method
JP6952967B2 (ja) 自動翻訳装置
JP4493397B2 (ja) テキスト圧縮装置
JPH1196177A (ja) 用語辞書生成方法および用語辞書生成プログラムを記録した記録媒体
JP4057681B2 (ja) 文書情報格納装置及び文書情報格納方法並びに文書情報検索装置及び文書情報検索方法並びに文書情報格納プログラムを記録した記録媒体及び文書情報検索プログラムを記録した記録媒体
JP7104390B2 (ja) 文書作成装置、文書作成方法、データベース構築装置、データベース構築方法、およびプログラム
US11263408B2 (en) Alignment generation device and alignment generation method
JP6838471B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
Awajan et al. Hybrid technique for Arabic text compression
JP6784084B2 (ja) 符号化プログラム、符号化装置、符号化方法、及び検索方法
Melinamath Rule based methodology for recognition of Kannada named entities
JP2004258759A (ja) テキスト解析装置、方法及びプログラム
Rajon et al. An Effective Approach for Compression of Bengali Text
JP2004013680A (ja) 文字コード圧縮・復元装置および同方法
Jrai Hybrid Technique for Arabic Text Compression
CN115145980A (zh) 对话回复生成方法和装置、电子设备及存储介质
JPH0338772A (ja) 文字コードデータの圧縮方式
JP2004164672A (ja) 表現変換方法及び表現変換装置
Abujaffal Dynamic Arabic Text Compression Technique
WO2012127805A1 (ja) 訳語選択条件抽出システム、訳語選択条件抽出方法および訳語選択条件抽出プログラム
JPH07319895A (ja) 文書検索装置及び文書検索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191101

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200302

R150 Certificate of patent or registration of utility model

Ref document number: 6680126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150