(57)【特許請求の範囲】
【請求項１】
入力された文字列を、言語モデルに基づき分かち書きして出力する分かち書きユニットと、
前記分かち書きユニットに対する前記文字列の入力毎に、前記言語モデルを学習する学習ユニットと、
を備え、
前記言語モデルは、ベイズ階層言語モデルに対応し、
前記言語モデルの学習は、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書きユニットから出力される分かち書き後の文字列を構成する複数の部分文字列の並びに基づき、前記言語モデルにより定義される文字列の並びに関する条件付確率を更新することにより実現されることを特徴とする分かち書き処理システム。
【請求項２】
前記言語モデルとして、ユーザ毎の言語モデルを備え、
前記分かち書きユニットは、入力された前記文字列を、入力元ユーザの前記言語モデルに基づき分かち書きし、
前記学習ユニットは、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書きユニットから出力される前記分かち書き後の文字列を構成する前記複数の部分文字列の並びに基づき、入力元ユーザの前記言語モデルにより定義される前記条件付確率を更新することにより、入力元ユーザの前記言語モデルを学習すること
を特徴とする請求項１記載の分かち書き処理システム。
【請求項３】
入力された文字列を、言語モデルに基づき分かち書きして出力する分かち書きユニットと、
前記言語モデルを学習する学習ユニットであって、学習用文字列の一群に基づき前記言語モデルを学習する第一学習処理を反復実行する一方、前記分かち書きユニットから出力される分かち書き後の前記文字列に基づき、前記言語モデルを学習する第二学習処理を、前記第一学習処理とは並列に実行する学習ユニットと、
前記分かち書きユニットに入力された前記文字列を、前記学習用文字列として登録する登録ユニットと、
を備え、
前記言語モデルは、ベイズ階層言語モデルに対応し、
前記第一学習処理における前記言語モデルの学習は、前記言語モデルにより定義される文字列の並びに関する条件付確率を、前記学習用文字列の一群に基づき更新することにより実現され、
前記第二学習処理における前記言語モデルの学習は、前記言語モデルの前記条件付確率を、前記分かち書き後の前記文字列を構成する複数の部分文字列の並びに基づき更新することにより実現されることを特徴とする分かち書き処理システム。
【請求項４】
前記第一学習処理は、前記学習用文字列の一群の中から処理対象文字列を選択し、前記処理対象文字列を構成する複数の部分文字列の並びに基づき、前記言語モデルの前記条件付確率を更新する処理を、前記処理対象文字列を切り替えて繰返し実行することにより、前記学習用文字列の一群に基づき前記言語モデルを学習する処理であり、
前記分かち書きユニットに入力された前記文字列は、反復実行される前記第一学習処理の終了毎に、前記学習用文字列として登録され、
前記第二学習処理は、前記第一学習処理とは独立して、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書き後の前記文字列を構成する前記複数の部分文字列の並びに基づき、前記言語モデルの前記条件付確率を更新することにより、前記言語モデルを学習する処理であること
を特徴とする請求項３記載の分かち書き処理システム。
【請求項５】
入力された文字列を、言語モデルに基づき分かち書きして出力する分かち書きユニットと、
前記言語モデルを学習する学習ユニットであって、学習用文字列の一群に基づき前記言語モデルを学習する第一学習処理を反復実行する一方、前記分かち書きユニットから出力される分かち書き後の前記文字列に基づき、前記言語モデルを学習する第二学習処理を、前記第一学習処理とは並列に実行する学習ユニットと、
前記分かち書きユニットに入力された前記文字列を、前記学習用文字列として登録する登録ユニットと、
を備え、
前記言語モデルは、教師無しデータに基づき学習される生成モデル、及び、教師有りデータに基づき学習される識別モデルを含み、前記生成モデルは、ベイズ階層言語モデルに対応し、前記識別モデルは、条件付確率場に基づく言語モデルに対応し、
前記第一学習処理は、前記学習用文字列の一群の少なくとも一部を前記教師無しデータとして用いて、前記教師無しデータ及び前記識別モデルに基づき、前記生成モデルを更新する一方、前記学習用文字列の一群の内、教師情報を含む学習用文字列の一群の少なくとも一部を前記教師有りデータとして用いて、前記教師有りデータ及び前記生成モデルに基づき、前記識別モデルを更新することにより、前記言語モデルを学習する処理であり、
前記第一学習処理における前記生成モデルの更新は、前記生成モデルにより定義される文字列の並びに関する条件付確率を前記識別モデルに基づき補正した補正後の条件付確率に基づき、前記教師無しデータに対応する文字列を分かち書きし、分かち書き後の前記教師無しデータに対応する文字列を構成する複数の部分文字列の並びに基づき、前記生成モデルの前記条件付確率を更新することにより実現され、
前記第一学習処理における前記識別モデルの更新は、前記生成モデルにより定義される前記教師有りデータに対応する文字列の条件付確率を素性に変換し、前記教師有りデータに対応する素性ベクトルに前記変換後の素性を追加した拡張後の素性ベクトルと、前記識別モデルから特定される識別スコアとの内積に対応する同時確率を指標に、前記識別モデルの前記識別スコアを更新することにより実現され、
前記第二学習処理は、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書き後の前記文字列に基づき、前記生成モデルを更新することにより、前記言語モデルを学習する処理であり、
前記第二学習処理における前記生成モデルの更新は、前記分かち書きユニットから出力される前記分かち書き後の前記文字列を構成する複数の部分文字列の並びに基づき、前記生成モデルの前記条件付確率を更新することにより実現されること
を特徴とする分かち書き処理システム。
【請求項６】
前記言語モデルとして、ユーザ毎の言語モデルを備え、
前記分かち書きユニットは、入力された前記文字列を、入力元ユーザの前記言語モデルに基づき分かち書きし、
前記登録ユニットは、前記分かち書きユニットに入力された前記文字列を、入力元ユーザの前記言語モデルに対する前記学習用文字列として登録し、
前記学習ユニットは、
前記ユーザ毎に、前記第一学習処理として、前記ユーザの前記言語モデルに対する前記学習用文字列の一群に基づいて、前記ユーザの前記言語モデルを学習する処理を反復実行し、
前記第二学習処理として、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書き後の前記文字列に基づき、入力元ユーザの前記言語モデルを学習する処理を実行すること
を特徴とする請求項３〜請求項５のいずれか一項記載の分かち書き処理システム。
【請求項７】
前記言語モデルとして、ユーザ毎の言語モデルを備え、更には、ユーザ共通の言語モデルである共通言語モデルを備え、
前記分かち書きユニットは、入力された前記文字列を、入力元ユーザの前記言語モデルに基づき分かち書きし、
前記登録ユニットは、前記分かち書きユニットに入力された前記文字列を、入力元ユーザの前記言語モデルに対する前記学習用文字列として登録し、
前記学習ユニットは、
前記ユーザ毎に、前記第一学習処理として、前記ユーザの前記言語モデルに対する前記学習用文字列の一群に基づいて、前記ユーザの前記言語モデルを学習する処理を反復実行し、
前記第二学習処理として、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書き後の文字列に基づき、入力元ユーザの前記言語モデルを学習する処理を実行し、
前記ユーザ毎に反復実行される前記第一学習処理は、前記ユーザの前記言語モデルに対する前記学習用文字列の一群の中から処理対象文字列を選択し、前記処理対象文字列を、前記ユーザの前記言語モデルにより定義される条件付確率と前記共通言語モデルにより定義される条件付確率との加重平均に基づき分かち書きし、分かち書き後の処理対象文字列を構成する複数の部分文字列の並びに基づき、前記ユーザの前記言語モデルの前記条件付確率を更新する処理を、前記処理対象文字列を切り替えて繰返し実行することにより、前記ユーザの前記言語モデルを学習する処理であること
を特徴とする請求項３又は請求項４記載の分かち書き処理システム。
【請求項８】
前記言語モデルとして、ユーザ毎の言語モデルを備え、更には、ユーザ共通の言語モデルである共通言語モデルを備え、前記ユーザ毎の言語モデル及び前記共通言語モデルのそれぞれは、前記生成モデル及び前記識別モデルを含み、
前記分かち書きユニットは、入力された前記文字列を、入力元ユーザの前記言語モデルに基づき分かち書きし、
前記登録ユニットは、前記分かち書きユニットに入力された前記文字列を、入力元ユーザの前記言語モデルに対する前記学習用文字列として登録し、
前記学習ユニットは、
前記ユーザ毎に、前記第一学習処理として、前記ユーザの前記言語モデルに対する前記学習用文字列の一群の少なくとも一部を前記教師無しデータとして用いて、前記教師無しデータ、前記ユーザの前記識別モデル及び前記共通言語モデルに基づき、前記ユーザの前記生成モデルを更新する一方、前記学習用文字列の一群の内、前記ユーザの前記言語モデルに対する学習用文字列であって教師情報を含む学習用文字列の一群の少なくとも一部を前記教師有りデータとして用いて、前記教師有りデータ、前記ユーザの前記生成モデル及び前記共通言語モデルに基づき、前記ユーザの前記識別モデルを更新する処理を実行し、
前記第二学習処理として、前記分かち書きユニットに対する前記文字列の入力毎に、前記分かち書き後の前記文字列に基づき、入力元ユーザの前記生成モデルを更新する処理を実行し、
前記第一学習処理における前記ユーザの前記生成モデルの更新は、前記ユーザの前記生成モデルの前記条件付確率を前記ユーザの前記識別モデル並びに前記共通言語モデルの前記識別モデル及び前記生成モデルに基づき補正した補正後の条件付確率に基づき、前記教師無しデータに対応する文字列を分かち書きし、分かち書き後の前記教師無しデータに対応する文字列を構成する複数の部分文字列の並びに基づき、前記ユーザの前記生成モデルの前記条件付確率を更新することにより実現され、
前記第一学習処理における前記ユーザの前記識別モデルの更新は、前記ユーザの前記生成モデル及び前記共通言語モデルの前記生成モデルにより定義される前記教師有りデータに対応する文字列の条件付確率を、それぞれ素性に変換し、前記教師有りデータに対応する素性ベクトルに前記変換後の素性を追加した拡張後の素性ベクトルと、前記ユーザの前記識別モデルから特定される識別スコアとの内積に対応する同時確率を指標に、前記ユーザの前記識別モデルの前記識別スコアを更新することにより実現されること
を特徴とする請求項５記載の分かち書き処理システム。
【請求項９】
請求項１又は請求項２記載の分かち書き処理システムが備える前記分かち書きユニット及び前記学習ユニットとしての機能を、コンピュータに実現させるためのプログラム。
【請求項１０】
請求項３〜請求項８のいずれか一項記載の分かち書き処理システムが備える前記分かち書きユニット、前記学習ユニット及び前記登録ユニットとしての機能を、コンピュータに実現させるためのプログラム。
【請求項１１】
コンピュータにより実行される手順として、
入力された文字列を、言語モデルに基づき分かち書きして出力する手順と、
前記文字列の入力毎に、前記言語モデルを学習する手順と、
を備え、
前記言語モデルは、ベイズ階層言語モデルに対応し、
前記言語モデルの学習は、前記文字列の入力毎に、前記入力された文字列に対応する分かち書き後の文字列を構成する複数の部分文字列の並びに基づき、前記言語モデルにより定義される文字列の並びに関する条件付確率を更新することにより実現されることを特徴とする分かち書き処理方法。
【請求項１２】
コンピュータにより実行される手順として、
入力された文字列を、言語モデルに基づき分かち書きして出力する手順と、
前記言語モデルを学習する手順であって、学習用文字列の一群に基づき前記言語モデルを学習する第一学習処理を反復実行する一方、前記入力された文字列に対応する分かち書き後の文字列に基づき、前記言語モデルを学習する第二学習処理を、前記第一学習処理とは並列に実行する手順と、
前記入力された文字列を、前記学習用文字列として登録する手順と、
を備え、前記言語モデルは、ベイズ階層言語モデルに対応し、
前記第一学習処理における前記言語モデルの学習は、前記言語モデルにより定義される文字列の並びに関する条件付確率を、前記学習用文字列の一群に基づき更新することにより実現され、
前記第二学習処理における前記言語モデルの学習は、前記言語モデルの前記条件付確率を、前記分かち書き後の文字列を構成する複数の部分文字列の並びに基づき更新することにより実現されることを特徴とする分かち書き処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力文字列を分かち書きするシステム、プログラム及び方法に関する。
【背景技術】
【０００２】
従来、形態素解析により文字列の分割パターンを決定する技術が知られている。例えば、ベイズ階層言語モデルによる教師無し形態素解析技術（特許文献１参照）、条件付確率場を用いた教師有り形態素解析技術（特許文献２参照）、及び、条件付確率場とベイズ階層言語モデルとを用いた半教師有り形態素解析技術（特許文献３参照）が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】持橋大地、他２名、”ベイズ階層言語モデルによる教師なし形態素解析”、[online]、２００９年、［平成２６年１１月７日検索］、インターネット（URL:http://www.ism.ac.jp/~daichi/paper/nl190segment.pdf）
【非特許文献２】工藤拓、他２名、”Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓを用いた日本語形態素解析”、[online]、２００４年５月１４日、情報処理学会、［平成２６年１１月７日検索］、インターネット（URL: http://ci.nii.ac.jp/naid/110002911717）
【非特許文献３】持橋大地、他２名、”条件付確率場とベイズ階層言語モデルの統合による半教師あり形態素解析”、[online]、２０１１年、［平成２６年１１月７日検索］、インターネット（URL: http://www.ism.ac.jp/~daichi/paper/nlp2011semiseg.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、本発明者らは、ネットワークを通じて複数のデバイスから利用可能なシステムとして、デバイスから入力された文字列を分かち書きして、分かち書き後の文字列をデバイスに返すシステムの構築を考えている。
【０００５】
しかしながら、分かち書きに用いる言語モデル（確率モデル）に対する学習データを、システムの管理者が用意して、言語モデルを学習する方法では、日常で利用される言葉の変化や新語の登場に迅速に対応して言語モデルを学習することができず、ユーザが利用するデバイスから入力される文字列を、適切に分かち書きすることが難しい。
【０００６】
従って、本発明の一側面では、言葉の変化や新語の登場に迅速に対応して分かち書きの法則性を学習し、入力文字列を適切に分かち書き可能なシステム、プログラム及び方法を提供できることが望ましい。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る分かち書き処理システムは、分かち書きユニットと、学習ユニットと、を備える。分かち書きユニットは、入力された文字列を、分かち書きの法則性を表す確率モデルに基づき、分かち書きして出力する。学習ユニットは、分かち書きユニットに対する文字列の入力毎に、この文字列に基づいて、確率モデルを学習する。学習ユニットは、教師無し学習方式又は半教師有り学習方式により確率モデルを学習する構成にされ得る。
【０００８】
この分かち書き処理システムによれば、分かち書き対象として入力された文字列を、確率モデルの学習に用いるので、言葉の変化や新語の登場に迅速に対応して確率モデルを学習することができる。従って、本発明の一側面によれば、文字列を適切に分かち書き可能な分かち書き処理システムを構築することができる。
【０００９】
ところで、この分かち書き処理システムは、ユーザ毎の確率モデルを備えた構成にされ得る。この場合、分かち書きユニットは、入力された文字列を、入力元ユーザの確率モデルに基づき分かち書きする構成にされ得る。学習ユニットは、分かち書きユニットに対する文字列の入力毎に、入力元ユーザの確率モデルを、この文字列に基づいて学習する構成にされ得る。
【００１０】
使用される言葉は、使用者の世代、地域、趣味及び興味等によって異なる。従って、ユーザ毎の確率モデルを備え、これらの確率モデルの学習を、対応するユーザから入力される文字列に基づいて行う本発明の一側面に係る分かち書き処理システムによれば、文字列の入力元ユーザに対し、一層適切な文字列の分かち書き結果を提供することができる。
【００１１】
この他、本発明の別側面において、分かち書き処理システムは、上述した分かち書きユニットに加えて、次の学習ユニット及び登録ユニットを備えた構成にされてもよい。別側面の分かち書き処理システムにおける学習ユニットは、確率モデルを学習用文字列の一群に基づいて学習する第一学習処理を反復実行する一方、分かち書きユニットから出力される分かち書き後の文字列に基づき、確率モデルを学習する第二学習処理を、第一学習処理とは並列に実行する構成にされる。登録ユニットは、分かち書きユニットに入力された文字列を、学習用文字列として登録する構成にされる。
【００１２】
第二学習処理は、分かち書きユニットに対する文字列の入力毎に、分かち書き後の文字列に基づき、確率モデルを更新することにより、確率モデルを学習する構成にされ得る。第二学習処理は、第一学習処理とは独立して、確率モデルを更新するように実行され得る。この他、第一学習処理は、学習用文字列の一群の中から処理対象文字列を選択し、処理対象文字列に基づき確率モデルを更新する処理を繰返し実行することにより、確率モデルを学習する構成にされ得る。
【００１３】
公知のＮＰＹＬＭ（Ｎｅｓｔｅｄ  Ｐｉｔｍａｎ−Ｙｏｒ  Ｌａｎｇｕａｇｅ  Ｍｏｄｅｌ）等の言語モデルに対する学習処理では、学習用文字列の一群から処理対象文字列をランダムに選択して、確率モデルを更新する処理を繰返し実行することにより、確率モデルを学習する。従って、分かち書きユニットに入力された文字列を、学習用文字列として登録しても、この文字列に基づく確率モデルの学習には、時間を要する。
【００１４】
一方、分かち書きユニットに入力される文字列に対しては、分かち書きユニットによる分かち書き後の文字列に基づいて、確率モデルを学習することができる。従って、第一学習処理及び第二学習処理を並列実行する本発明の一側面に係る分かち書き処理システムによれば、分かち書きユニットに入力された文字列に基づく確率モデルの学習を迅速に行うことができる。
【００１５】
本発明の一側面によれば、分かち書きユニットに入力された文字列は、反復実行される第一学習処理の終了毎に、学習用文字列として登録され得る。この場合、第一学習処理とは独立した第二学習処理の実行は、分かち書きユニットに入力された文字列に基づく確率モデルの迅速な学習に効果的に役立つ。
【００１６】
また、本発明の一側面によれば、分かち書き処理システムは、生成モデル及び識別モデルを含む確率モデルを備える構成にされてもよい。生成モデルは、教師無しデータに基づき学習可能であり、識別モデルは、教師有りデータに基づき学習可能である。生成モデルとしては、ＮＰＹＬＭ等のベイズ階層言語モデルを一例に挙げることができる。識別モデルとしては、条件付確率場（ＣＲＦ：Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓ）に基づく言語モデルを一例に挙げることができる。
【００１７】
本発明の一側面によれば、第一学習処理及び第二学習処理は、生成モデル及び識別モデルを含む確率モデルを、次のように学習する構成にされてもよい。即ち、第一学習処理は、学習用文字列の一群の少なくとも一部を教師無しデータとして用いて、当該教師無しデータ及び識別モデルに基づき、生成モデルを更新する構成にされてもよい。また、第一学習処理は、学習用文字列の一群の内、教師情報を含む学習用文字列の一群の少なくとも一部を教師有りデータとして用いて、当該教師有りデータ及び生成モデルに基づき、識別モデルを更新する構成にされてもよい。
【００１８】
第一学習処理では、例えば、生成モデルが表す条件付確率と識別モデルから算出される条件付確率との平均値（加重平均を含む。）に基づいて、生成モデルを更新し得る。付言すれば、第一学習処理では、学習用文字列の一群の中から処理対象文字列を選択し、上記条件付確率の平均値に基づく処理対象文字列の分かち書き結果に基づき、生成モデルを更新する処理を繰返し実行することにより、生成モデルを学習し得る。
【００１９】
この他、第一学習処理では、教師有りデータに基づく一以上の素性、及び、生成モデルに基づく一以上の素性を要素とする素性ベクトルに基づき識別モデルを更新することにより、識別モデルを学習し得る。
【００２０】
一例として、素性ベクトルに基づく識別モデルの更新は、素性ベクトルとの内積が、最大（又は最小）となる重みベクトルを算出することにより行い得る。この場合、重みベクトルを構成する要素の内、上記生成モデルに基づく一以上の素性に対応する要素の値に基づき、上記加重平均の重み付けを決定し得る。
【００２１】
この他、第二学習処理は、分かち書き後の文字列に基づき生成モデルを更新する構成にされ得る。生成モデルの更新は、例えば、分かち書き後の文字列から生成モデルが表す条件付確率を更新することにより実現することができる。
【００２２】
こうした本発明の一側面に係る分かち書き処理システムによれば、確率モデルの半教師有り学習を適切に行うことができる。更には、分かち書きユニットに入力された文字列に基づく確率モデルの学習を迅速に行うことができる。
【００２３】
この他、ユーザ毎の確率モデルを備えるように構成された本発明の一側面に係る分かち書き処理システムによれば、登録ユニットは、分かち書きユニットに入力された文字列を、入力元ユーザの確率モデルに対する学習用文字列として登録する構成にされ得る。
【００２４】
そして、学習ユニットは、ユーザ毎に、上記第一学習処理として、該当ユーザの確率モデルに対する学習用文字列の一群に基づき、該当ユーザの確率モデルを学習する処理を実行する構成にされ得る。学習ユニットは、上記第二学習処理として、分かち書きユニットに対する文字列の入力毎に、分かち書き後の文字列に基づき、入力元ユーザの確率モデルを学習する処理を実行する構成にされ得る。
【００２５】
本発明の一側面によれば、分かち書き処理システムは、ユーザ毎の確率モデルに加えて、ユーザ共通の確率モデルである共通確率モデルを備えてもよい。この場合、ユーザ毎に反復実行される第一学習処理は、該当ユーザの確率モデルに対する学習用文字列の一群、及び、共通確率モデルに基づいて、該当ユーザの確率モデルを学習する構成にされ得る。こうした分かち書き処理システムによれば、システムの利用開始初期から、ユーザからの入力文字列を適切に分かち書きして、出力し得る。
【００２６】
本発明の一側面では、分かち書き処理システムは、生成モデル及び識別モデルを含む確率モデルをユーザ毎に備え、これらに加えて共通確率モデルを備える構成にされてもよい。
【００２７】
この場合、学習ユニットは、ユーザ毎に、第一学習処理として、ユーザの確率モデルに対する学習用文字列の一群の少なくとも一部を教師無しデータとして用いて、教師無しデータ、ユーザの識別モデル及び共通確率モデルに基づき、ユーザの生成モデルを更新する処理を実行する構成にされ得る。更に、学習ユニットは、学習用文字列の一群の内、ユーザの確率モデルに対する学習用文字列であって教師情報を含む学習用文字列の一群の少なくとも一部を教師有りデータとして用いて、教師有りデータ、ユーザの生成モデル及び共通確率モデルに基づき、ユーザの識別モデルを更新する処理を実行する構成にされ得る。
【００２８】
また、学習ユニットは、第二学習処理として、分かち書きユニットに対する文字列の入力毎に、分かち書き後の文字列に基づき、入力元ユーザの生成モデルを更新する処理を実行する構成にされ得る。
【００２９】
例えば、第一学習処理では、ユーザの生成モデルが表す条件付確率と、ユーザの識別モデルから算出される条件付確率と、共通確率モデルから特定される条件付確率と、の平均値（加重平均を含む。）に基づいて、ユーザの生成モデルを更新し得る。付言すれば、第一学習処理では、上記条件付確率の平均値に基づく処理対象文字列の分かち書き結果に基づき、ユーザの生成モデルを更新する処理を繰返し実行することにより、ユーザの生成モデルを学習し得る。
【００３０】
この他、第一学習処理では、ユーザの教師有りデータに基づく一以上の素性と、ユーザの生成モデルに基づく一以上の素性と、共通確率モデルに基づく一以上の素性と、を要素とする素性ベクトルに基づき、ユーザの識別モデルを更新することにより、ユーザの識別モデルを学習し得る。学習ユニットが上記構成にされる本発明の一側面に係る分かち書き処理システムによれば、ユーザからの入力文字列を一層適切に分かち書きできるように、確率モデルを学習し得る。
【００３１】
本発明の一側面によれば、上述した分かち書きユニット、学習ユニット及び登録ユニットが有する機能の一部又は全ては、ハードウェア回路により実現され得る。本発明の別側面によれば、分かち書きユニット、学習ユニット、及び登録ユニットが有する機能の一部又は全ては、プログラムによりコンピュータに実現されてもよい。
【００３２】
分かち書きユニット、学習ユニット及び登録ユニットの少なくとも一部としてコンピュータを機能させるためプログラムは、コンピュータ読取可能な一時的でない記録媒体に記録して提供することができる。
【００３３】
また、本発明の一側面によれば、コンピュータにより実行される手順として、入力された文字列を、分かち書きの法則性を表す確率モデルに基づき、分かち書きして出力する手順と、文字列の入力毎に、この文字列に基づいて確率モデルを学習する手順と、を備える分かち書き処理方法が提供されてもよい。
【００３４】
本発明の別側面によれば、コンピュータにより実行される手順として、入力された文字列を、分かち書きの法則性を表す確率モデルに基づき、分かち書きして出力する手順と、確率モデルを学習する手順であって、確率モデルを学習用文字列の一群に基づき学習する第一学習処理を反復実行する一方、入力された文字列に対応する分かち書き後の文字列に基づき、確率モデルを学習する第二学習処理を、第一学習処理とは並列に実行する手順と、入力された文字列を、学習用文字列として登録する手順と、を備える分かち書き処理方法が提供されてもよい。これらの方法において、確率モデルは、教師無し学習方式又は半教師有り学習方式により学習され得る。
【図面の簡単な説明】
【００３５】
【図１】分かち書き処理システムの構成を表すブロック図である。
【図２】制御デバイスによって実現される機能を表すブロック図である。
【図３】各ユニットの詳細を表すブロック図である。
【図４】第二実施例の制御デバイスによって実現される機能を表すブロック図である。
【図５】第二実施例のＣＲＦ学習ユニットの詳細を表すブロック図である。
【図６】第二実施例のＮＰＹＬＭ学習ユニットの詳細を表すブロック図である。
【図７】第三実施例の制御デバイスによって実現される機能を表すブロック図である。
【図８】第三実施例の個別処理ユニットの詳細を表すブロック図である。
【図９】第三実施例のＣＲＦ学習ユニットの詳細を表すブロック図である。
【図１０】第三実施例のＮＰＹＬＭ学習ユニットの詳細を表すブロック図である。
【図１１】第四実施例のＣＲＦ学習ユニットの詳細を表すブロック図である。
【図１２】第五実施例のＣＲＦ学習ユニットの詳細を表すブロック図である。
【発明を実施するための形態】
【００３６】
以下に本発明の実施例について、図面と共に説明する。
［第一実施例］
本実施例の分かち書き処理システム１は、図１に示すように、利用者装置５からネットワークを通じて入力された分かち書き対象文字列Ｄ１を、分かち書きした文字列Ｄ２に変換して、利用者装置５に返信する機能を有したシステムである。この機能は、例えば、ウェブＡＰＩによって実現される機能として利用者装置５に提供される。
【００３７】
具体的に、分かち書き処理システム１は、制御デバイス１０と、記憶デバイス２０と、通信デバイス３０と、を備える。通信デバイス３０は、ネットワークに接続されて、複数の利用者装置５と通信可能に配置される。制御デバイス１０は、記憶デバイス２０に記憶された各種プログラムを実行するＣＰＵ１０Ａを備え、ＣＰＵ１０Ａは、これらプログラムを実行することにより、各種機能を実現する。図示しないが、制御デバイス１０は、更に作業用メモリ（ＲＡＭ）を備えた構成にされる。以下では、ＣＰＵ１０Ａがプログラムを実行することにより実現される処理、動作及び機能を、便宜的に、制御デバイス１０により実現される処理、動作及び機能として説明する。
【００３８】
記憶デバイス２０は、各種プログラムの他、プログラム実行時に必要な各種データを記憶する。記憶デバイス２０は、制御デバイス１０（ＣＰＵ１０Ａ）が読取可能な一時的でない記録媒体、例えばハードディスク装置を有した構成にされる。
【００３９】
制御デバイス１０は、プログラムの実行により、図２に示すように、分かち書きユニット１１０、第一学習ユニット１４０、第二学習ユニット１６０、及び、登録ユニット１８０として機能する。制御デバイス１０は、記憶デバイス２０からのデータ読出により、更に言語モデルＬＭ１及び学習用文字列群ＬＤ１を有した構成にされる。
【００４０】
分かち書きユニット１１０は、通信デバイス３０が利用者装置５から受信した分かち書き対象文字列Ｄ１を、言語モデルＬＭ１に基づいて分かち書きし、分かち書きした文字列Ｄ２（以下、分かち書き後文字列Ｄ２と表現する。）を、通信デバイス３０を通じて利用者装置５に返信するように構成される。言語モデルＬＭ１は、ＮＰＹＬＭに基づくベイズ階層言語モデルであり得る。ＮＰＹＬＭは、一つの文字セットに対して別の文字セットが出現する条件付確率により、文字セットの並びに関する法則性を確率的に表す確率モデルの一種であり、分かち書きの法則性を表す確率モデルの一種である。ここで言う文字セットは、一以上の文字からなる文字の並びのことを言う。ＮＰＹＬＭは、生成モデルの一種である。
【００４１】
即ち、分かち書きユニット１１０は、言語モデルＬＭ１から特定される条件付確率に基づいて、分かち書き対象文字列Ｄ１に対する尤もらしい分割パターンを決定し、決定した分割パターンに従う分かち書き後文字列Ｄ２を出力するように構成される。分かち書きユニット１１０は、公知のビタビアルゴリズムに従って、分かち書きを行うように構成され得る。
【００４２】
第一学習ユニット１４０は、与えられた学習用文字列群ＬＤ１に基づいて言語モデルＬＭ１を学習する第一学習処理を反復実行するように構成される。第二学習ユニット１６０は、分かち書きユニット１１０から出力される分かち書き後文字列Ｄ２に基づき、言語モデルＬＭ１を学習する第二学習処理を、第一学習処理とは並列に実行する構成にされる。
【００４３】
登録ユニット１８０は、利用者装置５から分かち書きユニット１１０に入力される分かち書き対象文字列Ｄ１を、学習用文字列として、学習用文字列群ＬＤ１に登録するように構成される。この学習用文字列群ＬＤ１は、初期学習データとしてシステム管理者から提供された文字列群、及び、利用者装置５から入力された分かち書き対象文字列Ｄ１の一群を含んだ文字列群として構成される。
【００４４】
続いて、第一学習ユニット１４０、第二学習ユニット１６０及び登録ユニット１８０の構成を、図３を用いて詳述する。図３に示すように、第一学習ユニット１４０は、選択部１４１、抽出部１４３、更新部１４５、及び、全選択判定部１４７を備える。
【００４５】
第一学習ユニット１４０で反復実行される上記第一学習処理は、公知のＮＰＹＬＭに基づく言語学習と同様に、与えられた学習用文字列群ＬＤ１に属する文字列の夫々をランダムに一つずつ処理対象文字列に選択して、処理対象文字列に基づく言語モデルＬＭ１の更新動作を繰返し実行することにより言語モデルを学習する処理である。１回の第一学習処理は、学習用文字列群ＬＤ１に含まれる文字列の全てを処理対象文字列に選択して、言語モデルＬＭ１を更新すると終了する。
【００４６】
選択部１４１は、学習用文字列群ＬＤ１から処理対象文字列を一つランダムに選択するように構成される。ランダムな選択動作は、処理対象文字列として未選択の文字列群を対象に行われる。
【００４７】
抽出部１４３は、言語モデルＬＭ１から処理対象文字列の情報を抽出して、言語モデルＬＭ１を処理対象文字列の情報を含まない言語モデルに置換するように構成される。学習用文字列群ＬＤ１に属する文字列の情報は、予め言語モデルＬＭ１に登録される。初期学習データに対応する文字列は、分かち書き処理システム１が利用者装置５によって利用可能な状態に置かれる前に言語モデルＬＭ１に登録される。分かち書きユニット１１０に入力される文字列Ｄ１は、分かち書き後文字列Ｄ２の情報として、第二学習ユニット１６０により言語モデルＬＭ１に登録される。
【００４８】
更新部１４５は、処理対象文字列が教師情報を含まない文字列である場合、上記置換された言語モデルから特定される条件付確率に基づき、処理対象文字列を分かち書きして得られる分かち書き後文字列を言語モデルＬＭ１に再登録し、この際、処理対象文字列の分割パターンに従って、言語モデルＬＭ１のパラメータ（条件付確率を示すパラメータ）を更新するように動作する。
【００４９】
学習用文字列群ＬＤ１には、教師情報を含まない文字列（教師無しデータ）、及び、教師情報を含む文字列（教師有りデータ）が含まれる。ここで言う教師情報は、文字列の正しい分割パターン（分かち書き）を示す情報である。
【００５０】
更新部１４５は、処理対象文字列が教師情報を含む文字列である場合、教師情報から特定される処理対象文字列に対応する分かち書き後文字列を言語モデルＬＭ１に再登録し、この際、言語モデルＬＭ１の上記パラメータを更新するように動作する。
【００５１】
全選択判定部１４７は、学習用文字列群ＬＤ１に属する文字列の全てが処理対象文字列に選択されたか否かを判定する。全てが処理対象文字列に選択されている場合には、プール１８３に蓄積された文字列を学習用文字列群ＬＤ１に登録する動作を登録ユニット１８０に実行させる一方、選択部１４１が有する文字列の選択履歴をリセットする動作を実行し、学習用文字列群ＬＤ１内の文字列を、全て未選択の状態に置く。その後、選択部１４１に、処理対象文字列として新しい文字列を、学習用文字列群ＬＤ１から選択するように指示する。
【００５２】
全選択判定部１４７は、学習用文字列群ＬＤ１に処理対象文字列として未選択の文字列が存在する場合には、上記登録及びリセットに関する動作を実行せずに、選択部１４１に対して、処理対象文字列として新しい文字列を、学習用文字列群ＬＤ１から選択するように指示する。第一学習ユニット１４０は、このようにして上述した選択、抽出、更新、及び、判定動作のシーケンスを繰返し実行することにより、上記第一学習処理の反復実行を実現する。
【００５３】
一方、登録ユニット１８０は、受付部１８１、プール１８３及び追加部１８５を備える。受付部１８１は、分かち書きユニット１１０に分かち書き対象文字列Ｄ１が入力される度、この分かち書き対象文字列Ｄ１（教師情報を含まない文字列）をプール１８３に蓄積する。追加部１８５は、第一学習ユニット１４０において各回の第一学習処理が終了する度、それまでにプール１８３に蓄積された文字列Ｄ１の夫々を、プール１８３から取り出して学習用文字列群ＬＤ１に登録するように動作する。
【００５４】
このようにして、登録ユニット１８０は、第一学習処理の終了毎に、この第一学習処理の実行中に入力された文字列Ｄ１が、次の第一学習処理では言語モデルＬＭ１の学習に用いられるように、学習用文字列群ＬＤ１を更新する。
【００５５】
この他、第二学習ユニット１６０は、第一学習処理とは並列に、第一学習処理とは独立して上記第二学習処理を実行することにより、分かち書きユニット１１０に分かち書き対象文字列Ｄ１が入力される度、その分かち書き後文字列Ｄ２に基づく言語モデルＬＭ１の学習を行う。
【００５６】
具体的に、この第二学習ユニット１６０は、更新部１４５と同様に、分かち書きユニット１１０から得られた分かち書き後文字列Ｄ２を言語モデルＬＭ１に登録し、この際には、分かち書き後文字列Ｄ２の分割パターンに従って、言語モデルＬＭ１のパラメータ（条件付確率を示すパラメータ）を更新するように動作する。
【００５７】
このようにして本実施例では、分かち書きユニット１１０に入力された文字列Ｄ１に基づく言語モデルＬＭ１の学習が、第一学習処理の実行サイクルに依存せずに、分かち書き後文字列Ｄ２が得られた時点で、第二学習ユニット１６０により直ちに実行される。これにより、言語モデルＬＭ１は、分かち書きユニット１１０に入力された文字列Ｄ１に基づき効率的且つ迅速に学習される。
【００５８】
以上、本実施例の分かち書き処理システム１について説明したが、本実施例によれば、分かち書き対象文字列Ｄ１を、言語モデルＬＭ１の学習に用いるので、言葉の変化や新語の登場に迅速に対応して言語モデルＬＭ１を学習することができ、利用者装置５からの文字列Ｄ１を適切に分かち書き可能な分かち書き処理システム１を構築することができる。本実施例によれば特に、分かち書きユニット１１０に対する文字列Ｄ１の入力毎に、言語モデルＬＭ１を迅速に更新するので、高性能な分かち書き処理システム１を利用者装置５に提供することができる。
【００５９】
ところで、本実施例の学習用文字列群ＬＤ１には、教師無しデータ及び教師有りデータが含まれるが、学習用文字列群ＬＤ１は、教師無しデータのみから構成されてもよい。また、言語モデルＬＭ１は、ＮＰＹＬＭに限定されるものではなく、言語モデルＬＭ１には、例えばＮＰＹＬＭと同種又は類似の特徴を有する他の言語モデルを採用することが可能である。
【００６０】
［第二実施例］
続いて、第二実施例の分かち書き処理システム１を説明する。第二実施例の分かち書き処理システム１は、制御デバイス１０によって実現される機能が第一実施例の分かち書き処理システム１とは異なる。一方で、第二実施例の分かち書き処理システム１のハードウェア構成は、図１に示す分かち書き処理システム１と同一である。従って、以下では、第二実施例として、制御デバイス１０によって実現される機能を選択的に説明する。
【００６１】
本実施例の制御デバイス１０は、プログラムの実行により、図４に示すように、分かち書きユニット２１０、ＣＲＦ学習ユニット２２０、ＮＰＹＬＭ学習ユニット２３０、及び、登録ユニット２８０として機能する。制御デバイス１０は、記憶デバイス２０からのデータ読出により、学習用文字列群ＬＤ２を有した構成にされる。更に、制御デバイス１０は、ＣＲＦ学習ユニット２２０内に識別モデルＤＭ２を有し、ＮＰＹＬＭ学習ユニット２３０内に言語モデルＬＭ２を有した構成にされる。
【００６２】
分かち書きユニット２１０は、分かち書きユニット１１０と同様に、通信デバイス３０が受信した分かち書き対象文字列Ｄ１を分かち書きし、分かち書き後文字列Ｄ２を、通信デバイス３０を通じて利用者装置５に返信する構成にされる。分かち書きユニット２１０は、識別モデルＤＭ２及び言語モデルＬＭ２の少なくとも一方を用いて、分かち書き対象文字列Ｄ１を分かち書きする構成にされる。
【００６３】
ＣＲＦ学習ユニット２２０は、学習用文字列群ＬＤ２に基づいて識別モデルＤＭ２を学習するように構成される。識別モデルＤＭ２は、条件付確率場（ＣＲＦ）に基づく識別モデルである。識別モデルＤＭ２は、教師有りデータ及び言語モデルＬＭ２に基づいて学習される識別スコアＳ，Ｓｎを含む。即ち、ＣＲＦ学習ユニット２２０は、学習用文字列群ＬＤ２の内、教師情報を含む学習用文字列の一群及び言語モデルＬＭ２に基づき、識別スコアＳ，Ｓｎを学習することにより、識別モデルＤＭ２を学習する。この識別モデルＤＭ２もまた、ＮＰＹＬＭに基づく言語モデルＬＭ２と同様に、分かち書きの法則性を表す確率モデルの一種である。
【００６４】
ＮＰＹＬＭ学習ユニット２３０は、学習用文字列群ＬＤ２及び識別モデルＤＭ２に基づいて言語モデルＬＭ２を学習するように構成される。言語モデルＬＭ２は、第一実施例と同様に、ＮＰＹＬＭに基づくベイズ階層言語モデルである。
【００６５】
登録ユニット２８０は、登録ユニット１８０と同様に、分かち書きユニット２１０に入力される分かち書き対象文字列Ｄ１を、学習用文字列として、学習用文字列群ＬＤ２に登録する。学習用文字列群ＬＤ２は、第一実施例と同様、初期学習データとしてシステム管理者から提供された文字列群、及び、利用者装置５から入力された分かち書き対象文字列Ｄ１の一群を含んだ構成にされる。
【００６６】
続いて、ＣＲＦ学習ユニット２２０、ＮＰＹＬＭ学習ユニット２３０及び登録ユニット２８０の構成を、図５及び図６を用いて詳述する。図５に示すように、ＣＲＦ学習ユニット２２０は、文字列取込部２２１と、素性ベクトル生成部２２２と、条件付確率取得部２２３と、ＮＰＹＬＭ素性生成部２２４と、統合素性ベクトル生成部２２７と、更新部２２８と、出力部２２９と、識別モデルＤＭ２と、を有する。
【００６７】
このＣＲＦ学習ユニット２２０は、公知のＮＰＹＣＲＦ技術（条件付確率場とベイズ階層言語モデルの統合による半教師有り形態素解析技術）と同様の手法で、教師有りデータ及び言語モデルＬＭ２に基づき、識別モデルＤＭ２を更新する構成にされ得る。
【００６８】
文字列取込部２２１は、学習用文字列群ＬＤ２から、教師情報を含む文字列の一群を教師有りデータとして取り込む。素性ベクトル生成部２２２は、この教師有りデータに基づく素性ベクトルＦを生成する。素性ベクトルＦは、文字列毎に生成される。
【００６９】
条件付確率取得部２２３は、言語モデルＬＭ２から特定される各素性ベクトルＦに対応する文字列の条件付確率Ｐを、ＮＰＹＬＭ学習ユニット２３０から取得する。ＮＰＹＬＭ素性生成部２２４は、この条件付確率取得部２２３が取得した条件付確率Ｐを、素性ベクトルＦに追加する素性ｆｎに変換する。以下では、この素性ｆｎを、ＮＰＹＬＭ素性と表現する。この確率素性変換は、公知のＮＰＹＣＲＦ技術に従う演算によって実現され得る。あるいは、この確率素性変換は、上記公知技術に従う演算を近似的な演算に置き換えた演算等の代替する演算によって実現され得る。
【００７０】
統合素性ベクトル生成部２２７は、素性ベクトルＦに、対応する上記ＮＰＹＬＭ素性ｆｎを、新たな要素として追加して、統合素性ベクトルＦＥ＝（Ｆ，ｆｎ）を生成する。統合素性ベクトルＦＥは、文字列毎に生成される。ＮＰＹＬＭ素性ｆｎがスカラー量である場合、Ｍ次元の素性ベクトルＦに対して、統合素性ベクトルＦＥは、（Ｍ＋１）次元ベクトルである。
【００７１】
更新部２２８は、この統合素性ベクトルＦＥと、識別スコア（Ｓ，Ｓｎ）との内積Ｆ・Ｓ＋ｆｎ・Ｓｎに対応する同時確率Ｐｅに関して、文字列毎の同時確率Ｐｅの平均が最大となる識別スコア（Ｓ，Ｓｎ）を算出する。そして、識別モデルＤＭ２が有する識別スコアＳ，Ｓｎを、算出された識別スコアＳ，Ｓｎに更新することにより、識別モデルＤＭ２を更新する。ここで識別スコアＳは、素性ベクトルＦに対するスコアであり、識別スコアＳｎは、ＮＰＹＬＭ素性ｆｎに対するスコアである。識別スコアＳｎの初期値はゼロである。識別スコアＳの初期値は、設計者により定められる。
【００７２】
出力部２２９は、ＮＰＹＬＭ学習ユニット２３０及び分かち書きユニット２１０からの要求に応じて、識別スコアＳ，Ｓｎ及び同時確率Ｐｅ，Ｐｊを出力するように構成される。ここでの同時確率Ｐｊは、素性ベクトルＦと識別スコアＳとの内積Ｆ・Ｓに対応し、素性ベクトルＦに対応する文字列における各文字の境界が区切り目となる確率及び区切り目とならない確率の同時確率を表す。換言すれば、同時確率Ｐｊは、対応する文字列及び分割パターンの出現確率を表す。
【００７３】
一方、ＮＰＹＬＭ学習ユニット２３０は、図６に示すように、第一学習ユニット２４０、第二学習ユニット２６０、出力ユニット２７０及び言語モデルＬＭ２を有した構成にされる。第一学習ユニット２４０は、選択部２４１、抽出部２４３、更新部２４５、全選択判定部２４７、加重平均算出部２５０、ＮＰＹＬＭ素性スコア入力部２５１及び変換部２５３を有した構成にされる。第一学習ユニット２４０は、公知のＮＰＹＣＲＦ技術と同様の手法で、学習用文字列群ＬＤ２及び識別モデルＤＭ２に基づき、言語モデルＬＭ２を学習する構成にされ得る。
【００７４】
選択部２４１、抽出部２４３及び全選択判定部２４７は、第一実施例の選択部１４１、抽出部１４３及び全選択判定部１４７と同様に構成される。更新部２４５も、基本的には、第一実施例の更新部１４５と同様に構成される。但し、更新部２４５は、言語モデルＬＭ２から特定される条件付確率Ｐに代えて、ＣＲＦ学習ユニット２２０から提供される識別スコアＳｎ及び同時確率Ｐｊに基づき修正された条件付確率Ｐａに基づいて、処理対象文字列を分かち書きする。条件付確率Ｐａは、加重平均算出部２５０から提供される。
【００７５】
即ち、更新部２４５は、処理対象文字列が教師情報を含まない文字列である場合、処理対象文字列の情報が削除された言語モデルＬＭ２から特定される条件付確率Ｐに対応する加重平均算出部２５０からの条件付確率Ｐａに基づき、処理対象文字列を分かち書きし、この分かち書き後文字列を言語モデルＬＭ２に登録し、言語モデルＬＭ２のパラメータを更新するように動作する。
【００７６】
加重平均算出部２５０は、言語モデルＬＭ２から特定される条件付確率Ｐと、ＣＲＦ学習ユニット２２０からＮＰＹＬＭ素性スコア入力部２５１を通じて取得した識別スコアＳｎと、変換部２５３から入力される条件付確率Ｐ’とに基づいて、条件付確率Ｐと条件付確率Ｐ’との加重平均である条件付確率Ｐａ＝（Ｐ＋Ｓｎ・Ｐ’）／（１＋Ｓｎ）を算出する。
【００７７】
ここで、変換部２５３は、ＣＲＦ学習ユニット２２０から得た同時確率Ｐｊを、条件付確率Ｐ’に変換するように動作する。条件付確率Ｐ’は、同時確率Ｐｊに対応する条件付確率Ｐ’であり、言語モデルＬＭ２の条件付確率Ｐに対応する。但し、条件付確率Ｐ’は、ＣＲＦ学習ユニット２２０から得られた同時確率Ｐｅに基づいて算出されてもよい。
【００７８】
第二学習ユニット２６０は、第二学習ユニット１６０と同様に構成され、第一学習ユニット２４０が実行する第一学習処理とは並列に、分かち書き対象文字列Ｄ１が入力される度、その分かち書き後文字列Ｄ２に基づく言語モデルＬＭ２の学習を行う第二学習処理を実行する。即ち、第二学習ユニット２６０は、文字列Ｄ１の入力毎に、分かち書きユニット２１０から得られた分かち書き後文字列Ｄ２を言語モデルＬＭ２に登録し、この際には、分かち書き後文字列Ｄ２の分割パターンに従って、言語モデルＬＭ２のパラメータを更新するように動作する。
【００７９】
出力ユニット２７０は、ＣＲＦ学習ユニット２２０及び分かち書きユニット２１０からの要求に応じて、要求された条件付確率Ｐ，Ｐａを言語モデルＬＭ２に基づいて特定し、これを要求元に出力するように動作する。
【００８０】
分かち書きユニット２１０は、例えば、ＮＰＹＬＭ学習ユニット２３０から取得した上記条件付確率Ｐに基づいて分かち書き対象文字列Ｄ１を分かち書きするように構成され得る。あるいは、分かち書きユニット２１０は、ＮＰＹＬＭ学習ユニット２３０から取得した条件付確率Ｐａに基づいて分かち書き対象文字列Ｄ１を分かち書きするように構成され得る。
【００８１】
あるいは、分かち書きユニット２１０は、ＣＲＦ学習ユニット２２０から取得した識別スコアＳに基づいて、分かち書き対象文字列Ｄ１を分かち書きする構成にされ得る。例えば、分かち書きユニット２１０は、識別スコアＳとの内積に対応する同時確率Ｐｊが最大となる分かち書き対象文字列Ｄ１の素性ベクトルＦを探索することにより、分かち書き対象文字列Ｄ１に対応する尤もらしい分割パターンを決定し、分かち書き対象文字列Ｄ１を分かち書きすることができる。あるいは、分かち書きユニット２１０は、ＣＲＦ学習ユニット２２０から取得した識別スコアＳ，Ｓｎ及びＮＰＹＬＭ学習ユニット２３０から取得した条件付確率Ｐに基づいて、分かち書き対象文字列Ｄ１を分かち書きする構成にされてもよい。
【００８２】
登録ユニット２８０は、登録ユニット１８０と同様、受付部２８１、プール２８３及び追加部２８５を有する。即ち、登録ユニット２８０は、第一学習ユニット２４０による第一学習処理の終了毎に、プール２８３に蓄積された文字列Ｄ１を学習用文字列群ＬＤ２に追加登録することにより、第一学習処理の実行中に入力された文字列Ｄ１が、次の第一学習処理では言語モデルＬＭ２の学習に用いられるように動作する。
【００８３】
以上、第二実施例の分かち書き処理システム１について説明した。本実施例の分かち書き処理システム１には、高度なモデル学習機能（言語モデルＬＭ２及び識別モデルＤＭ２の半教師学習機能）が備わっている上に、分かち書き処理システム１は、分かち書き後文字列Ｄ２に基づく効率的且つ迅速なモデル学習を実現可能である。従って、本実施例によれば、一層高性能な分かち書き処理システム１を、利用者装置５に対して提供可能である。
【００８４】
［第三実施例］
続いて、第三実施例の分かち書き処理システム１を説明する。第三実施例の分かち書き処理システム１は、制御デバイス１０によって実現される機能が第一及び第二実施例の分かち書き処理システム１とは異なる。一方、第三実施例の分かち書き処理システム１のハードウェア構成は、図１に示す分かち書き処理システム１と同一である。従って、以下では、第三実施例として、制御デバイス１０によって実現される機能を選択的に説明する。
【００８５】
本実施例の制御デバイス１０は、プログラムの実行により、図７に示すように、マスタ処理ユニット３００、切替ユニット３５０、及び、複数の個別処理ユニット４００として機能する。マスタ処理ユニット３００は、第二実施例の制御デバイス１０にて実現される機能と同様の機能を有する。但し、マスタ処理ユニット３００は、分かち書きユニット２１０及び登録ユニット２８０を有さず、初期学習データのみの学習用文字列群ＬＤ２に基づき学習した識別モデルＤＭ２及び言語モデルＬＭ２を有した構成にされる。
【００８６】
即ち、マスタ処理ユニット３００は、初期学習データに基づくＣＲＦ学習ユニット２２０による識別モデルＤＭ２の学習動作、及び、初期学習データに基づくＮＰＹＬＭ学習ユニット２３０による言語モデルＬＭ２の学習動作により、学習された識別モデルＤＭ２及び言語モデルＬＭ２を有した構成にされる。
【００８７】
更に、マスタ処理ユニット３００は、言語モデルＬＭ２に基づく条件付確率Ｐ，Ｐａ及び識別モデルＤＭ２に基づく同時確率Ｐｊ，Ｐｅを個別処理ユニット４００からの要求に従って、個別処理ユニット４００に提供可能に構成される。以下では、マスタ処理ユニット３００から個別処理ユニット４００に提供される条件付確率Ｐ，Ｐａのことを、マスタ条件付確率Ｐｍと表現する。マスタ条件付確率Ｐｍは、条件付確率Ｐであってもよいし、条件付確率Ｐａであってもよい。
【００８８】
一方、個別処理ユニット４００は、ユーザ毎に設けられる。切替ユニット３５０は、通信デバイス３０を介して受信した分かち書き対象文字列Ｄ１を、その送信元ユーザに対応する個別処理ユニット４００に入力するように動作する。
【００８９】
切替ユニット３５０は、教師有りデータとして、教師情報を含む新規文字列を、利用者装置５から通信デバイス３０を通じて受信可能に構成されており、受信した新規文字列を、送信元ユーザの個別処理ユニット４００に入力するように動作する。この新規文字列は、ユーザからの登録語に対応する。
【００９０】
切替ユニット３５０は、例えば、分かち書き処理システム１と利用者装置５との接続が確立される際に、ユーザ認証を行うことにより、利用者装置５とユーザとの対応関係、又は、利用者装置５と個別処理ユニット４００との対応関係を特定することができる。切替ユニット３５０は、上記ユーザ認証及び対応関係特定のためのデータベースを有した構成にされ得る。
【００９１】
本実施例の分かち書き処理システム１は、このユーザ毎の個別処理ユニット４００を通じて、識別モデルＤＭ３及び言語モデルＬＭ３を、ユーザの使用履歴及びユーザからの登録語に適合するように、ユーザ毎に学習する。この学習により、本実施例の分かち書き処理システム１は、ユーザの夫々にとって適切な分かち書き結果（分かち書き後文字列Ｄ２）を、分かち書き対象文字列Ｄ１を送信してきた利用者装置５に返信可能であるように構成される。
【００９２】
ここで用語「ユーザ」について付言する。本実施例で言う一ユーザは、一人とは限らない。即ち、ユーザ毎の個別処理ユニット４００は、一人毎の個別処理ユニット４００であってもよいし、集団毎の個別処理ユニット４００であってもよい。集団は、例えば、性別、年齢、居住地域、職業及び所属団体等の属性により分類される集団で有り得る。
【００９３】
続いて、個別処理ユニット４００の詳細を、図８〜図１０を用いて説明する。個別処理ユニット４００の夫々は、図８に示すように、分かち書きユニット４１０、ＣＲＦ学習ユニット４２０、ＮＰＹＬＭ学習ユニット４３０、登録ユニット４８０及び学習用文字列群ＬＤ３を有する。
【００９４】
分かち書きユニット４１０は、分かち書きユニット２１０と同様、切替ユニット３５０を介して入力される対応ユーザの分かち書き対象文字列Ｄ１を分かち書きし、分かち書き後文字列Ｄ２を、分かち書き対象文字列Ｄ１を送信してきた利用者装置５に返信する構成にされる。ここで言う対応ユーザは、個別処理ユニット４００に対応するユーザのことを示す。文字列Ｄ１の分かち書きは、同じ個別処理ユニット４００が有する対応ユーザの言語モデルＬＭ３及び識別モデルＤＭ３の一方又は両方に基づいて行うことができる。
【００９５】
ＣＲＦ学習ユニット４２０は、図９に示すように、文字列取込部４２１と、素性ベクトル生成部４２２と、条件付確率取得部４２３と、ＮＰＹＬＭ素性生成部４２４と、マスタ条件付確率取得部４２５と、マスタ素性生成部４２６と、統合素性ベクトル生成部４２７と、更新部４２８と、出力部４２９と、識別モデルＤＭ３と、を有した構成にされる。
【００９６】
文字列取込部４２１は、学習用文字列群ＬＤ３の中から教師情報を含む文字列の一群を教師有りデータとして取り込むように動作する。素性ベクトル生成部４２２は、この教師有りデータに基づく素性ベクトルＦを生成する。素性ベクトルＦは、文字列毎に生成される。
【００９７】
条件付確率取得部４２３は、対応ユーザの言語モデルＬＭ３から特定される各素性ベクトルＦに対応する文字列の条件付確率Ｐを、同じ個別処理ユニット４００内のＮＰＹＬＭ学習ユニット４３０から取得する。ＮＰＹＬＭ素性生成部４２４は、この条件付確率取得部４２３が取得した条件付確率Ｐを、素性ベクトルＦに追加するＮＰＹＬＭ素性ｆｎに変換する。
【００９８】
一方、マスタ条件付確率取得部４２５は、各素性ベクトルＦに対応する文字列のマスタ条件付確率Ｐｍを、マスタ処理ユニット３００から取得する。マスタ素性生成部４２６は、このマスタ条件付確率Ｐｍを、素性ベクトルＦに追加する素性ｆｍに変換する。以下では、この素性ｆｍを、マスタ素性と表現する。
【００９９】
統合素性ベクトル生成部４２７は、素性ベクトルＦに、対応するＮＰＹＬＭ素性ｆｎ及びマスタ素性ｆｍを、新たな要素として追加して、統合素性ベクトルＦＥ＝（Ｆ，ｆｎ，ｆｍ）を生成する。統合素性ベクトルＦＥは、文字列毎に生成される。ＮＰＹＬＭ素性ｆｎ及びマスタ素性ｆｍがスカラー量である場合、Ｍ次元の素性ベクトルＦに対して、統合素性ベクトルＦＥは、（Ｍ＋２）次元ベクトルである。
【０１００】
更新部４２８は、この統合素性ベクトルＦＥと、識別スコア（Ｓ，Ｓｎ，Ｓｍ）との内積Ｆ・Ｓ＋ｆｎ・Ｓｎ＋ｆｍ・Ｓｍに対応する同時確率Ｐｅに関して、文字列毎の同時確率Ｐｅの平均が最大となる識別スコア（Ｓ，Ｓｎ，Ｓｍ）を算出する。そして、識別モデルＤＭ３が有する識別スコアＳ，Ｓｎ，Ｓｍを、算出された識別スコアＳ，Ｓｎ，Ｓｍに更新することにより、識別モデルＤＭ３を更新する。ここで識別スコアＳｍは、マスタ素性ｆｍに対するスコアであり、その初期値は、設計者により定められる。
【０１０１】
出力部４２９は、ＮＰＹＬＭ学習ユニット４３０及び分かち書きユニット４１０からの要求に応じて、識別スコアＳ，Ｓｎ，Ｓｍ及び同時確率Ｐｅ，Ｐｊを出力するように構成される。ここでの同時確率Ｐｊは、素性ベクトルＦと識別スコアＳとの内積Ｆ・Ｓに対応する。
【０１０２】
ＣＲＦ学習ユニット４２０は、上記の構成を有することにより、対応ユーザの学習用文字列群ＬＤ３の内、教師情報を含む文字列の一群と、対応ユーザの言語モデルＬＭ３及びユーザ共通のマスタ処理ユニット３００の言語モデルと、に基づき、対応ユーザの識別モデルＤＭ３を学習する。
【０１０３】
ＮＰＹＬＭ学習ユニット４３０は、図１０に示すように、第一学習ユニット４４０、第二学習ユニット４６０、出力ユニット４７０及び言語モデルＬＭ３を有した構成にされる。第一学習ユニット４４０は、選択部４４１、抽出部４４３、更新部４４５、全選択判定部４４７、加重平均算出部４５０、ＮＰＹＬＭ素性スコア入力部４５１、変換部４５３、マスタ素性スコア入力部４５５及びマスタ条件付確率入力部４５７を有した構成にされる。
【０１０４】
第一学習ユニット４４０は、第一学習ユニット２４０と基本的に同様の手順で、ＮＰＹＬＭ学習ユニット４３０が有する対応ユーザの言語モデルＬＭ３を学習する。但し、第一学習ユニット４４０は、同じ個別処理ユニット４００内のＣＲＦ学習ユニット４２０から提供される識別スコアＳｎ，Ｓｍ、このＣＲＦ学習ユニット４２０から提供される同時確率Ｐｊ（又は同時確率Ｐｅ）、及び、マスタ処理ユニット３００から提供されるマスタ条件付確率Ｐｍに基づく条件付確率Ｐａを用いて、処理対象文字列を分かち書きする点で、第二実施例の第一学習ユニット２４０とは異なる。
【０１０５】
選択部４４１、抽出部４４３、更新部４４５、全選択判定部４４７、ＮＰＹＬＭ素性スコア入力部４５１及び変換部４５３は、基本的に、第二実施例の選択部２４１、抽出部２４３、更新部２４５、全選択判定部２４７、ＮＰＹＬＭ素性スコア入力部２５１及び変換部２５３と同様に動作する。
【０１０６】
但し、言語モデルＬＭ３の学習は、対応ユーザの学習用文字列群ＬＤ３から処理対象文字列を一つずつ選択して行われる。更新部４４５は、加重平均算出部４５０から提供される条件付確率Ｐａに基づいて、処理対象文字列を分かち書きし、その結果に基づき言語モデルＬＭ３を更新するが、加重平均算出部４５０から更新部４４５には、第二実施例とは異なる次の条件付確率Ｐａが提供される。
【０１０７】
加重平均算出部４５０は、対応ユーザの言語モデルＬＭ３から特定される条件付確率Ｐと、同じ個別処理ユニット４００のＣＲＦ学習ユニット４２０からＮＰＹＬＭ素性スコア入力部４５１を通じて取得した識別スコアＳｎ及びマスタ素性スコア入力部４５５を通じて取得した識別スコアＳｍと、変換部４５３から入力される条件付確率Ｐ’と、マスタ処理ユニット３００からマスタ条件付確率入力部４５７を通じて取得したマスタ条件付確率Ｐｍと、に基づいて、条件付確率Ｐと条件付確率Ｐ’とマスタ条件付確率Ｐｍとの加重平均である条件付確率Ｐａ＝（Ｐ＋Ｓｎ・Ｐ’＋Ｓｍ・Ｐｍ）／（１＋Ｓｎ＋Ｓｍ）を算出する。
【０１０８】
このようにして第一学習ユニット４４０は、対応ユーザの学習用文字列群ＬＤ３、対応ユーザの識別モデルＤＭ３及びマスタ処理ユニット３００の言語モデルに基づいて、対応ユーザの言語モデルＬＭ３を学習する。
【０１０９】
第二学習ユニット４６０は、第二学習ユニット１６０，２６０と同様に構成され、第一学習ユニット４４０が実行する第一学習処理とは並列に、対応ユーザの分かち書きユニット４１０に分かち書き対象文字列Ｄ１が入力される度、その分かち書き後文字列Ｄ２に基づく対応ユーザの言語モデルＬＭ３の学習を行うように動作する。即ち、第二学習ユニット４６０は、対応ユーザからの文字列Ｄ１の入力毎に、分かち書きユニット４１０から得られた分かち書き後文字列Ｄ２を言語モデルＬＭ３に登録し、この際には、分かち書き後文字列Ｄ２の分割パターンに従って、言語モデルＬＭ３のパラメータを更新するように動作する。
【０１１０】
出力ユニット４７０は、分かち書きユニット４１０及びＣＲＦ学習ユニット４２０からの要求に応じて、要求された条件付確率Ｐ，Ｐａを言語モデルＬＭ３に基づいて特定し、これを要求元に出力するように動作する。
【０１１１】
登録ユニット４８０は、登録ユニット１８０，２８０と同様、受付部４８１、プール４８３及び追加部４８５を有する。この登録ユニット４８０は、登録ユニット１８０，２８０と同様に動作し、対応ユーザの分かち書きユニット４１０に入力される分かち書き対象文字列Ｄ１をプールし、第一学習ユニット４４０による第一学習処理の終了毎に、プール４８３に蓄積された文字列Ｄ１を、学習用文字列として、対応ユーザの学習用文字列群ＬＤ３に登録するように動作する。
【０１１２】
更に、本実施例の受付部４８１は、切替ユニット３５０を通じて、対応ユーザから入力された教師情報を含む新規文字列をプール４８３に蓄積するように動作し、追加部４８５は、第一学習ユニット４４０による第一学習処理の終了毎に、この教師情報を含む文字列についても文字列Ｄ１と同様に、プール４８３から取り出して、学習用文字列として、対応ユーザの学習用文字列群ＬＤ３に登録するように動作する。
【０１１３】
本実施例では、上述したように登録ユニット４８０が、対応ユーザから入力される分かち書き対象文字列Ｄ１を教師無しデータとして、及び、教師情報を含む新規文字列を教師有りデータとして、学習用文字列群ＬＤ３に登録するように構成される。このため、学習用文字列群ＬＤ３は、システム管理者からの初期学習データを有さない構成にされる。
【０１１４】
上述したようにして学習される識別モデルＤＭ３及び言語モデルＬＭ３に基づいて、分かち書きユニット４１０は、次のように分かち書き対象文字列Ｄ１を分かち書きする構成にされ得る。例えば、分かち書きユニット４１０は、同じ個別処理ユニット４００内のＮＰＹＬＭ学習ユニット４３０から取得した条件付確率Ｐ又は条件付確率Ｐａに基づいて、分かち書きユニット２１０と同様に、対応ユーザの分かち書き対象文字列Ｄ１を分かち書きするように構成され得る。あるいは、分かち書きユニット４１０は、同じ個別処理ユニット４００内のＣＲＦ学習ユニット４２０から取得した識別スコアＳに基づいて、分かち書きユニット２１０と同様に、分かち書き対象文字列Ｄ１を分かち書きする構成にされ得る。
【０１１５】
あるいは、分かち書きユニット４１０は、同じ個別処理ユニット４００内のＣＲＦ学習ユニット４２０から取得した識別スコアＳ，Ｓｎ，Ｓｍ、ＮＰＹＬＭ学習ユニット４３０から取得した条件付確率Ｐに対応するＮＰＹＬＭ素性ｆｎ、及び、マスタ処理ユニット３００から取得したマスタ条件付確率Ｐｍに対応するマスタ素性ｆｍに基づいて、分かち書き対象文字列Ｄ１を分かち書きする構成にされ得る。
【０１１６】
例えば、分かち書きユニット４１０は、統合素性ベクトル（Ｆ，ｆｎ，ｆｍ）と識別スコア（Ｓ，Ｓｎ，Ｓｍ）との内積に対応する同時確率Ｐｅが最大となる分かち書き対象文字列Ｄ１の素性ベクトルＦを探索することにより、分かち書き対象文字列Ｄ１に対応する尤もらしい分割パターンを決定し、分かち書き対象文字列Ｄ１を分かち書きすることができる。
【０１１７】
以上、本実施例の分かち書き処理システム１について説明したが、本実施例によれば、ユーザ毎に、ユーザから入力された分かち書き対象文字列Ｄ１及び教師情報を含む文字列の一群に基づいて、識別モデルＤＭ３及び言語モデルＬＭ３を学習する。従って、ユーザに適合したモデル学習を行うことができる。
【０１１８】
更に本実施例によれば、ユーザから入力される分かち書き対象文字列Ｄ１を、このユーザの識別モデルＤＭ３及び言語モデルＬＭ３に基づいて分かち書きして、分かち書き後文字列Ｄ２を当該ユーザに提供するので、ユーザにとって適切な分かち書き結果を提供することができる。よって、本実施例によれば、ユーザの夫々が使用する言葉に応じた適切な分かち書き結果を提供することでき、高性能な分かち書き処理システム１を提供することができる。
【０１１９】
この他、本実施例では、処理対象文字列に基づき言語モデルＬＭ３を更新する際に、加重平均された条件付確率Ｐａを用いる。そして、条件付確率Ｐａを算出する際の条件付確率Ｐ，Ｐ’，Ｐｍの重み付けを、識別スコアＳｎ，Ｓｍに基づいて自動決定する。従って、本実施例の分かち書き処理システム１によれば、ユーザからの入力に基づく学習結果、及び、初期学習データに基づく学習結果を良好な比率で言語モデルＬＭ３に反映させることができる。これにより、本実施例の分かち書き処理システム１は、非常に適切に、ユーザからの入力文字列を分かち書きすることができる。
【０１２０】
ここで、第三実施例の変形例について説明する。以上には、第一学習ユニット４４０がマスタ条件付確率Ｐｍを取得する例について説明したが、マスタ条件付確率Ｐｍに相当するものは、マスタ処理ユニット３００の識別モデルから算出される同時確率Ｐｊ，Ｐｅを条件付確率に変換することによっても得ることができる。
【０１２１】
従って、第一学習ユニット４４０は、マスタ条件付確率入力部４５７に代えて、マスタ処理ユニット３００から取得した同時確率Ｐｊ又は同時確率Ｐｅを、条件付確率Ｐｍ’に変換して、加重平均算出部４５０に提供する変換部を備えた構成にされてもよい。この場合、加重平均算出部４５０は、条件付確率Ｐｍに代えて条件付確率Ｐｍ’を用いて条件付確率Ｐａ＝（Ｐ＋Ｓｎ・Ｐ’＋Ｓｍ・Ｐｍ’）／（１＋Ｓｎ＋Ｓｍ）を算出する構成にされ得る。
【０１２２】
また、加重平均算出部４５０は、条件付確率Ｐｍ及び条件付確率Ｐｍ’の両者を用いて条件付確率Ｐａを算出する構成にされてもよい。例えば、条件付確率Ｐｍに代えて、条件付確率Ｐｍと条件付確率Ｐｍ’との平均値を用いて、条件付確率Ｐａは算出されてもよい。
【０１２３】
同様に、ＣＲＦ学習ユニット４２０は、マスタ処理ユニット３００からマスタ条件付確率Ｐｍを取得して、マスタ素性ｆｍを生成するのではなく、マスタ処理ユニット３００から得られる同時確率Ｐｊ又は同時確率Ｐｅからマスタ素性ｆｍを生成するように構成されてもよい。ＣＲＦ学習ユニット４２０は、マスタ処理ユニット３００から得られるマスタ条件付確率Ｐｍ及び同時確率Ｐｊ，Ｐｅに基づいて、マスタ素性ｆｍを生成するように構成されてもよい。
【０１２４】
［第四実施例］
続いて、第四実施例の分かち書き処理システム１を説明する。第四実施例の分かち書き処理システム１のハードウェア構成は、上記実施例と同一である。第四実施例の分かち書き処理システム１は、第二実施例の分かち書き処理システム１において制御デバイス１０により実現されるＣＲＦ学習ユニット２２０（図４参照）の構成を変更したものであり、他の構成に関しては、基本的に、第二実施例と同様の構成を有する。従って、以下では、第二実施例のＣＲＦ学習ユニット２２０に代わるＣＲＦ学習ユニット５２０の構成を選択的に説明する。
【０１２５】
本実施例の制御デバイス１０は、プログラムの実行により、図１１に示すＣＲＦ学習ユニット５２０として機能する。
ＣＲＦ学習ユニット５２０は、第二実施例と同様、学習用文字列群ＬＤ２の内の教師情報を含む学習用文字列の一群（教師有りデータ）と、言語モデルＬＭ２と、に基づいて識別モデルＤＭ２を学習するように構成される。識別モデルＤＭ２は、識別スコアＳ，Ｓｎを含む。
【０１２６】
具体的に、ＣＲＦ学習ユニット５２０は、ＮＰＹＬＭ学習ユニット２３０から得られる条件付確率ＰをＮＰＹＬＭ素性に変換することなく、教師有りデータに対応する学習用文字列の夫々の出現確率を、条件付確率Ｐａに基づき算出したときの出現確率の平均値が最大となるように、識別スコアＳ，Ｓｎを更新する。これにより、識別モデルＤＭ２を学習する。第二実施例で説明したように、文字の並びに関する条件付確率Ｐａは、言語モデルＬＭ２に基づく条件付確率Ｐと、識別モデルＤＭ２に基づく条件付確率Ｐ’との加重平均に対応する統合条件付確率Ｐａ（＝（Ｐ＋Ｓｎ・Ｐ’）／（１＋Ｓｎ））である。学習用文字列の出現確率は、その学習用文字列の分割パターン及び文字の並びに従う統合条件付確率Ｐａの積を算出することで得ることができる。
【０１２７】
条件付確率Ｐ’は、第二実施例で説明したように、識別モデルＤＭ２から算出される同時確率Ｐｊを、対応する条件付確率に変換したものであり、識別スコアＳをパラメータとして有する。従って、統合条件付確率Ｐａは、言語モデルＬＭ２に基づく条件付確率Ｐを定数とみなせば、識別スコアＳ，Ｓｎをパラメータとして有する関数であり、上記出現確率の平均値は、識別スコアＳ，Ｓｎをパラメータとする関数である。上記出現確率の平均値を最大化する識別スコアＳ，Ｓｎを求めることは、公知の準ニュートン法などを用いて行うことが可能である。
【０１２８】
本実施例では、このような原理に基づき、教師有りデータに対応する学習用文字列の一群及び言語モデルＬＭ２に基づく条件付確率Ｐに基づき、識別スコアＳ，Ｓｎを更新し、識別モデルＤＭ２を学習する。
【０１２９】
図１１に示すように、本実施例のＣＲＦ学習ユニット５２０は、文字列取込部５２１と、条件付確率取得部５２３と、出現確率最大化部５２８と、出力部５２９と、識別モデルＤＭ２と、を備える。
【０１３０】
文字列取込部５２１は、学習用文字列群ＬＤ２から、教師情報を含む文字列の一群を教師有りデータとして取り込む。条件付確率取得部５２３は、文字列取込部５２１により取り込まれる各学習用文字列に対応する、言語モデルＬＭ２に基づく条件付確率Ｐの一群を、ＮＰＹＬＭ学習ユニット２３０から取得する。取得対象の条件付確率Ｐの一群は、各学習用文字列に関して、教師情報が示す分割パターンに従う学習用文字列の出現確率を算出するのに必要な条件付確率Ｐの一群である。
【０１３１】
出現確率最大化部５２８は、上記原理に基づき、識別モデルＤＭ２に基づく条件付確率Ｐ’と、この条件付確率Ｐ’に対応する言語モデルＬＭ２に基づく条件付確率Ｐと、の加重平均で定義される統合条件付確率Ｐａ（＝（Ｐ＋Ｓｎ・Ｐ’）／（１＋Ｓｎ））を用いて算出される各学習用文字列の出現確率の平均値が最大となる方向に、識別モデルＤＭ２の識別スコアＳ，Ｓｎを更新する。これにより、識別モデルＤＭ２を更新する。
【０１３２】
出力部５２９は、ＮＰＹＬＭ学習ユニット２３０及び分かち書きユニット２１０からの要求に応じて、上記のように更新される識別スコアＳ，Ｓｎ及び識別モデルＤＭ２に基づく同時確率Ｐｊを出力する。本実施例のＮＰＹＬＭ学習ユニット２３０は、ＣＲＦ学習ユニット５２０からの同時確率Ｐｊ及び識別スコアＳｎに基づいて、条件付確率Ｐａを算出し、言語モデルＬＭ２を学習することができる。本実施例によっても、上記実施例と同様、高性能な分かち書き処理システム１を提供することができる。
【０１３３】
［第五実施例］
続いて、第五実施例分かち書き処理システム１を説明する。第五実施例の分かち書き処理システム１のハードウェア構成は、上記実施例と同一である。第五実施例の分かち書き処理システム１は、第三実施例の分かち書き処理システム１において制御デバイス１０により実現されるＣＲＦ学習ユニット４２０（図９参照）の構成を変更したものであり、他の構成に関しては、基本的に、第三実施例と同様の構成を有する。従って、以下では、第三実施例のＣＲＦ学習ユニット４２０に代わるＣＲＦ学習ユニット６２０の構成を選択的に説明する。
【０１３４】
本実施例の制御デバイス１０は、プログラムの実行により、図１２に示すＣＲＦ学習ユニット６２０として機能する。ＣＲＦ学習ユニット６２０の第三実施例のＣＲＦ学習ユニット４２０に対する相違点は、第四実施例と同様に、統合条件付確率Ｐａ（＝（Ｐ＋Ｓｎ・Ｐ’＋Ｓｍ・Ｐｍ）／（１＋Ｓｎ＋Ｓｍ））に基づく学習用文字列群の出現確率の平均値を最大化するように、識別スコアＳ，Ｓｎ，Ｓｍを更新して、識別モデルＤＭ３を学習する点である。
【０１３５】
条件付確率Ｐは、同じ個別処理ユニット４００（図８参照）のＮＰＹＬＭ学習ユニット４３０から提供される言語モデルＬＭ３に基づく条件付確率Ｐであり、条件付確率Ｐｍは、マスタ処理ユニット３００（図７参照）から提供される言語モデルＬＭ２に基づくマスタ条件付確率Ｐｍである。本実施例におけるマスタ処理ユニット３００は、第四実施例と同様の原理で、初期学習データのみの学習用文字列群ＬＤ２に基づき学習した識別モデルＤＭ２及び言語モデルＬＭ２を有した構成にされ得る。
【０１３６】
条件付確率Ｐ’は、識別モデルＤＭ３から算出される同時確率Ｐｊを、対応する条件付確率に変換したものであり、識別スコアＳをパラメータとして有する。従って、統合条件付確率Ｐａは、同じ個別処理ユニット４００の言語モデルＬＭ３に基づく条件付確率Ｐ及びマスタ処理ユニット３００の言語モデルＬＭ２に基づくマスタ条件付確率Ｐｍを定数とみなせば、識別スコアＳ，Ｓｎ，Ｓｍをパラメータとして有する関数である。従って、上記出現確率の平均値は、識別スコアＳ，Ｓｎ，Ｓｍをパラメータとする関数であり、第四実施例と同様の原理で、識別スコアＳ，Ｓｎ，Ｓｍを更新して、識別モデルＤＭ３を学習可能であることが理解できる。
【０１３７】
図１２に示すようにＣＲＦ学習ユニット６２０は、文字列取込部６２１と、条件付確率取得部６２３と、マスタ条件付確率取得部６２５と、出現確率最大化部６２８と、出力部６２９と、識別モデルＤＭ３と、を備える。
【０１３８】
文字列取込部６２１は、対応ユーザの学習用文字列群ＬＤ３から、教師情報を含む文字列の一群を教師有りデータとして取り込む。条件付確率取得部６２３は、文字列取込部６２１により取り込まれた各学習用文字列に対応する、対応ユーザの言語モデルＬＭ３に基づく条件付確率Ｐの一群を、ＮＰＹＬＭ学習ユニット４３０から取得する。
【０１３９】
マスタ条件付確率取得部６２５は、文字列取込部６２１により取り込まれた各学習用文字列に対応する、全ユーザ共通の言語モデルＬＭ２に基づく条件付確率Ｐｍ（マスタ条件付確率Ｐｍ）の一群を、マスタ処理ユニット３００から取得する。
【０１４０】
出現確率最大化部６２８は、対応ユーザの識別モデルＤＭ３に基づく条件付確率Ｐ’と、この条件付確率Ｐ’に対応する言語モデルＬＭ２，ＬＭ３に基づく条件付確率Ｐｍ，Ｐと、の加重平均で定義される統合条件付確率Ｐａ（＝（Ｐ＋Ｓｎ・Ｐ’＋Ｓｍ・Ｐｍ）／（１＋Ｓｎ＋Ｓｍ））を用いて算出される各学習用文字列の出現確率の平均値が最大となる方向に、識別モデルＤＭ３の識別スコアＳ，Ｓｎ，Ｓｍを更新する。これにより、識別モデルＤＭ３を更新する。
【０１４１】
出力部６２９は、ＮＰＹＬＭ学習ユニット４３０及び分かち書きユニット４１０からの要求に応じて、識別スコアＳ，Ｓｎ，Ｓｍ及び同時確率Ｐｊを出力する。本実施例のＮＰＹＬＭ学習ユニット４３０は、ＣＲＦ学習ユニット４２０からの同時確率Ｐｊ及び識別スコアＳｎ，Ｓｍに代えて、ＣＲＦ学習ユニット６２０からの同時確率Ｐｊ及び識別スコアＳｎ，Ｓｍを用いて、条件付確率Ｐａを算出し、言語モデルＬＭ３を学習することができる。本実施例によっても、上記実施例と同様、高性能な分かち書き処理システム１を提供することができる。
【０１４２】
［他の実施形態］
以上、本発明の実施例について説明したが、本発明は、上記実施例に何ら限定されるものではなく種々の態様を採り得る。例えば、第一及び第二実施例の分かち書き処理システム１における登録ユニット１８０，２８０は、第三実施例と同様に、教師情報を含む新規文字列を、利用者装置５から通信デバイス３０を通じて受信可能に構成されてもよく、受信した新規文字列を学習用文字列群ＬＤ１，ＬＤ２に登録するように構成されてもよい。
【０１４３】
この他、上記システムの構成の一部は、同様の機能を有する公知の構成に置き換えられてもよいし、省略されてもよい。また、一実施例のシステムの構成の一部は、他の実施例のシステムの構成に対して付加又は置換されてもよい。１つの構成要素が有する機能は、複数の構成要素に分散して付与され得る。また、複数の構成要素が有する機能は、１つの構成要素に統合され得る。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【０１４４】
１…分かち書き処理システム、５…利用者装置、１０…制御デバイス、１０Ａ…ＣＰＵ、２０…記憶デバイス、３０…通信デバイス、１１０，２１０，４１０…分かち書きユニット、１４０，２４０，４４０…第一学習ユニット、１４１，２４１，４４１…選択部、１４３，２４３，４４３…抽出部、１４５，２４５，４４５…更新部、１４７，２４７，４４７…全選択判定部、１６０，２６０，４６０…第二学習ユニット、１８０，２８０，４８０…登録ユニット、１８１，２８１，４８１…受付部、１８３，２８３，４８３…プール、１８５，２８５，４８５…追加部、２２０，４２０，５２０，６２０…ＣＲＦ学習ユニット、２２１，４２１，５２１，６２１…文字列取込部、２２２，４２２…素性ベクトル生成部、２２３，４２３，５２３，６２３…条件付確率取得部、２２４，４２４…ＮＰＹＬＭ素性生成部、２２７，４２７…統合素性ベクトル生成部、２２８，４２８…更新部、２２９，４２９，５２９，６２９…出力部、２３０，４３０…ＮＰＹＬＭ学習ユニット、２５０，４５０…加重平均算出部、２５１，４５１…素性スコア入力部、２５３，４５３…変換部、２７０，４７０…出力ユニット、３００…マスタ処理ユニット、３５０…切替ユニット、４００…個別処理ユニット、４２５，６２５…マスタ条件付確率取得部、４２６…マスタ素性生成部、４５５…マスタ素性スコア入力部、４５７…マスタ条件付確率入力部、５２８，６２８…出現確率最大化部、Ｄ１…分かち書き対象文字列、Ｄ２…分かち書き後文字列、ＬＤ１，ＬＤ２，ＬＤ３…学習用文字列群、ＤＭ２，ＤＭ３…識別モデル、ＬＭ１，ＬＭ２，ＬＭ３…言語モデル。
【図１】
0006612505.tif 000002
【図２】
0006612505.tif 000003
【図３】
0006612505.tif 000004
【図４】
0006612505.tif 000005
【図５】
0006612505.tif 000006
【図６】
0006612505.tif 000007
【図７】
0006612505.tif 000008
【図８】
0006612505.tif 000009
【図９】
0006612505.tif 000010
【図１０】
0006612505.tif 000011
【図１１】
0006612505.tif 000012
【図１２】
0006612505.tif 000013