(57)【要約】      （修正有）【課題】単語分割済みの第１のコーパスと単語非分割の第２のコーパスを有効に利用して、単語の n-gram 確率を高い精度で計算し、自然言語処理の認識精度を上げる装置及び手法を提供する。【解決手段】＜単語分割済みコーパスの利用法＞  第１のコーパス（単語分割済み）は n-gram を求めるのと、隣り合う2文字の間が単語境界になる確率(分割確率)を求めるのに用いる。第２のコーパス（単語非分割）は、第１のコーパス（単語分割済み）の情報を元に確率的な単語境界が割り当てられ、単語 n-gram を計算するのに用いる。＜確率的単語境界の計算＞  第２のコーパス（単語非分割）において、第１のコーパス（単語分割済み）で計算した分割確率を各文字の間に割り当てる。＜文字単位の未知語モデル＞  文字単位で、文字と読みの対応関係をモデル化する。このことにより、未知語に対する仮名漢字変換モデルが提案される。【選択図】  図４
2006031295.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字から形成された文字列が記憶されている第１のコーパスから複数の文字の間に単語境界が既にあるかどうかの情報を呼び出すか又は単語境界があるかどうかについての予備的情報を設定することによって、第１のコーパスに記憶されている文字列を形成している複数の文字の間に単語境界が存在するであろう確率を計算して、その計算された結果を第２のコーパスに記憶されている文字列を形成している複数の文字の間に参照して、第２のコーパスの文字列を形成している複数の文字の間に単語境界が存在するであろう確率を推定する、
単語境界確率推定装置。
【請求項２】
複数の文字の間に単語境界が存在するであろう確率を計算するにあたっては、第１のコーパスの文字列において連続する文字の文字種の順列(sequence)の関係に基づいて、それら文字種の間に単語境界が既にあるかどうかの情報によって計算されることを特徴とする、
請求項１に記載の単語境界確率推定装置。
【請求項３】
単語境界が存在するであろう確率が計算された結果には、複数の文字から形成された文字列が分割されている場合と分割されていない場合との区別を示すために、分割が確定されているかどうかを示す数値である０又は１という２種類の値だけでなく、分割の程度を確率的に示すことが可能な０以上１以下の値をも含むことを特徴とする、
請求項１に記載の単語境界確率推定装置。
【請求項４】
請求項１の単語境界確率推定装置と、
単語境界が存在するであろう確率が、単語 n-gram 確率であって、単語 n-gram を形成する１つ又は複数の文字から成る文字列の各出現位置における直前の文字と直後の文字との関係で計算される、単語 n-gram 確率計算手段とを含む、
確率的言語モデル構築装置。
【請求項５】
請求項１の単語境界確率推定装置と、
単語境界が存在するであろう確率が、単語 n-gram 確率であって、単語 n-gram を形成する複数の文字の間の関係について記述がされた決定木(decision tree)又はＰＰＭ(Prediction by Partial Match)から計算される、単語 n-gram 確率計算手段とを含む、
確率的言語モデル構築装置。
【請求項６】
複数の文字から形成された文字列を記憶していて、１つ又は複数の文字から形成された単語として少なくとも２以上の複数の単語に分割された状態で記憶していて、分割されている単語それぞれに対応させて、分割されている単語それぞれが出現する確からしさを示す出現確率を記憶している、第１のコーパスと、
複数の文字から形成された文字列を記憶していて、請求項４又は５の確率的言語モデル構築装置によって計算された、単語 n-gram 確率を記憶している、第２のコーパスと、
第１のコ−パスに対応して、既知語(known words)として、分割されている単語ごとに対応付けられた読みが記憶されている、語彙(vocabulary)辞書と、
第１のコーパスに対応して、未知語(unknown words)のために複数の変換候補を挙げることができるように、文字単位で複数の変換候補についての読みと表記とを対応付けて記憶していて、かつ、文字単位で文字の読みの出現確率が記憶されている、文字単位辞書と、
入力された読みについて、第１のコーパスに記憶されている単語それぞれに対応させた出現確率と、文字単位辞書において文字単位で記憶されている文字の読みの出現確率と、第２のコーパスに記憶されている単語 n-gram 確率とを参照して、入力された表記を変換候補に変換する、言語複合部とを有する、
仮名漢字変換装置。
【請求項７】
記憶装置に記憶された文字列に出現する語彙を選択するステップと、
選択された語彙に読みを付するステップと、
これら語彙と読みとを語彙辞書に記憶するステップと、
前記語彙を構成する文字の各々について、文字単位でその読みを付するステップと
付された複数の読みに対応させて、複数の異なる出現確率をもたせ、文字単位辞書に記憶するステップとを有する
未知語モデルの構築方法。
【請求項８】
複数の文字から形成された文字列が記憶されている第１のコーパスから複数の文字の間に単語境界が既にあるかどうかの情報を呼び出すか又は単語境界があるかどうかについての予備的情報を設定することによって、第１のコーパスに記憶されている文字列を形成している複数の文字の間に単語境界が存在するであろう確率を計算するステップと、
その計算された結果を第２のコーパスに記憶されている文字列を形成している複数の文字の間に参照して、第２のコーパスの文字列を形成している複数の文字の間に単語境界が存在するであろう確率を推定するステップとを有する、
単語境界確率推定方法。
【請求項９】
複数の文字の間に単語境界が存在するであろう確率を計算するステップが、
第１のコーパスの文字列において連続する文字の文字種の順列(sequence)の関係に基づいて、それら文字種の間に単語境界が既にあるかどうかの情報によって計算されることを特徴とする、
請求項８に記載の単語境界確率推定方法。
【請求項１０】
単語境界が存在するであろう確率が計算された結果には、複数の文字から形成された文字列が分割されている場合と分割されていない場合との区別を示すために、分割が確定されているかどうかを示す数値である０又は１という２種類の値だけでなく、分割の程度を確率的に示すことが可能な０以上１以下の値をも含むことを特徴とする、
請求項８に記載の単語境界確率推定方法。
【請求項１１】
請求項８の単語境界確率推定方法における全てのステップと、
単語境界が存在するであろう確率を、単語 n-gram 確率として、単語 n-gram を形成する１つ又は複数の文字から成る文字列の各出現位置における直前の文字と直後の文字との関係で計算するステップを含む、
確率的言語モデル構築方法。
【請求項１２】
請求項８の単語境界確率推定方法における全てのステップと、
単語境界が存在するであろう確率を、単語 n-gram 確率として、単語 n-gram を形成する複数の文字の間の関係について記述がされた決定木(decision tree)又はＰＰＭ(Prediction by Partial Match)から計算するステップを含む、
確率的言語モデル構築方法。
【請求項１３】
複数の文字から形成された文字列を記憶していて、１つ又は複数の文字から形成された単語として少なくとも２以上の複数の単語に分割された状態で記憶していて、分割されている単語それぞれに対応させて、分割されている単語それぞれが出現する確からしさを示す出現確率を記憶している、第１のコーパスを参照するステップと、
複数の文字から形成された文字列を記憶していて、請求項４若しくは５の確率的言語モデル構築装置又は請求項１１若しくは１２確率的言語モデル構築方法によって計算された、単語 n-gram 確率を記憶している、第２のコーパスを参照するステップと、
第１のコ−パスに対応して、既知語(known words)として、分割されている単語ごとに対応付けられた読みが記憶されている、語彙(vocabulary)辞書を参照するステップと、
第１のコーパスに対応して、未知語(unknown words)のために複数の変換候補を挙げることができるように、文字単位で複数の変換候補についての読みと表記とを対応付けて記憶していて、かつ、文字単位で文字の読みの出現確率が記憶されている、文字単位辞書を参照するステップと、
入力された読みについて、第１のコーパスに記憶されている単語それぞれに対応させた出現確率と、文字単位辞書において文字単位で記憶されている文字の読みの出現確率と、第２のコーパスに記憶されている単語 n-gram 確率とを参照して、入力された表記を変換候補に変換する、
仮名漢字変換方法。
【請求項１４】
請求項８〜請求項１３の何れかの請求項に記載された方法の各ステップを実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理の認識技術に関し、大規模文字列データが記憶されている記憶装置であるコーパス(corpus)を利用して、より具体的には分割(segmentation)がされていないコーパス(corpus)を有効に利用して、自然言語処理の認識精度を上げる手法に関する。
【背景技術】
【０００２】
自然言語の認識技術の進歩によって、仮名漢字変換、スペルチェッカ（文字誤り訂正）、ＯＣＲ、音声認識など、様々な技術が実用レベルの予測力を達成してきている。現在これらの技術を高い精度で実現している方法の多くは、確率的言語モデル(probablistic language model)や統計的言語モデル(statistical language model)に基づいている。確率的言語モデルは、単語や文字の頻度に基づいており、適用分野の大量の例文（コーパス）が必要不可欠である。
【０００３】
音声認識システムの多くは、音響モデルとともに確率的言語モデルを参照し、複数の候補の中から最尤の文字列を選択する。スペルチェッカ（文字誤り訂正）では、確率的言語モデルの尤度に基づいて不自然な文字列とその訂正候補を列挙する。
【０００４】
実用的なモデルは単語を単位としているので、コーパスには単語境界の情報が付与されている必要があるが、単語境界を確定する作業として、分割(segmentation)又はタグ付け(tagging)という作業が行なわれている。
【０００５】
既に自動単語分割の手法が知られているが、医療などのように専門用語を多く含む場合には、既存の自動単語分割システムの精度も低い。自動単語分割の結果を人手で修正するには、適用分野の語彙の知識がある作業者があたる必要があり、実用に耐える認識精度を確保するためには一般的に最低でも数万文が必要となる。
【０００６】
適用分野のコーパスを用いた学習(training)をするにあたって、各適用分野に対して人手によって分割／タグ付けされたコーパスを大量に入手することは、一般的には困難であり、多大な時間とコストがかかることになり、短時間での開発を阻害している。
【０００７】
また、専門分野ごと（例えば、医療）の単語に分割された情報は、その専門分野の言語を処理するときには有効であろうが、他の適用分野（例えば、医療の分野とは全く異なる分野である経済の分野など）の言語を処理するときにまで同じように有効であるという保障はない。別の言い方をすると、分割／タグ付けされた正解コーパスは、分割／タグ付けによって一旦確定してしまうことを通じて、その専門分野においては確定的に正解であったとしても、他の専門分野では必ずしも正解といえない場合が起こり得る。
【０００８】
この点、アジア言語で単語に分割するための効率さや正確さを追求した背景技術は数多く見受けられるが、これらは単語分割の切れ目（単語境界(word boundary)）を予め確定的に決定してしまうことを目的としたものばかりである。
【０００９】
アジア言語のうちでも日本語を例にとると、日本語解析に必要な単語情報は、単語表記の構造に関するものであり、これは見出し語自身の文字構成や読みなどに関する情報で、「表記情報」、「読み情報」、「形態情報」が該当する。これらは、主として、形態素解析(morphological analysis)で、日本文中から単語となりうる候補を抽出する際に重要な手掛かりとなる。
【００１０】
さて「単語(word)」という用語の明確な定義があるわけではないが、本明細書における「単語」は、特に、「表記(spelling)」、「読み(pronunciation)」の２つの要素に注目しており、２つの単語はそれぞれの、表記（文字）、読みが両方一致するときに限り等しく、単に表記（文字）が同じ同形語や、単に読みが同じ同音語があっても、別々の単語とみなしている。単語の表記は形態論的性質、読みは音韻論的性質、をそれぞれ同定する処理に関わっている。
【００１１】
よって、「記者」「汽車」「帰社」「喜捨」の各々は、全て「きしゃ」として読みが同じであっても、表記（文字）が異なるので別々の単語である。「単語」はコンピュータの中では、記号化され、表記（文字）としての記号とその意味としての記号の対応関係が登録される。日本語は膠着語(agglutinative language)の一種で、極めて造語力が強いため、「辞書(dictionary)」としてコンピュータの中に登録するにあたっては、注意が必要である。読みは、コンピュータ中では、入力記号列（例えば、日本語の片仮名、片仮名のローマ字表現）という形で振られている。
【００１２】
コンピュータ中に登録するにあたっては、可能な表記（文字）のすべて、若しくは使用頻度の高い表記を集めて登録する方法、代表的表記のみを登録し、読みと組み合わせて検索する方法、辞書とは別に各種の字種変換テーブルを用意して見出し語との対応を調べる方法などが組み合わされる。
【００１３】
さきほどの自動単語分割の結果を修正することの分かり易い例を挙げておく。例えば、「はきもの」という読みに対して「履物」と「は着物」のように「は」という助詞（単語）と「着物」という名詞（単語）とに表記を付して、正解の単語分割にして修正することが挙げられる。日本語は、英語のように「単語」と「単語」の間に空白を入れること（わかち書き）をしないで記述していくため、単語の切れ目（単語境界）を例文の前後の文脈などから専門家が専門用語の知識に基づいて確定していかなければならない。
【００１４】
「履物」という語彙(vocabulary)に「はきもの」という読みを振るという観点からも、語彙の知識が必要となり、単語を正しく認定する必要があることがわかる。このため、分割されていないコーパスを有効に利用して精度を上げる手法が望まれる。
【００１５】
自然言語処理の全ての処理の前提として、文字列、あるいは音声データを形態素(morpheme)の列に変換する作業が必須である。しかし、英語のように「単語」と「単語」の間に空白を入れること（わかち書き）をしないで記述していく日本語に代表されるアジアの言語では、書かれたデータにおいてさえも形態素解析(morphological analysis)は容易ではない。従って、上記の精度的課題の一端として、平仮名文字列、片仮名文字列、音声データ、などの入力データ( y )が与えられている時に、形態素列( x )の候補を正確に求めたいというニーズが存在すると言える。
【００１６】
統計的アプローチでは、これを P(x|y) の最大化問題として定式化し、更にベイズの定理を用いて、
P(x|y) = P(y|x) P(x) / P(y)  (ここで、P(y) は y:given により定数)
の右辺の P(y|x), P(x) の最大化という2つのモデルに分解できる。このうち P(x) の方に関するモデルは入力データの種類(記号列、文字列、音声データなど)に依らないため、言語モデルと呼ばれており、最も一般的に用いられている確率的言語モデルとして単語 n-gram モデルが挙げられる。
【００１７】
＜非分割コーパスの用法に関する従来技術＞
従来技術として、分割済みコーパスでの学習に基づいて，非分割コーパスを分割した結果を用いるという方式がある。
(a) 分割候補を用いて，確率の重みつきで n-gram をカウントする。
(b) 自動分割結果の候補から 1-best のみを用いる。
(c) 自動分割結果の候補から n-best を用いる。
ただし、(a) (c) は bi-gram 以上で計算コストが大きく非現実的である．(b) に対する本発明の優位性は後述の実験において示す．
【非特許文献１】自然言語処理 -基礎と応用-，1999，電子情報通信学会，田中穂積監修．
【非特許文献２】W. J. Teahan and John G. Cleary，1996，The entropy of English using ppm-based models，In DCC．
【非特許文献３】Leo Breiman, Jerome H. Friedman, Richard A. Olshen, and Charles J. Stone. 1984. Classification and Regression Trees. Chapman & Hall, Inc.
【非特許文献４】Masaaki Nagata，A Self-Organizing Japanese Word Segmenter using Heuristic Word Identification and Re-estimation．1997．
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上を踏まえて本発明が解決しようとする課題を要約すると以下のようになる。
大量の例文が記憶されている記憶装置である学習コーパスとして
(a)第１のコーパス（単語分割済み）：  比較的サイズの小さい、人手による単語分割情報を含むコーパス
(b)第２のコーパス（単語非分割）：  比較的サイズの大きい、生のコーパス
が与えられている状況で，精度の高い単語 n-gram 確率を計算する。
【００１９】
また、未知語モデルと生のコーパスから推定した単語 n-gram 確率により、文脈情報を含む語彙が、比較的サイズの小さい第１のコーパス（単語分割済み）に出現する単語から比較的サイズの大きい第２のコーパス（単語非分割）に出現する単語に大きく拡大する。
【課題を解決するための手段】
【００２０】
＜単語分割済みコーパスの利用法＞
第１のコーパス（単語分割済み）は n-gram を求めるのと、隣り合う2文字の間が単語境界になる確率(分割確率)を求めるのに用いる。第２のコーパス（単語非分割）は、第１のコーパス（単語分割済み）の情報を元に確率的な単語境界が割り当てられ、単語 n-gram を計算するのに用いる。
【００２１】
＜確率的単語境界の計算＞
第２のコーパス（単語非分割）において、第１のコーパス（単語分割済み）で計算した分割確率を各文字の間に割り当てる。
＜文字単位の未知語モデル＞
文字単位で、文字と読みの対応関係をモデル化する。このことにより、未知語に対する仮名漢字変換モデルが提案される。
【発明の効果】
【００２２】
上述のように本発明にかかる単語境界確率推定装置、確率的言語モデル構築装置、仮名漢字変換装置およびこれらの方法によれば、第１のコーパス（単語分割済み）に関する既存の語彙・言語モデルと、生コーパスである第２のコーパス（単語未分割）を確率的に分割して語彙・言語モデルを構築し、これらを組み合わせることで、自然言語処理の認識精度を上げることができる。対象分野の例文を収集するだけで確率的言語モデルの能力が向上するので、言語認識技術のコーパスが整備されていない分野への適用をサポートする。
【００２３】
また、たとえ第１のコーパス（単語分割済み）に出現しない単語であっても、文字単位の頻度情報を参照して候補を列挙することができる。さらに、生コーパスである第２のコーパス（単語未分割）の単語 n-gram 確率を利用した場合、未知語の文脈情報も利用することが可能となる。
【発明を実施するための最良の形態】
【００２４】
［仮名漢字変換装置の動作］
以下、本発明を応用することができる仮名漢字変換装置１（図１，図２）の動作を説明する。
［仮名漢字変換装置１］以下、本発明を応用することができる仮名漢字変換装置１を説明する。図１は、本発明を応用することができる仮名漢字変換装置１の構成を例示する図である。図１に示すように、本発明にかかる仮名漢字変換装置１は、マイクロプロセッサ、メモリおよびこれらの周辺回路など（いずれも図示せず）から構成されるＣＰＵ１０、マウス、キーボード、および、入力装置１２、ＣＲＴディスプレイなどの表示装置１４、ＨＤＤ装置、ＤＶＤ装置、ＣＤ装置などの記憶装置１６から構成される。
【００２５】
つまり、仮名漢字変換装置１は、通常のハードウェア構成を採り、ＤＶＤ、ＣＤ−ＲＯＭあるいはＣＤ−ＲＡＭ等の記録媒体１８に記録された形態で供給される仮名漢字変換プログラム２（図２を参照して後述）を実行し、入力装置１２のうちのキーボード１２０から入力され、デジタル形式に変換された入力の記号列を変換して、テキストデータを生成し、記憶装置１６に挿入された記録媒体１８に記録し、あるいは、表示装置１４にテキストデータを表示する。この仮名漢字変換装置は、単語境界確率推定装置、確率的言語モデル構築装置など、仮名漢字変換装置より小さい単位の装置としても把握することができる（図４参照）。方法やプログラムというカテゴリーで把握される場合でも同様である。
【００２６】
［仮名漢字変換プログラム２］図２は、本発明を応用することができる仮名漢字変換方法を実現する仮名漢字変換プログラム２の構成を示す図である。図２に示すように、仮名漢字変換プログラム２は、言語モデル３２および上述したベースフォームプール３０から構成され。言語モデル３２は、第１のコーパス（単語分割済み）３２０および第２のコーパス（単語未分割）３２２を含む。仮名漢字変換プログラム２は、プログラム記憶装置１６に記憶しておくことも可能であるし、実行するにあたってＣＰＵ１０内のメモリ（例えば、ランダムアクセスメモリ）等の記憶装置（プログラム中では配列として展開されている場合もある）にロードしておくことも可能である。
【００２７】
［ベースフォームプール３０］
ベースフォームプール３０は、言語モデル３２の第１コーパス（単語分割済み）３２０に対応して、第１のコーパス（単語分割済み）に出現する語彙の読みが語彙辞書３００に記憶されている。さらに、それら語彙を構成している全ての文字と読みの組み合わせが文字単位辞書３０２に記憶されている。文字単位辞書は単漢字辞書と呼ばれる場合もある。
【００２８】
文字単位ですべての文字とその読みの組み合わせを考え、その読みと出現確率とを対応させて文字単位辞書に記憶しておくこと自体、新規なものである。特に、読みから仮名漢字変換するにあたって、出現確率が参照される部分はその用途がなければ用意することが考えられない。
【００２９】
図３では、ベースフォームプール３０の詳細を示している。例えば、語彙辞書３００には、/高橋/という語彙の表記について/takahashi/という読みが記憶されており、/これ/という語彙の表記について/kore/という読みが記憶されており、/寄与/という語彙の表記について/kiyo/という読みが記憶されている。単語として既に分割された状態で記憶されているものである。
【００３０】
この語彙辞書が第１のコーパス（単語分割済み）に対応して設けられているのであれば、第１のコーパス（単語分割済み）の中で、/高橋/が出現する確率は０．０１０、/これ/が出現する確率は０．０３００、/寄与/が出現する確率は０．０２０、という具合に、容易に出現確率（単語それぞれが出現する確からしさ）についての統計をとっておくことが可能である。図３では、第１のコーパス（単語分割済み）３２０の方に出現確率を記憶するように記載しているが、第１のコーパス（単語分割済み）に対応して設けられているのであれば、記憶箇所についてはこの図３の例に限定されるものではない。
【００３１】
また、文字単位辞書３０２には、例えば、/高/という文字単位の表記については、/taka/とか/kou/といったすべての読みの組み合わせが、/橋/という文字単位の表記については、/hashi/とか/kyou/といったすべての読みの組み合わせが記憶されている。
【００３２】
さらに、文字単位辞書３０２には、/高/という文字単位の表記については、/taka/が０．７、/kou/が０．３といった出現確率の別が、/橋/という文字単位の表記については、/hashi/が０．７、/kyou/が０．３といった出現確率の別が、/是/という文字単位の表記については、/kore/が０．７、/ze/が０．３といった出現確率の別が、/清/という文字単位の表記については、/kiyo/が０．７、/sei/が０．３といった出現確率の別が、それぞれ対応づけられた表形式で記述されている。
【００３３】
もっとも、これらの出現確率は、必ずしもこの文字単位辞書３０２に含まれていなくてもよく、これらすべての読みとの対応さえ記述されてあれば、この文字単位辞書３０２とは別の箇所に記憶されていてもよい。このようにして、文字単位の未知語モデルが構築されている。この文字単位の未知語モデルの構築によって、出現確率（頻度情報）を参照して候補を列挙することが可能となる。これはまとめとして、図４で後述する。
【００３４】
［第１のコーパス（単語分割済み(segmented)）３２０］
図３では、第１のコーパスの詳細を示している。第１のコーパス（単語未分割）３２０には、複数の文字から形成された文字列が記憶されている。
【００３５】
［第２のコーパス（単語未分割(unsegmented)）３２２］
図３では、第２のコーパスの詳細を示している。推定単語境界確率推定装置（図４）が、第１のコーパス（単語分割済み）について単語境界が存在するであろう確率を計算して参照し、それを第２のコーパス（単語未分割）における文字間にあてはめて、単語境界が存在するであろう確率として推定する。
【００３６】
第２のコーパス（単語未分割）３２２には、複数の文字から形成された文字列が記憶されている。なお、第２のコーパス（単語未分割）は、分割がされておらず、このようなコーパスは「生(raw)コーパス」とも呼ばれる。前述のように、分割するには人手で修正する必要があり、手間がかかるので、サイズの大きい第２のコーパス（単語未分割）が有効に利用できることが好ましい。
【００３７】
本明細書では、第１のコーパス（単語分割済み）と第２のコーパス（単語未分割）とを含むものを言語モデル３２と名づけているが、ベースフォームプール３０で記憶されているものを含めて「言語モデル」と呼ばれる場合もあることに注意されたい。本明細書における「言語モデル」とは、これらの内容が記憶された記憶装置のことを指す。
【００３８】
［言語復号部２２］
言語復号部２２は、入力の記号列を、ベースフォームプール３０および言語モデル３２により計算される確率が最大になる単語列（下記式２のＷ’）をテキストデータとして、表示装置１４あるいは記録装置１６に対して出力し、これらに表示あるいは記録する。
【００３９】
本発明では、第１のコーパス（単語分割済み）と第２のコーパス（単語未分割）とを次式１で線形補間（削除補間）することができる。この処理は、図８において後述する。
Pr(w1|w2,w3)=λP1(w1|w2,w3)+(1-λ)P2(w1|w2,w3)   ・・・(1)
ただし、
本式はＮ＝３の場合を例示し、
0≦λ≦１、
P1は第１のコーパス（単語分割済み）を示し、
P2は第２のコーパス（単語未分割）を示す。
を示す。
【００４０】
下式２において、P(Y|W)は、ベースフォームモデル３０により与えられ、P(W)は言語モデル３２により与えられる。このP(W)は、上記式１により、第１コーパス（単語分割済み）３２０と第２コーパス（単語未分割）３２２とがλの値に応じて加重平均され、求められる。
【００４１】
W' = argmaxP(W|Y) = argmaxP(Y|W)P(W)         (2)
但し、Yは入力記号列(y1,y2,...,yk)、
Wは単語列(w1,w2,....,wl)、
W'は単語列(w'1,w'2,....,w'l)である。
【００４２】
［単語境界確率の計算］
第１のコーパス（単語分割済み）３２０について、単語境界が存在するであろう確率を計算する方法について説明する。
【００４３】
第１のコーパス（単語分割済み）３２０では、例文である「言語学を学ぶ。」という文字列が記憶されていて、この文字列は７つの文字「言」「語」「学」「を」「学」「ぶ」「。」として記憶されている。一例として、これらの７つの文字を、漢字、記号、数字、平仮名、片仮名、西洋（記号と数字に分類出来ないそれ以外のものは西洋とした）という６文字種に分類してみる。すると、例文の文字列を形成する連続する文字の文字種の順列(sequence)の関係は、順に、「漢字」「漢字」「漢字」「平仮名」「漢字」「平仮名」「記号」と分類できる。
【００４４】
図６は、第１コーパス（単語分割済み）３２０中におけるこれら文字種が連続する順列の関係に基づいて、ある文字種の次にある文字種が出現する場合にその間に単語境界が存在する確率を示す図である。もし第１のコーパスから複数の文字の間に単語境界が既にあるかどうかの情報を呼び出すことが出来るのであれば、容易に計算することができる。
【００４５】
しかし、たとえ第１のコーパスからはそのような情報を得られない場合であっても、単語境界があるかどうかについての予備的情報として全体を0.50000000を設定するなどして、次の計算へと進めてしまうことは可能である。精度は劣ることになると予想されるが、本発明の技術的思想はこのような場合にまで広く適用可能であることに注意されたい。
【００４６】
また、単語が分割されておらず、単語境界が既にあるかどうかの情報が無くても、文の区切りが予め明らかであれば、1.00000000が設定されることになる。
【００４７】
図中で、「漢字」の次に「漢字」が出現する場合にその間に単語境界が存在する確率は、0.24955045ということを表している。同様に、「漢字」の次に「平仮名」が出現する場合にその間に単語境界が存在する確率は、0.67322202、「平仮名」の次に「漢字」が出現する場合にその間に単語境界が存在する確率は、0.97213218、「平仮名」の次に「記号」が出現する場合にその間に単語境界が存在する確率は、0.99999955、ということを表している。
【００４８】
１に近いほど確率が高く（ありえそう）、０に近いほど確率が低い（ありえそうもない）ということになる。単語境界が既に確定されている（単語境界が既にある）場合は、単語に分割されている場合と単語に分割されていない場合との区別を示すために０又は１という２種類の値だけでよいであろう。しかし、分割の程度を確率的に示すために０以上１以下である中間的な数値が採用されていることに注意されたい。もちろん、確率の大小が分かれば、これ以外の表現方法であってもよい。
【００４９】
［単語境界が存在する確率の推定］
第２のコーパス（単語未分割）３２２中では、この第１のコーパス（単語分割済み）３２０から計算された結果である単語境界が存在する確率を参照して、確率的な分割を推定することができる。
【００５０】
最も単純な例では、この第１コーパス（単語分割済み）３２０で得られている単語境界が存在する確率が第２のコーパス（単語未分割）においてもそのままあてはまるであろうと推定する。このような場合、第１コーパス（単語分割済み）で得られている全くそのままの数値をあてはめて単語境界が存在するであろう確率としてしまえばよい。もっとも、その他、数多くの「参照」方法が考えられる。このように、本明細書における「参照」には、利用方法についての広い意味を含んでいることに注意されたい。
【００５１】
早速、第２のコーパス（単語未分割）において、第１のコーパス（単語分割済み）で計算した単語境界が存在する確率を各文字の間に割り当てる。例えば、「言語学を学ぶ。」という例文が第２のコーパス（単語未分割）に現れた場合、以下の [ ] 内のような確率を伴った境界を各2文字の間に付加することになる。
[1] 言 [0.24955045] 語 [0.24955045] 学 [0.67322202] を [0.97213218] 学 [0.67332202] ぶ [1]。[1]
これは、図６の関係にある文字種の順列の関係に基づいている。
すなわち、「平叙文を読む。」という例文が第２のコーパス（単語未分割）に現れた場合であっても、同様に、以下の [ ] 内のような同様の確率を伴った境界を各2文字の間に付加することになる。
[1] 平 [0.24955045] 叙 [0.24955045] 文 [0.67332202] を [0.97213218] 読 [0.67322202] む [0.99999955]。[1]
【００５２】
［単語 n-gram 確率の計算］
n-gram モデルとは、ある文字列の中で、ｎ個の文字列または単語の組み合わせが、どの程度出現するかを調査する言語モデルである。
単語分割確率( i 番目とi+1 番目の文字の間の分割確率を Pi とおく )が計算されれば、単語 w の uni-gram は
【数１】
2006031295.tif 000003
によってカウントすることができる。上の例における uni-gram の頻度は、以下のように計算される。
【００５３】
すなわち、単語 n-gram 確率を計算するのであるが、uni-gram (N=1の場合) 確率は、単語 uni-gram を形成する文字の出現位置における直前の文字と直後の文字との関係で計算することができる。
【００５４】
「言語」という単語 uni-gram を例にとると、
「言語」  ：  1×(1-0.24955045)×(1-0.24955045)
として計算される。
【００５５】
さらに、「言語学」という、より長い文字列の単語 uni-gram を例にとると、
「言語学」  ：  1×(1-0.24955045)×(1-0.24955045)×(1-0.67332202)
として計算される。
【００５６】
ただし、「を学」という単語 uni-gram を例にとると、
「を学」  ：  0.6733202×(1-0.97213218)×0.6733202
として計算されるもの、きわめて低い数値になる。すなわち、「を学」という単語が出現する確率はきわめて低いものであるということ、すなわち、単語の中では平仮名の後に漢字が出現しにくいであろうことが推測できる。このことは、経験的に理解できる。
【００５７】
一般の単語 n-gram 確率の場合もこれを拡張した式によりカウントできる。例えば bi-gram の場合は以下でカウントする。
【数２】
2006031295.tif 000004
【００５８】
次に、図５に従って、文字列ｘ１ｘ２・・・ｘｋの期待頻度を効率的に計算する手法について説明する。
【００５９】
第１のコーパス（単語分割済み）３２０内において、文字列ｘ１ｘ２・・・ｘｋの期待頻度を計算するためのフローチャートを示す。Ｓ２００において、注目文字列内に単語境界がない確率としてＰintを計算する。
【００６０】
ここで、「シャ乱Ｑ」という注目文字列（４文字から形成される文字列）に単語境界が存在する確率を計算してみることにする。この単語は固有名詞であるが、様々な文字種が含まれている。文字種で単語境界確率を表すと、
【００６１】
「シャ乱Ｑ」という注目文字列は、「片仮名」「片仮名」「漢字」「西洋」という４種の文字種によって成り立っている。
【００６２】
注目文字列内に単語境界がない確率Ｐintは、(1-0.05458673)(1-0.90384580)(1-0.99999955)として計算される。
【００６３】
Ｓ２１０において、第１のコーパス（単語分割済み）３２０中で、注目文字列の出現位置へ移動する。
【００６４】
例えば、
・・・はシャ乱Ｑの・・・（ここで、実際には注目文字列の前後に他の文字列が存在しているが・・・によって略している、以下、同じ。）
という注目文字列が見つかった場合には、注目文字列の前には「は」という「平仮名」があり、注目文字列の後には「の」という「平仮名」がある。
よって、Ｐsumは、(1-0.99999955)(1-0.99999955)として計算される。
【００６５】
Ｓ２３０で注目文字列の次の出現位置へ移動する。
例えば、次に、
・・・「シャ乱Ｑ」・・・
という注目文字列（前後パターン）が見つかった場合には、Ｓ２４０で注目文字列である場合には、Ｓ２２０へ戻る。注目文字列の前には「「」という「記号」があり、注目文字列の後にも「」」という「記号」がある。
すなわち、Ｐsumは、(1-0.99999955)(1-0.99999955)として計算されて、Ｐsumに加算される。
【００６６】
以上、Ｓ２４０で注目文字列が第１のコーパス（単語分割済み）３２０中に存在する限りこのような加算が繰り返され、Ｓ２５０において、最終的にＰint×Ｐsumが計算される。このように、ＰintとＰsumとを分離して計算していることで、文字列頻度の効率的計算がなされている。この図５の計算はサブルーチンとして、図７において２回呼び出される。
【００６７】
また、分割確率の計算法としては他にも決定木(Decision Tree)を用いる方法やＰＰＭを用いる方法などが考えられる。これらによれば文字列のより広範囲を参照することができる。複数の文字の間の関係について単語境界が存在することについて記述が可能なのであれば、本発明の技術的思想はこれらに限られるものではない。
【００６８】
単語境界確率を用いると、第２のコーパス（単語未分割）３２２は、各文字境界（xiとxi+1の間）がPiの確率で分割されているコーパスとみなすことができる。
【００６９】
単語ｗの生コーパス中の確率的頻度frは、単語ｗの表記の全ての出現
【数３】
2006031295.tif 000005
に対する確率的頻度の和として、以下のように定義される。
【数４】
2006031295.tif 000006
frが生コーパスにおけるｗの期待頻度であることが示せる。したがって、単語 1-gram 確率は
【数５】
2006031295.tif 000007
のように示すことができる。
【００７０】
図７は、単語 n-gram 確率 P(Wn|W1,W2,・・・Wn-1) の計算法を示す。Ｓ４００とＳ４３０では、サブルーチンである図５が呼び出される。ここでは、f2/f1を計算するのであるが、f1が０である場合には不定になるので、Ｓ４２０で０を返す。f1が０でない場合にはＳ４３０でW1,W2,・・・Wn の期待頻度 f2を計算して、Ｓ４４０でf2/f1を返す。
【００７１】
［第２のコーパス（単語未分割）を利用した仮名漢字変換］
言語復号部２２は、ベースフォームプール３０の内、語彙辞書３００および文字単位辞書３０２の両方を参照する。
【００７２】
ステップ１００（Ｓ１００）において、言語復号部２２は、キーボードからの入力記号列を受け取る。
【００７３】
ステップ１０２（Ｓ１０２）において、言語復号部２２は、可能な入力記号列とその確率を列挙する。図４にまとめて記載したように、第２のコーパス（単語未分割）を利用した確率的言語モデルが構築されていることが、変換候補を選択するにあたっての新たな確率列挙に貢献している。
【００７４】
ステップ１２０（Ｓ１２０）において、λを設定する。
【００７５】
ステップ１２２（Ｓ１２２）において、言語復号部２２は、第１のコーパス（単語分割済み）３２０および第２のコーパス（単語未分割）３２２を、λ≠１とした上記式１にしたがって重み付けして参照する。
【００７６】
ステップ１２４（Ｓ１２４）において、言語復号部２２は、順次、出現確率が、最も高い単語列を、仮名漢字変換結果を示すテキストデータとして出力する。単語列/高橋是清/が確率0.001というかなり低い確率ではあっても、正しく更新され得ることに注目されたい。すなわち、入力記号列/takahashikorekiyo/は、未知語であるにもかかわらず、高橋是清という固有名詞に正しく変換できることになる。
【００７７】
図４にこれらの関係をまとめて示している。第１のコーパス（単語分割済み）だけでは、/高橋/と/これ/と/寄与/とがそれぞれ、0.010、0.030、0.020で出現するが、これらが候補となる確率は、これらの掛け算で、0.0006 という数値になる。これよりも、単語列/高橋是清/が確率0.001の方が大きい値をとるため、正しく変換されたわけである。
【００７８】
この理由は、第２のコーパス（単語未分割）に文字列「高橋是清」が出現していることと、入力記号列/takahashikorekiyo/が一定の確率0.001で「高橋是清」に対応することが文字単位の未知語モデルにより推定されるからである。確率0.001というかなり低い確率であっても更新されることがなければ、「高橋  これ  寄与」と高頻度の既知語の列として誤変換されてしまう。これは、「是/kore/」「清/kiyo/」が連続する例(bi-gram)が出現しないことによる。
【００７９】
＜実験1＞
適用文書の書き起こしにおいて提案手法を導入することの優位性を検証する．以下の図９に本実験で用いたコーパスの詳細を記す。
【００８０】
図１０に上記のコーパスを用いた8種類のモデルにおける比較実験の結果を示す．モデルCが提案手法である．テストは調書323文を用いた．ただし，テストと学習において同じように関連する文書が両方のコーパスに含まれることが無いようにした．
【００８１】
モデルAとモデルA'とモデルBの比較により，第１のコーパス（確率分割済み）を導入することによる精度の向上が確認できる．また，モデルBとモデルB'，モデルCとモデルC' ，モデルDとモデルD'の比較により， bi-gram 以上を計算可能なモデルであることの優位性が確認できる．更に等量の非分割コーパスを用いたモデルCとモデルDの比較により，提案手法が適用分野の非分割コーパスを効率的に用いていることも確認される．
【００８２】
＜実験2＞
単語分割の性能評価として、適合率(precision)，再現率(recall) まで求めた実験である。評価基準は、片仮名表記された仮名漢字変換結果と正解の最長共通部分列(LCS;longest common subsequence)の文字数に基づくものであり、第１のコーパス（単語分割済み）の表記に含まれる文字数をＮCとし、仮名漢字変換結果に含まれる文字数をＮSYSとし、これらの最長共通部分列の文字数をＮLCSとすると、再現率はＮLCS/ＮCと定義され、適合率はＮLCS/ＮSYSと定義される。
【００８３】
．本実験で用いるコーパスを図１１に示した．
【００８４】
実験で用いたモデルと結果を図１２に示す．テストはEDRコーパス509,261文字分で行った。
【００８５】
この実験により提案手法(モデルC)が適合率(precision)，再現率(recall)の両側面においてモデルA，モデルBより優位であることが確かめられた．
【００８６】
［変形例］
さらに、技術分野によって、第２のコーパス（単語未分割）を多く利用したり少なく利用したりしたい場合が生じるが、本発明に係る方法においては、第１のコーパス（単語分割済み）との線形補間時の重みの調整によって容易に制御できる。第２のコーパス（単語未分割）から推定された n-gram 確率は、人手により正確に単語に分割されたコーパスから推定された言語モデルほど正確ではないと考えた場合に基づく。
【図面の簡単な説明】
【００８７】
【図１】本発明にかかる仮名漢字変換装置の構成を例示する図である。
【図２】本発明に係る仮名漢字変換方法を実現する仮名漢字変換装置、仮名漢字変換プログラムの構成を示す図である。
【図３】図２に示した仮名漢字変換装置の詳細を示す図である。
【図４】確率的言語モデルの構築装置を示す図である。
【図５】文字列の単語としての期待頻度の計算処理を示すフローチャートである。
【図６】あるコーパスについて、ある文字種の次にある文字種が出現する場合にその間に単語境界が存在する確率を示す図である。
【図７】単語 n-gram 確率の計算処理を示すフローチャートである。
【図８】第１のコーパス（単語分割済み）と第２のコーパス（単語未分割）とをλによって重み調整することによる、図２に示した仮名漢字変換装置（言語復号部）の動作を示すフローチャートである。
【図９】適用文書の書き起こしにおいて提案手法を導入することの優位性を検証するために、本実験で用いたコーパスの詳細を記す図である。
【図１０】図９のコーパスを実験した結果を示す図である。
【図１１】単語分割の性能評価として、適合率(precision)，再現率(recall) まで求めることにしたコーパスの詳細を記す図である。
【図１２】図１１のモデルと結果を示す図である。
【符号の説明】
【００８８】
１・・・仮名漢字変換装置
１０・・・ＣＰＵ
１２・・・入力装置１２
１４・・・表示装置
１６・・・記憶装置
１８・・・記録媒体
２・・・仮名漢字変換プログラム
２２・・・言語復号部
３０・・・ベースフォームプール
３００・・・語彙辞書
３０２・・・文字単位辞書
３２・・・言語モデル
３２０・・・第１のコーパス（単語分割済み）
３２２・・・第２のコーパス（単語未分割）
【図１】
2006031295.tif 000008
【図２】
2006031295.tif 000009
【図３】
2006031295.tif 000010
【図４】
2006031295.tif 000011
【図５】
2006031295.tif 000012
【図６】
2006031295.tif 000013
【図７】
2006031295.tif 000014
【図８】
2006031295.tif 000015
【図９】
2006031295.tif 000016
【図１０】
2006031295.tif 000017
【図１１】
2006031295.tif 000018
【図１２】
2006031295.tif 000019