(57)【要約】【課題】予め作製した辞書データのみに頼らず、未知の単語、未知の読み方などが含まれていても、文字ごとの読みがなの割り当てを行なえる読みがな割当装置を提供する。【解決手段】対象文字列に含まれる文字と読みがなとの間の対応関係において未対応な箇所を、未対応解消部が解消する。未対応解消部は、（Ａ）対象文字列内の未対応箇所と読みがなの文字列内の未対応箇所との位置が一致する場合には、当該未対応箇所同士を対応付け、（Ｂ）読みがなの文字列内の未対応箇所の位置に一致する対象文字列内の未対応箇所がない場合には、対象文字列内の文字との対応関係の尤度が低い側に読みがなを移し、（Ｃ）対象文字列内の未対応箇所の位置に一致する前記読みがなの文字列内の未対応箇所がない場合には、前後のいずれか一方であって、読みがなの文字列内の文字との対応関係の尤度が低い側に対応付いている読みがなを、当該未対応箇所に対応付ける。【選択図】図１
2014164403.tif 000002
【特許請求の範囲】
【請求項１】
読みがなを付与する対象である対象文字列と、前記対象文字列に対応する読みがなの文字列と、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係の情報とを受け取り、前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報を参照することにより、前記対象文字列内で前記読みがなの文字列に対応付けられていない文字である未対応箇所と、前記読みがなの文字列内で前記対象文字列に対応付けられていない文字である未対応箇所とに関して、
（Ａ）前記対象文字列内の未対応箇所と前記読みがなの文字列内の未対応箇所との位置が一致する場合には、当該未対応箇所同士を相互に対応付けることによって未対応箇所を解消し、
（Ｂ）前記読みがなの文字列内の未対応箇所の位置に一致する前記対象文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該読みがなの文字列内の未対応箇所の文字を、当該未対応箇所の前の部分または後の部分のいずれか一方であって、対象文字列内の文字との対応関係の尤度が低い側に移すように対応付けることによって未対応箇所を解消し、
（Ｃ）前記対象文字列内の未対応箇所の位置に一致する前記読みがなの文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該対象文字列内の未対応箇所の前の部分または後ろの部分のいずれか一方であって、読みがなの文字列内の文字との対応関係の尤度が低い側に対応付いている読みがなの文字の一部を、当該未対応箇所に対応付けることによって未対応箇所を解消する、
処理を行なう未対応解消部、
を具備することを特徴とする読みがな割当装置。
【請求項２】
入力された前記対象文字列と入力された前記読みがなの文字列とを取得し、前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報を参照することにより、前記尤度に基づいて、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係を決定し、決定した前記対応関係の情報を前記未対応解消部に渡す組合せ抽出部、
をさらに具備することを特徴とする請求項１に記載の読みがな割当装置。
【請求項３】
前記対象文字列に含まれる文字と前記読みがなの文字列に含まれる文字との間の対応関係を決定する際の、決定済みの対応関係を有する箇所からの距離に応じて、前記距離が大きいほど大きな値となるペナルティー値を付与するペナルティー付与部、
をさらに具備し、
前記組合せ抽出部は、前記ペナルティー付与部によって付与された前記ペナルティー値を前記尤度から減じることによって、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係を決定する、
ことを特徴とする請求項２に記載の読みがな割当装置。
【請求項４】
コンピューターに、
読みがなを付与する対象である対象文字列と、前記対象文字列に対応する読みがなの文字列と、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係の情報とを受け取り、前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報を参照することにより、前記対象文字列内で前記読みがなの文字列に対応付けられていない文字である未対応箇所と、前記読みがなの文字列内で前記対象文字列に対応付けられていない文字である未対応箇所とに関して、
（Ａ）前記対象文字列内の未対応箇所と前記読みがなの文字列内の未対応箇所との位置が一致する場合には、当該未対応箇所同士を相互に対応付けることによって未対応箇所を解消し、
（Ｂ）前記読みがなの文字列内の未対応箇所の位置に一致する前記対象文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該読みがなの文字列内の未対応箇所の文字を、当該未対応箇所の前の部分または後の部分のいずれか一方であって、対象文字列内の文字との対応関係の尤度が低い側に移すように対応付けることによって未対応箇所を解消し、
（Ｃ）前記対象文字列内の未対応箇所の位置に一致する前記読みがなの文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該対象文字列内の未対応箇所の前の部分または後ろの部分のいずれか一方であって、読みがなの文字列内の文字との対応関係の尤度が低い側に対応付いている読みがなの文字の一部を、当該未対応箇所に対応付けることによって未対応箇所を解消する、
未対応解消部の処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単語等に文字単位で読みがなを割り当てるための読みがな割当装置およびそのコンピュータープログラムに関する。
【背景技術】
【０００２】
日本語の文書の処理において、単語等に読みがなを振ることが求められる場合がある。典型例としては、文書にルビ（ruby）を付与する処理や、単語（特に固有名詞）の手話への翻訳等の処理において、読みがなを付与することが必要となる。ルビは、グループルビとモノルビに大別される。グループルビは、単語単位に振られるルビである。一方、モノルビは、文字単位に振られるルビである。また、日本語の手話において、固有名詞は、漢字ごとの読みがなを用いて表わされる。したがって、例えば、自動的にモノルビを振ったり固有名詞の手話翻訳を行なったりする場合には、ルビを振る対象の文字列を構成する文字ごとの読みがなを自動的に割り当てることが必要となる。
【０００３】
従来の技術において、対象の文字列に含まれる文字ごとに読みがなを割り当てるためには、辞書方式が用いられていた。これは、各単語について、文字ごとの読みがなの割り当て方を格納した辞書データを予め準備し、その辞書データを参照することによって、与えられた単語への文字ごとの読みがなを割り当てる方法である。特許文献１には、辞書を参照することによってモノルビを自動的に付与する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２５６８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の辞書方式では、文字単位の読みがなを自動的に割り当てるためには、辞書を常に更新し続けなければならないという問題がある。これは、例えば従来には存在しなかった人名（given name）が新たに生まれるなど、固有名詞の数が日々増えているためである。文字単位での読みがなの割当を行うためにこれらの増え続ける固有名詞をすべて辞書に登録し続けることは困難であり、不経済である。
【０００６】
本発明は、上記のような事情を考慮して為されたものであり、予め作製した辞書データのみに頼らず、未知の単語、未知の読み方などが含まれていても、文字ごとの読みがなの割り当てを精度良く行うことのできる読みがな割当装置およびそのプログラムを提供するものである。
【課題を解決するための手段】
【０００７】
［１］上記の課題を解決するため、本発明の一態様による読みがな割当装置は、読みがなを付与する対象である対象文字列と、前記対象文字列に対応する読みがなの文字列と、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係の情報とを受け取り、前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報を参照することにより、前記対象文字列内で前記読みがなの文字列に対応付けられていない文字である未対応箇所と、前記読みがなの文字列内で前記対象文字列に対応付けられていない文字である未対応箇所とに関して、（Ａ）前記対象文字列内の未対応箇所と前記読みがなの文字列内の未対応箇所との位置が一致する場合には、当該未対応箇所同士を相互に対応付けることによって未対応箇所を解消し、（Ｂ）前記読みがなの文字列内の未対応箇所の位置に一致する前記対象文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該読みがなの文字列内の未対応箇所の文字を、当該未対応箇所の前の部分または後の部分のいずれか一方であって、対象文字列内の文字との対応関係の尤度が低い側に移すように対応付けることによって未対応箇所を解消し、（Ｃ）前記対象文字列内の未対応箇所の位置に一致する前記読みがなの文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該対象文字列内の未対応箇所の前の部分または後ろの部分のいずれか一方であって、読みがなの文字列内の文字との対応関係の尤度が低い側に対応付いている読みがなの文字の一部を、当該未対応箇所に対応付けることによって未対応箇所を解消する、処理を行なう未対応解消部、を具備する。
【０００８】
上記構成において「前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報」は、コーパス等に基づいて、対象文字列に含まれる文字と読みがなとの対応関係を予め学習しておくことによって得られる。そして、上記の未対応解消部の構成により、既知の読みがなとは完全にマッチしない未対応箇所についても、上記の尤度に基づいた解消を行なう。言い換えれば、未対応箇所の前後において、より高い尤度の対応関係が損なわれないように、読みがなの文字を移して、その未対応箇所を解消する。つまり、でたらめで適当な未対応箇所の解消ではなく、上記の尤度を反映させた尤もらしい解消を行なうことができる。
【０００９】
［２］また、本発明の一態様は、上記の読みがな割当装置において、入力された前記対象文字列と入力された前記読みがなの文字列とを取得し、前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報を参照することにより、前記尤度に基づいて、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係を決定し、決定した前記対応関係の情報を前記未対応解消部に渡す組合せ抽出部をさらに具備することを特徴とするものである。
【００１０】
［３］また、本発明の一態様は、上記の読みがな割当装置において、前記対象文字列に含まれる文字と前記読みがなの文字列に含まれる文字との間の対応関係を決定する際の、決定済みの対応関係を有する箇所からの距離に応じて、前記距離が大きいほど大きな値となるペナルティー値を付与するペナルティー付与部をさらに具備し、前記組合せ抽出部は、前記ペナルティー付与部によって付与された前記ペナルティー値を前記尤度から減じることによって、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係を決定することを特徴とするものである。
【００１１】
［４］また、本発明の一態様は、コンピューターに、読みがなを付与する対象である対象文字列と、前記対象文字列に対応する読みがなの文字列と、前記対象文字列に含まれる文字の少なくとも一部と前記読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係の情報とを受け取り、前記対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報を参照することにより、前記対象文字列内で前記読みがなの文字列に対応付けられていない文字である未対応箇所と、前記読みがなの文字列内で前記対象文字列に対応付けられていない文字である未対応箇所とに関して、（Ａ）前記対象文字列内の未対応箇所と前記読みがなの文字列内の未対応箇所との位置が一致する場合には、当該未対応箇所同士を相互に対応付けることによって未対応箇所を解消し、（Ｂ）前記読みがなの文字列内の未対応箇所の位置に一致する前記対象文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該読みがなの文字列内の未対応箇所の文字を、当該未対応箇所の前の部分または後の部分のいずれか一方であって、対象文字列内の文字との対応関係の尤度が低い側に移すように対応付けることによって未対応箇所を解消し、（Ｃ）前記対象文字列内の未対応箇所の位置に一致する前記読みがなの文字列内の未対応箇所がない場合には、前記尤度の情報に基づいて、当該対象文字列内の未対応箇所の前の部分または後ろの部分のいずれか一方であって、読みがなの文字列内の文字との対応関係の尤度が低い側に対応付いている読みがなの文字の一部を、当該未対応箇所に対応付けることによって未対応箇所を解消する、未対応解消部の処理を実行させるためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、未知の単語や未知の読み方が含まれていても、予め準備した辞書データに頼らずに、対象の文字列に含まれる文字（漢字等）ごとに、読みがなを自動的に割り当てることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態による読みがな割当装置の機能構成を示すブロック図である。
【図２】同実施形態による学習結果格納部３６が記憶するデータの構成を示す概略図である。
【図３】同実施形態による組合せ抽出部４０によって求められた、対象文字列と読みがなとの対応関係（パターンＡ）を示す概略図である。
【図４】同実施形態による組合せ抽出部４０によって求められた、対象文字列と読みがなとの対応関係（パターンＢ）を示す概略図である。
【図５】同実施形態による組合せ抽出部４０によって求められた、対象文字列と読みがなとの対応関係（パターンＣ）を示す概略図である。
【図６】同実施形態による同実施形態による組合せ抽出部４０によって求められた、対象文字列と読みがなとの対応関係（パターンＡ、Ｂ、Ｃのすべてが存在）を示す概略図である。
【図７】同実施形態による未対応解消部４２が未対応箇所を解消するための処理の手順を示すフローチャート（３図のうちの第１）である。
【図８】同実施形態による未対応解消部４２が未対応箇所を解消するための処理の手順を示すフローチャート（３図のうちの第２）である。
【図９】同実施形態による未対応解消部４２が未対応箇所を解消するための処理の手順を示すフローチャート（３図のうちの第３）である。
【図１０】同実施形態による未対応解消部４２による処理の対象となる、対象文字列と読みがなとの対応関係の一例（パターンＡ）を示す概略図である。
【図１１】同実施形態による未対応解消部４２による処理の対象となる、対象文字列と読みがなとの対応関係の一例（パターンＢ）を示す概略図である。
【図１２】同実施形態による未対応解消部４２による処理の対象となる、対象文字列と読みがなとの対応関係の一例（パターンＣ）を示す概略図である。
【図１３】本発明の第２の実施形態による読みがな割当装置の機能構成を示すブロック図である。
【図１４】本発明の第３の実施形態による読みがな割当装置および組合せ抽出装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
次に、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態による読みがな割当装置の機能構成を示すブロック図である。同図において、符号１は読みがな割当装置である。図示するように、読みがな割当装置１は、対象文字列入力部３１と、対象文字列分割部３２と、文字・読みがな対応推定部３３と、対訳コーパス格納部３４と、機械学習部３５と、学習結果格納部３６と、文字・読みがな対応候補格納部３７と、読みがな入力部３８と、読みがな格納部３９と、組合せ抽出部４０と、未対応位置検出部４１と、未対応解消部４２と、出力部４３とを含んで構成される。なお、これらの各部は、電子回路を用いて実現可能である。また、対訳コーパス格納部３４や学習結果格納部３６や文字・読みがな対応候補格納部３７や読みがな格納部３９は、半導体メモリや磁気ディスク装置等の情報記憶手段を用いて実現される。
【００１５】
対象文字列入力部３１は、読みがな付与の対象となる文字列（以下では「対象文字列」と呼ぶ）を取得する。対象文字列入力部３１は、利用者からのキーボード入力を受け付けたり、記憶媒体から読み取ったりなどといった手段により、外部から対象文字列を取得する。なお、対象文字列は、例えば固有名詞等の単語である。
対象文字列分割部３２は、対象文字列入力部３１が取得した対象文字列を、１つ１つの文字に分割する。
【００１６】
文字・読みがな対応推定部３３は、学習結果格納部３６を参照しながら、統計的翻訳手法を援用して、対象文字列分割部３２によって分割された個々の文字に対応する読みがなを推定する。学習結果格納部３６には、対象文字列に含まれ得る文字と、文字ごとの単数または複数の読みがなと、文字と読みがなの組合せに対応する尤度の数値とが記憶されている。学習結果格納部３６のデータの詳細およびその作成方法については、後述する。文字・読みがな対応推定部３３による推定処理の結果として、対象文字列に含まれる各文字の読みがなと、文字と読みがなとのそれぞれの組合せに対応する尤度値が、文字・読みがな対応候補格納部３７に書き込まれる。
【００１７】
対訳コーパス格納部３４は、文字とその読みがなとの関係を表わす大量の情報を保持している。この対訳コーパスは、現実に存在する様々な文書における文字とその読みがなとの対応関係を統計的に反映したものである。なお、例えば、処理対象の単語を地名のみに限定する場合には地名のみに基づくデータを対訳コーパス格納部３４に格納しても良い。また、処理対象を人名のみに限定する場合には人名のみに基づくデータを対訳コーパス格納部３４に格納しても良い。つまり、問題の領域に応じた対訳コーパスを用いるようにしても良い。
機械学習部３５は、対訳コーパス格納部３４に含まれているデータを読み出し、機械学習処理により、文字とその読みがなとの統計的関係を分析する。そして、機械学習部３５は、文字と、その文字に対応する読みがなと、文字と読みがなとの対応ついての尤度を算出し、その算出結果を学習結果格納部３６に書き込む。
学習結果格納部３６は、文字と、その文字に対応する読みがなと、文字と読みがなとの対応ついての尤度を記憶する。ここでの尤度は、ある文字を前提としたときの、その文字に対応するある読みがなの出現確率値の対数である。言い換えれば、学習結果格納部３６は、文字と、その文字の既知の読みがなと、その読み方がされる度合い（尤度）の情報を格納する。学習結果格納部３６の詳細については、後で図面を参照しながら詳述する。
【００１８】
文字・読みがな対応候補格納部３７は、対象文字列に含まれる個々の文字と、各文字に対応し得る読みがなと、文字と読みがなとの組合せに対応する尤度値のデータを記憶する。このデータは、前述の通り、文字・読みがな対応推定部３３によって書き込まれる。
読みがな入力部３８は、対象文字列入力部３１によって取得された対象文字列（単語等）に対応する読みがなの文字列を取得する。読みがな入力部３８が取得する読みがなは、対象文字列に対応する読みがなの全体であり、ひらがなやカタカナなどで表記され、分割されていない。例えば、対象文字列入力部３１が取得した対象文字列が「糸魚川」であるとき、読みがな入力部３８が取得する読みがなの文字列は「イトイガワ」である。なお、読みがな入力部３８は、利用者からのキーボード入力を受け付けたり、記憶媒体から読み取ったりなどといった手段で読みがなを取得する。対象文字列入力部３１によって取得された単語に基づいて、読みがな入力部３８が、例えばＭｅＣａｂ（Yet Another Part-of-Speech and Morphological Analyzer）等の形態素解析器から読みがなを取得したり、インターネットを介して辞典情報を提供するウェブサーバーから読みがなを取得するようにしたりしても良い。そして、読みがな入力部３８は、取得した読みがなを読みがな格納部３９に書き込む。
読みがな格納部３９は、読みがな入力部３８が取得した読みがなの文字列を記憶する。
【００１９】
組合せ抽出部４０は、文字・読みがな対応候補格納部３７と読みがな格納部３９とからデータを読み出し、対象文字列に含まれる各文字と、読みがなの文字列に含まれる文字との対応付けを試みる。このとき、組合せ抽出部４０は、文字・読みがな対応候補格納部３７に含まれる読みがなの候補と、読みがな格納部３９から読み出した読みがなとのマッチングを行なう。そして、組合せ抽出部４０は、文字・読みがな対応候補格納部３７から読み出した読みがなごとの尤度に基づいて、文字列全体での尤度が最大となるような組合せを導出する。なお、組合せ抽出部４０の処理のためには、例えば、ＤＰ（dynamic programming）マッチングの手法を用いる。ＤＰマッチング自体は、既存の技術である。組合せ抽出部によるマッチングの詳細については、後述する。
【００２０】
未対応位置検出部４１は、組合せ抽出部４０の処理の結果として、対象文字列と読みがなとの間で対応付けされていない箇所の位置を検出する。未対応位置検出部４１による処理の対象は、対象文字列と読みがなの両方である。前記の組合せ抽出部４０による処理の結果として、対象文字列の一部の文字が読みがなに対応付けされない状態で残っている可能性もある。また、読みがなの文字列のうちの一部の文字が対象文字列に対応付けされない状態で残っている可能性もある。このような未対応の部分を未対応箇所と呼ぶ。未対応箇所は、後の処理によって解消される。
【００２１】
未対応解消部４２は、組合せ抽出部４０によって出力された、対象文字列と読みがなとの間の対応関係のうち、未対応である箇所を解消する処理を行なう。つまり、未対応解消部４２は、対象文字列中において読みがなに対応付けられていない文字を読みがなに対応付けるように、対応関係を変更する処理を行なう。また、未対応解消部４２は、読みがなの文字列中の文字のうち対象文字列に対応付けられていない文字を対象文字列に対応付けるように、対応関係を変更する処理を行なう。このような解消のために未対応解消部４２は、予め定められたルールに基づく手順の処理を行なう。また、未対応解消部４２は、学習結果格納部３６のデータを読み出すことができるように構成されており、未対応箇所の解消のために、学習結果格納部３６に格納されている尤度のデータを利用する。
出力部４３は、未対応解消部４２によって未対応箇所が解消された後の、対象文字列と読みがなとの対応関係を出力する。
【００２２】
図２は、学習結果格納部３６が記憶するデータの構成を示す概略図である。図示するように、学習結果格納部３６が記憶するデータは、文字、読みがな、尤度の項目を含み、これらの項目の相互の関係を表わす。ここで、文字は、対象文字列に含まれる文字である。読みがなは、その文字に対応する読みがなである。１つの文字は、１種類または複数の読みがなに対応する。尤度は、ある文字に対して、所定の読みがなが対応する確からしさ（尤もらしさ）を表わす数値のデータである。なお、本実施形態における尤度は、文字と読みがなとの組合せに対する条件付確率の対数で表わされる（対数尤度）。その確率値は０以上且つ１以下である。したがって、尤度の値は、負数である。また、尤もらしさが高いほど、尤度の数値は大きい。図示するデータ例において、文字「酒」には、「サケ」と「サカ」という２種類の読みがなが対応する。そして、文字「酒」を前提としたときに、読みがなが「サケ」である尤度は「−３．２２」であり、読みがなが「サカ」である尤度は「−３．６９」である。同様に、文字「愛」に対応する読みがなは、「アイ」、「マナ」、「ア」の３種類であり、それらの尤度はそれぞれ、「−２．９９」、「−３．８２」、「−６．１３」である。つまり、学習結果格納部３６は、対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記の既知の読みがなごとの尤度の情報を保持する。なお、学習結果格納部３６は、例えばリレーショナルデータベースやオブジェクト指向データベースを用いて、データを格納する。
【００２３】
ここで、組合せ抽出部４０による、対象文字列と読みがなとの対応付けの詳細について説明する。既に述べたように、読みがなを振られる側の文字列を対象文字列と呼ぶ。対象文字列に含まれる文字の典型は漢字である。また読みがなに含まれる文字は、ひらがなや、カタカナや、ローマ字等の、表音文字によるものである。
【００２４】
以下の説明において、対象文字列をｃ（１）ｃ（２）・・・・・・ｃ（Ｌｃ）とする。また、読みがなの文字列をｄ（１）ｄ（２）・・・・・・ｄ（Ｌｄ）とする。ここで、Ｌｃは対象文字列の長さであり、Ｌｄは読みがなの文字列の長さである。ｃ（ｉ）は、対象文字列に含まれる第ｉ番目の文字である（１≦ｉ≦Ｌｃ）。また、ｄ（ｋ）は、読みがなの文字列に含まれる第ｋ番目の文字である（１≦ｋ≦Ｌｄ）。そして、組合せ抽出部４０は、例えばＤＰマッチングの手法を用いて、以下に述べる条件の制約下において、対象文字列と読みがなとの間の対応関係の尤度が最大になるような解を求める。なお、対数尤度を用いているため、文字列内の各部分における尤度値をすべて加算することにより、文字列全体の尤度が得られる。
【００２５】
その制約条件とは即ち、第１に、対象文字列と読みがなとの間で文字の順序が維持されることである。この第１の制約条件は、言い換えれば、対象文字列に含まれる文字ｃ（ｉ）が読みがなに含まれる文字ｄ（ｋ）に対応し、対象文字列に含まれる文字ｃ（ｊ）が読みがなに含まれる文字ｄ（ｈ）に対応するとき、ｉ＜ｊならばｋ＜ｈであるということである。また制約条件の第２は、対象文字列におけるある文字に対応付けられる読みがなの文字は連続することである。この第２の制約条件は、言い換えれば、対象文字列に含まれる文字ｃ（ｉ）が読みがなの文字ｄ（ｋ）およびｄ（ｋ＋ｍ−１）に対応付けられるとき（但し、ｍ≧２）、読みがなの文字ｄ（ｋ）ｄ（ｋ＋１）・・・ｄ（ｋ＋ｍ−１）のすべては上記の文字ｃ（ｉ）に対応付けられているということである。また、制約条件の第３は、読みがなの文字列内の任意の文字ｄ（ｋ）は、対象文字列内の最大で１個の文字に対応付けられる。一方で、対象文字列内の任意の文字ｃ（ｉ）は、読みがなの文字列内の１個または複数の文字に対応付けられ得る。
【００２６】
なお、前にも述べたとおり、組合せ抽出部４０による処理の結果の時点では、対象文字列内の一部の文字が読みがなに対応付けられていなくても良く、また、読みがなの文字列内の一部の文字が対象文字列に対応付けられていなくても良い。学習結果格納部３６から得られる読みがなと読みがな入力部３８が取得する読みがなとの間で不一致がある（マッチングができない）場合に、このような未対応箇所が生じる。
【００２７】
つまり、まとめると、組合せ抽出部４０は、入力された対象文字列と入力された読みがなの文字列とを取得し、対象文字列に含まれる文字についての既知の読みがなと当該文字に関する前記既知の読みがなごとの尤度の情報（この情報は、文字・読みがな対応候補格納部３７に格納されている。また、必要に応じて学習結果格納部３６からも得られる）を参照することにより、前記尤度に基づいて、対象文字列に含まれる文字の少なくとも一部と読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係を決定する。そして、組合せ抽出部４０は、決定した対応関係の情報を未対応解消部４２に渡す。
【００２８】
組合せ抽出部４０による処理の実例を簡単に説明する。入力される対象文字列が「愛菜美」で、入力される読みがなが「マナミ」のときの場合、学習結果格納部３６から読み出した対応関係に基づき、次の２通りのマッチングが可能である。その第１は、「愛」が「マナ」に対応し、「菜」に対応する読みがながなく、「美」が「ミ」に対応するパターンである。また、その第２は、「愛」に対応する読みがながなく、「菜」に「ナ」が対応し、「美」が「ミ」に対応するパターンである。この第２のパターンでは、読みがなの先頭の文字「マ」は、対象文字列の文字に対応しない。この２種類の対応関係のうち、組み合わせ抽出部は、両パターンそれぞれにおける文字列全体の尤度を算出し、尤度値が高いほうの第１のパターンをマッチング結果として出力する。
【００２９】
図３、図４、図５、図６のそれぞれは、組合せ抽出部４０によって求められた、対象文字列と読みがなとの対応関係を示す概略図である。これらの図においては、対象文字列に含まれる各文字を四角の記号で示し、読みがなに含まれる各文字を丸印の記号で示す。そして、対象文字列に含まれる文字と読みがなに含まれる文字との間で対応付くものを、線で結んで示す。これらの対応関係のそれぞれにおいては、対象文字列と読みがなとの間の未対応箇所が存在しており、未対応箇所のパターンが複数存在する。未対応箇所における文字には、線による結びつきが存在しない。図３、図４、図５に示す未対応箇所のパターンを便宜上、それぞれ、パターンＡ、Ｂ、Ｃと呼ぶ。また、図６が示す対応関係は、パターンＡ、Ｂ、およびＣをすべて含む例である。以下では、これら各図について個別に説明する。
【００３０】
図３は、対象文字列と読みがなとの対応関係が「パターンＡ」の未対応箇所を含む例を示す。同図において、対象文字列は４文字で構成され、読みがなは８文字で構成される。そして、対象文字列における第１の文字は、読みがなにおける第１および第２の文字に対応する。また、対象文字列における第２の文字は、読みがなにおける第３および第４の文字に対応する。対象文字列における第４の文字は、読みがなにおける第７および第８の文字に対応する。そして、対象文字列における第３の文字は未対応である。また、読みがなにおける第５および第６の文字は未対応である。このように、パターンＡでは、対象文字列と読みがなの両方において、未対応の文字が存在し、且つ未対応箇所の位置は一致する。未対応箇所の位置が一致するということは、対象文字列における未対応箇所の前の（図においては左の）部分と、読みがなにおける未対応箇所の前の（同じく左の）部分とが対応付いており、且つ、対象文字列における未対応箇所の後の（図においては右の）部分と、読みがなにおける未対応箇所の後の（同じく右の）部分とが対応付いている状態である。但し、未対応箇所の前に文字がない場合（つまり未対応箇所が文字列の先頭である場合）や、未対応箇所の後に文字がない場合（つまり未対応箇所が文字列の末尾である場合）には、それらの前または後は、対応付いているものとして良い。
【００３１】
図４は、対象文字列と読みがなとの対応関係が「パターンＢ」の未対応箇所を含む例を示す。同図において、対象文字列は３文字で構成され、読みがなは７文字で構成される。そして、対象文字列における第１の文字が読みがなにおける第１および第２の文字に対応する。また、対象文字列における第２の文字が読みがなにおける第３および第４の文字に対応する。また、対象文字列における第３の文字が読みがなにおける第６および第７の文字に対応する。そして、読みがなにおける第５の文字が未対応である。対象文字列の側には、未対応の文字が存在しない。このように、パターンＢでは、読みがなの側だけに未対応箇所が存在し、対象文字列の側には未対応箇所が存在しない。
【００３２】
図５は、対象文字列と読みがなとの対応関係が「パターンＣ」の未対応箇所を含む例を示す。同図において、対象文字列は４文字で構成され、読みがなは８文字で構成される。そして、対象文字列における第１の文字が読みがなにおける第１および第２の文字に対応する。また、対象文字列における第２の文字が読みがなにおける第３から第５までの文字に対応する。また、対象文字列における第４の文字が読みがなにおける第６から第８までの文字に対応する。そして、対象文字列における第３の文字が未対応である。読みがなの側には、未対応の文字が存在しない。このように、パターンＣでは、対象文字列の側だけに未対応箇所が存在し、読みがなの側には未対応箇所が存在しない。
【００３３】
図６は、一対の対象文字列と読みがなにおいて、複数の未対応箇所が存在する例を示す。この例は、パターンＡ，Ｂ，Ｃの３種類の未対応箇所を含んでいる。図示するように、この例では、対象文字列は６文字で構成され、読みがなは１１文字で構成される。両者間の対応関係は、結んだ線で示すとおりである。
［パターンＡ］そして、対象文字列における第２の文字が未対応箇所であり、また読みがなにおける第３および第４の文字が未対応箇所である。これらの未対応箇所は、前述した「パターンＡ」に該当する。つまり、これらの未対応箇所の前は、つまり対象文字列における第１の文字と読みがなにおける第１および第２の文字とは、相互に対応付けられている。また、これらの未対応箇所の後は、つまり対象文字列における第３の文字と読みがなにおける第５の文字とは、相互に対応付けられている。
［パターンＢ］また、読みがなの第６の文字は、対象文字列中の文字と対応付いていない未対応箇所である。この未対応箇所は、前述した「パターンＢ」に該当する。
［パターンＣ］また、対象文字列の第５の文字は、読みがな中の文字と対応付いていない未対応箇所である。この未対応箇所は、前述した「パターンＣ」に該当する。
【００３４】
図６に例示したように、一般に、組合せ抽出部４０の処理によって対象文字列と読みがなとの対応付けが行われた結果、対象文字列および読みがなのそれぞれにおいて任意の数（０である場合を含む）の未対応箇所が存在し得る。そして、それらの未対応箇所は、前述したパターンＡ，Ｂ，Ｃのいずれかに該当する。
【００３５】
次に、未対応箇所を解消するための処理の詳細について説明する。
図７、図８、図９は、未対応解消部４２による処理の手順を示すフローチャートである。図７と図８、および図７と図９は、それぞれ、フローチャートの結合子で接続されている。以下、このフローチャートに沿って説明する。
【００３６】
まずステップＳ１において、未対応解消部４２は、与えられた一対の対象文字列と読みがなに、未対応箇所があるか否かを判断する。そして、未対応箇所が１個以上あれば（ステップＳ１：ＹＥＳ）、次のステップＳ２に進む。未対応箇所がない場合（ステップＳ１：ＮＯ）には、ステップＳ１４に進む。
【００３７】
次にステップＳ２に進んだ場合、未対応解消部４２は、対象文字列と読みがなの両方に未対応箇所が存在するか否かを判断する。そして、両方に存在する場合（ステップＳ２：ＹＥＳ）には、次のステップＳ３に進む。両方には存在しない場合、つまり対象文字列と読みがなのいずれか一方のみに未対応箇所が存在する場合（ステップＳ２：ＮＯ）には、ステップＳ５に進む。
【００３８】
次にステップＳ３に進んだ場合、未対応解消部４２は、対象文字列と読みがなの両方に存在する未対応箇所のうちその場所が一致するものがあるか否かを判断する。未対応箇所の場所の一致とは、対象文字列における未対応箇所の前の部分と読みがなにおける未対応箇所の前の部分とが相互に対応付いており、且つ、対象文字列における未対応箇所の後の部分と読みがなにおける未対応箇所の後の部分とが相互に対応付いている状態を言う。なおこのとき、対象文字列における未対応箇所が先頭部分であり、且つ、読みがなにおける未対応箇所も先頭部分である場合には、前記の「前の部分」は相互に対応付いているものとみなす。また、対象文字列における未対応箇所が最後部分であり、且つ、読みがなにおける未対応箇所も最後部分である場合には、前記の「後の部分」は相互に対応付いているものとみなす。
【００３９】
対象文字列における未対応箇所の場所と読みがなにおける未対応箇所の場所が一致する場合（ステップＳ３：ＹＥＳ）には、次のステップＳ４に進む。対象文字列における未対応箇所と読みがなにおける未対応箇所との間で場所の一致するものがない場合（ステップＳ３：ＮＯ）には、ステップＳ５に進む。なお、対象文字列における未対応箇所と読みがなにおける未対応箇所との間で、場所が一致するものと一致しないものとがある場合には、場所が一致する対を解消するために、ステップＳ４に進む（ステップＳ３では、「ＹＥＳ」と判断する）。
【００４０】
次にステップＳ４に進んだ場合、未対応解消部４２は、対象文字列における未対応箇所と読みがなにおける未対応箇所（ステップＳ３において、その場所が一致すると判断した一対の未対応箇所）を相互に対応付ける。これにより、未対応解消部４２は、組合せ抽出部４０の処理では対応付かなかった部分を相互に対応付けることとなる。つまり、未対応解消部４２は、その未対応箇所を解消する。本ステップの処理が終了すると、他の未対応箇所があるか否かを判断するためにステップＳ１に戻る。
【００４１】
次にステップＳ５に進んだ場合（つまり、対象文字列側と読みがな側の両方で場所の一致する未対応箇所の対がなかった場合）、このステップにおいて未対応解消部４２は、対象文字列と読みがなの、どちらの未対応箇所を解消するかを決めるための判断を行なう。つまり、未対応解消部４２は、対象文字列の未対応箇所が余っているのか、読みがなの対象文字列が余っているのかを判定する。ここで、もし対象文字列と読みがなの両方の未対応箇所がある場合も、上述したステップＳ３の処理でそれらの未対応箇所は一致しないことが判定されている。したがって、対象文字列と読みがなの両方の未対応箇所がある場合には、それらのいずれかの未対応箇所について、本ステップにおける判定を行なう。そして、未対応箇所が対象文字列における未対応箇所である場合（ステップＳ５：ＹＥＳ）には、ステップＳ６に進む。また、未対応箇所が読みがなにおける未対応箇所である場合（ステップＳ５：ＮＯ）には、ステップＳ１０に進む。
【００４２】
ステップＳ１からステップＳ１４に進んだ場合、ステップＳ１４において、出力部４３が未対応箇所を解消した後の対象文字列と読みがなとの対応関係を出力する。
そして、ステップＳ１４の後、このフローチャート全体の処理を終了する。
【００４３】
図８のステップＳ６に進んだ場合、未対応解消部４２は、以下の処理によって対象文字列における未対応箇所を解消する。
【００４４】
まずステップＳ６において、未対応解消部４２は、対象文字列内の未対応箇所の前と後における、対象文字列と読みがなとの対応の尤度を比較する。そして、未対応箇所の前または後の対応付けのうち、その尤度が低い方の読みがなの文字の一部を当該未対応箇所に対応付けることを決定する。つまり、未対応箇所の前の対応付けの尤度の方が後のそれよりも低い場合には、その前の部分の読みがなの一部を、当該未対応箇所に新たに対応付けし直す。逆に、未対応箇所の後の対応付けの尤度の方が前のそれよりも低い場合には、その後の部分の読みがなの一部を、当該未対応箇所に新たに対応付けし直す。
【００４５】
つまり、未対応解消部４２は、尤度の低い方の読みがなを分割することによって新たな対応付けを行なう。尤度の低い方の対応付けにおいて、対象文字列側の文字（１文字）に対して、読みがなの文字が２文字の場合には、分割のしかたとしては、１文字ずつに分割する方法のみが可能である。読みがなの文字が３文字の場合には、前の１文字と後の２文字に分割するか、前の２文字と後の１文字に分割するかの、２通りの分割のしかたが可能である。読みがなの文字が４文字の場合、前の１文字と後の３文字に分割するか、２文字ずつに分割するか、前の３文字と後の１文字に分割するかの、３通りの分割のしかたが可能である。読みがなの文字が５文字以上の場合も同様である。即ち、対象文字列側の文字（１文字）に対して、ｎ文字（ｎ＞１）の読みがなが対応付いている場合、（ｎ−１）通りの分割のしかたが可能である。そして、未対応解消部４２は、新たな対応付けを行う際、上記のようなすべての分割のしかたを新たな対応付けのための候補とする。なお、対象文字列側の文字（１文字）に対して読みがなも１文字が対応している場合には、未対応解消部４２は、これを分割して未対応箇所に割り当て直すことはできない。そのために、未対応解消部４２は、次のステップＳ７の判定を行なう。
【００４６】
ステップＳ７において、未対応解消部４２は、上で特定した、尤度が低い方（前の部分または後ろの部分）の対応付けの読みがなの文字数が２文字以上であるか否かを判定する。そして、２文字以上である場合（ステップＳ７：ＹＥＳ）には、次のステップＳ８に進む。また、２文字以上でない場合（ステップＳ７：ＮＯ）には、ステップＳ９に進む。
【００４７】
次にステップＳ８に進んだ場合、未対応解消部４２は、対象文字列側の未対応箇所への新たな読みがなの対応付けが、既知の対応であるか否かを判断する。ここで、既知の対応であるか否かを判断するためには、未対応解消部４２は、前述の学習結果格納部３６にアクセスし、学習結果格納部３６にその対応関係が存在しているか否かを判定する。そしてこのとき、未対応解消部４２は、元の読みがなのすべての分割のしかたについて、本ステップにおける判定を行なう。未対応箇所への新たな対応付け（複数の対応付けの候補がある場合にはそのいずれか）が既知であった場合、つまり、学習結果格納部３６に格納されている対応付けであった場合（ステップＳ８：ＹＥＳ）には、その対応付けを採用する。これにより、未対応解消部４２は、組合せ抽出部４０の処理では対応付かなかった対象文字列側の未対応箇所を解消する。そして、他の未対応箇所があるか否かを判断するためにステップＳ１（図７）に戻る。逆に、未対応箇所への新たな対応付け（複数の対応付けの候補がある場合にはそのいずれも）が既知ではなかった場合、つまり、学習結果格納部３６に格納されていない対応付けであった場合（ステップＳ８：ＮＯ）には、ステップＳ９に進む。
【００４８】
ステップＳ９に進んだ場合、つまり、ステップＳ７あるいはステップＳ８のいずれかで「ＮＯ」と判定されたには、未対応解消部４２は、当該未対応箇所への読みがなの対応付けを中止する。つまり、対象文字列側の未対応箇所の文字のみに読みがなを付与するのではなく、当該未対応箇所の文字と、ステップＳ６で判定した対応付け尤度が低い側の文字（対象文字列中の文字）とを併せたものに対して、読みがなを付与する。そして、本ステップの処理が終了すると、他の未対応箇所があるか否かを判断するためにステップＳ１（図７）に戻る。
【００４９】
図９のステップＳ１０に進んだ場合、未対応解消部４２は、以下の処理によって読みがなにおける未対応箇所を解消する。
【００５０】
まずステップＳ１０において、未対応解消部４２は、読みがな内の未対応箇所の前と後における、対象文字列と読みがなとの対応の尤度を比較する。そして、未対応箇所の前または後の対応付けのうち、その尤度が低い方の読みがなに、当該未対応箇所の余っている読みがなの文字を１文字追加し、これを新たな対応付けとする。つまり、未対応箇所の前の対応付けの尤度の方が後のそれよりも低い場合には、当該未対応箇所の読みがなのうちの最前の１文字を、その前の部分の読みがなに付加する。逆に、未対応箇所の後の対応付けの尤度の方が前のそれよりも低い場合には、当該未対応箇所の読みがなのうちの最後の１文字を、その後の部分の読みがなに付加する。
【００５１】
次にステップＳ１１において、未対応解消部４２は、ステップＳ１０において１文字除去した後の未対応箇所の読みがなが、まだ残っているか否かを判定する。未対応箇所の読みがながまだ残っている場合（ステップＳ１１：ＹＥＳ）には、次のステップＳ１２に進む。未対応箇所の読みがながもう残っていない場合（ステップＳ１１：ＮＯ）には、次の未対応を解消するためにステップＳ１（図７）に戻る。
【００５２】
次にステップＳ１２に進んだ場合、直近におけるステップＳ１０の処理の結果として得られた新たな対応付け（つまり、未対応箇所の前または後の部分において得られた新たな対応付け）が、既知の対応関係であるか否かを判定する。ここでも、新たな対応関係が既知の対応であるか否かを判断するためには、未対応解消部４２は、前述のステップＳ８と同様に、学習結果格納部３６にその対応関係が存在しているか否かを判定する。そして、新たな対応関係が既知の対応であった場合(ステップＳ１２：ＹＥＳ）には、あらためて未対応箇所の前後のいずれのほうが対応付けの尤度が低いかを判定しなおすために、ステップＳ１０に進む。逆に、新たな対応関係が既知の対応ではなかった場合（ステップＳ１２：ＮＯ）には、直近における尤度の判定結果を維持したままさらに読みがなを割り当てなおすために、ステップＳ１３へ進む。
【００５３】
次にステップＳ１３に進んだ場合には、未対応解消部４２は、未対応箇所の前または後のうちの、直近で読みがなの文字を追加した側（即ち、直近のステップＳ１０での尤度判定において尤度が低かった側）の文字に、未対応の読みがなをさらに１文字追加する。そして、本ステップの処理が終了すると、ステップＳ１１に進み、前述の処理を繰り返す。
【００５４】
ステップＳ１０からＳ１３までの処理を整理すると次の通りである。ステップＳ１１における判断により、未対応箇所において残っている読みがなの文字がなくなるまで、未対応解消部４２は、解消する処理を繰り返して行なう。また、ステップＳ１２：ＹＥＳの場合には、直近において読みがなに１文字を追加したことにより既知の対応関係が得られているため、ステップＳ１０に戻ることによりあらためて未対応箇所の前後における尤度の比較を行なう。つまり、次の読みがなの文字の追加は、その尤度の比較の結果に基づいて、尤度の低い側に対して行なう。一方で、ステップＳ１２：ＮＯの場合には、直近における読みがなの１文字の追加によって既知の対応関係が得られていないため、新たな尤度比較を行なわずに、前回の尤度比較の結果に基づいて、次の読みがなの文字の追加を行なう。
【００５５】
以上の未対応解消部４２による処理をまとめると、対象文字列内の未対応箇所と読みがなの文字列内の未対応箇所との位置が一致する場合（つまり、「パターンＡ」の未対応箇所）には、当該未対応箇所同士を相互に対応付けることによって未対応箇所を解消する。また、読みがなの文字列内の未対応箇所の位置に一致する対象文字列内の未対応箇所がない場合（つまり、「パターンＢ」の未対応箇所）には、学習結果格納部３６から得られる尤度の情報に基づいて、当該読みがなの文字列内の未対応箇所の文字を、当該未対応箇所の前の部分または後の部分のいずれか一方であって、対象文字列内の文字との対応関係の尤度が低い側に移すように対応付けることによって未対応箇所を解消する。また、対象文字列内の未対応箇所の位置に一致する読みがなの文字列内の未対応箇所がない場合（つまり、「パターンＣ」の未対応箇所）には、学習結果格納部３６から得られる尤度の情報に基づいて、当該対象文字列内の未対応箇所の前の部分または後ろの部分のいずれか一方であって、読みがなの文字列内の文字との対応関係の尤度が低い側に対応付いている読みがなの文字の一部を、当該未対応箇所に対応付けることによって未対応箇所を解消する。
【００５６】
「パターンＢ」について言い換えれば、対象文字列と読みがなとの間で、読みがなの側が余るパターンの未対応箇所では、未対応解消部４２は、より尤度の高い対応付けが損なわれない方に、余っている読みがなの文字を移すことによってその未対応箇所を解消する。「パターンＣ」について言い換えれば、対象文字列と読みがなとの間で、読みがなの側の文字ガ不足するパターンの未対応箇所では、未対応解消部４２は、より尤度の高い対応付けが損なわれない方に、対象文字列内の前後の文字から読みがなを移してくることによってその未対応箇所を解消する。
【００５７】
次に、未対応箇所を解消する処理の実例について説明する。
図１０は、前述した「パターンＡ」の一例を示す。本例では、対象文字列が「糸魚川」（地名）であり、入力された読みがなが「イトイガワ」である。なお、対象文字列における「糸」という文字に対応し得る読みがな候補は「イト」でありその尤度は「−３．７７」である。また、対象文字列における「魚」という文字に対応し得る読みがな候補は、「ウオ」（尤度：−４．６２）と、「ギョ」（尤度：−４．８９）と、「ナ」（尤度：-６．４２）である。また、対象文字列における「川」という文字に対応し得る読みがな候補は、「カワ」（尤度：-１．６５）と、「ガワ」（尤度：-３．５６）と、「ワ」（尤度：−４．６１）である。
【００５８】
そして、組合せ抽出部４０による両者の対応付けの結果、「糸」と「イト」が対応し、「川」と「ガワ」が対応している。対象文字列における「魚」と、読みがなにおける「イ」が、未対応箇所である。そして、「魚」の前の「糸」と「イ」の前の「イト」が対応付いており、「魚」の後の「川」と「イ」の後の「ガワ」が対応付いているので、この例は「パターンＡ」に該当する。つまり、図７のステップＳ３においては、未対応解消部４２は、未対応箇所が一致しているという判断をする。したがって、本例に関して、未対応解消部４２は、図７のステップＳ４で説明したとおり、未対応箇所である「魚」と「イ」とを相互に関連付ける。つまり、未対応箇所が解消された後の読みがなの割当は、「糸」に対して「イト」、「魚」に対して「イ」、「川」に対して「ガワ」となる。出力部４３は、この読みがな割当結果を出力する。出力部４３は、一例として、「（（糸，イト），（魚，イ），（川，ガワ））」という形式のデータを出力する。
【００５９】
図１１は、前述した「パターンＢ」の一例を示す。本例では、対象文字列が「眞子」（苗字）であり、入力された読みがなが「マナコ」である。なお、対象文字列における「眞」という文字に対応し得る読みがな候補は、「マサ」（尤度：−３．５３）と、「マ」（尤度：−４．１８）と、「シン」（尤度：−５．２９）である。また、対象文字列における「子」という文字に対応し得る読みがな候補は、「コ」（尤度：−２．５３）と、「ウコ」（尤度：−３．９２）と、「シ」（尤度：−５．６４）である。
【００６０】
そして、組合せ抽出部４０による両者の対応付けの結果、「眞」と「マ」が対応し、「子」と「コ」が対応している。読みがなにおける「ナ」が、未対応箇所である。対象文字列における未対応箇所はない。したがって、この例は「パターンＢ」に該当する。つまり、図７のステップＳ５においては、未対応解消部４２は、未対応箇所で余っているのは読みがなであるという判断をする。したがって、本例に関して、未対応解消部４２は、図９のステップＳ１０〜Ｓ１１に示した処理を実行する。そして、未対応箇所である「ナ」の前後の文字（読みがな側）について、「マ」−「眞」の対応に関する尤度は「−４．１８」であり、「コ」−「子」の対応に関する尤度は「−２．５３」である。したがって、この両者のうち、尤度が低いほうの文字「眞」に、未対応箇所の読みがな文字「ナ」を追加して対応付ける。本例では、読みがなの未対応箇所の文字は１文字だけであるため、図７のステップＳ１１における判断結果は「ＮＯ」となり、未対応解消部４２による処理は終了する。つまり、未対応箇所が解消された後の読みがなの割当は、「眞」に対して「マナ」、「子」に対して「コ」となる。出力部４３は、この読みがな割当結果を出力する。出力部４３は、一例として、「（（眞，マナ），（子，コ））」という形式のデータを出力する。
【００６１】
図１２は、前述した「パターンＣ」の一例を示す。本例では、対象文字列が「愛菜美」（人の名前、given name）であり、入力された読みがなが「マナミ」である。なお、対象文字列における「愛」という文字に対応し得る読みがな候補は、「アイ」（尤度：−２．９９）と、「マナ」（尤度：−３．８２）と、「ア」（尤度：−６．１３）である。また、対象文字列における「菜」という文字に対応し得る読みがな候補は、「ナ」（尤度：−３．９１）と、「サイ」（尤度：−５．０３）と、「イナ」（尤度：−６．００）である。また、対象文字列における「美」に対応し得る読みがな候補は、「ミ」（尤度：−２．１３）である。
【００６２】
そして、組合せ抽出部４０による両者の対応付けの結果、「愛」と「マナ」が対応し、「美」と「ミ」が対応している。対象文字列における「菜」が未対応箇所である。読みがなにおける未対応箇所はない。したがって、この例は「パターンＣ」に該当する。つまり、図７のステップＳ５においては、未対応解消部４２は、未対応箇所で余っているのは対象文字列であるという判断をする。したがって、本例に関して、未対応解消部４２は、図８のステップＳ６およびその後の処理を実行する。そして、未対応箇所である「菜」の前後の文字（対象文字列側）について、「マナ」−「愛」の対応に関する尤度は「−３．８２」であり、「ミ」−「美」の対応に関する尤度は「−２．１３」である。したがって、この両者のうち、尤度が低いほうの読みがな「マナ」のうちの後側の「ナ」を、未対応箇所の文字「菜」に対応付ける（図７のステップＳ６）。この尤度が低い方の読みがな「マナ」は２文字以上であるため、図７のステップＳ７の判断結果は「ＹＥＳ」である。また、未対応箇所への新たな対応付けである「ナ」−「菜」は既知の対応であるため、つまり学習結果格納部３６に格納されている対応関係であるため、図７のステップＳ８の判断結果も「ＹＥＳ」である。このように、未対応解消部４２による処理は終了する。つまり、未対応箇所が解消された後の読みがなの割当は、「愛」に対して「マ」、「菜」に対して「ナ」、そして「美」に対して「ミ」となる。出力部４３は、この読みがな割当結果を出力する。出力部４３は、一例として、「（（愛，マ），（菜，ナ），（美，ミ））」という形式のデータを出力する。
【００６３】
このように、本実施形態によれば、対象文字列に含まれる文字ごとに読みがなを割り当てることができる。また、対訳コーパス等から取得した既知の読み方に対応しない読み方が含まれていても、即ち組合せ抽出部４０による対応付けの段階では未対応箇所が存在していても、未対応解消部４２の処理により、それらの未対応箇所を解消することができる。
【００６４】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。なお、前述の実施形態と同様の機能ブロックについては同じ符号を付すとともに説明を省略する。以下では、本実施形態に特有の事項を中心に説明する。
【００６５】
図１３は、第２の実施形態による読みがな割当装置の機能構成を示すブロック図である。図示するように、この読みがな割当装置２は、ペナルティー付与部５１を備えている点が、前実施形態の構成と異なる部分である。そして、前実施形態における組合せ抽出部４０に代わって、本実施形態の組合せ抽出部５０はペナルティー付与部５１によって付与されたペナルティーを加味しながら、対象文字列と読みがなとの対応付けを行なう。前実施形態と同様に、組合せ抽出部５０は、例えばＤＰマッチングの手法を用いる。
【００６６】
本実施形態におけるペナルティーの付与とその利用について説明する。ペナルティー付与部５１は、組合せ抽出部５０が対象文字列と読みがなとの間の対応付けを行う際に、読みがなの文字列に関して、直前において対応付けられている文字からの距離に応じたペナルティーを付与する。ここで、距離は、読みがなの文字数によるものである。距離がｇのとき、ペナルティー付与部５１が付与するペナルティーの値ｐは、下の式（１）通りである。
【００６７】
ｐ＝（ｇ−１）×α  ・・・  （１）
【００６８】
ここで、αは、適宜決定すべき係数である。予備実験を行った結果、αの値として適している数値のひとつは、０．５である。そして、組合せ抽出部５０は、対象文字列と読みがなとの間のマッチングを行なう際に、読みがなの文字列に含まれる各文字の尤度に、上記のペナルティーｐを減じて処理を行なう。
【００６９】
ここで、ペナルティーを適用する処理の実例を説明する。本例では、入力される対象文字列は「吉田美」（人名）、入力される読みがなは「ヨシダタダシ」である。そして、学習結果格納部３６には、次のデータが格納されている。即ち、文字「吉」に対応する読みがな「ヨシ」の尤度は「−２．０４」である。また、文字「田」に対応する読みがな「タ」の尤度は「−３．３９」である。また、文字「田」に対応する読みがな「ダ」の尤度は「−３．６７」である。組合せ抽出部５０の処理により、「吉」と「ヨシ」が対応付けられたとき、ペナルティー付与部５１は、読みがなにおける「ヨシ」よりも後の各文字に対してペナルティーを付与する。つまり、読みがなの第２文字目の「シ」までが直前に対応付けられている。したがって、この「シ」と読みがなの第３文字目の「ダ」との間の距離ｇは１である。また、前記「シ」と読みがなの第４文字目の「タ」との間の距離ｇは２である。よって、この状況において式（１）による計算の結果、読みがなの第３文字目の「ダ」に付与されるペナルティーｐは０である。また、読みがなの第４文字目の「タ」に付与されるペナルティーはｐは０．５である。
【００７０】
そして、組合せ抽出部５０は、文字「田」と読みがなとのマッチングを図るときに、ペナルティー付与部５１によって付与された上記のペナルティーを用いる。つまり、文字「田」と読みがなの第３文字目の「ダ」と対応については、学習結果格納部３６から読み出される尤度が「−３．６７」からペナルティー値「０」を減じて、「−３．６７」というスコアを用いる。また、文字「田」と読みがなの第４文字目の「タ」と対応については、学習結果格納部３６から読み出される尤度が「−３．３９」からペナルティー値「０．５」を減じて、「−３．８９」というスコアを用いる。したがって、これらのペナルティー適用後の尤度を用いて、組合せ抽出部５０は、文字「田」を、第４文字目の「タ」ではなく、第３文字目の「ダ」に対応させる結果を出力する。つまり、ペナルティー付与部５１が付与したペナルティーの作用により、第３文字目の「ダ」と第４文字目の「タ」の尤度が逆転した。
【００７１】
つまり、本実施形態では、直前のマッチング状況に応じて、ペナルティー付与部５１が、読みがなに含まれる各文字にペナルティー値を付与する。具体的には、ペナルティー付与部５１は、対象文字列に含まれる文字と読みがなの文字列に含まれる文字との間の対応関係を決定する際の、決定済みの対応関係を有する箇所からの距離に応じて、その距離が大きいほど大きな値となるペナルティー値を付与する。そして、前記組合せ抽出部５０は、ペナルティー付与部５１によって付与されたペナルティー値を前記尤度から減じることによって、対象文字列に含まれる文字の少なくとも一部と読みがなの文字列に含まれる文字の少なくとも一部との間の対応関係を決定する。これにより、読みがな割当装置２は、精度の高い割り当てを行なうことができる。
【００７２】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。なお、前述の実施形態と同様の機能ブロックについては同じ符号を付すとともに説明を省略する。以下では、本実施形態に特有の事項を中心に説明する。
【００７３】
図１４は、第３の実施形態による読みがな割当装置および組合せ抽出装置の機能構成を示すブロック図である。図示するように、本実施形態による読みがな割当装置３は、未対応解消部５２と出力部４３を含んで構成される。そして、組合せ抽出装置４は、第１の実施形態における読みがな割当装置１が備えていた機能のうちの、対象文字列入力部３１と、対象文字列分割部３２と、文字・読みがな対応推定部３３と、対訳コーパス格納部３４と、機械学習部３５と、学習結果格納部３６と、文字・読みがな対応候補格納部３７と、読みがな入力部３８と、読みがな格納部３９と、組合せ抽出部４０と、未対応位置検出部４１とを備える。
【００７４】
本実施形態の読みがな割当装置３において、未対応解消部５２は、前述の実施形態における未対応解消部４２と同様の機能を備えている。しかしながら、未対応解消部５２は、対象文字列と読みがなとの間の対応関係（ＤＰマッチング等によるマッチングの結果）を装置の外部から取得する。この点が、未対応解消部５２が未対応解消部４２と異なる点である。組合せ抽出装置４は、前述の実施形態での説明と同様の方法により、対象文字列と読みがなとの対応関係を出力し、また未対応箇所の位置を検出する。未対応解消部５２は、組合せ抽出装置４の組合せ抽出部４０から、対象文字列と読みがなとの対応関係、および未対応箇所の位置の情報を受け取る。その情報を元に、未対応解消部５２は、未対応箇所を解消する処理を行なう。出力部４３は、未対応解消部５２によって解消済みの対応関係を外部に出力する。
【００７５】
［第３の実施形態の変形例］
第３の実施形態の第１の変形例として、図１４に示した組合せ抽出装置４が、第２の実施形態で説明したペナルティー付与部５１の機能を備えるようにしても良い。このとき、組合せ抽出部４０は、第２の実施形態で説明した方法と同様に、ペナルティー付与部５１によって付与されたペナルティーを適用して、即ち尤度からペナルティー値を減じながら、対象文字列と読みがなとの間の対応関係を決定する。
【００７６】
また、第３の実施形態の第２の変形例として、図１４に示した組合せ抽出装置４の代わりに、組合せ抽出部４０によって出力されたデータを記憶する記憶装置を設けるようにしても良い。この記憶装置は、磁気ディスク装置や半導体メモリ等を備えることにより前記データを記憶する。そして、未対応解消部５２は、この記憶装置から読み出した対象も実と読みがなの文字列とその両者間の対応関係、および必要に応じて未対応箇所の位置に関する情報を元に、前述の通り、未対応箇所を解消する処理を行なう。
【００７７】
なお、上述した実施形態における読みがな割当装置や組合せ抽出装置が有する機能をコンピューターで実現するようにしても良い。その場合、これらの機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７８】
以上、この発明の実施形態およびその変形例について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００７９】
本発明は、言語処理、文書処理に利用可能である。例えば、文書に含まれる単語（固有名詞等）に対してモノルビを付与するために利用可能である。また、例えば、文字ごと（漢字ごと）にその読み方を利用して翻訳をする場合の翻訳処理（例えば、固有名詞の手話への翻訳など）にも利用可能である。また、主に日本語の初級者向けにニュース等のテキストにモノルビを振ってネットワークを介して配信するサービス等にも利用可能である。
【符号の説明】
【００８０】
１，２，３  読みがな割当装置
４  組合せ抽出装置
３１  対象文字列入力部
３２  対象文字列分割部
３３  文字・読みがな対応推定部
３４  対訳コーパス格納部
３５  機械学習部
３６  学習結果格納部
３７  文字・読みがな対応候補格納部
３８  読みがな入力部
３９  読みがな格納部
４０，５０  組合せ抽出部
４１  未対応位置検出部
４２，５２  未対応解消部
４３  出力部
５１  ペナルティー付与部
【図１】
2014164403.tif 000003
【図２】
2014164403.tif 000004
【図３】
2014164403.tif 000005
【図４】
2014164403.tif 000006
【図５】
2014164403.tif 000007
【図６】
2014164403.tif 000008
【図７】
2014164403.tif 000009
【図８】
2014164403.tif 000010
【図９】
2014164403.tif 000011
【図１０】
2014164403.tif 000012
【図１１】
2014164403.tif 000013
【図１２】
2014164403.tif 000014
【図１３】
2014164403.tif 000015
【図１４】
2014164403.tif 000016