JP2018142188A - 解析プログラム、解析方法および解析装置 - Google Patents

解析プログラム、解析方法および解析装置 Download PDF

Info

Publication number
JP2018142188A
JP2018142188A JP2017036288A JP2017036288A JP2018142188A JP 2018142188 A JP2018142188 A JP 2018142188A JP 2017036288 A JP2017036288 A JP 2017036288A JP 2017036288 A JP2017036288 A JP 2017036288A JP 2018142188 A JP2018142188 A JP 2018142188A
Authority
JP
Japan
Prior art keywords
encoded
phrase
word
words
data
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
JP2017036288A
Other languages
English (en)
Other versions
JP6862914B2 (ja
Inventor
片岡 正弘
Masahiro Kataoka
正弘 片岡
聡 尾上
Satoshi Onoe
聡 尾上
吉田 裕之
Hiroyuki Yoshida
裕之 吉田
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 JP2017036288A priority Critical patent/JP6862914B2/ja
Priority to EP18158086.1A priority patent/EP3367256A1/en
Priority to US15/902,001 priority patent/US10755028B2/en
Publication of JP2018142188A publication Critical patent/JP2018142188A/ja
Application granted granted Critical
Publication of JP6862914B2 publication Critical patent/JP6862914B2/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/10Text processing
    • 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/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

【課題】解析対象の文書に対する解析速度および解析精度の向上を図る。【解決手段】解析装置100は、解析対象の文書を単語単位で符号化した、複数の符号化単語を生成する。解析装置100は、符号化単語、または、複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、符号化単語、または、符号化フレーズに割り当てる。【選択図】図2

Description

本発明は、解析プログラム等に関する。
従来、文書を分散表現する手法として解析対象の文書を構成する形態素それぞれに基づいて、文書からベクトルを生成するWord2Vec技術が存在する。例えば、Word2Vec技術では、ある単語(形態素)と、ある単語に隣接する他の単語との関係に基づいて、各単語のベクトル値を算出する処理を行う。
ここで、Word2Vec技術等により文書をベクトルを用いて分散表現する場合に、解析対象となる文書に含まれる「the」、「a」等の冠詞、「on」、「of」等の前置詞等の高頻度の単語の影響が過大となる。このため、Word2Vec技術では、高頻度の単語をストップワードとして文書から排除した後に、ベクトルによる分散表現を生成する。
例えば、解析対象の文書「He takes care of his daughter」をWord2Vec技術では、ストップワードとなる「of」を除外した後、「He takes care his daughter」に含まれる単語それぞれをベクトル化する。
特開2006−48685号公報 特開2009−151757号公報
Distributed Representations of Words and Phrases and their Compositionality,Tomas Mikolov et. al, pp. 3111-3119, Advances in Neural Information Processing Systems 26,2013,Curran Associates,Inc.
しかしながら、上述した従来技術では、解析対象の文書に対する解析速度および解析精度が低いという問題がある。
たとえば、Word2Vec技術により、ストップワードとして除外される「the」、「a」等の冠詞、「on」、「of」等の前置詞等は、特定の文字列において存在の有無により意味が変化する場合がある。具体的には、「take care of」の「of」、「the Japanese」の「the」は、存在の有無により意味が変化するため、かかる「of」、「the」等を除外してベクトル化を行うと、本来の文書の意味が変わった状態のベクトル化がなされることから、生成されたベクトルを用いた解析の精度が低下する場合がある。
また、従来のWord2Vec技術で用いられる解析において、ストップワードを含めて計算量が過大とならない解析手法は知られておらず、適切な計算時間により、目的の精度を得ることができない。
1つの側面では、本発明は、解析対象の文書に対する解析速度および解析精度の向上を図ることができる解析プログラム、解析方法および解析装置を提供することを目的とする。
第1の案では、コンピュータに下記の処理を実行させる。コンピュータは、解析対象の文書を単語単位で符号化した、複数の符号化単語を生成する。コンピュータは、符号化単語、または、複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、符号化単語、または、符号化フレーズに割り当てる。
符号化したフレーズに対しても、値を割り当てたベクトルを生成することにより、解析対象の文書に対する解析速度および解析精度の向上を図ることができる。
図1は、本実施例1に係る解析装置の処理の一例を説明するための図である。 図2は、本実施例1に係る解析装置の構成を示す機能ブロック図である。 図3は、フレーズ定義データのデータ構造の一例を示す図である。 図4は、本実施例1に係る解析装置の処理手順を示すフローチャートである。 図5は、本実施例2に係る解析装置の処理の一例を説明するための図である。 図6は、本実施例2に係る解析装置の構成を示す機能ブロック図である。 図7は、離間フレーズテーブルのデータ構造の一例を示す図である。 図8は、本実施例2に係る解析装置の処理手順を示すフローチャートである。 図9は、オートマトンを用いたベクトル演算の一例を説明するための図である。 図10は、解析装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
以下に、本願の開示する解析プログラム、解析方法および解析装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係る解析装置の処理の一例を説明するための図である。ここでは、解析装置が、テキストデータ10aを符号化した符号化データ10bをベクトル化する場合について説明する。図1に示す例では、テキストデータ10aを「Every day we take care of our dauthter」とする。
解析装置は、所定のフレーズを定義したフレーズ定義テーブルと、テキストデータ10aとを比較して、テキストデータ10aに含まれる各単語のうち、所定のフレーズを構成する複数の単語の組を特定する。図1に示す例では、「take care of」が所定のフレーズとして特定される。
解析装置は、単語とコードとを対応付けた辞書データと、テキストデータ10aに含まれる単語とを比較することで、テキストデータ10aの単語を単語単位で符号化することで、符号化データ10bを生成する。例えば、解析装置は、単語「Every」をコードA1、単語「day」をコードA2、単語「we」をコードA3、単語「take」をコードA4に符号化する。解析装置は、単語「care」をコードA5、単語「of」をコードA6、単語「our」をコードA7、単語「daughter」をコードA8に符号化する。
解析装置は、複数のコードのうち、所定のフレーズを構成する単語のコードの組と、所定のフレーズを構成する単語に対応しないコードを特定する。以下の説明では、適宜、所定のフレーズを構成する単語のコードの組を、「符号化フレーズ」と表記する。所定のフレーズを構成する単語に対応しないコードを、「符号化単語」と表記する。図1に示す例では、コードA4〜コードA6の組が、符号化フレーズ15となる。他のコードA1〜A3、A7,A8は、それぞれ符号化単語となる。
解析装置は、符号化単語および符号化フレーズの出現状況に応じて、符号化単語および符号化フレーズのベクトル値をそれぞれ算出することで、符号化データ10bをベクトル化する。
解析装置が、符号化単語のベクトル値を算出する処理について説明する。ベクトル値の算出対象となる符号化単語を、対象単語と表記する。解析装置は、符号化データ10b上において、対象単語の前方2つの符号化単語または符号化フレーズと、対象単語の後方2つの符号化単語に対して、Skip-gramによるモデル化を行い、対象単語の前後に符号化単語または符号化フレーズが出現する確率を特定することで、対象単語のベクトル値を算出する。
例えば、解析装置は、コードA3のベクトル値を算出する場合には、コードA1、コードA2、符号化フレーズ15、コードA7に対して、Skip-gramによるモデル化を行う。解析装置は、コードA3の前後に、コードA1、コードA2、符号化フレーズ15、コードA7が出現する確率を特定することで、コードA3のベクトル値を算出する。解析装置は、コードA1、A2、A7、A8についても同様の処理を実行することで、各コードのベクトル値を算出する。
解析装置が、符号化フレーズのベクトル値を算出する処理について説明する。ベクトル値の算出対象となる符号化フレーズを、対象フレーズと表記する。解析装置は、符号化データ10b上において、対象フレーズの前方2つの符号化単語または符号化フレーズと、対象フレーズの後方2つの符号化単語に対して、Skip-gramによるモデル化を行い、対象フレーズの前後に符号化単語または符号化フレーズが出現する確率を特定することで、対象フレーズのベクトル値を算出する。
例えば、解析装置は、符号化フレーズ15のベクトル値を算出する場合には、コードA2、コードA3、コードA7、コードA8に対して、Skip-gramによるモデル化を行う。解析装置は、符号化フレーズ15の前後に、コードA2、コードA3、コードA7、コードA8が出現する確率を特定することで、符号化フレーズ15のベクトル値を算出する。解析装置は、他の符号化フレーズについても同様の処理を実行することで、各コードのベクトル値を算出する。
解析装置は、各符号単語、各符号化フレーズに対応するベクトル値を割り当てることで、符号化データ10bをベクトル化する。
上記に記載したように、本実施例1に係る解析装置によれば、テキストデータ10aに含まれる単語からストップワードを除外すること無く、単語単位で符号化を行うことで、符号化データ10bを生成する。解析装置は、符号化単語のうち、所定のフレーズを構成する符号化単語を符号化フレーズとしてまとめ、符号化単語および符号化フレーズの出現状況に応じて、符号化データ10bをベクトル化する。このように、解析装置は、ストップワードを除外しないため、符号化データ10bをベクトル化する際の解析精度を向上させることができる。また、解析装置が利用する符号化では、符号化データ10bが単語単位で符号化されているため、Zipによる符号化と異なり、符号化したままで各単語を区別できるため、復号化を行うことなく、文書に含まれる単語のベクトル値を算出でき、解析速度を向上できる。
図2は、本実施例1に係る解析装置の構成を示す機能ブロック図である。図2に示すように、この解析装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
通信部110は、ネットワークを介して他の外部装置と通信を実行する処理部である。例えば、解析装置100は、後述するテキストデータ140a、辞書データ140c、フレーズ定義データ140d等を、通信部110を介して、受信しても良い。
入力部120は、解析装置100に各種の情報を入力する入力装置である。例えば、入力部120は、キーボードやマウス、タッチパネル等に対応する。
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。例えば、表示部130は、液晶ディスプレイやタッチパネル等に対応する。
記憶部140は、テキストデータ140aと、符号化データ140bと、辞書データ140cと、フレーズ定義データ140dと、ベクトルデータ140eとを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
テキストデータ140aは、複数の単語を含む文字列データである。テキストデータ140aの一例は、図1に示したテキストデータ10aとなる。
符号化データ140bは、テキストデータ140aに含まれる各単語を単語単位で符号化したデータである。符号化データ140bの一例は、図1に示した符号化データ10bとなる。
辞書データ140cは、単語と、単語に対応するコードとを対応付けるデータである。
フレーズ定義データ140dは、フレーズを構成する複数の単語の組み合わせを定義したデータである。図3は、フレーズ定義データのデータ構造の一例を示す図である。図3に示すように、フレーズ定義データ140dには、各種のフレーズが定義されている。図3に示すフレーズは一例であり、他のフレーズも含まれている。
図3では一例として、フレーズを、符号化前の単語の組で定義しているがこれに限定されるものではない。例えば、フレーズ定義データ140dは、フレーズを構成する単語を、符号化後のコードによって定義しても良い。すなわち「in front of」であれば、「(inのコード) (frontのコード) (ofのコード)」によって、定義することができる。
ベクトルデータ140eは、符号化データ140bに含まれる各符号化単語、各符号化フレーズに割り当てられたベクトル値を示す情報であり、符号化データ140bをベクトル化した情報である。
制御部150は、登録部150aと、符号化部150bと、フレーズ特定部150cと、ベクトル演算部150dとを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
登録部150aは、通信部110または入力部120を介して、各種の情報を受け付けた場合に、受け付けた情報を記憶部140に登録する処理部である。例えば、登録部150aは、テキストデータ140a、辞書データ140c、フレーズ定義データ140dを受け付けた場合には、受け付けたテキストデータ140a、辞書データ140c、フレーズ定義データ140dを記憶部140に登録する。
符号化部150bは、テキストデータ140aを符号化する処理部である。符号化部150bは、テキストデータ140aに含まれる各単語と、辞書データ140cとを比較して、辞書データ140cにヒットした単語を、単語単位で符号化する処理を繰り返し実行することで、符号化データ140aを生成する。
フレーズ特定部150cは、フレーズ定義データ140dを基にして、符号化データ140bに含まれる各符号化単語のうち、符号化フレーズを構成する符号化単語の組を特定する処理部である。フレーズ特定部150cは、符号化データ140bのコードのうち、符号化フレーズを構成する符号化単語の組の情報を、ベクトル演算部150dに出力する。
フレーズ定義データ140dに定義されたフレーズが、符号化前の単語の組で定義されている場合の処理について説明する。フレーズ特定部150cは、テキストデータ140aと、フレーズ定義データ140dとを比較することで、テキストデータ140aに含まれるフレーズを構成する単語の組を特定する。フレーズ特定部150cは、特定したフレーズを構成する単語の組に対応する各コードを、辞書データ140cを基にして特定する。フレーズ特定部150cは、特定した各コードと、符号化データ140bとを比較して、符号化データ140bに存在する符号化フレーズを特定する。
フレーズ定義データ140dに定義されたフレーズが、符号化後のコードの組で定義されている場合の処理について説明する。フレーズ特定部150cは、符号化データ140bと、フレーズ定義データ140dとを比較することで、符号化データ140bに含まれる符号化フレーズを特定する。
ベクトル演算部150dは、符号化データ140bに含まれる符号化単語および符号化フレーズの出現状況に応じて、符号化単語および符号化フレーズのベクトル値をそれぞれ算出し、割り当てることで、ベクトルデータ140eを生成する処理部である。ベクトル演算部150dは、演算部の一例である。
ベクトル演算部150dは、フレーズ特定部150cから特定結果を受け付け、符号化データ140bに含まれる各符号化単語のうち、符号化フレーズに対応する符号化単語と、符号化フレーズに対応しない符号化単語とを区別する。ベクトル演算部150dは、符号化フレーズのベクトル値と、符号化フレーズに対応しない符号化単語のベクトル値とを算出する。
ベクトル演算部150dが、符号化単語のベクトル値を算出する処理について説明する。ベクトル値の算出対象となる符号化単語を、対象単語と表記する。ベクトル演算部150dは、符号化データ140b上において、対象単語の前方2つの符号化単語または符号化フレーズと、対象単語の後方2つの符号化単語に対して、Skip-gramによるモデル化を行い、対象単語の前後に符号化単語または符号化フレーズが出現する確率を特定することで、対象単語のベクトル値を算出する。
図1を用いて説明すると、ベクトル演算部150dは、コードA3のベクトル値を算出する場合には、コードA1、コードA2、符号化フレーズ15、コードA7に対して、Skip-gramによるモデル化を行う。ベクトル演算部150dは、コードA3の前後に、コードA1、コードA2、符号化フレーズ15、コードA7が出現する確率を特定することで、コードA3のベクトル値を算出する。解析装置は、コードA1、A2、A7、A8についても同様の処理を実行することで、各コードのベクトル値を算出する。
ベクトル演算部150dが、符号化フレーズのベクトル値を算出する処理について説明する。ベクトル値の算出対象となる符号化フレーズを、対象フレーズと表記する。ベクトル演算部150dは、符号化データ140b上において、対象フレーズの前方2つの符号化単語または符号化フレーズと、対象フレーズの後方2つの符号化単語に対して、Skip-gramによるモデル化を行い、対象フレーズの前後に符号化単語または符号化フレーズが出現する確率を特定することで、対象フレーズのベクトル値を算出する。
図1を用いて説明すると、ベクトル演算部150dは、符号化フレーズ15のベクトル値を算出する場合には、コードA2、コードA3、コードA7、コードA8に対して、Skip-gramによるモデル化を行う。ベクトル演算部150dは、符号化フレーズ15の前後に、コードA2、コードA3、コードA7、コードA8が出現する確率を特定することで、符号化フレーズ15のベクトル値を算出する。ベクトル演算部150dは、他の符号化フレーズについても同様の処理を実行することで、各コードのベクトル値を算出する。
ここで、ベクトル演算部150dが、Skip-gramによるモデル化を行い、対象単語(対象フレーズ)のベクトル値を算出する処理は、例えば、文献(Tomas Mikolov他、「Distributed Representations of Words and Phrases and their Compositionality」)に記載した技術を利用する。
図4は、本実施例1に係る解析装置の処理手順を示すフローチャートである。図4に示すように、解析装置100の符号化部150bは、テキストデータ140aを読み込む(ステップS101)。符号化部150bは、テキストデータ140aを、辞書データ140cを基にして、単語単位に符号化することで、符号化データ140bを生成する(ステップS102)。
解析装置100のフレーズ特定部150cは、フレーズ定義データ140dを基にして、符号化データ140bに含まれる各コードのうち、符号化単語(符号化フレーズに含まれない符号化単語)と、符号化フレーズとを特定する(ステップS103)。
解析装置100のベクトル演算部150dは、符号化フレーズに含まれない符号化単語について、符号化単語の出現状況に応じて、ベクトル値を算出する(ステップS104)。ベクトル演算部150dは、符号化フレーズについて、符号化フレーズの出現状況に応じて、ベクトル値を算出する(ステップS105)。ベクトル演算部150dは、符号化データ140bに対するベクトルデータ140eを生成する(ステップS106)。
上記に記載したように、解析装置100によれば、テキストデータ140aに含まれる単語からストップワードを除外すること無く、単語単位で符号化を行うことで、符号化データ140bを生成する。解析装置100は、符号化単語のうち、所定のフレーズを構成する符号化単語を符号化フレーズとしてまとめ、符号化単語および符号化フレーズの出現状況に応じて、符号化データ140bをベクトル化する。このように、解析装置100は、ストップワードを除外しないため、符号化データ140bをベクトル化する際の解析精度を向上させることができる。また、解析装置100が利用する符号化では、符号化データ140bが単語単位で符号化されているため、Zipによる符号化と異なり、符号化したままで各単語を区別できるため、復号化を行うことなく、文書に含まれる単語のベクトル値を算出でき、解析速度を向上できる。
図5は、本実施例2に係る解析装置の処理の一例を説明するための図である。ここでは、解析装置が解析するテキストデータ20aを「We take lunch out」とする。テキストデータ20aに含まれる「take、out」はフレーズに対応する単語の組であるが、各単語が離れているため、実施例1で説明した解析装置100が利用するフレーズ定義データ140dにヒットせず、符号化フレーズのベクトル値を算出できない場合がある。以下の説明では、それぞれが離間した単語により構成されるフレーズを「離間フレーズ」と表記する。
本実施例2に係る解析装置は、テキストデータ20aを走査して、離間フレーズを検出した場合には、離間フレーズを構成する各単語が連続するように、テキストデータ20aの単語を並び変えることで、テキストデータ21aを生成する。例えば、図5に示す例では、解析装置100は、テキストデータ20aの「out」を削除し、削除した「out」を「take」の直後に配置することで、テキストデータ21aを生成する。解析装置は、テキストデータ21a(テキストデータ21aを符号化した符号化データ)に基づいて、テキストデータ21aをベクトル化する。解析装置がテキストデータ21aに基づいて、テキストデータ21aをベクトル化する処理は、上述した実施例1の処理と同様である。
上記処理を実行することで、本実施例2に係る解析装置によれば、離間フレーズがテキストデータ20aに存在する場合でも、離間フレーズを符号化フレーズとして特定することができる。このため、離間フレーズを構成する各単語のコード毎のベクトル値を算出することを抑止して、解析精度を向上させることができる。
図6は、本実施例2に係る解析装置の構成を示す機能ブロック図である。図6に示すように、この解析装置200は、通信部210と、入力部220と、表示部230と、記憶部240と、制御部250とを有する。このうち、入力部220、表示部230に関する説明は、図2で説明した入力部120、表示部130に関する説明と同様であるため、説明を省略する。
通信部210は、ネットワークを介して他の外部装置と通信を実行する処理部である。例えば、解析装置200は、後述するテキストデータ240a、離間フレーズテーブル240c、辞書データ240d、フレーズ定義データ240e等を、通信部210を介して、受信しても良い。
記憶部240は、テキストデータ240aと、テキストデータ241aと、符号化データ240bと、離間フレーズテーブル240cと、辞書データ240dと、フレーズ定義データ240eと、ベクトルデータ240fとを有する。記憶部240は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
テキストデータ240aは、複数の単語を含む文字列データである。テキストデータ240aの一例は、図5に示したテキストデータ20aとなる。テキストデータ241aは、図5で説明したように、離間フレーズの単語が連続するように単語が並び変えられテキストデータ21aに対応するデータである。
符号化データ240bは、テキストデータ241aに含まれる各単語を単語単位で符号化したデータである。
離間フレーズテーブル240cは、離間フレーズに関する情報を定義したテーブルである。図7は、離間フレーズテーブルのデータ構造の一例を示す図である。図7に示すように、この離間フレーズテーブル240cは、主単語、副単語、フレーズを対応付ける。主単語は、離間フレーズのうち、最初に現れる単語である。副単語は、離間フレーズのうち、主単語の次に現れる単語である。フレーズは、離間フレーズを構成する単語を連続して並べたものである。
辞書データ240d、フレーズ定義データ240eに関する説明は、図2で説明した辞書データ140c、フレーズ定義データ140dに関する説明と同様である。
ベクトルデータ240fは、符号化データ240bに含まれる各符号化単語、各符号化フレーズに割り当てられたベクトル値を示す情報であり、符号化データ240bをベクトル化した情報である。
制御部250は、登録部250aと、離間フレーズ処理部250bと、符号化部250cと、フレーズ特定部250dと、ベクトル演算部250eとを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
登録部250aは、通信部210または入力部220を介して、各種の情報を受け付けた場合に、受け付けた情報を記憶部240に登録する処理部である。例えば、登録部250aは、テキストデータ240a、離間フレーズテーブル240c、辞書データ240d、フレーズ定義データ240eを受け付けた場合には、受け付けた各データを記憶部240に登録する。
離間フレーズ処理部250bは、テキストデータ240aと、離間フレーズテーブル240cとを比較して、テキストデータ240aに含まれる離間フレーズを特定する。離間フレーズ処理部250bは、特定した離間フレーズの単語が連続するように並び変えを行うことで、テキストデータ241aを生成する。以下において、離間フレーズ処理部250bの処理の一例について説明する。
離間フレーズ処理部250bは、テキストデータ240aと、離間フレーズテーブル240cとを比較して、離間フレーズテーブル240cの主単語にヒットする単語を、テキストデータ240aから特定する。離間フレーズ処理部250bは、主単語にヒットする単語が存在する場合には、ヒットした単語と同じ文中で、ヒットした単語から後ろ方向に、所定語数未満の位置に、副単語(主単語に対応する副単語)にヒットするか否かを判定する。離間フレーズテーブル240cは、主単語および副単語にヒットした場合には、係る主単語、副単語を離間フレーズとして特定する。
例えば、離間フレーズ処理部250bは、テキストデータ240aと、離間フレーズテーブル240cとを比較し、主単語「take」がヒットしたものとする。離間フレーズ処理部250bは、ヒットした主単語「take」と同じ文中で、「take」から後ろ方向に所定語数未満の位置に、副単語「out」が存在する場合には、離間した「take」、「out」を離間フレーズであると特定する。
離間フレーズ処理部250bは、離間フレーズを特定すると、離間フレーズの副単語を削除し、主単語の直後に副単語を配置する処理を実行する。離間フレーズ処理部250bは、各離間フレーズについて、上記処理を繰り返し実行することで、テキストデータ241aを生成する。
なお、離間フレーズ処理部250bは、主単語をフレーズに置き換え、副単語を削除することで、主単語と副単語とが連続するように置き換えを行っても良い。
符号化部250cは、テキストデータ241aを符号化する処理部である。符号化部250cは、テキストデータ241aに含まれる各単語と、辞書データ240dとを比較して、辞書データ240dにヒットした単語を、単語単位で符号化する処理を繰り返し実行することで、符号化データ240bを生成する。
フレーズ特定部250dは、フレーズ定義データ240eを基にして、符号化データ240bに含まれる各符号化単語のうち、符号化フレーズを構成する符号化単語の組を特定する処理部である。フレーズ特定部250dは、符号化データ240bのコードのうち、符号化フレーズを構成する符号化単語の組の情報を、ベクトル演算部250eに出力する。フレーズ特定部250dに関するその他の処理は、図2に示したフレーズ特定部150cの処理と同様である。
ベクトル演算部250eは、符号化データ240bに含まれる符号化単語および符号化フレーズの出現状況に応じて、符号化単語および符号化フレーズのベクトル値をそれぞれ算出し、割り当てることで、ベクトルデータ240fを生成する処理部である。ベクトル演算部250eに関するその他の処理は、図2で説明したベクトル演算部150eに関する処理と同様である。
図8は、本実施例2に係る解析装置の処理手順を示すフローチャートである。図8に示すように、解析装置200の離間フレーズ処理部250bは、テキストデータ240aを読み込む(ステップS201)。離間フレーズ処理部250bは、離間フレーズテーブル240cとテキストデータ240aとを比較して離間フレーズを特定する(ステップS202)。
離間フレーズ処理部250bは、離間フレーズにヒットしない場合には(ステップS203,No)、ステップS205に移行する。離間フレーズ処理部250bは、離間フレーズにヒットした場合には(ステップS203,Yes)、ステップS204に移行する。離間フレーズ処理部250bは、離間フレーズに対応する副単語を移動し、主単語の直後に副単語を配置する(ステップS204)。
解析装置200の符号化部250cは、テキストデータ241aを、辞書データ240dを基にして、単語単位に符号化することで、符号化データ240bを生成する(ステップS205)。
解析装置200のフレーズ特定部250dは、フレーズ定義データ240eを基にして、符号化データ240bに含まれる各コードのうち、符号化単語(符号化フレーズに含まれない符号化単語)と、符号化フレーズとを特定する(ステップS206)。
解析装置200のベクトル演算部250eは、符号化フレーズに含まれない符号化単語について、符号化単語の出現状況に応じて、ベクトル値を算出する(ステップS207)。ベクトル演算部250eは、符号化フレーズについて、符号化フレーズの出現状況に応じて、ベクトル値を算出する(ステップS208)。ベクトル演算部250eは、符号化データ240bに対するベクトルデータ240fを生成する(ステップS209)。
上記に記載したように、解析装置200によれば、離間フレーズがテキストデータ20aに存在する場合でも、離間フレーズを符号化フレーズとして特定することができる。このため、離間フレーズを構成する各単語のコード毎のベクトル値を算出することを抑止して、解析精度を向上させることができる。
ところで、本実施例で説明した解析装置100(200)は、各符号化単語とベクトル値との関係が既知の場合には、各符号化単語とベクトル値とを対応付けたオートマトンを用いて、テキストデータのベクトル化を行ってもよい。
図9は、オートマトンを用いたベクトル演算の一例を説明するための図である。図9に示す例では、テキストデータを「Every day we take care of our daughter」とする。解析装置100は、図1と同様にして、テキストデータ10aに含まれる各単語を、単語単位で符号化することで、符号化データ10bを生成する。
続いて、解析装置100は、符号化データ10aとオートマトン50とを比較して、各符号化単語をベクトル値に変換する。ここで、オートマトン50は、各符号化単語とベクトル値とを対応付けた情報である。なお、オートマトン50は、ストップワード等に対応する符号化単語に対応するベクトル値を「0」に設定しておく。
図9に示す例では、オートマトン50による変換により、コードA1〜A5、コードA6〜A8が、ベクトル値V1〜V7に変換される。なお、コードA6は、ステップワードに対応する符号化単語であるため、ベクトル値は0に設定される。
上記のように、オートマトン50を利用して、符号化データ10bをベクトル化することで、ベクトル化する処理を高速化することが可能となる。
次に、上記実施例に示した解析装置100、200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図10は、解析装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図10に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301〜307は、バス308に接続される。
ハードディスク装置307は、離間フレーズ処理プログラム307a、符号化プログラム307b、フレーズ特定プログラム307c、ベクトル演算プログラム307dを有する。CPU301は、離間フレーズ処理プログラム307a、符号化プログラム307b、フレーズ特定プログラム307c、ベクトル演算プログラム307dを読み出してRAM306に展開する。
離間フレーズ処理プログラム307aは、離間フレーズ処理プロセス306aとして機能する。符号化プログラム307bは、符号化プロセス306bとして機能する。フレーズ特定プログラム307cは、フレーズ特定プロセス306cとして機能する。ベクトル演算プログラム307dは、ベクトル演算プロセス306dとして機能する。
離間フレーズ処理プロセス306aの処理は、離間フレーズ処理部250bの処理に対応する。符号化プロセス306bの処理は、符号化部150b、250cの処理に対応する。フレーズ特定プロセス306cの処理は、フレーズ特定部150c、250dの処理に対応する。ベクトル演算プロセス306dの処理は、ベクトル演算部150d、250eの処理に対応する。
なお、各プログラム307a〜307dについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a〜307dを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
解析対象の文書を単語単位で符号化した、複数の符号化単語を生成し、
前記符号化単語、または、前記複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、前記解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、前記符号化単語、または、前記符号化フレーズに割り当てる
処理を実行させることを特徴とする解析プログラム。
(付記2)第1符号化フレーズの前後に位置する前記符号化単語または他の第2符号化フレーズに対してSkip-gramによるモデル化を行い、前記第1符号化フレーズの前後に、前記符号化単語または前記第2符号化フレーズが出現する確率を特定することで、前記第1符号化フレーズのベクトル値を算出することを特徴とする付記1に記載の解析プログラム。
(付記3)フレーズを構成する第1単語と第2単語との組を定義したテーブルを基にして、前記解析対象の文書に含まれる第1単語を特定し、特定した第1単語と同じ文中に第2単語が含まれる場合には、特定した第1単語と同じ文中に含まれる第2単語を削除し、特定した第1単語の直後に前記第2単語を配置する処理を更にコンピュータに実行させることを特徴とする付記1または2に記載の解析プログラム。
(付記4)コンピュータが実行する解析方法であって、
解析対象の文書を単語単位で符号化した、複数の符号化単語を生成し、
前記符号化単語、または、前記複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、前記解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、前記符号化単語、または、前記符号化フレーズに割り当てる
処理を実行することを特徴とする解析方法。
(付記5)第1符号化フレーズの前後に位置する前記符号化単語または他の第2符号化フレーズに対してSkip-gramによるモデル化を行い、前記第1符号化フレーズの前後に、前記符号化単語または前記第2符号化フレーズが出現する確率を特定することで、前記第1符号化フレーズのベクトル値を算出することを特徴とする付記4に記載の解析方法。
(付記6)フレーズを構成する第1単語と第2単語との組を定義したテーブルを基にして、前記解析対象の文書に含まれる第1単語を特定し、特定した第1単語と同じ文中に第2単語が含まれる場合には、特定した第1単語と同じ文中に含まれる第2単語を削除し、特定した第1単語の直後に前記第2単語を配置する処理を更にコンピュータに実行させることを特徴とする付記4または5に記載の解析方法。
(付記7)解析対象の文書を単語単位で符号化した、複数の符号化単語を生成する符号化部と、
前記符号化単語、または、前記複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、前記解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、前記符号化単語、または、前記符号化フレーズに割り当てる演算部と
を有することを特徴とする解析装置。
(付記8)演算部は、第1符号化フレーズの前後に位置する前記符号化単語または他の第2符号化フレーズに対してSkip-gramによるモデル化を行い、前記第1符号化フレーズの前後に、前記符号化単語または前記第2符号化フレーズが出現する確率を特定することで、前記第1符号化フレーズのベクトル値を算出することを特徴とする付記7に記載の解析装置。
(付記9)フレーズを構成する第1単語と第2単語との組を定義したテーブルを基にして、前記解析対象の文書に含まれる第1単語を特定し、特定した第1単語と同じ文中に第2単語が含まれる場合には、特定した第1単語と同じ文中に含まれる第2単語を削除し、特定した第1単語の直後に前記第2単語を配置する離間フレーズ処理部を更に有することを特徴とする付記7または8に記載の解析装置。
100、200 解析装置
110、210 通信部
120、220 入力部
130、230 表示部
140、240 記憶部
150、250 制御部

Claims (5)

  1. コンピュータに、
    解析対象の文書を単語単位で符号化した、複数の符号化単語を生成し、
    前記符号化単語、または、前記複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、前記解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、前記符号化単語、または、前記符号化フレーズに割り当てる
    処理を実行させることを特徴とする解析プログラム。
  2. 第1符号化フレーズの前後に位置する前記符号化単語または他の第2符号化フレーズに対してSkip-gramによるモデル化を行い、前記第1符号化フレーズの前後に、前記符号化単語または前記第2符号化フレーズが出現する確率を特定することで、前記第1符号化フレーズのベクトル値を算出することを特徴とする請求項1に記載の解析プログラム。
  3. フレーズを構成する第1単語と第2単語との組を定義したテーブルを基にして、前記解析対象の文書に含まれる第1単語を特定し、特定した第1単語と同じ文中に第2単語が含まれる場合には、特定した第1単語と同じ文中に含まれる第2単語を削除し、特定した第1単語の直後に前記第2単語を配置する処理を更にコンピュータに実行させることを特徴とする請求項1または2に記載の解析プログラム。
  4. コンピュータが実行する解析方法であって、
    解析対象の文書を単語単位で符号化した、複数の符号化単語を生成し、
    前記符号化単語、または、前記複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、前記解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、前記符号化単語、または、前記符号化フレーズに割り当てる
    処理を実行することを特徴とする解析方法。
  5. 解析対象の文書を単語単位で符号化した、複数の符号化単語を生成する符号化部と、
    前記符号化単語、または、前記複数の符号化単語の組み合わせに割り当てられた符号化フレーズに関する、前記解析対象の文書の出現状況に応じてそれぞれ生成されたベクトル値を、前記符号化単語、または、前記符号化フレーズに割り当てる演算部と
    を有することを特徴とする解析装置。
JP2017036288A 2017-02-28 2017-02-28 解析プログラム、解析方法および解析装置 Active JP6862914B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017036288A JP6862914B2 (ja) 2017-02-28 2017-02-28 解析プログラム、解析方法および解析装置
EP18158086.1A EP3367256A1 (en) 2017-02-28 2018-02-22 Analysis method and analysis device
US15/902,001 US10755028B2 (en) 2017-02-28 2018-02-22 Analysis method and analysis device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017036288A JP6862914B2 (ja) 2017-02-28 2017-02-28 解析プログラム、解析方法および解析装置

Publications (2)

Publication Number Publication Date
JP2018142188A true JP2018142188A (ja) 2018-09-13
JP6862914B2 JP6862914B2 (ja) 2021-04-21

Family

ID=61256795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017036288A Active JP6862914B2 (ja) 2017-02-28 2017-02-28 解析プログラム、解析方法および解析装置

Country Status (3)

Country Link
US (1) US10755028B2 (ja)
EP (1) EP3367256A1 (ja)
JP (1) JP6862914B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200067713A (ko) * 2018-12-04 2020-06-12 숭실대학교산학협력단 오류 트리플 검출 시스템 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299284B (zh) * 2018-08-31 2021-07-20 中国地质大学(武汉) 一种基于结构信息与文本描述的知识图谱表示学习方法
CN109165288B (zh) * 2018-09-17 2019-08-27 北京神州泰岳软件股份有限公司 一种多语义监督的词向量训练方法及装置
EP3667493B1 (en) * 2018-12-11 2021-05-26 Sap Se A method for a software development system
CN109858031B (zh) * 2019-02-14 2023-05-23 北京小米智能科技有限公司 神经网络模型训练、上下文预测方法及装置
CN113221553A (zh) * 2020-01-21 2021-08-06 腾讯科技(深圳)有限公司 一种文本处理方法、装置、设备以及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536408B2 (en) 2004-07-26 2009-05-19 Google Inc. Phrase-based indexing in an information retrieval system
EP2056221A1 (en) 2007-10-30 2009-05-06 Mitsubishi Electric Corporation Split state machines for matching
US9037464B1 (en) * 2013-01-15 2015-05-19 Google Inc. Computing numeric representations of words in a high-dimensional space
US9519858B2 (en) * 2013-02-10 2016-12-13 Microsoft Technology Licensing, Llc Feature-augmented neural networks and applications of same
US10121467B1 (en) * 2016-06-30 2018-11-06 Amazon Technologies, Inc. Automatic speech recognition incorporating word usage information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIKOLOV, TOMAS ET AL.: "Distributed Representations of Words and Phrases and their Compositionality", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 26 (NIPS 2013) [ONLINE], JPN6020030685, 3 September 2014 (2014-09-03), pages 1 - 9, ISSN: 0004374198 *
高橋光輝: "機械学習で石川啄木を蘇らせる", 月刊シェルスクリプトマガジン, vol. 44, JPN6020041123, 20 November 2016 (2016-11-20), pages 14 - 16, ISSN: 0004374199 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200067713A (ko) * 2018-12-04 2020-06-12 숭실대학교산학협력단 오류 트리플 검출 시스템 및 방법
KR102212310B1 (ko) 2018-12-04 2021-02-05 숭실대학교산학협력단 오류 트리플 검출 시스템 및 방법

Also Published As

Publication number Publication date
EP3367256A1 (en) 2018-08-29
US20180246856A1 (en) 2018-08-30
JP6862914B2 (ja) 2021-04-21
US10755028B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
JP6862914B2 (ja) 解析プログラム、解析方法および解析装置
WO2022134759A1 (zh) 关键词生成方法、装置、电子设备及计算机存储介质
JP2020520492A (ja) 文書要約自動抽出方法、装置、コンピュータ機器及び記憶媒体
JP2019008778A (ja) 画像の領域のキャプション付加
US20210035556A1 (en) Fine-tuning language models for supervised learning tasks via dataset preprocessing
JP2020507155A (ja) 単語ベクトル処理方法および装置
EP3518142A1 (en) Cross-lingual text classification using character embedded data structures
CN104471552A (zh) 用于处置状态机引擎所接收的数据的方法及系统
JP6312467B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2010520531A (ja) 統合ピンイン及び画入力
CN107391682B (zh) 知识验证方法、知识验证设备以及存储介质
CN114942984B (zh) 视觉场景文本融合模型的预训练和图文检索方法及装置
CN113986950A (zh) 一种sql语句处理方法、装置、设备及存储介质
WO2019092868A1 (ja) 情報処理装置、情報処理方法及びコンピュータ読み取り可能な記録媒体
CN110019952B (zh) 视频描述方法、系统及装置
US10402489B2 (en) Transliteration of text entry across scripts
US11645539B2 (en) Machine learning-based techniques for representing computing processes as vectors
CN116306612A (zh) 一种词句生成方法及相关设备
JP6972788B2 (ja) 特定プログラム、特定方法および情報処理装置
CN114064845A (zh) 关系表示模型的训练方法、装置及电子设备
CN111723247A (zh) 基于图的假设计算
WO2014030258A1 (ja) 形態素解析装置、テキスト分析方法、及びそのプログラム
CN113935387A (zh) 文本相似度的确定方法、装置和计算机可读存储介质
US11615260B2 (en) Systems and methods for enforcing constraints in character recognition
CN113742455B (zh) 基于人工智能的简历搜索方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210122

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210202

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210315

R150 Certificate of patent or registration of utility model

Ref document number: 6862914

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150