(57)【要約】【課題】特定の単語に依存しない出力系列を生成することである。【解決手段】実施形態によれば、文書解析装置は、ラティス生成部と、要素スコア算出部と、要素確率算出部と、出力系列生成部とを含む。ラティス生成部は、与えられた文字列に対し、形態素解析辞書に基づいて、文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、単語ノード同士を接続する枝とを要素とするラティスを生成する。要素スコア算出部は、ラティスの中から要素を選択要素として選択し、選択要素を含む、文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、系列のスコアに基づいて選択要素のスコアを算出する。要素確率算出部は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。出力系列生成部は、確率に基づいて出力系列を生成する。【選択図】図１
2017049930.tif 000002
【特許請求の範囲】
【請求項１】
与えられた文字列に対し、形態素解析辞書に基づいて、前記文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、前記単語ノード同士を接続する枝とを要素とするラティスを生成するラティス生成部と、
前記ラティスの中から要素を選択要素として選択し、当該選択要素を含む、前記文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、当該系列のスコアに基づいて前記選択要素のスコアを算出する要素スコア算出部と、
前記選択要素のスコアに基づいて、前記選択要素が選択される確率を算出する要素確率算出部と、
前記確率に基づいて出力系列を生成する出力系列生成部と
を具備する、文書解析装置。
【請求項２】
前記要素スコア算出部は、前記ラティスの中から前記選択要素を選択する要素選択部を具備する、請求項１に記載の文書解析装置。
【請求項３】
前記要素スコア算出部は、前記選択要素とは異なる他の要素を、一様乱数に基づいて前記ラティスの中から選択することによって前記系列を生成する系列生成部を具備する、請求項１または請求項２に記載の文書解析装置。
【請求項４】
前記要素スコア算出部は、前記系列に含まれる各要素の特徴量に基づいて、前記系列のスコアを算出する系列スコア算出部を具備する、請求項１乃至請求項３のいずれか１項に記載の文書解析装置。
【請求項５】
前記系列スコア算出部は、前記系列に含まれる各要素の文法、意味および音韻の少なくとも１つに関する特徴量に基づいて、前記系列のスコアを算出する請求項４に記載の文書解析装置。
【請求項６】
前記選択要素は、１以上の前記単語ノード、および、１以上の前記枝の少なくとも１つである請求項１乃至請求項５のいずれか１項に記載の文書解析装置。
【請求項７】
前記ラティス生成部は、前記形態素解析辞書に含まれる単語に加えて、予め定めた条件によって前記形態素解析辞書に登録されていない単語である未登録語のノードも含めて前記ラティスを生成する、請求項１乃至請求項６のいずれか１項に記載の文書解析装置。
【請求項８】
前記ラティス生成部は、前記文字列に対して予め決められた単語の分割位置に基づいて前記ラティスを生成する、請求項１乃至請求項７のいずれか１項に記載の文書解析装置。
【請求項９】
前記出力系列生成部は、前記ラティスの一端から順番に前記ラティスの要素を選択することによって前記出力系列を生成する、請求項１乃至請求項８のいずれか１項に記載の文書解析装置。
【請求項１０】
前記出力系列生成部は、任意の順番で前記ラティスの要素を選択することによって前記出力系列を生成する、請求項１乃至請求項８のいずれか１項に記載の文書解析装置。
【請求項１１】
前記出力系列生成部は、選択する要素が系列となるために一意に決まる場合に、系列となるための要素を選択する、請求項１０に記載の文書解析装置。
【請求項１２】
前記出力系列生成部は、選択した要素が系列にならない場合に、要素の選択を最初からやり直す、請求項１０に記載の文書解析装置。
【請求項１３】
与えられた文字列に対し、形態素解析辞書に基づいて、前記文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、前記単語ノード同士を接続する枝とを要素とするラティスを生成することと、
前記ラティスの中から要素を選択要素として選択し、当該選択要素を含む前記文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、当該系列のスコアに基づいて前記選択要素のスコアを算出することと、
前記選択要素のスコアに基づいて、前記選択要素が選択される確率を算出することと、
前記確率に基づいて出力系列を生成することと
を具備する、文書解析方法。
【請求項１４】
コンピュータを、
与えられた文字列に対し、形態素解析辞書に基づいて、前記文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、前記単語ノード同士を接続する枝とを要素とするラティスを生成する手段と、
前記ラティスの中から要素を選択要素として選択し、当該選択要素を含む前記文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、当該系列のスコアに基づいて前記選択要素のスコアを算出する手段と、
前記選択要素のスコアに基づいて、前記選択要素が選択される確率を算出する手段と、
前記確率に基づいて出力系列を生成する手段
として機能させる、文書解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文書解析技術に付随する系列生成技術に関する。
【背景技術】
【０００２】
音声認識技術で用いられる言語モデルは、非常に大量のテキストデータを言語解析することによって作成される。係る言語解析では、ある単語に対する複数の品詞候補および複数の読み候補における１位系列のみを解析結果とすることがある。しかしながら、１位系列のみの解析結果を利用した言語モデルは、特定の読みおよび品詞に依存してしまう恐れがある。また、１位系列の解析結果が誤りであった場合に、この言語モデルでは音声認識ができない可能性がある。
【０００３】
これに対して、統計的な手法に基づいて動作する言語解析が知られている。係る言語解析は、可能性のある全ての言語解析結果（ラティス）の確率を求めることができれば各単語におけるＮグラムの頻度を正確に求めることができる。実際に全てのＮグラムの頻度を求めるには膨大な数の確率計算をする必要があるため、確率が閾値を下回った場合は途中で枝刈りをすることによって上位の系列だけを求めることがある。しかしながら、枝刈りをしすぎることによって、正しい結果（系列）が得られない、或いは、特定の単語でしか候補のバリエーションが得られないといった問題が起こりやすい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１０９４７５号公報
【特許文献２】特開２０１４−２２５１７４号公報
【特許文献３】特開２０１４−１４９６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、特定の単語に依存しない出力系列を生成することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、文書解析装置は、ラティス生成部と、要素スコア算出部と、要素確率算出部と、出力系列生成部とを含む。ラティス生成部は、与えられた文字列に対し、形態素解析辞書に基づいて、文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、単語ノード同士を接続する枝とを要素とするラティスを生成する。要素スコア算出部は、ラティスの中から要素を選択要素として選択し、選択要素を含む、文字列に対応する前記ラティスの要素の組み合わせである系列に対してスコアを算出するとともに、系列のスコアに基づいて選択要素のスコアを算出する。要素確率算出部は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。出力系列生成部は、確率に基づいて出力系列を生成する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る文書解析装置のブロック図。
【図２】図１の文書解析装置の動作を例示するフローチャート。
【図３】図１のラティス生成部の動作を例示するフローチャート。
【図４Ａ】図１の形態素解析辞書の格納例を示す図。
【図４Ｂ】図１の形態素解析辞書の格納例を示す図。
【図５Ａ】単語ノードの範囲が揃っていないラティスを例示する図。
【図５Ｂ】単語ノードの範囲が揃っているラティスを例示する図。
【図６】図１の要素スコア算出部の動作を例示するフローチャート。
【図７】図５Ｂのラティスにおける単語ノードおよび枝の番号付けを例示する図。
【図８Ａ】単語ノードを要素とした場合における要素スコア算出処理を例示するフローチャート。
【図８Ｂ】図８Ａの系列生成処理を例示するフローチャート。
【図９】単語ノードを要素として選択した場合の系列を例示する図。
【図１０Ａ】枝を要素とした場合における要素スコア算出処理を例示するフローチャート。
【図１０Ｂ】図１０Ａの系列生成処理を例示するフローチャート。
【図１１】枝を要素として選択した場合の系列を例示する図。
【図１２】図１の系列スコア算出部で用いられる特徴量を例示する図。
【図１３】系列にならない例を示す図。
【図１４】図１の出力系列生成部の動作を例示するフローチャート。
【図１５】図１の出力系列生成部の出力結果を例示する図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、解説済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。
【０００９】
（第１の実施形態）
図１に例示されるように、第１の実施形態に係る文書解析装置１００は、入力部１１０と、ラティス生成部１２０と、形態素解析辞書１３０と、要素スコア算出部１４０と、要素確率算出部１５０と、出力系列生成部１６０とを備える。
【００１０】
入力部１１０は、ユーザが単語文字列（単に文字列ともいう）をテキスト形式で入力する。入力部１１０として、例えばキーボード、タブレットおよび光学式文字読み取り装置（ＯＣＲ）などの既存の入力デバイスが用いられてもよいし、あるいは複数の単語文字列を格納した、メディアおよびＨＤＤなどの既存の記憶媒体が用いられてもよい。入力部１１０は、単語文字列をラティス生成部１２０へと出力する。
【００１１】
ラティス生成部１２０は、入力部１１０から単語文字列が入力される。ラティス生成部１２０は、与えられた単語文字列に対し、形態素解析辞書１３０に基づいて、単語文字列を取り得る分割位置で区切ったそれぞれの単語に対応する単語情報を示す単語ノードと、単語ノード同士を接続する枝とを要素とするラティスを生成する。単語情報は、形態素解析辞書１３０に登録されていた単語に対応する品詞および読みなどを表す。ラティス生成部１２０は、ラティスを要素スコア算出部１４０へと出力する。
【００１２】
ラティスの具体例が図５Ａおよび図５Ｂに示される。図５Ａおよび図５Ｂのラティスは、単語の見出しに対応する品詞のノード（単語ノード）同士が枝で接続されている。ここでは、品詞を単語ノードとしているが、読みを単語ノードとしてもよく、品詞および読みの組み合わせを単語ノードとしてもよい。尚、ラティスは、単語文字列の処理単位を明確にするために、単語文字列の最初および単語文字列の最後に、文頭ノードおよび文尾ノードをそれぞれ生成してもよい。
【００１３】
図５Ａのラティスは、単語ノードの範囲が揃っていない場合のラティスを例示している。「単語ノードの範囲が揃っていない」場合とは、具体的には、図５Ａのラティスは、「東京都」という単語文字列に対して、「東京」（単語ノード：地名）および「京都」（単語ノード：地名）のように、単語の分割位置が異なる単語ノードが作成される場合である。
【００１４】
一方、図５Ｂのラティスは、単語ノードの範囲が揃っている場合のラティスを例示している。具体的には、図５Ｂのラティスは、「東京都」という単語文字列に対して、「東京｜都」のように単語の分割位置が予め決定される。
【００１５】
ラティス生成部１２０は、形態素解析辞書１３０に含まれる単語に加えて、予め定めた条件によって形態素解析辞書１３０に登録されていない単語である未登録語のノードも含めてラティスを生成してもよい。また、ラティス生成部１２０は、単語文字列に対して予め決められた単語の分割位置に基づいてラティスを生成してもよい。
【００１６】
ラティス生成部１２０は、図３に例示されるように動作する。図３の動作の前準備として、ラティス生成部１２０は、単語文字列を１文字ずつ区切って文字番号を付加する。例えば、「東京都に今川焼きの」という単語文字列が入力された場合に、単語文字列の文頭から順番に文字番号Ｉ（Ｉ＝１，２，・・・，ＮＷ（ＮＷは単語文字列の文字列長））を付加する。尚、単語文字列が予め単語分割されている場合は、分割されている単語ごとに文字番号Ｉが付加されればよい。
【００１７】
ステップＳ３０１において、ラティス生成部１２０は、Ｉに１を代入する。
【００１８】
ステップＳ３０２において、ラティス生成部１２０は、形態素解析辞書１３０を用いて、単語文字列のＩ番目から始まる見出しで辞書の単語検索（接頭辞検索）をする。
【００１９】
ステップＳ３０３では、ラティス生成部１２０は、検索した見出しが辞書にない単語であるか否かを判定する。検索した見出しが辞書にない単語であった場合は、処理はステップＳ３０４へと進み、そうでなければ処理はステップＳ３０５へと進む。
【００２０】
ステップＳ３０４において、ラティス生成部１２０は、辞書にない単語を未登録語として追加する。尚、未登録語は、予め定められた文字列長以下について全て作成されてもよい。
【００２１】
ステップＳ３０５において、ラティス生成部１２０は、単語情報をノード化する。このとき、未登録語は、ラティスが非連結になっている範囲に亘ってノードが作成されてもよいし、予め定められた文字列長以下の組み合わせについて全てのノードが作成されてもよい。また、未登録語のノードは、経験則に基づいて名詞が作成されてもよいし、全ての品詞について作成されてもよい。尚、ステップＳ３０５の処理によって作成されたノードが単語ノードとなる。
【００２２】
ステップＳ３０６において、ラティス生成部１２０は、Ｉ−１番目で終わるノードと現在の処理で作成されたノードとを枝で接続する。尚、単語文字列における単語の分割位置が決まっている場合は、Ｉ−１番目のノードと、現在の処理で作成されたノードとを枝で接続すればよい。
【００２３】
ステップＳ３０７において、ラティス生成部１２０は、Ｉに１をインクリメントする。
【００２４】
ステップＳ３０８では、ラティス生成部１２０は、ＩがＮＷ以下であるか否かを判定する。ＩがＮＷ以下である場合は、処理はステップＳ３０２へと戻り、そうでなければ処理は終了する。
【００２５】
尚、文頭ノードおよび文尾ノードは、図３の処理の開始時に作成されてもよいし、終了時に作成されてもよい。また、文頭ノードおよび文尾ノードに接続される枝は、それぞれ異なるタイミングで接続されてもよいし、図３の処理の終了時に同時に接続されてもよい。
【００２６】
形態素解析辞書１３０は、単語の見出しと、見出しに対応する品詞および読みとを単語情報として格納している。形態素解析辞書１３０に格納されている単語情報は、ある見出しに対して複数の品詞候補および複数の読み候補を持つ可能性がある。よって、図４Ａに示すように、形態素解析辞書１３０は、ある単語の見出しに対応する複数の品詞候補および複数の読み候補を同一のエントリに格納してもよい。また、図４Ｂに示すように、形態素解析辞書１３０は、ある単語の見出しに対応する複数の品詞候補および複数の読み候補を別々のエントリに格納してもよい。これらは、ラティスを生成する際に、ふさわしい方を用いればよい。尚、形態素解析辞書１３０に格納される単語情報は、上記の例に限らない。
【００２７】
要素スコア算出部１４０は、ラティス生成部１２０からラティスが入力される。要素スコア算出部１４０は、ラティスの中から選択された要素を選択要素として選択し、選択要素を含む、単語文字列に対応するラティスの要素の組み合わせである系列に対してスコアを算出するとともに、系列のスコアに基づいて選択要素のスコアを算出する。ここで系列とは、具体的には、図５Ａのラティスにおける「地名」（単語：東京）、「普名」（単語：都）、「接助」（単語：に）、「姓氏」（単語：今川）、「五段用」（単語：焼き）および「格助」（単語：の）などの組み合わせである。要素スコア算出部１４０は、選択要素のスコアを要素確率算出部１５０へと出力する。尚、選択要素は、１以上の単語ノード、および、１以上の枝の少なくとも１つであればよい。また、選択要素は、ラティスにおける指定された範囲に含まれる要素でもよい。
【００２８】
要素スコア算出部１４０は、要素選択部１４１と、系列生成部１４２と、系列スコア算出部１４３とを備える。
【００２９】
要素選択部１４１は、ラティスの中から要素を選択する。要素選択部１４１は、選択された要素（前述の選択要素）を系列生成部１４２へと出力する。
【００３０】
系列生成部１４２は、要素選択部１４１から選択要素が入力される。系列生成部１４２は、選択要素とは異なる他の要素を、一様乱数に基づいてラティスの中から選択することによって選択要素を含んだ系列を生成する。
【００３１】
具体的には、系列生成部１４２は、要素選択部１４１においてある単語ノードが選択された場合に、ラティスの中から他の単語ノードを選択していくことによって、あるいは要素選択部１４１においてある枝が選択された場合に、ラティスの中から他の枝を選択していくことによって系列を生成すればよい。また、系列生成部１４２は、要素選択部１４１においてある単語ノードが選択された場合に、ラティスの中から枝を選択していくことによって、あるいは要素選択部１４１においてある枝が選択された場合に、ラティスの中から単語ノードを選択していくことによって系列を生成してもよい。さらに、系列生成部１４２は、単語ノードと枝とを混ぜて選択することによって系列を生成してもよい。系列生成部１４２は、選択要素を含んだ系列を系列スコア算出部１４３へと出力する。尚、一様乱数は、専用のハードウェアによって発生させてもよいし、ソフトウェアによって発生させてもよい。
【００３２】
系列スコア算出部１４３は、系列生成部１４２から選択要素を含んだ系列が入力される。系列スコア算出部１４３は、選択要素を含んだ系列に含まれる各要素の特徴量に基づいて、選択要素を含んだ系列のスコアを算出する。具体的には、系列スコア算出部１４３は、選択要素に系列に含まれる各要素の文法、意味および音韻の少なくとも１つに関する特徴量に基づいて、選択要素を含んだ系列のスコアを算出する。
【００３３】
特徴量は、例えば図１２に例示されるような条件の少なくとも１つを用いればよい。図１２の条件は、例えば、ルールに基づく形態素解析器が用いるようなルールのスコア、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）およびＣＲＦ（Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓ）といった統計的手法に基づく形態素解析器が用いるような統計情報などを含む。また、この条件は、予め与えられたドメインおよびコンテキストに対する適合度、テキストに含まれる単語同士の共起度などを含む。さらに、この条件は、言語解析の結果に基づいて、より後段の処理を行った結果に対して、例えば構文および係り受けの情報、意味的な情報、テキスト全体の読みの滑らかさ、および、アクセントの滑らかさなどを含む。
【００３４】
要素スコア算出部１４０は、図６に例示されるように動作する。図６では、動作の概要を説明し、要素スコアを算出する処理（要素スコア算出処理）の具体例については後述される。
【００３５】
ステップＳ６０１において、要素選択部１４１は、ラティスの中から要素Ｘ（前述の選択要素）を選択する。
【００３６】
ステップＳ６０２において、系列生成部１４２は、要素Ｘを含む系列をＮＳＥＱ個生成する。具体的には、系列生成部１４２は、要素Ｘを含む系列をＳＥＱ（Ｘ）とし、予め定められた個数をＮＳＥＱ個とした場合に、ＮＳＥＱ個の要素Ｘを含む系列を表す｛ＳＥＱＩ（Ｘ）｜Ｉ＝１，２，・・・，ＮＳＥＱ｝を生成する。
【００３７】
ステップＳ６０３において、系列スコア算出部１４３は、生成されたＮＳＥＱ個の要素Ｘを含む系列のスコアをそれぞれ算出する。具体的には、系列スコア算出部１４３は、ＮＳＥＱ個の系列のスコアを表すＳ（ＳＥＱＩ（Ｘ））を算出する。尚、系列スコア算出部１４３は、各系列が生成されるごとにスコアを算出してもよいし、全ての系列が生成された後にスコアを算出してもよい。
【００３８】
ステップＳ６０４において、要素スコア算出部１４０は、算出されたＮＳＥＱ個の要素Ｘを含む系列のスコアに基づいて要素Ｘのスコアを算出する。具体的には、要素スコア算出部１４０は、Ｓ（ＳＥＱＩ（Ｘ））に基づいて要素Ｘのスコアを表すＳ（Ｘ）を算出する。尚、要素スコア算出部１４０は、Ｓ（ＳＥＱＩ（Ｘ））における各系列のスコアの平均をＳ（Ｘ）として算出してもよいし、総和、或いは、最大値を用いてもよい。
【００３９】
ステップＳ６０５では、要素選択部１４１は、ラティスの中に未処理の要素があるか否かを判定する。ラティスの中に未処理の要素がある場合は、処理はステップＳ６０１へと戻り、そうでなければ処理は終了する。
【００４０】
以下では、単語ノードの範囲が揃っている場合である図５Ｂのラティスにおける要素スコア算出処理の具体例を説明する。要素スコア算出処理の前準備として、要素選択部１４１は、ラティスにおける単語ノードおよび枝の番号づけを行う。なお、ラティス生成部１２０が単語ノードおよび枝の番号づけを行ってもよい。
【００４１】
図５Ｂのラティスにおける単語ノードおよび枝の番号付けが図７に例示される。図７の単語ノードは、ｎＩＪで表される。単語ノードｎＩＪのＩは、前述の文字番号Ｉに対応する。単語ノードｎＩＪのＪは、文字番号Ｉの単語ＷＩに対する品詞候補の番号に対応する。例えば、単語ノードｎ２２は、文字番号２の単語Ｗ２（図７の単語「都」）に対して、２つ目の品詞候補（図７の単語ノード「名前」）が選択されたことを表す。尚、文頭ノードは、全てｎ０１で表される。また、文尾ノードのＩは、ＮＷ＋１に対応し、文尾ノードのＪは、１に対応する。
【００４２】
図７の枝は、ｅＩＪＫで表される。枝ｅＩＪＫのＩおよびＪは、文頭側に接続される単語ノードｎＩＪのＩおよびＪを用いる。枝ｅＩＪＫのＫは、文尾側に接続される単語ノードｎ（Ｉ＋１）ＫのＫを用いる。即ち、枝の番号は、接続する単語ノードの番号によって決定される。例えば、枝ｅ２２１は、単語ノードｎ２２および単語ノードｎ３１を接続することを表す。
【００４３】
要素スコア算出処理の具体例が図８Ａに示される。ここでは、単語ノードｎＩＪを選択要素とした場合について説明する。
【００４４】
ステップＳ８０１において、要素選択部１４１は、単語ノードｎＩＪにおけるＩに１を代入する。
【００４５】
ステップＳ８０２において、要素選択部１４１は、単語ノードｎＩＪにおけるＪに１を代入する。ステップＳ８０２の後に、系列生成処理（ステップＳ８０３）が行われる。
【００４６】
系列生成処理（ステップＳ８０３）の詳細が図８Ｂに例示される。この系列生成処理は、ラティスの中の単語ノードを選択することによって系列を生成する。尚、図８Ｂの系列生成処理は、系列がＮＳＥＱ個生成されるまで繰り返される。また、この系列生成処理は、系列のバリエーションを増やすため、同一の系列が作成された場合は、処理をやり直すようにしてもよい。
【００４７】
系列生成処理が開始すると、系列生成部１４２は、選択されている単語ノードｎＩＪに対応する見出しの単語をＷＸとし、ＸにＩ−１を代入する（ステップＡ８０１）。
【００４８】
ステップＡ８０２では、系列生成部１４２は、Ｘが０より大きいか否かを判定する。Ｘが０より大きい場合は、処理はステップＡ８０３へと進み、そうでなければ処理はステップＡ８０６へと進む。
【００４９】
ステップＡ８０３において、系列生成部１４２は、一様乱数に基づいて１〜ＮＣ（ＷＸ）から１つを選択しＹとする。ここで、ＮＣ（ＷＸ）は、単語ＷＸに対する品詞候補の数を表す。
【００５０】
ステップＡ８０４において、系列生成部１４２は、単語ノードｎＸＹを系列に追加する。
【００５１】
ステップＡ８０５において、系列生成部１４２は、Ｘから１をデクリメントする。ステップＡ８０５の後に、処理はステップＡ８０２へと戻る。
【００５２】
ステップＡ８０６において、系列生成部１４２は、ＸにＩ＋１を代入する。
【００５３】
ステップＡ８０７では、系列生成部１４２は、ＸがＮＷ以下であるか否かを判定する。ＸがＮＷ以下である場合は、処理はステップＡ８０８へと進み、そうでなければ図８Ｂの系列生成処理は終了し、処理は図８ＡのステップＳ８０４へと進む。
【００５４】
ステップＡ８０８において、系列生成部１４２は、一様乱数に基づいて１〜ＮＣ（ＷＸ）から１つを選択しＹとする。
【００５５】
ステップＡ８０９において、系列生成部１４２は、単語ノードｎＸＹを系列に追加する。
【００５６】
ステップＡ８１０において、系列生成部１４２は、Ｘに１をインクリメントする。ステップＡ８１０の後に、処理はステップＡ８０７へと戻る。
【００５７】
ステップＳ８０４において、要素スコア算出部１４０は、算出されたＮＳＥＱ個の単語ノードｎＩＪを含む系列のスコアに基づいて単語ノードｎＩＪのスコアを算出する。
【００５８】
ステップＳ８０５において、要素選択部１４１は、Ｊに１をインクリメントする。
【００５９】
ステップＳ８０６では、要素選択部１４１は、ＪがＮＣ（ＷＩ）以下であるか否かを判定する。ＪがＮＣ（ＷＩ）以下である場合は、処理はステップＳ８０３へと戻り、そうでなければ処理はステップＳ８０７へと進む。
【００６０】
ステップＳ８０７において、要素選択部１４１は、Ｉに１をインクリメントする。
【００６１】
ステップＳ８０８では、要素選択部１４１は、ＩがＮＷ以下であるか否かを判定する。ＩがＮＷ以下である場合は、処理はステップＳ８０２へと戻り、そうでなければ処理は終了する。
【００６２】
図８Ｂの系列生成処理において生成される系列が図９に例示される。ここでは、単語ノードｎ２２が選択要素となっている例を示す。即ち、図９の系列は、ＳＥＱ（ｎ２２）と表すことができる。
【００６３】
次に、枝ｅＩＪＫを要素とした場合の、要素スコア算出処理の具体例が図１０Ａに示される。尚、枝ｅＩＪＫによって接続される２つの単語ノードは、文頭側の単語ノードをｅＩＪとし、文尾側の単語ノードをｅ（Ｉ＋１）Ｋとし、それらの関係は系列生成部１４２によって保持されているものとする。
【００６４】
ステップＳ１００１において、要素選択部１４１は、枝ｅＩＪＫにおけるＩに０を代入する。
【００６５】
ステップＳ１００２において、要素選択部１４１は、枝ｅＩＪＫにおけるＪに１を代入する。
【００６６】
ステップＳ１００３において、要素選択部１４１は、枝ｅＩＪＫにおけるＫに１を代入する。ステップＳ１００３の後に、系列生成処理（ステップＳ１００４）が行われる。
【００６７】
系列生成処理（ステップＳ１００４）の詳細が図１０Ｂに例示される。この処理は、ラティス中の枝を選択することによって系列を生成する。尚、図１０Ｂの系列生成処理は、系列がＮＳＥＱ個生成されるまで繰り返される。また、この系列生成処理は、系列のバリエーションを増やすため、同一の系列が作成された場合は、処理をやり直すようにしてもよい。
【００６８】
系列生成処理が開始すると、系列生成部１４２は、選択されている枝ｅＩＪＫに接続される文頭側の単語ノードに対応する見出しの単語をＷＳとし、ＳにＩ−１を代入する（ステップＡ１００１）。
【００６９】
ステップＡ１００２では、系列生成部１４２は、Ｓが０以上か否かを判定する。Ｓが０以上の場合は、処理はステップＡ１００３へと進み、そうでなければ処理はステップＡ１００６へと進む。
【００７０】
ステップＡ１００３において、系列生成部１４２は、一様乱数に基づいて１〜ＮＣ（ＷＳ）から１つを選択しＲとする。ここで、ＮＣ（ＷＳ）は、単語ＷＳに対する品詞候補の数を表す。
【００７１】
ステップＡ１００４において、系列生成部１４２は、枝ｅＳＲＴを系列に追加する。ここで、枝ｅＳＲＴにおけるＴは、枝ｅＩＪＫに接続されている文頭側の単語ノードｎＩＪにおけるＪの値を用いる。
【００７２】
ステップＡ１００５において、系列生成部１４２は、Ｓから１をデクリメントする。ステップＡ１００５の後に、処理はステップＡ１００２へと戻る。
【００７３】
ステップＡ１００６において、系列生成部１４２は、ＳにＩ＋１を代入する。
【００７４】
ステップＡ１００７では、系列生成部１４２は、ＳがＮＷ以下であるか否かを判定する。ＳがＮＷ以下である場合は、処理はステップＡ１００８へと進み、そうでなければ図１０Ｂの系列生成処理は終了し、処理は図１０ＡのステップＳ１００５へと進む。
【００７５】
ステップＡ１００８において、系列生成部１４２は、一様乱数に基づいて１〜ＮＣ（ＷＳ＋１）から１つを選択しＴとする。
【００７６】
ステップＡ１００９において、系列生成部１４２は、枝ｅＳＲＴを系列に追加する。ここで、枝ｅＳＲＴにおけるＲは、枝ｅＩＪＫに接続されている文尾側の単語ノードｎ（Ｉ＋１）ＫにおけるＫの値を用いる。
【００７７】
ステップＡ１０１０において、系列生成部１４２は、Ｓに１をインクリメントする。ステップＡ１０１０の後に、処理はステップＡ１００７へと戻る。
【００７８】
ステップＳ１００５において、要素スコア算出部１４０は、算出されたＮＳＥＱ個の枝ｅＩＪＫを含む系列のスコアに基づいて枝ｅＩＪＫのスコアを算出する。
【００７９】
ステップＳ１００６において、要素選択部１４１は、Ｋに１をインクリメントする。
【００８０】
ステップＳ１００７では、要素選択部１４１は、ＫがＮＣ（ＷＩ＋１）以下であるか否かを判定する。ＫがＮＣ（ＷＩ＋１）以下である場合は、処理はステップＳ１００４へと戻り、そうでなければ処理はステップＳ１００８へと進む。
【００８１】
ステップＳ１００８において、要素選択部１４１は、Ｊに１をインクリメントする。
【００８２】
ステップＳ１００９では、要素選択部１４１は、ＪがＮＣ（ＷＩ）以下であるか否かを判定する。ＪがＮＣ（ＷＩ）以下である場合は、処理はステップＳ１００３へと戻り、そうでなければ処理はステップＳ１０１０へと進む。
【００８３】
ステップＳ１０１０において、要素選択部１４１は、Ｉに１をインクリメントする。
【００８４】
ステップＳ１０１１において、要素選択部１４１は、ＩがＮＷ以下であるか否かを判定する。ＩがＮＷ以下である場合は、処理はステップＳ１００２へと戻り、そうでなければ処理は終了する。
【００８５】
図１０Ｂの系列生成処理において生成される系列が図１１に例示される。ここでは、枝ｅ２２１が選択要素となっている例を示す。即ち、図１１の系列は、ＳＥＱ（ｅ２２１）と表すことができる。
【００８６】
要素確率算出部１５０は、要素スコア算出部１４０から選択要素のスコアが入力される。要素確率算出部１５０は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。要素確率算出部１５０は、選択要素が選択される確率を出力系列生成部１６０へと出力する。
【００８７】
選択要素として単語ノードを選んだ場合において、要素確率算出部１５０は、下記数式（１）に従って、単語ＷＩについて単語ノードｎＩＪ（前述の要素Ｘに相当）が選ばれる確率ＰＩＪを算出してもよい。
【００８８】
【数１】
2017049930.tif 000003
【００８９】
この数式（１）は、単語ノードのスコアと確率とが比例するという仮定に基づいた式である。尚、スコアＳ（ｎＩＪ）が負の値になる場合は、Ｓ’（ｎＩＪ）＝ｅｘｐ（Ｓ（ｎＩＪ））などの変換をすることによりスコアを非負とすることができる。また、この変換はｅｘｐに限らず、任意の非負関数を用いてもよい。
【００９０】
選択要素として枝を選んだ場合において、要素確率算出部１５０は、下記数式（２）に従って、単語ノードｎＩＪに対して、枝ｅＩＪＫが選ばれる確率ＰＩＪＫを算出してもよい。
【００９１】
【数２】
2017049930.tif 000004
【００９２】
この数式（２）は、枝のスコアと確率とが比例するという仮定に基づいた式である。尚、スコアＳ（ｅＩＪＫ）が負の値になる場合は、Ｓ’（ｅＩＪＫ）＝ｅｘｐ（Ｓ（ｅＩＪＫ））などの変換をすることによりスコアを非負とすることができる。また、この変換はｅｘｐに限らず、任意の非負関数を用いてもよい。
【００９３】
出力系列生成部１６０は、要素確率算出部１５０から選択要素が選択される確率が入力される。出力系列生成部１６０は、選択要素が選択される確率に基づいて、ラティスの要素を選択することによって、出力系列を生成する。
【００９４】
また、出力系列生成部１６０は、ラティスの一端から順番にラティスの要素を選択してもよい。さらに、出力系列生成部は、任意の順番でラティスの要素を選択してもよい。しかしながら、ラティスの要素として枝を選択した場合において、図１３に例示するように、単語ノードの組み合わせが系列とならないことがある。従って、出力系列生成部１６０は、選択する要素が系列となるために一意に決まる場合に、系列となるための要素を選択してもよいし、或いは、選択した要素が系列にならない場合に、要素の選択を最初からやり直してもよい。
【００９５】
出力系列生成部１６０は、図１４に例示されるように動作する。以下では、単語ノードを要素として選択する場合について説明をする。
【００９６】
ステップＳ１４０１において、出力系列生成部１６０は、出力系列ＳＥＱを初期化する。
【００９７】
ステップＳ１４０２において、出力系列生成部１６０は、文頭から単語を順番に列挙する。
【００９８】
ステップＳ１４０３において、出力系列生成部１６０は、単語に対応する要素Ｘを要素確率に基づいて選択する。
【００９９】
ステップＳ１４０４において、出力系列生成部１６０は、要素Ｘを出力系列ＳＥＱに追加する。
【０１００】
ステップＳ１４０５では、出力系列生成部１６０は、未処理の単語があるか否かを判定する。未処理の単語がある場合は、処理はステップＳ１４０３へと戻り、そうでなければ処理はステップＳ１４０６へと進む。
【０１０１】
ステップＳ１４０６では、出力系列生成部１６０は、系列が作成できたか否かを判定する。系列が作成できた場合は、処理は終了し、そうでなければ処理はステップＳ１４０２へと戻る。
【０１０２】
図１５において、出力系列生成部１６０の出力結果（前述の出力系列ＳＥＱ）が例示される。この出力系列ＳＥＱは、単語「東京」に対して品詞「地名」が選択され、単語「都」に対して品詞「名前」などが選択された系列を表している。出力系列生成部１６０は、複数の出力系列ＳＥＱを生成してもよく、複数の出力系列ＳＥＱの中からスコアが一番高いものを出力してもよい。
【０１０３】
以上の説明をまとめると、文書解析装置１００は、図２に例示されるように動作する。
【０１０４】
ステップＳ２０１において、入力部１１０は、単語文字列を入力する。
【０１０５】
ステップＳ２０２において、ラティス生成部１２０は、単語文字列を形態素解析辞書１３０に基づいて接頭辞検索することによって、単語文字列に含まれる複数の単語に対応する単語情報を単語ノードとするラティスを生成する。
【０１０６】
ステップＳ２０３において、要素選択部１４１は、ラティスの中から要素を選択する。
【０１０７】
ステップＳ２０４において、系列生成部１４２は、要素選択部１４１によって選択された要素（選択要素）とは異なる他の要素を、一様乱数に基づいてラティスの中から選択することによって選択要素を含んだ系列を生成する。
【０１０８】
ステップＳ２０５において、系列スコア算出部１４３は、選択要素を含んだ系列に含まれる各要素の特徴量に基づいて、選択要素を含んだ系列のスコアを算出する。
【０１０９】
ここで、選択要素を含んだ系列のスコアは、ＮＳＥＱ個必要となる。そのため、ステップＳ２０４およびステップＳ２０５の処理を所定の回数繰り返す。
【０１１０】
ステップＳ２０６において、要素スコア算出部１４０は、ラティスの中から選択された要素である選択要素を含む系列のスコアに基づいて、選択要素のスコアを算出する。
【０１１１】
ここで、選択要素のスコアは、ラティスに含まれる全ての要素の数だけ必要となる。そのため、ステップＳ２０３からステップＳ２０６までの処理を全ての要素スコアが算出されるまで繰り返す。
【０１１２】
ステップＳ２０７において、要素確率算出部１５０は、選択要素のスコアに基づいて、選択要素が選択される確率を算出する。
【０１１３】
ステップＳ２０８において、出力系列生成部１６０は、選択要素が選択される確率に基づいて、ラティスの要素を選択することによって、出力系列を生成する。
【０１１４】
以上説明したように、第１の実施形態に係る文書解析装置は、単語文字列に含まれる単語が複数の品詞候補および複数の読み候補を持つときにそれぞれの要素のスコアおよび要素が選択される確率を算出する。そして、この文書解析装置は、算出した各要素の確率を用いて出力系列を生成することができる。即ち、この文書解析装置は、特定の単語に依存しない出力系列を生成することができる。また、この文書解析装置は、言語モデル作成におけるＮグラムの頻度を適切に見積もるために用いることができる。
【０１１５】
また、この文書解析装置は、系列に対する評価関数が１つだけあればよく、大域的な素性あるいは依存関係にある素性のような機械学習に取り入れることが難しいものも取り入れやすいという利点がある。特に、ドメインおよびコンテキストの情報を評価関数に取り入れれば、この言語解析装置は、統計量の再学習なしにドメインおよびコンテキストの情報を言語解析に反映させることができる。
【０１１６】
上記実施形態の処理の少なくとも一部は、コンピュータをハードウェアとして用いることでも実現可能である。ここで、コンピュータは、パーソナルコンピュータに限られず、例えば演算処理装置、マイクロコントローラなどのプログラムを実行可能な任意の装置であってもよい。また、コンピュータは、１つの装置に限らず、複数の装置が例えばインターネット、ＬＡＮなどのネットワークで接続されたシステムであってもよい。また、コンピュータにインストールされたプログラム内の指示に基づいて、当該コンピュータのミドルウェア（例えば、ＯＳ、データベース管理ソフトウェア、ネットワークなど）が上記各実施形態の処理の少なくとも一部を行ってもよい。
【０１１７】
上記処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に保存されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に保存される。プログラムは、１つの記憶媒体にまとめて保存されてもよいし、複数の記憶媒体に分割して保存されてもよい。記憶媒体は、プログラムを保存可能であって、かつ、コンピュータによって読み取り可能であればよい。記憶媒体は、例えば、磁気ディスク、フレキシブルディスク、ハードディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。
【０１１８】
また、上記処理を実現するプログラムを、ネットワークに接続されたコンピュータ（サーバ）上に保存し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【０１１９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２０】
１００・・・文書解析装置、１１０・・・入力部、１２０・・・ラティス生成部、１３０・・・形態素解析辞書、１４０・・・要素スコア算出部、１４１・・・要素選択部、１４２・・・系列生成部、１４３・・・系列スコア算出部、１５０・・・要素確率算出部、１６０・・・出力系列生成部。
【図１】
2017049930.tif 000005
【図２】
2017049930.tif 000006
【図３】
2017049930.tif 000007
【図４Ａ】
2017049930.tif 000008
【図４Ｂ】
2017049930.tif 000009
【図５Ａ】
2017049930.tif 000010
【図５Ｂ】
2017049930.tif 000011
【図６】
2017049930.tif 000012
【図７】
2017049930.tif 000013
【図８Ａ】
2017049930.tif 000014
【図８Ｂ】
2017049930.tif 000015
【図９】
2017049930.tif 000016
【図１０Ａ】
2017049930.tif 000017
【図１０Ｂ】
2017049930.tif 000018
【図１１】
2017049930.tif 000019
【図１２】
2017049930.tif 000020
【図１３】
2017049930.tif 000021
【図１４】
2017049930.tif 000022
【図１５】
2017049930.tif 000023