(57)【要約】【課題】従来よりも高精度な系列（文字列）の分割技術を提供する。【解決手段】文字分割部２が、ｍを２以上の整数として、入力された文字列をｍ個の文字Ｃ１，Ｃ２，…，Ｃｉ，…，Ｃｍに分割する。第一確率計算部が、境界情報付文字Ｓｉを文字Ｃｉの直後に境界／を有しないもの又は文字Ｃｉの直後に境界／を有するものとし、境界情報付文字Ｓ０を境界／のみからなる文字＾とし、分割された各文字の直後に境界があるかどうかを記述した境界情報付文字の列をパスとし、ｎを２以上の整数として、コーパスの中で、Ｓｉ−（ｎ−１）…Ｓｉ−１の後にＳｉが続く確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する。第二確率計算部４は、Ｐ（Ｓ０…Ｓｍ）＝Πｉ＝１ｍＰ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する。Ｐ（Ｓ０…Ｓｍ）を最大にするパスが、尤もらしい分割の境界を与える。【選択図】図１
2011180864.tif 000002
【特許請求の範囲】
【請求項１】
ｍを２以上の整数として、入力された文字列をｍ個の文字Ｃ１，Ｃ２，…，Ｃｉ，…，Ｃｍに分割する文字分割部と、
予め単語に分割された文書であるコーパスを記憶するコーパス記憶部と、
境界情報付文字Ｓｉを文字Ｃｉの直後に境界／を有しないもの又は文字Ｃｉの直後に境界／を有するものとし、境界情報付文字Ｓ０を境界／のみからなる文字＾とし、上記分割された各文字の直後に境界があるかどうかを記述した境界情報付文字の列をパスとし、ｎを２以上の整数として、上記コーパスの中で、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍを構成する各部分境界情報付文字の列Ｓｉ−（ｎ−１）…Ｓｉ−１の後に境界情報付文字Ｓｉが続く確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する第一確率計算部と、
上記各パスを構成する境界情報付文字の列Ｓ０…Ｓｍについて計算された上記複数の確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を掛けて、上記各パスを構成する境界情報付文字の列Ｓ０…Ｓｍが上記コーパスの中で出現する度合いを計算する第二確率計算部と、
上記度合いを最大にするパスを選択して、そのパスを構成する境界情報付文字の列についての情報を出力する最大パス選択部と、
を含む系列分割装置。
【請求項２】
請求項１の系列分割装置において、
上記コーパス記憶部は、上記文書に代えて、分割可能な箇所で分割された複数の単語及びその単語の頻度統計値を上記コーパスとして記憶し、
第一頻度ｆ１（Ｓｉ１…ＳｉＩ）を、上記コーパスの中で境界情報付文字の列Ｓｉ１…ＳｉＩを含むすべての単語の頻度統計値を加算したものとして、第一頻度ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ）及びＬ＝１，…，ｎ−１について第一頻度ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ−ＬＳ０）並びに第一頻度ｆ１（Ｓ０Ｓｉ−（Ｌ−１）…Ｓｉ）を計算する第一頻度計算部と、
上記コーパス記憶部に記憶された単語の頻度統計値の合計をｆ１（＾）とし、ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）＝ΣＬ＝１ｎ−１（ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ−ＬＳ０）ｆ１（Ｓ０Ｓｉ−（Ｌ−１）…Ｓｉ）／ｆ１（＾））により定義される第二頻度ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）を計算する第二頻度計算部と、
ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）＝ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ）＋ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）により定義される第三頻度ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）を計算する第三頻度計算部と、
上記第一確率計算部は、ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）／ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算して上記確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）とする、
ことを特徴とする系列分割装置。
【請求項３】
文字分割部が、ｍを２以上の整数として、入力された文字列をｍ個の文字Ｃ１，Ｃ２，…，Ｃｉ，…，Ｃｍに分割する文字分割ステップと、
第一確率計算部が、境界情報付文字Ｓｉを文字Ｃｉの直後に境界／を有しないもの又は文字Ｃｉの直後に境界／を有するものとし、境界情報付文字Ｓ０を境界／のみからなる文字＾とし、上記分割された各文字の直後に境界があるかどうかを記述した境界情報付文字の列をパスとし、ｎを２以上の整数として、コーパス記憶部に記憶された予め単語に分割された文書であるコーパスの中で、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍを構成する各部分境界情報付文字の列Ｓｉ−（ｎ−１）…Ｓｉ−１の後に境界情報付文字Ｓｉが続く確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する第一確率計算ステップと、
第二確率計算部が、上記各パスを構成する境界情報付文字の列Ｓ０…Ｓｍについて計算された上記複数の確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を掛けて、上記各パスを構成する境界情報付文字の列Ｓ０…Ｓｍが上記コーパスの中で出現する度合いを計算する第二確率計算ステップと、
最大パス選択部が、上記度合いを最大にするパスを選択して、そのパスを構成する境界情報付文字の列についての情報を出力する最大パス選択ステップと、
を含む系列分割方法。
【請求項４】
請求項３に記載の系列分割方法において、
上記コーパス記憶部には、上記文書に代えて、分割可能な箇所で分割された複数の単語及びその単語の頻度統計値を上記コーパスとして記憶されており、
第一頻度計算部が、第一頻度ｆ１（Ｓｉ１…ＳｉＩ）を、上記コーパスの中で境界情報付文字の列Ｓｉ１…ＳｉＩを含むすべての単語の頻度統計値を加算したものとして、第一頻度ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ）及びＬ＝１，…，ｎ−１について第一頻度ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ−ＬＳ０）並びに第一頻度ｆ１（Ｓ０Ｓｉ−（Ｌ−１）…Ｓｉ）を計算する第一頻度計算ステップと、
第二頻度計算部が、上記コーパス記憶部に記憶された単語の頻度統計値の合計をｆ１（＾）とし、ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）＝ΣＬ＝１ｎ−１（ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ−ＬＳ０）ｆ１（Ｓ０Ｓｉ−（Ｌ−１）…Ｓｉ）／ｆ１（＾））により定義される第二頻度ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）を計算する第二頻度計算ステップと、
第三頻度計算部が、ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）＝ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ）＋ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）により定義される第三頻度ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）を計算する第三頻度計算ステップと、
上記第一確率計算ステップは、ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）／ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算して上記確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）とする、
ことを特徴とする系列分割方法。
【請求項５】
請求項１又は２に記載の系列分割装置の各部として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文字列等の系列を分割する技術に関する。
【背景技術】
【０００２】
従来の系列分割装置、例えば形態素解析装置では、単語辞書とその連接辞書などを用意しておき、単語の出現スコアと連接の出現スコアの総計がもっともらしくなるように分割する手法がよく採用されている。スコア計算には人手で与える場合や、コーパスから計算される確率値を用いる場合もある。辞書に存在しない語の分割の場合には、カタカナや英数字などの文字種境界などで分割されることが一般的であった（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】長尾真（編），佐藤理史（編），「岩波講座  ソフトウェア科学（第１５巻）自然言語処理」，岩波書店，１９９６年４月，ｐ．１２９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、単語の境界で文字種が異ならない場合があり、また単語の境界でない部分で文字種が変化する場合があるため、非特許文献１に記載された分割方法では、あまり精度が望めないという問題があった。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、文字分割部が、ｍを２以上の整数として、入力された文字列をｍ個の文字Ｃ１，Ｃ２，…，Ｃｉ，…，Ｃｍに分割する。第一確率計算部が、境界情報付文字Ｓｉを文字Ｃｉの直後に境界／を有しないもの又は文字Ｃｉの直後に境界／を有するものとし、境界情報付文字Ｓ０を境界／のみからなる文字＾とし、分割された各文字の直後に境界があるかどうかを記述した境界情報付文字の列をパスとし、ｎを２以上の整数として、コーパスの中で、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍを構成する各部分境界情報付文字の列Ｓｉ−（ｎ−１）…Ｓｉ−１の後に境界情報付文字Ｓｉが続く確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する。第二確率計算部が、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍについて計算された複数の確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を掛けて、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍがコーパスの中で出現する度合いを計算する。最大パス選択部が、度合いを最大にするパスを選択して、そのパスを構成する境界情報付文字の列についての情報を出力する。
【発明の効果】
【０００６】
境界を有するかどうかの確からしさをｎグラム単位で考慮することにより、従来よりも高精度で系列の分割を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】系列分割装置の例の機能ブロック図。
【図２】系列分割方法の例の流れ図。
【図３】第一実施形態のコーパスを例示する図。
【図４】パスを例示する図。
【図５】第二実施形態のコーパスを例示する図。
【発明を実施するための形態】
【０００８】
以下、この発明による系列分割装置の一実施形態を詳細に説明する。
【０００９】
［第一実施形態］
第一実施形態の系列分割装置は、コーパス記憶部１、文字分割部２、第一確率計算部３、第二確率計算部４及び最大パス選択部７を含む。必要に応じて、事前計算部５及び分割モデル記憶部６を含んでいてもよい。
【００１０】
コーパス記憶部１には、コーパスが記憶されている。この実施形態では、図３に例示する予め単語に分割された文書がコーパスとして記憶されている。図３に例示するように、文書は人手により又は機械的に予め単語に分割されており、単語と単語の境界は「／」で表現される。境界を「／」を表現するのは一例であり、他の記号を用いて境界を表現してもよい。
【００１１】
文字列が、文字分割部２に入力される。文字分割部２は、入力された文字列をｍ個の文字Ｃ１，Ｃ２，…，Ｃｉ，…，Ｃｍに分割するに分割する（ステップＳ１）。ｍは２以上の整数である。分割された文字についての情報は、第一確率計算部３に送られる。例えば、入力された文字列が「サイバースペース」である場合には、文字分割部２により、「サ」「イ」「バ」「ー」「ス」「ペ」「ー」「ス」と８個の文字に分割される。この場合、Ｃ１＝サ，Ｃ２＝イ，Ｃ３＝バ，Ｃ４＝ー，Ｃ５＝ス，Ｃ６＝ペ，Ｃ７＝ー，Ｃ８＝スとなる。
【００１２】
ここで、境界情報付文字Ｓｉについて説明する。境界情報付文字Ｓｉは、文字Ｃｉの直後に境界／を有しないもの「Ｃｉ」、又は、文字Ｃｉの直後に境界／を有するもの「Ｃｉ／」である。また、境界情報付文字Ｓ０を境界／のみからなる文字とする。境界／のみからなる文字を＾と表記することもある。
【００１３】
境界情報付文字の列Ｓ０…Ｓｍにより、入力された文字列がどのように分割されているかを表現することができる。例えば、Ｓ１＝サ，Ｓ２＝イ／，Ｓ３＝バ，Ｓ４＝ー，Ｓ５＝ス／，Ｓ６＝ペ，Ｓ７＝ー，Ｓ８＝スであり、境界情報付文字の列Ｓ０…Ｓｍが「／サイ／バース／ペース」である場合には、「サイ」「バース」「ペース」と分割されていることを意味する。
【００１４】
文字分割部２で分割された各文字Ｃｉの直後に境界があるかどうかを記述した境界情報付文字の列Ｓ０…Ｓｍをパスと呼ぶことにする。各文字Ｃｉ（ｉ＝１，…，ｍ−１）の後に境界があるかどうかで、２ｍ−１個のパスが存在する。すなわち、ｍ文字からなる入力された文字列の分割のやり方は、２ｍ−１種類存在する。入力された文字列が「サイバースペース」である場合に想定されるすべてのパスを図４に示す。境界情報付文字Ｓ１が「サ」であるか「サ／」であるかどうか、境界情報付文字Ｓ２が「イ」であるか「イ／」であるかどうか、…、境界情報付文字Ｓ７が「ー」であるか「ー／」であるかどうかで、２８−１＝２７＝１２８通りのパスが存在する。
【００１５】
第一確率計算部３は、ｎを２以上の整数として、コーパス記憶部１に記憶されたコーパスの中で、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍを構成する各部分境界情報付文字の列Ｓｉ−（ｎ−１）…Ｓｉ−１の後に境界情報付文字Ｓｉが続く確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する（ステップＳ２）。計算された確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）は、第二確率計算部４に送られる。
【００１６】
パスＳ０…Ｓｍは、例えば、Ｓ０Ｓ１…Ｓｎ−３Ｓｎ−２，Ｓ１Ｓ２…Ｓｎ−２Ｓｎ−１，…，Ｓｉ−（ｎ−１）Ｓｉ−（ｎ−１）＋１…Ｓｉ−２Ｓｉ−１，…，Ｓｍ−２−（ｎ−２）Ｓｍ−２−（ｎ−２）＋１…Ｓｍ−３Ｓｍ−２，Ｓｍ−１−（ｎ−２）Ｓｍ−１−（ｎ−２）＋１…Ｓｍ−２Ｓｍ−１のｍ−ｎ＋２個の部分境界情報付文字の列から構成される。第一確率計算部３は、ｍ−ｎ＋２個の部分境界情報付文字の列のそれぞれについて確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する。
【００１７】
確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）は、関数ｆｒｅｑ（第三頻度ｆｒｅｑと呼ぶこともある。）の値を用いて、次式により例えば計算することができる。
【００１８】
Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）＝ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）／ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ−１）  …（３）
ｆｒｅｑ（・）は、境界情報付文字の列・が、コーパス記憶部１に記憶されているコーパスに現れる頻度である。例えば、境界情報付文字「ド／」及び境界情報付文字「バ」からなる境界情報付文字の列「ド／バ」は、図３のコーパスにおいて２回出現する。したがって、この例では、ｆｒｅｑ（ド／バ）＝２となる。
【００１９】
第一確率計算部３は、コーパス記憶部１に記憶されたコーパスを直接参照して、ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）及びｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する。また、事前計算部５（または後述する第三頻度計算部１０）がｉ（ｉは１≦ｉ≦ｎの整数）個の境界情報付文字からなる境界情報付文字の列のすべてについての関数ｆｒｅｑの値を予め計算して分割モデル記憶部６の中に記憶しておき、第一確率計算部３がＳｉ−（ｎ−１）…Ｓｉ及びＳｉ−（ｎ−１）…Ｓｉ−１をキーとして分割モデル記憶部６を参照して、ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）及びｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ−１）の値を求めてもよい。
【００２０】
第二確率計算部４は、各パスを構成する境界情報付文字の列Ｓ０…Ｓｍについて計算された複数の確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を掛けて、上記各パスを構成する境界情報付文字の列Ｓ０…Ｓｍが上記コーパスの中で出現する度合いＰ（Ｓ０…Ｓｍ）を計算する（ステップＳ３）。例えば、次式により定義される度合いＰ（Ｓ０…Ｓｍ）を計算する。
【００２１】
Ｐ（Ｓ０…Ｓｍ）＝Πｉ＝ｎ−１ｍＰ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）…（１）
各パス毎に計算された度合いＰ（Ｓ０…Ｓｍ）は、最大パス選択部７に送られる。
【００２２】
最大パス選択部７は、度合いＰ（Ｓ０…Ｓｍ）を最大にするパスを選択して、そのパスを構成する境界情報付文字の列についての情報を出力する（ステップＳ４）。図４に太線で繋がれたパスの度合いＰ（Ｓ０…Ｓｍ）が最大であたったとする。この場合、パスを構成する境界情報付文字の列「サイバー／スペース」についての情報が出力される。この結果、「サイバースペース」という文字列は、「サイバー」と「スペース」とに分割されることになる。
【００２３】
このように、境界を有するかどうかの確からしさをｎグラム単位で考慮することにより、従来よりも高精度で系列の分割を行うことができる。
【００２４】
［第二実施形態］
第二実施形態のコーパス記憶部１には、第一実施形態とは異なり、分割可能な箇所で分割された複数の単語及びその単語の頻度統計値がコーパスとして記憶される。第二実施形態の系列分割装置は、そのコーパスに基づいて後述する第三頻度ｆｒｅｑを計算し、第一確率計算部３は計算された第三頻度ｆｒｅｑを用いて確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算する。他の部分は、第一実施形態と同様である。
【００２５】
第二実施形態の系列分割装置は、第一実施形態の系列分割装置の各部に加えて、第一頻度計算部８、第二頻度計算部９及び第三頻度計算部１０を更に含む。
【００２６】
第二実施形態のコーパスの例を、図５に示す。図５の例では、「／ブロード／バンド／アクセス／」という単語の頻度統計値が９２１２であり、「／ブロード／バンド／ユビキタス／サービス／」という単語の頻度統計値が２３４１であり、「／ソフトウェア／」という単語の頻度統計値が３４４３１であり、「サーバー」という単語の頻度統計値が１２３６４１であり、これらの単語を含むすべての単語の頻度統計値の合計（ｆ１（＾）と表記する。）が、９８４４６３４２である。このように、単語の内部における境界は、第一実施形態と同様に／で表現される。図５の例では、単語番号の欄が設けられているが、これは以下の説明のために便宜的に設けたものであり、この欄はコーパスに必須ではない。
【００２７】
単語への分割、単語の内部における分割は、適当な文書集合から例えば人手で行われる。頻度統計値は、単語の文書集合における出現の度合いを示したものであり、例えば、単語が文書集合において出現した回数である。頻度統計値は、文書集合から機械的に算出可能である。
【００２８】
ここで、第一頻度ｆ１（Ｓｉ１…ＳｉＩ）について説明する。第一頻度ｆ１（Ｓｉ１…ＳｉＩ）は、コーパス記憶部１に記憶されたコーパスの中で境界情報付文字の列Ｓｉ１…ＳｉＩを含むすべての単語の頻度統計値を加算したものである。図５の例では、３つの境界情報付文字「ブ」「ロ」「―」からなる境界情報付文字の列「ブロー」は、単語番号１の単語及び単語番号２の単語に含まれる。境界情報付文字の列「ブロー」は、図５の表に記載されていない単語には含まれないとする。この場合、第一頻度ｆ１（ブロー）は、単語番号１の単語の頻度統計値９２１２＋単語番号２の単語の頻度統計値２３４１＝１１５５３となる。
【００２９】
第一頻度計算部８は、第一頻度ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ）及びＬ＝１，…，ｎ−１について第一頻度ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ−ＬＳ０）並びに第一頻度ｆ１（Ｓ０Ｓｉ−（Ｌ−１）…Ｓｉ）を計算する（ステップＳ２１）。計算された各第一頻度は、第二頻度計算部９に送られる。
【００３０】
第二頻度計算部９は、ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）＝ΣＬ＝１ｎ−１（ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ−ＬＳ０）ｆ１（Ｓ０Ｓｉ−（Ｌ−１）…Ｓｉ）／ｆ１（＾））により定義される第二頻度ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）を計算する（ステップＳ２２）。ｆ１（＾）は、第二実施形態のコーパスを構成するすべての単語の頻度統計値の合計である。計算された第二頻度ｆ２は、第三頻度計算部１０に送られる。第二頻度ｆ２は、第二実施形態のコーパスを構成する任意の単語を頻度統計値に基づいて確率的に組み合わせることにより生成した仮想的な単語を考慮した際の頻度である。
【００３１】
第三頻度計算部１０は、ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）＝ｆ１（Ｓｉ−（ｎ−１）…Ｓｉ）＋ｆ２（Ｓｉ−（ｎ−１）…Ｓｉ）により定義される第三頻度ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）を計算する（ステップＳ２３）。計算された第三頻度ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）は第一確率計算部３に送られ、第一確率計算部３はこの第三頻度ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）を用いて、例えば上記式（３）に基づいて確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）の計算を行う。
【００３２】
３個の境界情報付文字「ス／」「サ」「ー」から構成される境界情報付文字の列「ス／サー」についての第三頻度ｆｒｅｑ（ス／サー）を計算する場合を例に挙げて、第一頻度計算部８、第二頻度計算部９及び第三頻度計算部１０の処理について説明する。
【００３３】
第一頻度計算部８は、第一頻度ｆ１（ス／サー）、第一頻度ｆ１（ス／サＳ０）、第一頻度ｆ１（Ｓ０ー）、第一頻度ｆ１（ス／Ｓ０）、第一頻度ｆ１（Ｓ０サー）及び第一頻度ｆ１（＾）を計算する。
【００３４】
図５の例では、各第一頻度ｆ１の値は次のようになる。
【００３５】
ｆ１（ス／サー）＝２３４１
ｆ１（ス／サＳ０）＝０
ｆ１（Ｓ０ー）＝０
ｆ１（ス／Ｓ０）＝９２１２＋２３４１＝１１５５３
ｆ１（Ｓ０サー）＝１２３６４１
ｆ１（＾）＝９８４４６３４２
したがって、第二頻度ｆ２（ス／サー）＝ｆ１（ス／サＳ０）ｆ１（Ｓ０ー）／ｆ１（＾）＋ｆ１（ス／Ｓ０）ｆ１（Ｓ０サー）／ｆ１（＾）＝０×０／９８４４６３４２＋１１５５３×１２３６４１／９８４４６３４２＝１４．５１となる。よって、第三頻度ｆｒｅｑ（ス／サー）＝ｆ１（ス／サー）＋ｆ２（ス／サー）＝２３４１＋１４．５１＝２３５５．５１となる。
【００３６】
第二実施形態のように、コーパスとして文書ではなく単語及びその統計頻度値を用いることにより、低コストでコーパスを構成することができる。
【００３７】
［変形例等］
第一確率計算部３、第二確率計算部４は、すべてのパスについての度合いＰ（Ｓ０…Ｓｍ）を求めてもよいが、例えば参考文献１に記載されたアルゴリズムを用いて、最大となる度合いＰ（Ｓ０…Ｓｍ）を与えないパスについて適宜枝刈りを行い、最大となる度合いＰ（Ｓ０…Ｓｍ）を与えそうなパスについての度合いＰ（Ｓ０…Ｓｍ）のみを計算してもよい。これにより、度合いＰ（Ｓ０…Ｓｍ）が最大となるパスを効率的に求めることができる。
【００３８】
〔参考文献１〕北研二（著），辻井潤一（著），「言語と計算（４）確率的言語モデル
」，東京大学出版，１９９９年１１月
第二確率計算部４は、上記（１）式の代わりに、次式に基づいて度合いＰ（Ｓ０…Ｓｍ）を計算してもよい。
【００３９】
Ｐ（Ｓ０…Ｓｍ）＝Ｐ（Ｓ１｜Ｓ０）×Ｐ（Ｓ２｜Ｓ０Ｓ１）×…×Ｐ（Ｓｎ−３｜Ｓ０…Ｓｎ−４）×Ｐ（Ｓｎ−２｜Ｓ０…Ｓｎ−３）×Πｉ＝ｎ−１ｍＰ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）  …（２）
この場合、第一確率計算部３は、上記と同様にして、確率Ｐ（Ｓ１｜Ｓ０），確率Ｐ（Ｓ２｜Ｓ０Ｓ１），…，Ｐ（Ｓｎ−３｜Ｓ０…Ｓｎ−４），Ｐ（Ｓｎ−２｜Ｓ０…Ｓｎ−３）を計算して、第二確率計算部４に送る。
【００４０】
第一確率計算部３がｎ個の境界情報付文字からなる境界情報付文字の列Ｓｉ−（ｎ−１）…Ｓｉのすべてについての確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を予め計算して分割モデル記憶部６に記憶しておき、第二確率計算部４が必要に応じて分割モデル記憶部６を参照して確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）の値を取得して度合いＰ（Ｓ０…Ｓｍ）の計算をしてもよい。
【００４１】
また、第二実施形態において、第二頻度ｆ２及び第三頻度ｆｒｅｑを計算するのに必要なすべての第一頻度ｆ１を第一頻度計算部８が予め計算して分割モデル記憶部６に記憶しておき、第二頻度計算部９及び第三頻度計算部１０が必要に応じて分割モデル記憶部６を参照して第一頻度ｆ１の値を取得して第二頻度ｆ２及び第三頻度ｆｒｅｑを計算してもよい。
【００４２】
このように、事前計算を行い、事前計算の結果を適宜用いて計算を行うことで、計算を迅速に行うことができ、また、計算を行うメモリのサイズを削減することができる。
【００４３】
第一確率計算部３が計算する確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）が０となる場合がある。例えば、ｎの値が大きく、コーパスのサイズが小さく、上記式（３）の右辺の分子ｆｒｅｑ（Ｓｉ−（ｎ−１）…Ｓｉ）が０になる場合に、確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）＝０となる。確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）＝０となると、第二確率計算部４が計算する度合いＰ（Ｓ０…Ｓｍ）も０となり、適切に度合いＰ（Ｓ０…Ｓｍ）を計算することができない可能性が生じる。これを防ぐために、第一確率計算部３は、低次のｎグラムで補完をすることにより、確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を計算してもよい。すなわち、ｓを１≦ｓ≦ｎを満たす整数として、より低次のｎグラム頻度ｆｒｅｑ（Ｓｉ−（ｓ−１）…Ｓｉ）を考慮して確率Ｐ（Ｓｉ｜Ｓｉ−（ｎ−１）…Ｓｉ−１）を求めてもよい。低次のｎグラムによる補完の手法はいくつかあり、例えば上記〔参考文献１〕に詳しい。
【００４４】
このように、スパースネスを補うために低次のｎグラムで補完することにより、分割の精度が増す。また、コーパスのサイズが小さい場合であっても、分割をすることができるため、コーパスを作成するためのコストを削減することができる。
【００４５】
系列分割装置は、コンピュータによって実現することができる。この場合、この装置が有すべき各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、この装置における各部が、コンピュータ上で実現される。
【００４６】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００４７】
この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００４８】
１     コーパス記憶部
２     文字分割部
３     第一確率計算部
４     第二確率計算部
５     事前計算部
６     分割モデル記憶部
７     最大パス選択部
８     第一頻度計算部
９     第二頻度計算部
１０   第三頻度計算部
【図１】
2011180864.tif 000003
【図２】
2011180864.tif 000004
【図３】
2011180864.tif 000005
【図４】
2011180864.tif 000006
【図５】
2011180864.tif 000007