JP2017049930A - 文書解析装置、方法及びプログラム - Google Patents
文書解析装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2017049930A JP2017049930A JP2015174776A JP2015174776A JP2017049930A JP 2017049930 A JP2017049930 A JP 2017049930A JP 2015174776 A JP2015174776 A JP 2015174776A JP 2015174776 A JP2015174776 A JP 2015174776A JP 2017049930 A JP2017049930 A JP 2017049930A
- Authority
- JP
- Japan
- Prior art keywords
- score
- word
- lattice
- sequence
- series
- 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.)
- Pending
Links
Abstract
【課題】特定の単語に依存しない出力系列を生成することである。【解決手段】実施形態によれば、文書解析装置は、ラティス生成部と、要素スコア算出部と、要素確率算出部と、出力系列生成部とを含む。ラティス生成部は、与えられた文字列に対し、形態素解析辞書に基づいて、文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、単語ノード同士を接続する枝とを要素とするラティスを生成する。要素スコア算出部は、ラティスの中から要素を選択要素として選択し、選択要素を含む、文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、系列のスコアに基づいて選択要素のスコアを算出する。要素確率算出部は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。出力系列生成部は、確率に基づいて出力系列を生成する。【選択図】図1
Description
本発明の実施形態は、文書解析技術に付随する系列生成技術に関する。
音声認識技術で用いられる言語モデルは、非常に大量のテキストデータを言語解析することによって作成される。係る言語解析では、ある単語に対する複数の品詞候補および複数の読み候補における1位系列のみを解析結果とすることがある。しかしながら、1位系列のみの解析結果を利用した言語モデルは、特定の読みおよび品詞に依存してしまう恐れがある。また、1位系列の解析結果が誤りであった場合に、この言語モデルでは音声認識ができない可能性がある。
これに対して、統計的な手法に基づいて動作する言語解析が知られている。係る言語解析は、可能性のある全ての言語解析結果(ラティス)の確率を求めることができれば各単語におけるNグラムの頻度を正確に求めることができる。実際に全てのNグラムの頻度を求めるには膨大な数の確率計算をする必要があるため、確率が閾値を下回った場合は途中で枝刈りをすることによって上位の系列だけを求めることがある。しかしながら、枝刈りをしすぎることによって、正しい結果(系列)が得られない、或いは、特定の単語でしか候補のバリエーションが得られないといった問題が起こりやすい。
本発明が解決しようとする課題は、特定の単語に依存しない出力系列を生成することである。
実施形態によれば、文書解析装置は、ラティス生成部と、要素スコア算出部と、要素確率算出部と、出力系列生成部とを含む。ラティス生成部は、与えられた文字列に対し、形態素解析辞書に基づいて、文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、単語ノード同士を接続する枝とを要素とするラティスを生成する。要素スコア算出部は、ラティスの中から要素を選択要素として選択し、選択要素を含む、文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、系列のスコアに基づいて選択要素のスコアを算出する。要素確率算出部は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。出力系列生成部は、確率に基づいて出力系列を生成する。
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、解説済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。
(第1の実施形態)
図1に例示されるように、第1の実施形態に係る文書解析装置100は、入力部110と、ラティス生成部120と、形態素解析辞書130と、要素スコア算出部140と、要素確率算出部150と、出力系列生成部160とを備える。
図1に例示されるように、第1の実施形態に係る文書解析装置100は、入力部110と、ラティス生成部120と、形態素解析辞書130と、要素スコア算出部140と、要素確率算出部150と、出力系列生成部160とを備える。
入力部110は、ユーザが単語文字列(単に文字列ともいう)をテキスト形式で入力する。入力部110として、例えばキーボード、タブレットおよび光学式文字読み取り装置(OCR)などの既存の入力デバイスが用いられてもよいし、あるいは複数の単語文字列を格納した、メディアおよびHDDなどの既存の記憶媒体が用いられてもよい。入力部110は、単語文字列をラティス生成部120へと出力する。
ラティス生成部120は、入力部110から単語文字列が入力される。ラティス生成部120は、与えられた単語文字列に対し、形態素解析辞書130に基づいて、単語文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、単語ノード同士を接続する枝とを要素とするラティスを生成する。単語情報は、形態素解析辞書130に登録されていた単語に対応する品詞および読みなどを表す。ラティス生成部120は、ラティスを要素スコア算出部140へと出力する。
ラティスの具体例が図5Aおよび図5Bに示される。図5Aおよび図5Bのラティスは、単語の見出しに対応する品詞のノード(単語ノード)同士が枝で接続されている。ここでは、品詞を単語ノードとしているが、読みを単語ノードとしてもよく、品詞および読みの組み合わせを単語ノードとしてもよい。尚、ラティスは、単語文字列の処理単位を明確にするために、単語文字列の最初および単語文字列の最後に、文頭ノードおよび文尾ノードをそれぞれ生成してもよい。
図5Aのラティスは、単語ノードの範囲が揃っていない場合のラティスを例示している。「単語ノードの範囲が揃っていない」場合とは、具体的には、図5Aのラティスは、「東京都」という単語文字列に対して、「東京」(単語ノード:地名)および「京都」(単語ノード:地名)のように、単語の分割位置が異なる単語ノードが作成される場合である。
一方、図5Bのラティスは、単語ノードの範囲が揃っている場合のラティスを例示している。具体的には、図5Bのラティスは、「東京都」という単語文字列に対して、「東京|都」のように単語の分割位置が予め決定される。
ラティス生成部120は、形態素解析辞書130に含まれる単語に加えて、予め定めた条件によって形態素解析辞書130に登録されていない単語である未登録語のノードも含めてラティスを生成してもよい。また、ラティス生成部120は、単語文字列に対して予め決められた単語の分割位置に基づいてラティスを生成してもよい。
ラティス生成部120は、図3に例示されるように動作する。図3の動作の前準備として、ラティス生成部120は、単語文字列を1文字ずつ区切って文字番号を付加する。例えば、「東京都に今川焼きの」という単語文字列が入力された場合に、単語文字列の文頭から順番に文字番号I(I=1,2,・・・,NW(NWは単語文字列の文字列長))を付加する。尚、単語文字列が予め単語分割されている場合は、分割されている単語ごとに文字番号Iが付加されればよい。
ステップS301において、ラティス生成部120は、Iに1を代入する。
ステップS302において、ラティス生成部120は、形態素解析辞書130を用いて、単語文字列のI番目から始まる見出しで辞書の単語検索(接頭辞検索)をする。
ステップS303では、ラティス生成部120は、検索した見出しが辞書にない単語であるか否かを判定する。検索した見出しが辞書にない単語であった場合は、処理はステップS304へと進み、そうでなければ処理はステップS305へと進む。
ステップS304において、ラティス生成部120は、辞書にない単語を未登録語として追加する。尚、未登録語は、予め定められた文字列長以下について全て作成されてもよい。
ステップS305において、ラティス生成部120は、単語情報をノード化する。このとき、未登録語は、ラティスが非連結になっている範囲に亘ってノードが作成されてもよいし、予め定められた文字列長以下の組み合わせについて全てのノードが作成されてもよい。また、未登録語のノードは、経験則に基づいて名詞が作成されてもよいし、全ての品詞について作成されてもよい。尚、ステップS305の処理によって作成されたノードが単語ノードとなる。
ステップS306において、ラティス生成部120は、I−1番目で終わるノードと現在の処理で作成されたノードとを枝で接続する。尚、単語文字列における単語の分割位置が決まっている場合は、I−1番目のノードと、現在の処理で作成されたノードとを枝で接続すればよい。
ステップS307において、ラティス生成部120は、Iに1をインクリメントする。
ステップS308では、ラティス生成部120は、IがNW以下であるか否かを判定する。IがNW以下である場合は、処理はステップS302へと戻り、そうでなければ処理は終了する。
尚、文頭ノードおよび文尾ノードは、図3の処理の開始時に作成されてもよいし、終了時に作成されてもよい。また、文頭ノードおよび文尾ノードに接続される枝は、それぞれ異なるタイミングで接続されてもよいし、図3の処理の終了時に同時に接続されてもよい。
形態素解析辞書130は、単語の見出しと、見出しに対応する品詞および読みとを単語情報として格納している。形態素解析辞書130に格納されている単語情報は、ある見出しに対して複数の品詞候補および複数の読み候補を持つ可能性がある。よって、図4Aに示すように、形態素解析辞書130は、ある単語の見出しに対応する複数の品詞候補および複数の読み候補を同一のエントリに格納してもよい。また、図4Bに示すように、形態素解析辞書130は、ある単語の見出しに対応する複数の品詞候補および複数の読み候補を別々のエントリに格納してもよい。これらは、ラティスを生成する際に、ふさわしい方を用いればよい。尚、形態素解析辞書130に格納される単語情報は、上記の例に限らない。
要素スコア算出部140は、ラティス生成部120からラティスが入力される。要素スコア算出部140は、ラティスの中から選択された要素を選択要素として選択し、選択要素を含む、単語文字列に対応するラティスの要素の組み合わせである系列に対してスコアを算出するとともに、系列のスコアに基づいて選択要素のスコアを算出する。ここで系列とは、具体的には、図5Aのラティスにおける「地名」(単語:東京)、「普名」(単語:都)、「接助」(単語:に)、「姓氏」(単語:今川)、「五段用」(単語:焼き)および「格助」(単語:の)などの組み合わせである。要素スコア算出部140は、選択要素のスコアを要素確率算出部150へと出力する。尚、選択要素は、1以上の単語ノード、および、1以上の枝の少なくとも1つであればよい。また、選択要素は、ラティスにおける指定された範囲に含まれる要素でもよい。
要素スコア算出部140は、要素選択部141と、系列生成部142と、系列スコア算出部143とを備える。
要素選択部141は、ラティスの中から要素を選択する。要素選択部141は、選択された要素(前述の選択要素)を系列生成部142へと出力する。
系列生成部142は、要素選択部141から選択要素が入力される。系列生成部142は、選択要素とは異なる他の要素を、一様乱数に基づいてラティスの中から選択することによって選択要素を含んだ系列を生成する。
具体的には、系列生成部142は、要素選択部141においてある単語ノードが選択された場合に、ラティスの中から他の単語ノードを選択していくことによって、あるいは要素選択部141においてある枝が選択された場合に、ラティスの中から他の枝を選択していくことによって系列を生成すればよい。また、系列生成部142は、要素選択部141においてある単語ノードが選択された場合に、ラティスの中から枝を選択していくことによって、あるいは要素選択部141においてある枝が選択された場合に、ラティスの中から単語ノードを選択していくことによって系列を生成してもよい。さらに、系列生成部142は、単語ノードと枝とを混ぜて選択することによって系列を生成してもよい。系列生成部142は、選択要素を含んだ系列を系列スコア算出部143へと出力する。尚、一様乱数は、専用のハードウェアによって発生させてもよいし、ソフトウェアによって発生させてもよい。
系列スコア算出部143は、系列生成部142から選択要素を含んだ系列が入力される。系列スコア算出部143は、選択要素を含んだ系列に含まれる各要素の特徴量に基づいて、選択要素を含んだ系列のスコアを算出する。具体的には、系列スコア算出部143は、選択要素に系列に含まれる各要素の文法、意味および音韻の少なくとも1つに関する特徴量に基づいて、選択要素を含んだ系列のスコアを算出する。
特徴量は、例えば図12に例示されるような条件の少なくとも1つを用いればよい。図12の条件は、例えば、ルールに基づく形態素解析器が用いるようなルールのスコア、HMM(Hidden Markov Model)およびCRF(Conditional Random Fields)といった統計的手法に基づく形態素解析器が用いるような統計情報などを含む。また、この条件は、予め与えられたドメインおよびコンテキストに対する適合度、テキストに含まれる単語同士の共起度などを含む。さらに、この条件は、言語解析の結果に基づいて、より後段の処理を行った結果に対して、例えば構文および係り受けの情報、意味的な情報、テキスト全体の読みの滑らかさ、および、アクセントの滑らかさなどを含む。
要素スコア算出部140は、図6に例示されるように動作する。図6では、動作の概要を説明し、要素スコアを算出する処理(要素スコア算出処理)の具体例については後述される。
ステップS601において、要素選択部141は、ラティスの中から要素X(前述の選択要素)を選択する。
ステップS602において、系列生成部142は、要素Xを含む系列をNSEQ個生成する。具体的には、系列生成部142は、要素Xを含む系列をSEQ(X)とし、予め定められた個数をNSEQ個とした場合に、NSEQ個の要素Xを含む系列を表す{SEQI(X)|I=1,2,・・・,NSEQ}を生成する。
ステップS603において、系列スコア算出部143は、生成されたNSEQ個の要素Xを含む系列のスコアをそれぞれ算出する。具体的には、系列スコア算出部143は、NSEQ個の系列のスコアを表すS(SEQI(X))を算出する。尚、系列スコア算出部143は、各系列が生成されるごとにスコアを算出してもよいし、全ての系列が生成された後にスコアを算出してもよい。
ステップS604において、要素スコア算出部140は、算出されたNSEQ個の要素Xを含む系列のスコアに基づいて要素Xのスコアを算出する。具体的には、要素スコア算出部140は、S(SEQI(X))に基づいて要素Xのスコアを表すS(X)を算出する。尚、要素スコア算出部140は、S(SEQI(X))における各系列のスコアの平均をS(X)として算出してもよいし、総和、或いは、最大値を用いてもよい。
ステップS605では、要素選択部141は、ラティスの中に未処理の要素があるか否かを判定する。ラティスの中に未処理の要素がある場合は、処理はステップS601へと戻り、そうでなければ処理は終了する。
以下では、単語ノードの範囲が揃っている場合である図5Bのラティスにおける要素スコア算出処理の具体例を説明する。要素スコア算出処理の前準備として、要素選択部141は、ラティスにおける単語ノードおよび枝の番号づけを行う。なお、ラティス生成部120が単語ノードおよび枝の番号づけを行ってもよい。
図5Bのラティスにおける単語ノードおよび枝の番号付けが図7に例示される。図7の単語ノードは、nIJで表される。単語ノードnIJのIは、前述の文字番号Iに対応する。単語ノードnIJのJは、文字番号Iの単語WIに対する品詞候補の番号に対応する。例えば、単語ノードn22は、文字番号2の単語W2(図7の単語「都」)に対して、2つ目の品詞候補(図7の単語ノード「名前」)が選択されたことを表す。尚、文頭ノードは、全てn01で表される。また、文尾ノードのIは、NW+1に対応し、文尾ノードのJは、1に対応する。
図7の枝は、eIJKで表される。枝eIJKのIおよびJは、文頭側に接続される単語ノードnIJのIおよびJを用いる。枝eIJKのKは、文尾側に接続される単語ノードn(I+1)KのKを用いる。即ち、枝の番号は、接続する単語ノードの番号によって決定される。例えば、枝e221は、単語ノードn22および単語ノードn31を接続することを表す。
要素スコア算出処理の具体例が図8Aに示される。ここでは、単語ノードnIJを選択要素とした場合について説明する。
ステップS801において、要素選択部141は、単語ノードnIJにおけるIに1を代入する。
ステップS802において、要素選択部141は、単語ノードnIJにおけるJに1を代入する。ステップS802の後に、系列生成処理(ステップS803)が行われる。
系列生成処理(ステップS803)の詳細が図8Bに例示される。この系列生成処理は、ラティスの中の単語ノードを選択することによって系列を生成する。尚、図8Bの系列生成処理は、系列がNSEQ個生成されるまで繰り返される。また、この系列生成処理は、系列のバリエーションを増やすため、同一の系列が作成された場合は、処理をやり直すようにしてもよい。
系列生成処理が開始すると、系列生成部142は、選択されている単語ノードnIJに対応する見出しの単語をWXとし、XにI−1を代入する(ステップA801)。
ステップA802では、系列生成部142は、Xが0より大きいか否かを判定する。Xが0より大きい場合は、処理はステップA803へと進み、そうでなければ処理はステップA806へと進む。
ステップA803において、系列生成部142は、一様乱数に基づいて1〜NC(WX)から1つを選択しYとする。ここで、NC(WX)は、単語WXに対する品詞候補の数を表す。
ステップA804において、系列生成部142は、単語ノードnXYを系列に追加する。
ステップA805において、系列生成部142は、Xから1をデクリメントする。ステップA805の後に、処理はステップA802へと戻る。
ステップA806において、系列生成部142は、XにI+1を代入する。
ステップA807では、系列生成部142は、XがNW以下であるか否かを判定する。XがNW以下である場合は、処理はステップA808へと進み、そうでなければ図8Bの系列生成処理は終了し、処理は図8AのステップS804へと進む。
ステップA808において、系列生成部142は、一様乱数に基づいて1〜NC(WX)から1つを選択しYとする。
ステップA809において、系列生成部142は、単語ノードnXYを系列に追加する。
ステップA810において、系列生成部142は、Xに1をインクリメントする。ステップA810の後に、処理はステップA807へと戻る。
ステップS804において、要素スコア算出部140は、算出されたNSEQ個の単語ノードnIJを含む系列のスコアに基づいて単語ノードnIJのスコアを算出する。
ステップS805において、要素選択部141は、Jに1をインクリメントする。
ステップS806では、要素選択部141は、JがNC(WI)以下であるか否かを判定する。JがNC(WI)以下である場合は、処理はステップS803へと戻り、そうでなければ処理はステップS807へと進む。
ステップS807において、要素選択部141は、Iに1をインクリメントする。
ステップS808では、要素選択部141は、IがNW以下であるか否かを判定する。IがNW以下である場合は、処理はステップS802へと戻り、そうでなければ処理は終了する。
図8Bの系列生成処理において生成される系列が図9に例示される。ここでは、単語ノードn22が選択要素となっている例を示す。即ち、図9の系列は、SEQ(n22)と表すことができる。
次に、枝eIJKを要素とした場合の、要素スコア算出処理の具体例が図10Aに示される。尚、枝eIJKによって接続される2つの単語ノードは、文頭側の単語ノードをeIJとし、文尾側の単語ノードをe(I+1)Kとし、それらの関係は系列生成部142によって保持されているものとする。
ステップS1001において、要素選択部141は、枝eIJKにおけるIに0を代入する。
ステップS1002において、要素選択部141は、枝eIJKにおけるJに1を代入する。
ステップS1003において、要素選択部141は、枝eIJKにおけるKに1を代入する。ステップS1003の後に、系列生成処理(ステップS1004)が行われる。
系列生成処理(ステップS1004)の詳細が図10Bに例示される。この処理は、ラティス中の枝を選択することによって系列を生成する。尚、図10Bの系列生成処理は、系列がNSEQ個生成されるまで繰り返される。また、この系列生成処理は、系列のバリエーションを増やすため、同一の系列が作成された場合は、処理をやり直すようにしてもよい。
系列生成処理が開始すると、系列生成部142は、選択されている枝eIJKに接続される文頭側の単語ノードに対応する見出しの単語をWSとし、SにI−1を代入する(ステップA1001)。
ステップA1002では、系列生成部142は、Sが0以上か否かを判定する。Sが0以上の場合は、処理はステップA1003へと進み、そうでなければ処理はステップA1006へと進む。
ステップA1003において、系列生成部142は、一様乱数に基づいて1〜NC(WS)から1つを選択しRとする。ここで、NC(WS)は、単語WSに対する品詞候補の数を表す。
ステップA1004において、系列生成部142は、枝eSRTを系列に追加する。ここで、枝eSRTにおけるTは、枝eIJKに接続されている文頭側の単語ノードnIJにおけるJの値を用いる。
ステップA1005において、系列生成部142は、Sから1をデクリメントする。ステップA1005の後に、処理はステップA1002へと戻る。
ステップA1006において、系列生成部142は、SにI+1を代入する。
ステップA1007では、系列生成部142は、SがNW以下であるか否かを判定する。SがNW以下である場合は、処理はステップA1008へと進み、そうでなければ図10Bの系列生成処理は終了し、処理は図10AのステップS1005へと進む。
ステップA1008において、系列生成部142は、一様乱数に基づいて1〜NC(WS+1)から1つを選択しTとする。
ステップA1009において、系列生成部142は、枝eSRTを系列に追加する。ここで、枝eSRTにおけるRは、枝eIJKに接続されている文尾側の単語ノードn(I+1)KにおけるKの値を用いる。
ステップA1010において、系列生成部142は、Sに1をインクリメントする。ステップA1010の後に、処理はステップA1007へと戻る。
ステップS1005において、要素スコア算出部140は、算出されたNSEQ個の枝eIJKを含む系列のスコアに基づいて枝eIJKのスコアを算出する。
ステップS1006において、要素選択部141は、Kに1をインクリメントする。
ステップS1007では、要素選択部141は、KがNC(WI+1)以下であるか否かを判定する。KがNC(WI+1)以下である場合は、処理はステップS1004へと戻り、そうでなければ処理はステップS1008へと進む。
ステップS1008において、要素選択部141は、Jに1をインクリメントする。
ステップS1009では、要素選択部141は、JがNC(WI)以下であるか否かを判定する。JがNC(WI)以下である場合は、処理はステップS1003へと戻り、そうでなければ処理はステップS1010へと進む。
ステップS1010において、要素選択部141は、Iに1をインクリメントする。
ステップS1011において、要素選択部141は、IがNW以下であるか否かを判定する。IがNW以下である場合は、処理はステップS1002へと戻り、そうでなければ処理は終了する。
図10Bの系列生成処理において生成される系列が図11に例示される。ここでは、枝e221が選択要素となっている例を示す。即ち、図11の系列は、SEQ(e221)と表すことができる。
要素確率算出部150は、要素スコア算出部140から選択要素のスコアが入力される。要素確率算出部150は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。要素確率算出部150は、選択要素が選択される確率を出力系列生成部160へと出力する。
選択要素として単語ノードを選んだ場合において、要素確率算出部150は、下記数式(1)に従って、単語WIについて単語ノードnIJ(前述の要素Xに相当)が選ばれる確率PIJを算出してもよい。
この数式(1)は、単語ノードのスコアと確率とが比例するという仮定に基づいた式である。尚、スコアS(nIJ)が負の値になる場合は、S’(nIJ)=exp(S(nIJ))などの変換をすることによりスコアを非負とすることができる。また、この変換はexpに限らず、任意の非負関数を用いてもよい。
選択要素として枝を選んだ場合において、要素確率算出部150は、下記数式(2)に従って、単語ノードnIJに対して、枝eIJKが選ばれる確率PIJKを算出してもよい。
この数式(2)は、枝のスコアと確率とが比例するという仮定に基づいた式である。尚、スコアS(eIJK)が負の値になる場合は、S’(eIJK)=exp(S(eIJK))などの変換をすることによりスコアを非負とすることができる。また、この変換はexpに限らず、任意の非負関数を用いてもよい。
出力系列生成部160は、要素確率算出部150から選択要素が選択される確率が入力される。出力系列生成部160は、選択要素が選択される確率に基づいて、ラティスの要素を選択することによって、出力系列を生成する。
また、出力系列生成部160は、ラティスの一端から順番にラティスの要素を選択してもよい。さらに、出力系列生成部は、任意の順番でラティスの要素を選択してもよい。しかしながら、ラティスの要素として枝を選択した場合において、図13に例示するように、単語ノードの組み合わせが系列とならないことがある。従って、出力系列生成部160は、選択する要素が系列となるために一意に決まる場合に、系列となるための要素を選択してもよいし、或いは、選択した要素が系列にならない場合に、要素の選択を最初からやり直してもよい。
出力系列生成部160は、図14に例示されるように動作する。以下では、単語ノードを要素として選択する場合について説明をする。
ステップS1401において、出力系列生成部160は、出力系列SEQを初期化する。
ステップS1402において、出力系列生成部160は、文頭から単語を順番に列挙する。
ステップS1403において、出力系列生成部160は、単語に対応する要素Xを要素確率に基づいて選択する。
ステップS1404において、出力系列生成部160は、要素Xを出力系列SEQに追加する。
ステップS1405では、出力系列生成部160は、未処理の単語があるか否かを判定する。未処理の単語がある場合は、処理はステップS1403へと戻り、そうでなければ処理はステップS1406へと進む。
ステップS1406では、出力系列生成部160は、系列が作成できたか否かを判定する。系列が作成できた場合は、処理は終了し、そうでなければ処理はステップS1402へと戻る。
図15において、出力系列生成部160の出力結果(前述の出力系列SEQ)が例示される。この出力系列SEQは、単語「東京」に対して品詞「地名」が選択され、単語「都」に対して品詞「名前」などが選択された系列を表している。出力系列生成部160は、複数の出力系列SEQを生成してもよく、複数の出力系列SEQの中からスコアが一番高いものを出力してもよい。
以上の説明をまとめると、文書解析装置100は、図2に例示されるように動作する。
ステップS201において、入力部110は、単語文字列を入力する。
ステップS202において、ラティス生成部120は、単語文字列を形態素解析辞書130に基づいて接頭辞検索することによって、単語文字列に含まれる複数の単語に対応する単語情報を単語ノードとするラティスを生成する。
ステップS203において、要素選択部141は、ラティスの中から要素を選択する。
ステップS204において、系列生成部142は、要素選択部141によって選択された要素(選択要素)とは異なる他の要素を、一様乱数に基づいてラティスの中から選択することによって選択要素を含んだ系列を生成する。
ステップS205において、系列スコア算出部143は、選択要素を含んだ系列に含まれる各要素の特徴量に基づいて、選択要素を含んだ系列のスコアを算出する。
ここで、選択要素を含んだ系列のスコアは、NSEQ個必要となる。そのため、ステップS204およびステップS205の処理を所定の回数繰り返す。
ステップS206において、要素スコア算出部140は、ラティスの中から選択された要素である選択要素を含む系列のスコアに基づいて、選択要素のスコアを算出する。
ここで、選択要素のスコアは、ラティスに含まれる全ての要素の数だけ必要となる。そのため、ステップS203からステップS206までの処理を全ての要素スコアが算出されるまで繰り返す。
ステップS207において、要素確率算出部150は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。
ステップS208において、出力系列生成部160は、選択要素が選択される確率に基づいて、ラティスの要素を選択することによって、出力系列を生成する。
以上説明したように、第1の実施形態に係る文書解析装置は、単語文字列に含まれる単語が複数の品詞候補および複数の読み候補を持つときにそれぞれの要素のスコアおよび要素が選択される確率を算出する。そして、この文書解析装置は、算出した各要素の確率を用いて出力系列を生成することができる。即ち、この文書解析装置は、特定の単語に依存しない出力系列を生成することができる。また、この文書解析装置は、言語モデル作成におけるNグラムの頻度を適切に見積もるために用いることができる。
また、この文書解析装置は、系列に対する評価関数が1つだけあればよく、大域的な素性あるいは依存関係にある素性のような機械学習に取り入れることが難しいものも取り入れやすいという利点がある。特に、ドメインおよびコンテキストの情報を評価関数に取り入れれば、この言語解析装置は、統計量の再学習なしにドメインおよびコンテキストの情報を言語解析に反映させることができる。
上記実施形態の処理の少なくとも一部は、コンピュータをハードウェアとして用いることでも実現可能である。ここで、コンピュータは、パーソナルコンピュータに限られず、例えば演算処理装置、マイクロコントローラなどのプログラムを実行可能な任意の装置であってもよい。また、コンピュータは、1つの装置に限らず、複数の装置が例えばインターネット、LANなどのネットワークで接続されたシステムであってもよい。また、コンピュータにインストールされたプログラム内の指示に基づいて、当該コンピュータのミドルウェア(例えば、OS、データベース管理ソフトウェア、ネットワークなど)が上記各実施形態の処理の少なくとも一部を行ってもよい。
上記処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に保存されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に保存される。プログラムは、1つの記憶媒体にまとめて保存されてもよいし、複数の記憶媒体に分割して保存されてもよい。記憶媒体は、プログラムを保存可能であって、かつ、コンピュータによって読み取り可能であればよい。記憶媒体は、例えば、磁気ディスク、フレキシブルディスク、ハードディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。
また、上記処理を実現するプログラムを、ネットワークに接続されたコンピュータ(サーバ)上に保存し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100・・・文書解析装置、110・・・入力部、120・・・ラティス生成部、130・・・形態素解析辞書、140・・・要素スコア算出部、141・・・要素選択部、142・・・系列生成部、143・・・系列スコア算出部、150・・・要素確率算出部、160・・・出力系列生成部。
Claims (14)
- 与えられた文字列に対し、形態素解析辞書に基づいて、前記文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、前記単語ノード同士を接続する枝とを要素とするラティスを生成するラティス生成部と、
前記ラティスの中から要素を選択要素として選択し、当該選択要素を含む、前記文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、当該系列のスコアに基づいて前記選択要素のスコアを算出する要素スコア算出部と、
前記選択要素のスコアに基づいて、前記選択要素が選択される確率を算出する要素確率算出部と、
前記確率に基づいて出力系列を生成する出力系列生成部と
を具備する、文書解析装置。 - 前記要素スコア算出部は、前記ラティスの中から前記選択要素を選択する要素選択部を具備する、請求項1に記載の文書解析装置。
- 前記要素スコア算出部は、前記選択要素とは異なる他の要素を、一様乱数に基づいて前記ラティスの中から選択することによって前記系列を生成する系列生成部を具備する、請求項1または請求項2に記載の文書解析装置。
- 前記要素スコア算出部は、前記系列に含まれる各要素の特徴量に基づいて、前記系列のスコアを算出する系列スコア算出部を具備する、請求項1乃至請求項3のいずれか1項に記載の文書解析装置。
- 前記系列スコア算出部は、前記系列に含まれる各要素の文法、意味および音韻の少なくとも1つに関する特徴量に基づいて、前記系列のスコアを算出する請求項4に記載の文書解析装置。
- 前記選択要素は、1以上の前記単語ノード、および、1以上の前記枝の少なくとも1つである請求項1乃至請求項5のいずれか1項に記載の文書解析装置。
- 前記ラティス生成部は、前記形態素解析辞書に含まれる単語に加えて、予め定めた条件によって前記形態素解析辞書に登録されていない単語である未登録語のノードも含めて前記ラティスを生成する、請求項1乃至請求項6のいずれか1項に記載の文書解析装置。
- 前記ラティス生成部は、前記文字列に対して予め決められた単語の分割位置に基づいて前記ラティスを生成する、請求項1乃至請求項7のいずれか1項に記載の文書解析装置。
- 前記出力系列生成部は、前記ラティスの一端から順番に前記ラティスの要素を選択することによって前記出力系列を生成する、請求項1乃至請求項8のいずれか1項に記載の文書解析装置。
- 前記出力系列生成部は、任意の順番で前記ラティスの要素を選択することによって前記出力系列を生成する、請求項1乃至請求項8のいずれか1項に記載の文書解析装置。
- 前記出力系列生成部は、選択する要素が系列となるために一意に決まる場合に、系列となるための要素を選択する、請求項10に記載の文書解析装置。
- 前記出力系列生成部は、選択した要素が系列にならない場合に、要素の選択を最初からやり直す、請求項10に記載の文書解析装置。
- 与えられた文字列に対し、形態素解析辞書に基づいて、前記文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、前記単語ノード同士を接続する枝とを要素とするラティスを生成することと、
前記ラティスの中から要素を選択要素として選択し、当該選択要素を含む前記文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、当該系列のスコアに基づいて前記選択要素のスコアを算出することと、
前記選択要素のスコアに基づいて、前記選択要素が選択される確率を算出することと、
前記確率に基づいて出力系列を生成することと
を具備する、文書解析方法。 - コンピュータを、
与えられた文字列に対し、形態素解析辞書に基づいて、前記文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、前記単語ノード同士を接続する枝とを要素とするラティスを生成する手段と、
前記ラティスの中から要素を選択要素として選択し、当該選択要素を含む前記文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、当該系列のスコアに基づいて前記選択要素のスコアを算出する手段と、
前記選択要素のスコアに基づいて、前記選択要素が選択される確率を算出する手段と、
前記確率に基づいて出力系列を生成する手段
として機能させる、文書解析プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015174776A JP2017049930A (ja) | 2015-09-04 | 2015-09-04 | 文書解析装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015174776A JP2017049930A (ja) | 2015-09-04 | 2015-09-04 | 文書解析装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017049930A true JP2017049930A (ja) | 2017-03-09 |
Family
ID=58279837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015174776A Pending JP2017049930A (ja) | 2015-09-04 | 2015-09-04 | 文書解析装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017049930A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020149369A (ja) * | 2019-03-13 | 2020-09-17 | 株式会社東芝 | 対話制御システム、対話制御方法及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001184350A (ja) * | 1999-12-27 | 2001-07-06 | Toshiba Corp | 形態素解析装置 |
JP2006243976A (ja) * | 2005-03-01 | 2006-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 頻度情報付き単語集合生成方法、プログラムおよびプログラム記憶媒体、ならびに、頻度情報付き単語集合生成装置、テキスト索引語作成装置、全文検索装置およびテキスト分類装置 |
-
2015
- 2015-09-04 JP JP2015174776A patent/JP2017049930A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001184350A (ja) * | 1999-12-27 | 2001-07-06 | Toshiba Corp | 形態素解析装置 |
JP2006243976A (ja) * | 2005-03-01 | 2006-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 頻度情報付き単語集合生成方法、プログラムおよびプログラム記憶媒体、ならびに、頻度情報付き単語集合生成装置、テキスト索引語作成装置、全文検索装置およびテキスト分類装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020149369A (ja) * | 2019-03-13 | 2020-09-17 | 株式会社東芝 | 対話制御システム、対話制御方法及びプログラム |
JP7055764B2 (ja) | 2019-03-13 | 2022-04-18 | 株式会社東芝 | 対話制御システム、対話制御方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5212910B2 (ja) | 音声認識装置、音声認識方法、および音声認識用プログラム | |
JP5377889B2 (ja) | 言語処理装置およびプログラム | |
JP5257071B2 (ja) | 類似度計算装置及び情報検索装置 | |
JP7092953B2 (ja) | エンドツーエンドモデルによる多言語音声認識のための音素に基づく文脈解析 | |
JP2004355483A (ja) | 形態素解析装置、形態素解析方法及び形態素解析プログラム | |
JP2019082931A (ja) | 検索装置、類似度算出方法、およびプログラム | |
US11620981B2 (en) | Speech recognition error correction apparatus | |
CN110598201A (zh) | 从概率输入识别准确转录 | |
JP2017097062A (ja) | 読み付与装置、音声認識装置、読み付与方法、音声認識方法、およびプログラム | |
US11710480B2 (en) | Phonetic comparison for virtual assistants | |
JP6145059B2 (ja) | モデル学習装置、形態素解析装置、及び方法 | |
JP2016224483A (ja) | モデル学習装置、方法、及びプログラム | |
US11694028B2 (en) | Data generation apparatus and data generation method that generate recognition text from speech data | |
JP6220762B2 (ja) | 次発話候補スコアリング装置、方法、及びプログラム | |
JP6275569B2 (ja) | 対話装置、方法およびプログラム | |
JP2012063611A (ja) | 音声認識結果検索装置、音声認識結果検索方法および音声認識結果検索プログラム | |
JP4826719B2 (ja) | 音声認識システム、音声認識方法、および音声認識プログラム | |
JP6232358B2 (ja) | 次発話候補ランキング装置、方法、及びプログラム | |
JP2017049930A (ja) | 文書解析装置、方法及びプログラム | |
JP6545633B2 (ja) | 単語スコア計算装置、単語スコア計算方法及びプログラム | |
JP5976037B2 (ja) | モデル学習装置、ランキング装置、方法、及びプログラム | |
JP2005092682A (ja) | 翻字装置、及び翻字プログラム | |
JP7244828B2 (ja) | 言語処理装置、言語処理方法、およびプログラム | |
JP6574469B2 (ja) | 次発話候補ランキング装置、方法、及びプログラム | |
Alfiansyah | Partial greedy algorithm to extract a minimum phonetically-and-prosodically rich sentence set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181211 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190618 |