(57)【特許請求の範囲】
【請求項１】
原言語で記述された入力文字列を受け付ける受付部と、
前記入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、
各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、
前記翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、
前記スコアに基づいて選択した前記単語候補列を出力する出力部と
を備え、
前記算出部が、前記翻訳言語のコーパスにおける単語ユニグラムの出現確率と該コーパスにおける単語バイグラムの出現確率とを、前記翻字された単語候補列内の各単語候補について求め、これら二種類の出現確率に基づいて該単語候補列の前記スコアを求める、
単語分割装置。
【請求項２】
前記算出部が、前記単語候補列内の各単語候補について前記二種類の出現確率の対数の和を求め、該出現確率の対数の和を合計することで該単語候補列の前記スコアを求める、
請求項１に記載の単語分割装置。
【請求項３】
前記出力部が、前記スコアが最も高い前記単語候補列を出力する、
請求項１または２に記載の単語分割装置。
【請求項４】
前記翻字部が、翻字ペアを記憶するトレーニング・コーパスを参照して翻字処理を実行し、
前記出力部が、前記選択した単語候補列から得られる前記翻字ペアを前記トレーニング・コーパスに登録する、
請求項１〜３のいずれか一項に記載の単語分割装置。
【請求項５】
単語分割装置により実行される単語分割方法であって、
原言語で記述された入力文字列を受け付ける受付ステップと、
前記入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割ステップと、
各単語候補列内の各単語候補を翻訳言語に翻字する翻字ステップと、
前記翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出ステップと、
前記スコアに基づいて選択した前記単語候補列を出力する出力ステップと
を含み、
前記算出ステップでは、前記翻訳言語のコーパスにおける単語ユニグラムの出現確率と該コーパスにおける単語バイグラムの出現確率とを、前記翻字された単語候補列内の各単語候補について求め、これら二種類の出現確率に基づいて該単語候補列の前記スコアを求める、
単語分割方法。
【請求項６】
原言語で記述された入力文字列を受け付ける受付部と、
前記入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、
各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、
前記翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、
前記スコアに基づいて選択した前記単語候補列を出力する出力部と
としてコンピュータを機能させ、
前記算出部が、前記翻訳言語のコーパスにおける単語ユニグラムの出現確率と該コーパスにおける単語バイグラムの出現確率とを、前記翻字された単語候補列内の各単語候補について求め、これら二種類の出現確率に基づいて該単語候補列の前記スコアを求める、
単語分割プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、単語分割装置、単語分割方法、及び単語分割プログラムに関する。
【背景技術】
【０００２】
日本語や中国語などの分かち書きされない言語において、単語分割は重要な処理の一つである。単語分割の結果は、検索処理のためのインデックスの付与や、自動翻訳などの各種の応用に用いられるので、正確な単語分割が望まれる。【０００３】
一例として、英語の「ｓｃｏｒｃｈｅｄ  ｒｅｄ」に相当する日本語の「スコーチドレッド（ｓｕｋｏ−ｃｈｉｄｏｒｅｄｄｏ）」は、その意味からして「スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）」と「レッド（ｒｅｄｄｏ）」とに分かれるのが正解である。しかし、これが「スコーチ（ｓｕｋｏ−ｃｈｉ）」と「ドレッド（ｄｏｒｅｄｄｏ）」とに単語分割されてしまうと、「スコーチドレッド（ｓｕｋｏ−ｃｈｉｄｏｒｅｄｄｏ）」を含む文書がキーワード「レッド（ｒｅｄｄｏ）」では検索されずキーワード「ドレッド（ｄｏｒｅｄｄｏ）」により検索されてしまうという不都合が生じる。【０００４】
このように正確な単語分割が望まれるのであるが、これが困難な場合がある。一例として、日本語表現において片仮名のみで表現された複合語（例えば、他の言語から翻字された複合語）は空白や中点などで区切られないことが多いので、このような語をコンピュータが正確に分割するのは難しい。【０００５】
この単語分割に関して、下記非特許文献１には、単語単位での原言語と翻字との対応関係を示す翻字対が明記されたテキストからその翻字対を自動抽出することで単語対応付き翻字対を得て、この単語対応付き翻字対を用いて単語分割を実行する技術が記載されている。この手法では、例えば“ジャンクフード（ｊｕｎｋ  ｆｏｏｄ）”（“ｊａｎｋｕｆｕ−ｄｏ（ｊｕｎｋ  ｆｏｏｄ）”）という括弧表現を用いて記載されている翻字対がテキストから抽出されて、“ジャンクフード（ｊａｎｋｕｆｕ−ｄｏ）”という日本語表現が“ジャンク（ｊａｎｋｕ）”と“フード（ｆｕ−ｄｏ）”という二つの日本語の単語に分割される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Kaji,N. and Kitsuregawa, M., "Splitting noun compounds via monolingual and bilingualparaphrasing: A study on japanese katakana words," Proceedings of the 2011Conference on Empirical Methods in Natural Language Processing, 2011, pages 959-969.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記非特許文献１に記載の手法は、原語とその翻字とが併記されたテキストの存在を前提としているので、どのテキストにも翻字対が明記されていないような文字列の分割に対応できず、したがってその活用の場面が限られる。そこで、翻字対がテキスト内に明記されていなくても様々な複合語を単語分割することが要請されている。
【課題を解決するための手段】
【０００８】
本発明の一側面に係る単語分割装置は、原言語で記述された入力文字列を受け付ける受付部と、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、スコアに基づいて選択した単語候補列を出力する出力部とを備える。
【０００９】
本発明の一側面に係る単語分割方法は、単語分割装置により実行される単語分割方法であって、原言語で記述された入力文字列を受け付ける受付ステップと、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割ステップと、各単語候補列内の各単語候補を翻訳言語に翻字する翻字ステップと、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出ステップと、スコアに基づいて選択した単語候補列を出力する出力ステップとを含む。
【００１０】
本発明の一側面に係る単語分割プログラムは、原言語で記述された入力文字列を受け付ける受付部と、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、スコアに基づいて選択した単語候補列を出力する出力部としてコンピュータを機能させる。
【００１１】
このような側面によれば、複数種類の単語候補列のそれぞれが翻字され、その翻字に用いたものと同じ言語のコーパスを参照して各単語候補列のスコアが算出される。そして、そのスコアに基づいて選択された単語候補列が出力される。このように、様々な翻字パターンを生成し、これらのパターンをコーパスと比較して尤もらしい単語連続を得ることで、翻字対がテキスト内に明記されていなくても様々な複合語を単語分割することができる。【００１２】
別の側面に係る単語分割装置では、算出部が、翻訳言語のコーパスにおける単語ユニグラムの出現確率と該コーパスにおける単語バイグラムの出現確率とを、翻字された単語候補列内の各単語候補について求め、これら二種類の出現確率に基づいて該単語候補列のスコアを求めてもよい。単語ユニグラム及び単語バイグラムの双方の出現確率に基づいてスコアを求めることで、一般に用いられている蓋然性が高い単語連続を得ることが可能になる。
【００１３】
さらに別の側面に係る単語分割装置では、算出部が、単語候補列内の各単語候補について二種類の出現確率の対数の和を求め、該出現確率の対数の和を合計することで該単語候補列のスコアを求めてもよい。この場合には、単語ユニグラム及び単語バイグラムの出現確率の対数を加算するという簡単な計算によりスコアを得ることができる。
【００１４】
さらに別の側面に係る単語分割装置では、出力部が、スコアが最も高い単語候補列を出力してもよい。この場合には、いちばん適切と考えられる単語連続を得ることが期待できる。
さらに別の側面に係る単語分割装置では、分割部が、直前での分割が行われない禁止文字のリストを参照して、該禁止文字以外の文字の前でのみ入力文字列を分割してもよい。この場合には、原言語の構造上有り得ない単語の生成を、単語候補を生成する段階で回避できるので、生成される単語候補列の個数を少なくすることができる。その結果、その後の翻字処理及びスコア算出処理に掛かる時間を短縮することができる。
【００１６】
さらに別の側面に係る単語分割装置では、翻字部が、翻字ペアを記憶するトレーニング・コーパスを参照して翻字処理を実行し、出力部が、選択した単語候補列から得られる翻字ペアをトレーニング・コーパスに登録してもよい。この場合には、今回の単語分割で得られた結果（知識）を次回以降の処理で用いることができるので、将来の翻字処理あるいは単語分割処理における精度の向上が期待できる。
【発明の効果】
【００１７】
本発明の一側面によれば、翻字対の情報に依存することなく様々な複合語を単語分割することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係る単語分割の概念を示す図である。
【図２】実施形態に係る単語分割装置のハードウェア構成を示す図である。
【図３】実施形態に係る単語分割装置の機能構成を示すブロック図である。
【図４】ラティス構造の例を示す図である。
【図５】実施形態に係る単語分割装置の処理を示すフローチャートである。
【図６】図５におけるスコア算出処理の詳細を示すフローチャートである。
【図７】実施形態に係る単語分割プログラムの構成を示す図である。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２０】
図１〜４を用いて、実施形態に係る単語分割装置１０の機能及び構成を説明する。単語分割装置１０は、分かち書きを用いない日本語（原言語）で記述された入力文字列を、分かち書きを用いる英語（翻訳言語）への翻字処理と英語コーパスとを用いて、一又は複数の単語に分割するコンピュータである。一例として、単語分割装置１０は、文を形態素解析している途中に、その文に存在し且つ辞書に登録されていない複合語（未知語）を適切に分割するために用いることができる。処理対象の複合語の一例として、片仮名のみで表記され且つ中点などの区切り記号が付けられていない外来語が挙げられる。もちろん、この装置の利用場面はこれらに限定されるものではなく、ひらがなのみ又は漢字のみで表された複合語の解析に単語分割装置１０が用いられてもよい。
【００２１】
本実施形態における単語分割の概念を図１に示す。この図では、片仮名で表記された複合語“スコーチドレッド（ｓｕｋｏ−ｃｈｉｄｏｒｅｄｄｏ）”を単語分割する例が示されている。なお、この複合語は英語の“ｓｃｏｒｃｈｅｄ  ｒｅｄ”に相当する。
【００２２】
まず、単語分割装置１０はこの複合語を様々なパターンに分割する（ステップＳ１）。単語分割装置１０はその複合語を様々な位置で且つ任意の個数に分割することで、複数種類の単語候補列を取得する。図１では複合語を二つの単語候補に分ける三つの例と、その複合語を三つの単語候補に分ける一つの例と、複合語を分けない例とが示されているが、当然ながら分割パターンはこれらに限定されない。例えば、複合語が他の分割パターンに従って二つ又は三つに分けられる場合もあるし、四つ以上の部分に分けられる場合もあるし、一文字ずつ分けられる場合もある。
【００２３】
続いて、単語分割装置１０は単語候補を翻字する処理をすべての単語候補列に対して実行する（ステップＳ２）。本実施形態では、単語分割装置１０は日本語から英語への翻字を所定のルールに従って実行する。ここで、発音や表現は二言語間で１対１の対応関係を有するとは限らないので、一つの単語候補列において翻字の組合せが複数生成される場合がある。図１の例では、日本語の“レッド（ｒｅｄｄｏ）”が英語の“ｒｅｄ”、“ｒｅａｄ”、“ｌｅｄ”に翻字されている。上記ステップＳ１における分割は英語の辞書を用いることなく機械的に実行されるので、英単語としては実際には存在しない綴りで単語候補が翻字される場合があり得る。
【００２４】
続いて、単語分割装置１０はコーパスを参照して、各単語候補列の尤もらしさを示すスコアを求め、そのスコアが最も高い単語候補列を単語分割の最終的な結果として出力する（ステップＳ３）。この処理において、単語分割装置１０は少なくとも、翻字された各単語候補列のスコアを英語コーパス（すなわち、翻字で用いたものと同じ言語のコーパス）を参照して計算する。図１の例では、単語分割装置１０は、英語の観点からすると“ｓｃｏｒｃｈｅｄ  ｒｅｄ”という表現が他の表現よりも尤もらしいと判定して、入力文字列を最終的に“スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）”と“レッド（ｒｅｄｄｏ）”とに分割している。
【００２５】
尤もらしい単語連続を得る処理は下記式（１）で示される。
ｙ＊＝ａｒｇｍａｘｙ∈Ｙ（ｘ）ｗ・φ（ｙ）  …（１）
【００２６】
ここで、ｘは入力文字列を示し、Ｙ（ｘ）はそのｘから導かれ得るすべての単語候補列を示している。ｗはトレーニング・コーパス（ｔｒａｉｎｉｎｇ  ｃｏｒｐｕｓ）から学習することで得られる重みのベクトルである。φ（ｙ）は素性（ｆｅａｔｕｒｅ）のベクトルである。この式（１）は、ａｒｇｍａｘの中身を最大化する素性φ（ｙ）が得られる単語候補列ｙが、尤もらしい単語連続である、ということを示している。
【００２７】
素性とは単語分割において考慮される属性であって、どのような情報を素性として取り扱うかは任意に決めることができる。本実施形態では、素性φ（ｙ）は、単語候補列ｙのスコアと言い換えることができ、以下では最終的に得られる素性φ（ｙ）を「スコアφ（ｙ）」という。スコアφ（ｙ）は次式（２）で定義される。
φ（ｙ）＝Σｉ［φ１（ｗｉ）＋φ２（ｗｉ−１，ｗｉ）］  …（２）
【００２８】
ここでｙ＝ｗ１…ｗｎであり、これはｙがｎ個の単語（ｗ１，…，ｗｎ）の連続であることを示している。φ１（ｗｉ）は単語ｗｉについてのユニグラムの素性であり、φ２（ｗｉ−１，ｗｉ）は連続する二つの単語ｗｉ−１，ｗｉについてのバイグラムの素性である。したがって、本実施形態におけるスコアφ（ｙ）は、ある一つの単語ｗｉ自体の尤もらしさと、一つ前の単語ｗｉ−１及び単語ｗｉの並びの尤もらしさとの双方を考慮して得られる指数である。したがって、単に最も出現回数が多い翻字に対応する分割結果が得られるとは限らない。二種類の素性φ１，φ２の具体的な定義は後述する。
【００２９】
上記式（２）から明らかなように、スコアφ（ｙ）は二種類の素性を加算するという単純な計算で得ることができる。ただし、式（２）は一例に過ぎない。二つの素性φ１，φ２に対して加算以外の演算を用いて、あるいは加算とそれ以外の演算との組み合わせにより、スコアφ（ｙ）を求めてもよい。
【００３０】
図２を用いて、単語分割装置１０のハードウェア構成を説明する。この図に示すように、単語分割装置１０は、オペレーティングシステムやアプリケーション・プログラムなどを実行するＣＰＵ１０１と、ＲＯＭ及びＲＡＭで構成される主記憶部１０２と、ハードディスクなどで構成される補助記憶部１０３と、ネットワークカードなどで構成される通信制御部１０４と、キーボードやマウスなどの入力装置１０５と、ディスプレイなどの出力装置１０６とを備えている。
【００３１】
後述する単語分割装置１０の各機能的構成要素は、ＣＰＵ１０１又は主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４や入力装置１０５、出力装置１０６などを動作させ、主記憶部１０２又は補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部１０２又は補助記憶部１０３内に格納される。なお、図２では単語分割装置１０が１台のコンピュータで構成されているように示しているが、単語分割装置１０の機能を複数台のコンピュータに分散させてもよい。
【００３２】
図３に示すように、単語分割装置１０は機能的構成要素として受付部１１、分割部１２、翻字部１３、算出部１４、及び出力部１５を備えている。
【００３３】
受付部１１は、日本語で記述された文字列の入力を受け付ける機能要素である。より具体的には、受付部１１は、スペースや中点などの区切り記号を含まず且つ一種類の表音文字のみ（すなわち片仮名のみ又は平仮名のみ）により表記された入力文字列を受け付ける。受付部は入力文字列を分割部１２に出力する。
【００３４】
例えば、受付部１１は「スコーチドレッド（ｓｕｋｏ−ｃｈｉｄｏｒｅｄｄｏ）」（英語の“ｓｃｏｒｃｈｅｄ  ｒｅｄ”に相当）や「オンラインショッピングモール（ｏｎｒａｉｎｓｈｏｐｐｉｎｇｕｍｏ−ｒｕ）」（英語の“ｏｎｌｉｎｅ  ｓｈｏｐｐｉｎｇ  ｍａｌｌ”に相当）などの文字列を受け付ける。
【００３５】
受付部１１が入力文字列を受け付けるタイミングは限定されない。例えば、受付部１１は、自然言語処理装置（図示せず）が文を形態素解析している途中に又はした後に、その文に含まれている文字列を受け付けてもよい。あるいは、受付部１１は形態素解析とは全く独立して入力文字列を受け付けてもよい。入力文字列の例として、既存の辞書データベースに登録されていない未知語が挙げられるが、既に何らかの辞書に登録されている語を単語分割装置１０が処理することも有り得る。
【００３６】
分割部１２は、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する機能要素である。分割部１２は取得した複数種類の単語候補列を翻字部１３に出力する。
【００３７】
分割部１２はすべての分割パターンに従って入力文字列を分割してもよい。説明を簡単にするために４文字の語が入力された場合を説明する。個々の文字をｃｎとしてその語を｛ｃ１ｃ２ｃ３ｃ４｝と表すとすれば、分割部１２は下記８種類の単語候補列を得る。なお、記号「｜」は区切り位置を示す。下記のリストのうち最初の単語候補列は、入力文字列の全体がそのまま一つの単語候補として扱われることを示す。
【００３８】
ｃ１ｃ２ｃ３ｃ４
ｃ１｜ｃ２ｃ３ｃ４
ｃ１ｃ２｜ｃ３ｃ４
ｃ１ｃ２ｃ３｜ｃ４
ｃ１｜ｃ２｜ｃ３ｃ４
ｃ１｜ｃ２ｃ３｜ｃ４
ｃ１ｃ２｜ｃ３｜ｃ４
ｃ１｜ｃ２｜ｃ３｜ｃ４
【００３９】
これら８種類の分割パターンを示すラティス（ｌａｔｔｉｃｅ）構造を図４に示す。この図におけるＢＯＳは文の始まりを示し、ＥＯＳはその終わりを示す。このラティス構造において、各単語候補はノードＮで表され、単語間のつながりはエッジ（ｅｄｇｅ）Ｅで表される。
【００４０】
分割部１２は、単語の開始として取り得ない文字（本明細書では「禁止文字」という）の前の分割を避けるように単語候補列を生成してもよい。例えば、日本語の入力文字列に対して、分割部１２は単語候補が拗音、促音、長音、又は「ン（ｎ）」から始まらないように単語候補列を生成してもよい。例えば長音及び促音が禁止文字として予め登録されていれば、分割部１２は「スコーチドレッド（ｓｕｋｏ−ｃｈｉｄｏｒｅｄｄｏ）」を「スコ（ｓｕｋｏ）」と「ーチドレッド（−ｃｈｉｄｏｒｅｄｄｏ）」とに分割しないし、「スコーチドレ（ｓｕｋｏ−ｃｈｉｄｏｒｅ）」と「ッド（ｄｄｏ）」とにも分割しない。
【００４１】
この処理を行う場合には、分割部１２は禁止文字のリストを予め内部に記憶しており、分割処理時にこのリストを参照することで、禁止文字の直前での分割を省略する。日本語として存在しないことが明らかである単語候補の生成をこの分割処理の時点で排除することで、図１におけるステップＳ２，Ｓ３に相当する処理（すなわち、翻字及びスコア算出）に掛かる時間を短縮することができる。
【００４２】
翻字部１３は、各単語候補列内の一以上の単語候補を英語に翻字する機能要素である。翻字部１３は各単語候補列の翻字結果を算出部１４に出力する。
【００４３】
翻字部１３は、任意の既存の手法（翻字ルール）を用いて日本語から英語への翻字を実行してよい。本実施形態では、あくまでもその手法の一例として、ジョイント・ソース・チャネル・モデル（Ｊｏｉｎｔ  ｓｏｕｒｃｅ  Ｃｈａｎｎｅｌ  Ｍｏｄｅｌ：ＪＳＣモデル）について以下に述べる。
【００４４】
入力される文字列をｓとし、翻字結果をｔとする。また、日本語から英語への書換操作の単位（翻字単位）をｕｉ＝＜ｓｉ，ｔｉ＞とする。翻字単位とは、入力文字列と出力文字列（翻字）とのペア（以下では「翻字ペア」ともいう）の最小単位のことである。例えば、入力文字列「スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）」と翻字結果「ｓｃｏｒｃｈｅｄ」とのペア「スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）／ｓｃｏｒｃｈｅｄ」は下記４個の翻字単位で構成されてもよい。
【００４５】
「ス（ｓｕ）／ｓ」
「コー（ｋｏ−）／ｃｏｒ」
「チ（ｃｈｉ）／ｃｈ」
「ド（ｄｏ）／ｅｄ」
【００４６】
これを前提として、ＪＳＣモデルでは、翻字単位のｎグラム（ｎ−ｇｒａｍ）確率を用いて、入力文字列に関する翻字確率ＰＪＳＣ（＜ｓ，ｔ＞）を下記式（３）により計算する。
【数１】
0005646792.tif 000002
【００４７】
ここで、変数ｆは、入力ｓ及び翻字ｔのペアにおける翻字単位の個数である。翻字単位のｎグラム確率Ｐ（ｕｉ｜ｕｉ−ｎ＋１，…，ｕｉ−１）は、大量の翻字ペアから成るトレーニング・コーパス（図示せず）を用いて求めるが、入力と翻字との対応に関する注釈はそのコーパス中に存在しない。そこで、ｎグラム確率ＰはＥＭアルゴリズムに似た下記手順により算出される。なお、そのトレーニング・コーパスはデータベースとして実装されていてもよいし、キャッシュ・メモリ上に展開されていてもよい。
【００４８】
まず初期アラインメント（ａｌｉｇｎｍｅｎｔ）をランダムに設定する。アラインメントとは、入力文字列と出力文字列（翻字）との対応のことである。続いて、現在のアラインメントを用いて翻字ｎグラム統計を求め、翻字モデルを更新する（Ｅステップ）。続いて、更新された翻字モデルを用いてアラインメントを更新する（Ｍステップ）。これらのＥステップ及びＭステップを、収束するまで繰り返す。
【００４９】
上記式（３）は、複数の翻字単位確率が互いに独立であると仮定した上で、翻字ペアの確率を当該翻字単位確率の積で定義した場合に、翻字確率ＰＪＳＣ（＜ｓ，ｔ＞）が最大になる分割ｕ１…ｕｆを見つける問題に相当する。この翻字確率の対数である−ｌｏｇＰＪＳＣ（＜ｓ，ｔ＞）を文字列ｓから文字列ｔへの書換操作のコストとみなすと、この問題は書換コストの合計の最小値を求める問題と等価である。よって、この問題は、通常の編集距離と同様に動的計画法により解くことができる。
【００５０】
入力ｓに対する翻字ｔを出力するために、確率の高い翻字候補をスタック・デコーダ（ｓｔａｃｋ  ｄｅｃｏｄｅｒ）を用いて生成してもよい。具体的には、入力文字列が一文字ずつデコーダに与えられ、リデュース（ｒｅｄｕｃｅ）操作及びシフト（ｓｈｉｆｔ）操作により翻字される。ｒｅｄｕｃｅ操作では、翻字単位の表を参照しながら、確率の高い上位Ｒ個の翻字単位が生成及び確定される。ｓｈｉｆｔ操作では、翻字単位は確定せずにそのまま残される。各文字が入力された後に各候補の翻字確率が計算され、確率の高い上位Ｂ個の候補のみが残される。値Ｒ，Ｂは任意に設定可能であるが、例えばＲ＝１６，Ｂ＝６４としてもよい。スタックデコーダを用いて生成された翻字候補は上記のＪＳＣモデルで利用される。
【００５１】
本実施形態では、尤もらしい翻字を得るために、あるいは４文字以上の翻字単位がそれより短い翻字単位の組み合わせで実現できることから、翻字単位内における入力文字列の文字数及び翻字の文字数を共に３以下に制限している。
【００５２】
算出部１４は、コーパス２０を参照して各単語候補列のスコアを求める機能要素である。算出部１４は少なくとも、翻字で用いたものと同じ言語で記述された文のコーパス、すなわち英語コーパス２１を用いる。加えて、本実施形態では、算出部１４は大量の和文を記憶する日本語コーパス２２も用いる。日本語コーパス２２内には、スペースや中点などで区切られた語句（例えば“スコーチド・レッド（ｓｕｋｏ−ｃｈｉｄｏ・ｒｅｄｄｏ）”）が存在し得、算出部１４はこのような区切り文字付のテキストも手掛かりとして下記手順（第２の処理）によりスコアを求める。
【００５３】
なお、コーパス２０の設置場所は限定されない。例えば単語分割装置１０とコーパス２０とがインターネットなどの通信ネットワークにより接続されていれば、算出部１４はそのネットワークを経由してコーパス２０にアクセスする。あるいは、単語分割装置１０自体がコーパス２０を備えていてもよい。英語コーパス２１及び日本語コーパス２２は別々の記憶装置に設けられていてもよいし、一つの記憶装置内に集められていてもよい。
【００５４】
算出部１４は各単語候補列について、下記第１及び第２の処理を実行して二つのスコアφ（ｙ）を求める。
【００５５】
第１の処理として、算出部１４は英語コーパス２１と翻字された単語候補列とを用いて単語候補列のスコア（式（２）におけるφ（ｙ））を求める。したがって、この処理で得られる値は第１のスコアである。
【００５６】
まず、算出部１４は単語候補列内の各単語候補について英語ユニグラムに関する素性φ１ＬＭＰと英語バイグラムに関する素性φ２ＬＭＰとを求める。素性φ１ＬＭＰは図４の各ノードＮに関する値であるといえるし、素性φ２ＬＭＰは同図の各エッジＥに関する値であるといえる。ユニグラムの素性は下記式（４）で得られ、バイグラムの素性は下記式（５）で得られる。
【数２】
0005646792.tif 000003
【数３】
0005646792.tif 000004
【００５７】
ＮＥは英語コーパス２１における単語ユニグラム（１単語）又は単語バイグラム（連続する２単語）の出現回数である。例えば、ＮＥ（“ｓｃｏｒｃｈｅｄ”）は英語コーパス２１における単語“ｓｃｏｒｃｈｅｄ”の出現回数を示し、ＮＥ（“ｓｃｏｒｃｈｅｄ”，“ｒｅｄ”）は英語コーパスにおける単語候補列“ｓｃｏｒｃｈｅｄ  ｒｅｄ”の出現回数を示す。
【００５８】
式（４）において、ＮＥ（ｗｉ）は特定の単語ｗｉの出現回数を示し、ΣＮＥ（ｗ）は任意の単語の出現回数を示す。したがって、ｐ（ｗｉ）は英語コーパス２１中に単語ｗｉが出現する確率を示す。式（５）において、ＮＥ（ｗｉ−１，ｗｉ）は連続する二つの単語ｗｉ−１，ｗｉの出現回数を示し、ΣＮＥ（ｗ´，ｗ）は連続する任意の２単語の出現回数を示す。したがって、ｐ（ｗｉ−１，ｗｉ）は連続する２単語（ｗｉ−１，ｗｉ）が英語コーパス２１中に出現する確率を示す。式（４），（５）から明らかなように、二つの素性φ１ＬＭＰ，φ２ＬＭＰは出現確率の対数である。
【００５９】
続いて、算出部１４は二つの素性φ１ＬＭＰ，φ２ＬＭＰを上記式（２）に代入することで、英語でのスコア（第１のスコア）φＬＭＰを算出する。なお、入力文字列を分割せずにそれ全体を一つの単語候補として扱う単語候補列に関しては、算出部１４は素性φ１ＬＭＰのみを算出し、φ２ＬＭＰを常に０に設定する。
【００６０】
第２の処理として、算出部１４は日本語コーパス２２と翻字前の単語候補列とを用いて単語候補列のスコア（式（２）におけるφ（ｙ））を求める。したがって、この処理で得られる値は第２のスコアである。
【００６１】
まず、算出部１４は単語候補列内の各単語候補について日本語ユニグラムに関する素性φ１ＬＭＳと日本語バイグラムに関する素性φ２ＬＭＳとを求める。素性φ１ＬＭＳは図４の各ノードＮに関する値であるといえるし、素性φ２ＬＭＳは同図の各エッジＥに関する値であるといえる。ユニグラムの素性は下記式（６）で得られ、バイグラムの素性は下記式（７）で得られる。
【数４】
0005646792.tif 000005
【数５】
0005646792.tif 000006
【００６２】
ＮＳは日本語コーパス２２における単語ユニグラム（１単語）又は単語バイグラム（連続する２単語）の出現回数である。例えば、ＮＳ（“スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）”）は日本語コーパス２２における単語“スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）”の出現回数を示し、ＮＳ（“スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）”，“レッド（ｒｅｄｄｏ）”）は、日本語コーパス２２内の、区切り文字を含む単語候補列（例えば、“スコーチド・レッド（ｓｕｋｏ−ｃｈｉｄｏ・ｒｅｄｄｏ）”）の出現回数を示す。
【００６３】
式（６）において、ＮＳ（ｗｉ）は特定の単語ｗｉの出現回数を示し、ΣＮＳ（ｗ）は任意の単語の出現回数を示す。したがって、ｐ（ｗｉ）は日本語コーパス２２中に単語ｗｉが出現する確率を示す。式（７）において、ＮＳ（ｗｉ−１，ｗｉ）は連続する二つの単語ｗｉ−１，ｗｉの出現回数を示し、ΣＮＳ（ｗ´，ｗ）は連続する任意の２単語の出現回数を示す。したがって、ｐ（ｗｉ−１，ｗｉ）は連続する２単語（ｗｉ−１，ｗｉ）が日本語コーパス２２中に出現する確率を示す。式（６），（７）から明らかなように、二つの素性φ１ＬＭＳ，φ２ＬＭＳは出現確率の対数である。
【００６４】
続いて、算出部１４は二つの素性φ１ＬＭＳ，φ２ＬＭＳを上記式（２）に代入することで、日本語でのスコア（第２のスコア）φＬＭＳを算出する。なお、入力文字列を分割せずにそれ全体を一つの単語候補として扱う単語候補列に関しては、算出部１４は素性φ１ＬＭＳのみを算出し、φ２ＬＭＳを常に０に設定する。
【００６５】
算出部１４はすべての単語候補列について二つのスコアφＬＭＰ，φＬＭＳを求めると、これらの結果を出力部１５に出力する。
【００６６】
出力部１５は、算出されたスコアに基づいて一の単語候補列を選択し、その単語候補列を入力文字列の分割結果として出力する機能要素である。
【００６７】
まず、出力部１５は複数のスコアφＬＭＰを０から１の範囲で正規化するとともに、複数のスコアφＬＭＳを同様に正規化する。続いて、出力部１５は各単語候補列の正規化された二つのスコアに基づいて、最終的な分割結果（すなわち、尤もらしい単語連続）として出力する一つの単語候補列を選択する。
【００６８】
この決定方法は一つに限定されない。例えば、出力部１５は英語でのスコアφＬＭＰが最も高い単語候補列を選択し、このような単語候補列が複数存在する場合には、日本語に関するφＬＭＳが最も高い単語候補列をその中から選択して出力してもよい。あるいは、出力部１５は二つのスコアφＬＭＰ，φＬＭＳの和が最も大きい単語候補列を選択してもよく、この際には、φＬＭＰに重みｗｐを乗じた値と、φＬＭＳに重みｗｓを乗じた値とを足してもよい。本発明の一側面として、分かち書きを用いない原言語の知識だけでは難しい単語分割において、分かち書きを用いる翻訳言語の知識を用いるという技術的思想がある。そこで、重みを用いる場合には、出力部１５は重みｗｐを重みｗｓよりも大きく設定することで英語でのスコアを重視してもよい。
【００６９】
このように様々な決定方法が考えられるが、いずれにしても、上記二種類のスコアを用いることで尤もらしい単語連続（言い換えれば、いちばん適切と考えられる単語連続）を得ることができる。
【００７０】
分割結果の出力先も限定されない。例えば、出力部１５はその結果をモニタに表示してもよいしプリンタを介して印刷してもよい。あるいは、出力部１５はその結果を所定の記憶装置に格納してもよい。例えば、出力部１５は、分割結果から翻字ペアを生成して、翻字部１３で用いられるトレーニング・コーパスにその翻字ペアを格納してもよい。この場合には、単語分割装置１０で得られた新たな翻字ペアが、次回以降の単語分割処理で利用され得る。その結果、次回以降の翻字処理あるいは単語分割処理の精度を上げることが可能になる。
【００７１】
例えば、入力文字列“スコーチドレッド（ｓｕｋｏ−ｃｈｉｄｏｒｅｄｄｏ）”から、分割結果｛“スコーチド（ｓｕｋｏ−ｃｈｉｄｏ）”＋レッド（ｒｅｄｄｏ）”｝とこれに対応する翻字｛“ｓｃｏｒｃｈｅｄ”＋“ｒｅｄ”｝とが得られたとする。この場合には、出力部１５は二つの翻字ペア＜スコーチド（ｓｕｋｏ−ｃｈｉｄｏ），ｓｃｏｒｃｈｅｄ＞及び＜レッド（ｒｅｄｄｏ），ｒｅｄ＞を生成し、これらのペアを翻字ペアのトレーニング・コーパスに登録する。
【００７２】
なお、スコアの正規化及び単語候補列の選択は出力部１５ではなく算出部１４により行われてもよい。いずれにしても、単語分割装置１０は尤もらしい単語連続を出力する。
【００７３】
次に、図５，６を用いて、単語分割装置１０の動作を説明するとともに本実施形態に係る単語分割方法について説明する。
【００７４】
まず、受付部１１が日本語の入力文字列の入力を受け付ける（ステップＳ１１、受付ステップ）。続いて、分割部１２が複数の分割パターンを用いて、その入力文字列から複数種類の単語候補列を生成する（ステップＳ１２、分割ステップ）。続いて、続いて、翻字部１３が、各単語候補列について英語への翻字を実行する（ステップＳ１３、翻字ステップ）。
【００７５】
続いて、算出部１４が、各単語候補列についてスコアを算出する（ステップＳ１４、算出ステップ）。この処理を図６を用いてより詳細に説明する。
【００７６】
算出部１４は最初の単語候補列に対して（ステップＳ１４１を参照）、各単語候補についての英語ユニグラム及び英語バイグラムに関する素性を求め（ステップＳ１４２）、これらの素性を用いて、その単語候補列について英語でのスコアを求める（ステップＳ１４３）。一つの単語候補列について複数の翻字パターンが存在する場合には、算出部１４はそのすべての翻字パターンについて上記ステップＳ１４２，Ｓ１４３の処理を繰り返す（ステップＳ１４４参照）。
【００７７】
続いて、算出部１４はその単語候補列に対して、各単語候補についての日本語ユニグラム及び日本語バイグラムに関する素性を求め（ステップＳ１４５）、これらの素性を用いて、その単語候補列について日本語でのスコアを求める（ステップＳ１４６）。
【００７８】
一つの単語候補列について二種類のスコアを得ると、算出部１４は次の単語候補列についてステップＳ１４２〜Ｓ１４６の処理を実行する（ステップＳ１４７，Ｓ１４８を参照）。算出部１４がすべての単語候補列についてステップＳ１４２〜Ｓ１４６の処理を行うと（ステップＳ１４７；ＹＥＳ）、処理は出力部１５に移る。
【００７９】
図５に戻って、出力部１５は算出されたスコアに基づいて一つの単語候補列を選択し、その単語候補列を入力文字列の分割結果として出力する（ステップＳ１５、出力ステップ）。
【００８０】
単語分割装置１０は、新たな入力文字列を受け付ける度に、図５，６に示す処理を実行する。その結果、例えば多くの未知語が単語分割され、その結果が、形態素解析や翻訳、検索などの各種処理において用いられる知識として蓄積されていく。
【００８１】
次に、図７を用いて、コンピュータを単語分割装置１０として機能させるための単語分割プログラムＰを説明する。
【００８２】
単語分割プログラムＰは、メインモジュールＰ１０、受付モジュールＰ１１、分割モジュールＰ１２、翻字モジュールＰ１３、算出モジュールＰ１４、及び出力モジュールＰ１５を備えている。
【００８３】
メインモジュールＰ１０は、単語分割機能を統括的に制御する部分である。受付モジュールＰ１１、分割モジュールＰ１２、翻字モジュールＰ１３、算出モジュールＰ１４、及び出力モジュールＰ１５を実行することにより実現される機能はそれぞれ、上記の受付部１１、分割部１２、翻字部１３、算出部１４、及び出力部１５の機能と同様である。
【００８４】
単語分割プログラムＰは、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供される。また、単語分割プログラムＰは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【００８５】
以上説明したように、本実施形態によれば、複数種類の単語候補列のそれぞれが英語に翻字され、少なくとも英語コーパス２１を参照して求めたスコアに基づいて一つの単語候補列が最終結果として出力される。このように、様々な翻字パターンを生成し、これらのパターンをコーパス２０と比較して尤もらしい単語連続を得ることで、翻字対の情報を用いることなく様々な複合語を単語分割することができる。
【００８６】
一例として、通常の形態素解析では適切に分けることができない、片仮名のみで記述された未知語を単語分割する際に本実施形態は特に有効である。例えば、英語由来の外来語を解析する場合には、その語が英語に逆翻字され（ｂａｃｋ−ｔｒａｎｓｌｉｔｅｒａｔｅｄ）、英語の知識を用いてスコアが算出されるので、従来よりも精度の高い単語分割が期待できる。
【００８７】
特に本実施形態では、翻訳言語だけでなく原言語についてもコーパスを参照してスコアを求め、第１のスコア及び第２のスコアの双方を用いて単語候補列を選択している。このように複数の言語の知識を利用することで、場合によっては、尤もらしい単語連続をより確実に得ることができる。
【００８８】
本実施形態のように、単語ユニグラム及び単語バイグラムの双方の出現確率に基づいてスコアを求めることで、単語そのものの尤もらしさと連続する２単語の尤もらしさとの双方を考慮したスコアが得られる。このように複数種類のｎグラムを考慮することで、一般に用いられている蓋然性が高い単語連続を得ることが可能になる。また、３単語以上の単語候補列について処理しないことで計算が単純になるので、処理速度の低下を避けることができる。
【００８９】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００９０】
上記実施形態では、英語コーパス２１及び日本語コーパス２２を用い、個々の単語候補列について英語でのスコアと日本語でのスコアとを求めたが、単語分割装置１０は英語の知識のみを用いて尤もらしい単語連続を出力してもよい。この場合には、算出部１４は英語コーパス２１を参照して英語でのスコアを求め、出力部１５はそのスコアのみを用いて一つの単語候補列（例えば、そのスコアが最も高い単語候補列）を選択する。
【００９１】
このように、本発明では、翻字に用いるものと同じ言語のコーパス２０のみを少なくとも用いることで単語分割を行うことができる。本発明の一側面として、分かち書きを用いない原言語の知識からだけでは困難な単語分割を、分かち書きを用いる翻訳言語の知識を用いて適切に実行しようという目的がある。したがって、翻訳言語のコーパスを参照して得られる当該言語のスコアのみを用いた場合でも、上記実施形態と同様の効果が得られる。
【００９２】
上記実施形態では原言語が日本語であり翻訳言語が英語であったが、これら以外の言語に対しても本発明を適用し得る。例えば、日本語同様に分かち書きをしない中国語の語句を単語分割するために本発明を用いてもよい。別の例として、翻字及びスコア算出のためにフランス語を用いてもよい。
【符号の説明】
【００９３】
１０…単語分割装置、１１…受付部、１２…分割部、１３…翻字部、１４…算出部、１５…出力部、２０…コーパス、２１…英語コーパス（翻訳言語のコーパス）、２２…日本語コーパス（原言語のコーパス）、Ｐ…単語分割プログラム、Ｐ１０…メインモジュール、Ｐ１１…受付モジュール、Ｐ１２…分割モジュール、Ｐ１３…翻字モジュール、Ｐ１４…算出モジュール、Ｐ１５…出力モジュール。
【図１】
0005646792.tif 000007
【図２】
0005646792.tif 000008
【図３】
0005646792.tif 000009
【図４】
0005646792.tif 000010
【図５】
0005646792.tif 000011
【図６】
0005646792.tif 000012
【図７】
0005646792.tif 000013