(57)【要約】【課題】従来、文を２以上の単語に高速に分割できなかった。【解決手段】１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを格納し得る単語分割用辞書と、受け付けられた文の先頭である文のポインタから最大長の文字列に一致する単語を、単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を有する場合は、一致する単語に変えて２以上の分割単語を取得する分割単語取得処理を行い、文のポインタを前記一致する単語の次の文字に移動した後、分割単語取得処理を文の最後の文字を含む単語まで行い、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、第一分割結果を出力する出力部とを具備する単語分割装置により、文を２以上の単語に高速に分割できる。【選択図】図１
2014106707.tif 000002
【特許請求の範囲】
【請求項１】
１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを格納し得る単語分割用辞書と、
１以上の文字を有する文を受け付ける受付部と、
前記単語分割用辞書を用いて、前記受付部が受け付けた文を構成する文字列と一致する最大長の単語を、前記単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を取得して、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、
前記第一分割結果を出力する出力部とを具備する単語分割装置。
【請求項２】
前記受付部が受け付けた文を、前記第一分割部とは異なるアルゴリズムにより文を分割して２以上の単語を取得する第二分割部を用いて、分割した２以上の単語の集合である第二分割結果を取得する第二分割結果取得部と、
前記第一分割結果と前記第二分割結果とが異なるか否かを判断する判断部と、
前記第一分割結果と前記第二分割結果とが異なると前記判断部が判断した場合、前記第一分割結果と前記第二分割結果とが異なる箇所に対応する文の中の文字列を取得し、当該異なる箇所に対応する前記第二分割結果に含まれる２以上の単語を取得し、前記取得した文字列である単語と、前記取得した２以上の単語とを有する分割情報を構成する分割情報取得部と、
前記分割情報を前記単語分割用辞書に蓄積する辞書登録部とをさらに具備する請求項１記載の単語分割装置。
【請求項３】
前記第一分割部とは異なるアルゴリズムにより、前記受付部が受け付けた文を分割して２以上の単語を取得する第二分割部をさらに具備する請求項２記載の単語分割装置。
【請求項４】
前記第二分割部は、
ビタビアルゴリズムを用いた形態素解析のアルゴリズムにより、文を分割して２以上の単語を取得する請求項２または請求項３記載の単語分割装置。
【請求項５】
１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを有する単語分割用辞書のデータ構造であって、
１以上の文字を有する文を受け付ける受付部と、
前記受付部が受け付けた文の先頭である文のポインタから最大長の文字列に一致する単語を、前記単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を有する場合は、前記一致する単語に変えて前記２以上の分割単語を取得する分割単語取得処理を行い、前記文のポインタを前記一致する単語の次の文字に移動した後、前記分割単語取得処理を文の最後の文字を含む単語まで行い、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、
前記第一分割結果を出力する出力部とを具備する単語分割装置に利用される単語分割用辞書のデータ構造。
【請求項６】
記録媒体に、
１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを格納し得る単語分割用辞書を格納しており、
受付部、第一分割部、および出力部により実現される単語分割方法であって、
前記受付部が、１以上の文字を有する文を受け付ける受付ステップと、
前記第一分割部が、前記単語分割用辞書を用いて、前記受付ステップで受け付けられた文を構成する文字列と一致する最大長の単語を、前記単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を取得して、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割ステップと、
前記出力部が、前記第一分割結果を出力する出力ステップとを具備する単語分割方法。
【請求項７】
記録媒体に、
１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを格納し得る単語分割用辞書を格納しており、
コンピュータを、
１以上の文字を有する文を受け付ける受付部と、
前記単語分割用辞書を用いて、前記受付部が受け付けた文を構成する文字列と一致する最大長の単語を、前記単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を取得して、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、
前記第一分割結果を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文を２以上の単語に分割する単語分割装置等に関するものである。
【背景技術】
【０００２】
従来、単語分割済みの第１のコーパスと単語非分割の第２のコーパスを有効に利用して、単語のn-gram確率を高い精度で計算し、自然言語処理の認識精度を上げる技術が存在した（特許文献１参照）。
【０００３】
また、従来、ユーザが容易にカスタマイズ可能な形態素解析システムが存在した（特許文献２参照）。本システムでは、テキスト入力部へ入力された文字列を、汎用形態素解析部が形態素解析用辞書を参照して複数の形態素に分割する。次に、汎用形態素解析部により分割された複数の形態素に対して、パターンマッチングエンジンが、パターンファイル内にユーザにより記述された形態素の分割、又は結合を指示するパターンを参照し、変換処理を施す。そして、パターンマッチングエンジンにより変換された複数の形態素は、解析結果として出力生成部から出力される。
【０００４】
さらに、従来、文や複合語などの単語列を、正しい単語の並びに分割する技術が存在した（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１２９５号公報（第１頁、第１図等）
【特許文献２】特開平１０−４０２５２号公報（第１頁、第１図等）
【特許文献３】特開平７−２６２１９１号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術においては、文を２以上の単語に高速に分割できなかった。
【課題を解決するための手段】
【０００７】
本第一の発明の単語分割装置は、１以上の単語と、単語と単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを格納し得る単語分割用辞書と、１以上の文字を有する文を受け付ける受付部と、単語分割用辞書を用いて、受付部が受け付けた文を構成する文字列と一致する最大長の単語を、単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を取得して、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、第一分割結果を出力する出力部とを具備する単語分割装置である。
【０００８】
かかる構成により、非常に簡易な処理により文を２以上の単語に分割できるため、文を２以上の単語に高速に分割できる。
【０００９】
また、本第二の発明の単語分割装置は、第一の発明に対して、受付部が受け付けた文を、第一分割部とは異なるアルゴリズムにより文を分割して２以上の単語を取得する第二分割部を用いて、分割した２以上の単語の集合である第二分割結果を取得する第二分割結果取得部と、第一分割結果と第二分割結果とが異なるか否かを判断する判断部と、第一分割結果と第二分割結果とが異なると判断部が判断した場合、第一分割結果と第二分割結果とが異なる箇所に対応する文の中の文字列を取得し、異なる箇所に対応する第二分割結果に含まれる２以上の単語を取得し、取得した文字列である単語と、取得した２以上の単語とを有する分割情報を構成する分割情報取得部と、分割情報を単語分割用辞書に蓄積する辞書登録部とをさらに具備する単語分割装置である。
【００１０】
かかる構成により、単語分割用辞書を充実させることができる。
【００１１】
また、本第三の発明の単語分割装置は、第二の発明に対して、第一分割部とは異なるアルゴリズムにより、受付部が受け付けた文を分割して２以上の単語を取得する第二分割部をさらに具備する単語分割装置である。
【００１２】
かかる構成により、単語分割用辞書を充実させることができる。
【００１３】
また、本第四の発明の単語分割装置は、第二または第三の発明に対して、第二分割部は、ビタビアルゴリズムを用いた形態素解析のアルゴリズムにより、文を分割して２以上の単語を取得する単語分割装置である。
【００１４】
かかる構成により、単語分割用辞書に精度の高い分割情報を登録できる。
【発明の効果】
【００１５】
本発明による単語分割装置によれば、文を２以上の単語に高速に分割できる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１における単語分割装置１のブロック図
【図２】同単語分割装置１の動作について説明するフローチャート
【図３】同単語分割用辞書１１を示す図
【図４】実施の形態２における単語分割装置２のブロック図
【図５】同単語分割装置２の動作について説明するフローチャート
【図６】同単語分割装置３のブロック図
【図７】単語分割装置１の実験結果を示す図
【図８】単語分割装置１の実験結果を示す図
【図９】上記実施の形態におけるコンピュータシステムの概観図
【図１０】同実施の形態におけるコンピュータシステムのブロック図
【図１１】実施の形態２における単語分割装置２の他のブロック図
【発明を実施するための形態】
【００１７】
以下、単語分割装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１８】
（実施の形態１）
本実施の形態において、文を２以上の単語に分割する単語分割装置１について説明する。
【００１９】
図１は、本実施の形態における単語分割装置１のブロック図である。単語分割装置１は、単語分割用辞書１１、受付部１２、第一分割部１３、および出力部１４を備える。
【００２０】
単語分割用辞書１１は、１以上の単語と１以上の分割情報とを格納し得る。分割情報は、単語と２以上の分割単語の組である。分割単語は、単語を分割した結果である。分割情報は、例えば、「自由形式：自由／形式」「はないか：は／ない／か」である。分割情報「自由形式：自由／形式」の「自由形式」は単語であり、「自由／形式」の「自由」「形式」は、それぞれ分割単語である。また、分割情報「はないか：は／ない／か」の「はないか」は単語であり、「は／ない／か」の「は」「ない」「か」はそれぞれ分割単語である。なお、単語は、形態素や連語など、意味を持つあらゆる用語を含む、と考えても良い。また、分割単語も単語と言える。
【００２１】
また、単語分割用辞書１１において、１以上の単語と１以上の分割情報とを同一ファイルや同一データベースに保持されていていることが好適である。但し、１以上の単語と１以上の分割情報とは、別ファイルや別のデータベースに保持されていても良い。つまり、単語分割用辞書１１の具体的なデータ構造は問わない。単語分割用辞書１１は、１以上の単語と１以上の分割情報とを保持していれば良い。
【００２２】
単語分割用辞書１１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。単語分割用辞書１１に単語や分割情報が記憶される過程は問わない。例えば、記録媒体を介して単語や分割情報が単語分割用辞書１１で記憶されるようになってもよく、通信回線等を介して送信された単語や分割情報が単語分割用辞書１１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された単語や分割情報が単語分割用辞書１１で記憶されるようになってもよい。
【００２３】
受付部１２は、１以上の文字を有する文を受け付ける。文は不完全な文でも良い。つまり、文は連語などでもよい。また、文の言語は、問わない。文は、通常、日本語、中国語、韓国語、モンゴル語等、分かち書きしない言語の文である。ただし、文は、英語等の分かち書きしない言語でも良い。文は、例えば、ＵＲＬを示す文字列、ファイル名を示す文字列などでも良い。また、ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【００２４】
文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部１２は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００２５】
第一分割部１３は、受付部１２が受け付けた文を分割し、２以上の単語の集合である第一分割結果を取得する。
さらに具体的には、第一分割部１３は、単語分割用辞書を用いて、受付部１２が受け付けた文を構成する文字列と一致する最大長の単語を、単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を取得して、文を分割して得られる２以上の単語の集合である第一分割結果を取得する。かかる処理をさらに詳細に説明すると、以下のような処理になる。第一分割部１３は、単語分割用辞書を用いて、受付部１２が受け付けた文を構成する１以上の文字列を取得する。そして、第一分割部１３は、当該１以上の各文字列と一致する最大長の単語を単語分割用辞書から取得する。そして、第一分割部１３は、単語分割用辞書から取得した１以上の各単語ごとに、単語に対応する２以上の分割単語を取得して、文を分割して得られる２以上の単語の集合である第一分割結果を取得する。
【００２６】
第一分割部１３は、さらに具体的には、例えば、以下のように処理を行う。まず、第一分割部１３は、受付部１２が受け付けた文の先頭である文のポインタから最大長の文字列に一致する単語を、単語分割用辞書１１から取得する第一の処理を行う。そして、第一分割部１３は、取得した単語に対応する２以上の分割単語を有する場合は、一致する単語に変えて２以上の分割単語を取得する第二の処理を行う。この第一の処理と第二の処理とを含めて、分割単語取得処理という。そして、第一分割部１３は、文のポインタを、前記一致する単語の次の文字に移動する。そして、第一分割部１３は、上記の分割単語取得処理を文の最後の文字を含む単語まで行う。その結果、第一分割部１３は、文を分割して得られる２以上の単語の集合である第一分割結果が取得できる。なお、第一の処理において取得した単語が、分割情報に含まれる単語ではない場合、第一分割部１３は、当該第一の処理において取得した単語をそのまま保持する。また、第一分割結果は、２以上の単語の集合であるが、当該２以上の区切りが判断できる態様のデータ構造を有する。
【００２７】
また、第一分割部１３が行う第一の処理の方法は問わない。第一分割部１３が行う第一の処理は、いわゆる最長一致法（longest  match  あるいは  maximum  matchとも言う。）等の公知技術が利用可能である。最長一致法は、「岩波書店，岩波講座，ソフトウェア科学15  自然言語処理  126-127ページ  長尾真編」等に記載されている。  
【００２８】
また、第一分割部１３は、文のポインタから最大長の文字列を、当該文のポインタが示す文字から文の最後の文字（文のポインタからＮ番目の文字だとする）までの文字列（これを文字列Ａとする。）と一致する単語が単語分割用辞書１１に存在するか否かを判断し、存在すれば当該文字列Ａを取得し、存在しなければ、当該文のポインタが示す文字から文のポインタから（Ｎ−１）番目の文字までの文字列（これを文字列Ｂとする。）と一致する単語が単語分割用辞書１１に存在するか否かを判断し、存在すれば当該文字列Ｂを取得する。存在しなければ、上記の処理と同様に、１文字ずつ文字列を少なくしていって、文のポインタが示す文字を先頭とする文字列の中で、最大長の文字列の単語を、単語分割用辞書１１から検索する。つまり、第一分割部１３は、文の中の未処理の文字列の最長文字列から、１文字ずつ減らしながら、順に単語分割用辞書１１を検索して、ポインタｐから最長の文字列を取得しても良い。
なお、第一分割部１３は、文の中から最大長の文字列を検出するためのデータ構造として、公知技術である「トライ(trie)」が存在する。トライについて、以下の（１）〜（３）に記載されているので詳細な説明を省略する。
（１）徳永拓之著「日本語入力を支える技術」，89-99ページ
（２）インターネット  ウェブページ，ＵＲＬ
「http://www.slideshare.net/higashiyama/ss-8738479」
（３）インターネット  ウェブページ，ＵＲＬ
「http://nanika.osonae.com/DArray/dary.html」
」
【００２９】
第一分割部１３は、通常、ＭＰＵやメモリ等から実現され得る。第一分割部１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３０】
出力部１４は、第一分割部１３が取得した第一分割結果を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。処理結果を他のプログラムに引渡す場合、単語分割装置１と他のプログラムとは、例えば、音声認識装置、機械翻訳装置などを実現する。つまり、文を分割して得られた第一分割結果は、例えば、音声認識処理、機械翻訳処理等に利用され得る。
【００３１】
出力部１４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３２】
次に、単語分割装置１の動作について、図２のフローチャートを用いて説明する。
【００３３】
（ステップＳ２０１）受付部１２は、文を受け付けたか否かを判断する。文を受け付ければステップＳ２０２に行き、文を受け付けなければステップＳ２０１に戻る。
【００３４】
（ステップＳ２０２）第一分割部１３は、文のポインタｐを１に設定する。文のポインタｐは、文の中における、単語取得の先頭の位置を示す。
【００３５】
（ステップＳ２０３）第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字から、最大長の文字列と一致する単語を検索する。そして、第一分割部１３は、最大長の文字列である単語を単語分割用辞書１１から取得する。
【００３６】
（ステップＳ２０４）第一分割部１３は、ステップＳ２０３で取得した単語が、分割情報に含まれる単語であるか否かを判断する。分割情報に含まれる単語であればステップＳ２０５に行き、分割情報に含まれる単語でなければステップＳ２０６に行く。
【００３７】
（ステップＳ２０５）第一分割部１３は、ステップＳ２０３で取得した単語に対応する２以上の分割単語を、単語分割用辞書１１から取得する。そして、第一分割部１３は、２以上の分割単語をバッファに追記する。なお、バッファの初期値はＮＵＬＬである。また、第一分割部１３は、２以上の各分割単語に区切り文字を入れて、２以上の分割単語をバッファに追記する。区切り文字は、例えば、「／」「  （スペース）」「，」等、何でも良い。ステップＳ２０７に行く。
【００３８】
（ステップＳ２０６）第一分割部１３は、ステップＳ２０３で取得した単語をバッファに追記する。なお、第一分割部１３は、ステップＳ２０３で取得した単語と、前または／および後の単語との間には、区切り文字を配置する。
【００３９】
（ステップＳ２０７）第一分割部１３は、ポインタｐを、最大長の文字列長の分だけ進める。
【００４０】
（ステップＳ２０８）第一分割部１３は、すべての分割処理が終了したか否かを判断する。すべての分割処理が終了していればステップＳ２０９に行き、終了していなければステップＳ２０３に戻る。なお、ポインタｐが文の最後の文字の次の位置である場合、すべての分割処理が終了した、と言える。
【００４１】
（ステップＳ２０９）出力部１４は、バッファ内の２以上の単語を出力する。ステップＳ２０１に戻る。
【００４２】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図２のフローチャートにおいて、受け付けられた文の先頭から処理を開始し、文の終わりまで順に処理を行った。しかし、例えば、受け付けられた文の最後から処理を開始し、文の後から前の方向に処理を進めて行っても良い。つまり、ステップＳ２０２で、第一分割部１３は、文のポインタｐを文の最後に設定し、ステップＳ２０７で、ポインタｐを、最大長の文字列長の分だけ、文の前に戻っても良い。かかる場合、ステップＳ２０３で、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字から前にポインタを進めなて、最大長の文字列と一致する単語を検索する。そして、第一分割部１３は、最大長の文字列である単語を単語分割用辞書１１から取得する。
【００４３】
以下、本実施の形態における単語分割装置１の具体的な動作について説明する。
【００４４】
今、図３が単語分割用辞書１１である。単語分割用辞書１１を構成するレコードは、「ＩＤ」「単語」「分割単語」を有する。単語分割用辞書１１のレコードは、品詞や出現確率等の他の情報を有しても良い。また、単語分割用辞書１１のレコードは、単語または分割情報に分類される。
【００４５】
単語に分類されるレコードは、属性「分割単語」の値がＮＵＬＬ（図３の「−」）である。また、単語に分類されるレコードは、例えば、図３の「ＩＤ＝５，６，８，９，１０，１１，１２，１３」のレコードである。また、分割情報に分類されるレコードは、属性「分割単語」の値が２以上の分割単語を有する。属性「分割単語」における分割単語は、ここでは、区切り文字「／」で区切られている。さらに、分割情報に分類されるレコードは、例えば、図３の「ＩＤ＝１，２，３，４，７」のレコードである。なお、単語分割用辞書１１のレコードは、「単語か分割情報かを示すフラグ」を属性値として有しても良い。
【００４６】
（具体例１）
かかる状況において、受付部１２は、文「正夫はしっかり者だ」を受け付けた、とする。次に、第一分割部１３は、文のポインタｐを１に設定する。つまり、ポインタｐは文の「正」の位置に設定された。
【００４７】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「正」から、最大長の文字列と一致する単語「正夫」を検索し、取得する。
【００４８】
次に、第一分割部１３は、取得した単語「正夫」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「正夫」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【００４９】
そして、第一分割部１３は、取得した単語「正夫」をバッファに追記する。
【００５０】
次に、第一分割部１３は、単語「正夫」の文字列長「２」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「２」だけ進め、ポインタｐを文の「は」の位置に設定する。
【００５１】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【００５２】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「は」から、最大長の文字列と一致する単語「は」を検索し、取得する。
【００５３】
次に、第一分割部１３は、取得した単語「は」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「は」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【００５４】
そして、第一分割部１３は、取得した単語「は」をバッファに追記する。なお、第一分割部１３は、単語「は」の前に区切り文字「／」を入れて、バッファに追記する。そして、現在のバッファには「正夫／は」が格納された。
【００５５】
次に、第一分割部１３は、単語「は」の文字列長「１」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「１」だけ進め、ポインタｐを文の「し」の位置に設定する。
【００５６】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【００５７】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「し」から、最大長の文字列と一致する単語「しっかり者」を検索し、取得する。
【００５８】
次に、第一分割部１３は、取得した単語「しっかり者」が、分割情報に含まれる単語であるか否かを判断する。つまり、単語「しっかり者」に対応する分割単語がＮＵＬＬでないので、第一分割部１３は、単語「しっかり者」が、分割情報に含まれる単語であると判断する。
【００５９】
そして、第一分割部１３は、単語「しっかり者」に対応する分割情報「しっかり／者」を、単語分割用辞書１１から取得する。
【００６０】
そして、第一分割部１３は、区切り文字「／」と取得した単語「しっかり／者」とをバッファに追記する。そして、現在のバッファには「正夫／は／しっかり／者」が格納された。
【００６１】
次に、第一分割部１３は、単語「しっかり者」の文字列長「５」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「５」だけ進め、ポインタｐを文の「だ」の位置に設定する。
【００６２】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【００６３】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「だ」から、最大長の文字列と一致する単語「だ」を検索し、取得する。
【００６４】
次に、第一分割部１３は、取得した単語「だ」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「だ」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【００６５】
そして、第一分割部１３は、区切り文字「／」と取得した単語「だ」とをバッファに追記する。そして、現在のバッファには「正夫／は／しっかり／者／だ」が格納された。
【００６６】
次に、第一分割部１３は、単語「だ」の文字列長「１」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「１」だけ進め、ポインタｐを文の「だ」の次の位置に設定する。
【００６７】
次に、第一分割部１３は、分割処理が終了した、と判断する。
【００６８】
そして、出力部１４は、バッファ内の２以上の分割された単語列「正夫／は／しっかり／者／だ」を出力する。
【００６９】
（具体例２）
受付部１２は、文「そうはいってもまだ子供」を受け付けた、とする。次に、第一分割部１３は、文のポインタｐを１に設定する。つまり、ポインタｐは文の「そ」の位置に設定された。
【００７０】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「そ」から、最大長の文字列と一致する単語「そうはいっても」を検索し、取得する。
【００７１】
次に、第一分割部１３は、取得した単語「そうはいっても」が、分割情報に含まれる単語であるか否かを判断する。つまり、単語「そうはいっても」に対応する分割単語がＮＵＬＬでないので、第一分割部１３は、単語「そうはいっても」が、分割情報に含まれる単語であると判断する。
【００７２】
そして、第一分割部１３は、単語「そうはいっても」に対応する分割情報「そう／は／いって／も」を、単語分割用辞書１１から取得する。
【００７３】
そして、第一分割部１３は、取得した単語「そう／は／いって／も」をバッファに追記する。そして、現在のバッファには「そう／は／いって／も」が格納された。
【００７４】
次に、第一分割部１３は、単語「そうはいっても」の文字列長「７」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「７」だけ進め、ポインタｐを文の「ま」の位置に設定する。
【００７５】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【００７６】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「ま」から、最大長の文字列と一致する単語「まだ」を検索し、取得する。
【００７７】
次に、第一分割部１３は、取得した単語「まだ」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「は」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【００７８】
そして、第一分割部１３は、区切り文字「／」と取得した単語「まだ」とをバッファに追記する。そして、現在のバッファには「そう／は／いって／も／まだ」が格納された。
【００７９】
次に、第一分割部１３は、単語「まだ」の文字列長「２」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「２」だけ進め、ポインタｐを文の「子」の位置に設定する。
【００８０】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【００８１】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「子」から、最大長の文字列と一致する単語「子供」を検索し、取得する。
【００８２】
次に、第一分割部１３は、取得した単語「子供」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「は」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【００８３】
そして、第一分割部１３は、区切り文字「／」と取得した単語「子供」とをバッファに追記する。そして、現在のバッファには「そう／は／いって／も／まだ／子供」が格納された。
【００８４】
次に、第一分割部１３は、単語「まだ」の文字列長「２」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「２」だけ進め、ポインタｐを文の「供」の次の位置に設定する。
【００８５】
次に、第一分割部１３は、分割処理が終了した、と判断する。
【００８６】
そして、出力部１４は、バッファ内の２以上の分割された単語列「そう／は／いって／も／まだ／子供」を出力する。
【００８７】
以上、本実施の形態によれば、非常に簡易な処理により、文を２以上の単語に分割できる。そのため、文の単語への分割が非常に高速に行える。
【００８８】
なお、本実施の形態において、第一分割部１３が最大長の文字列である単語を単語分割用辞書１１から取得するアルゴリズムは問わない。
また、本実施の形態において、第二分割部２１の代わりに、１以上の第二分割結果の集合である第二分割結果格納部２６を用いても良い。かかる場合、判断部２３は、第一分割結果と、第二分割結果格納部２６に格納されている第二分割結果とが異なるか否かを判断する。そして、かかる場合、単語分割装置２は、単語分割用辞書１１、受付部１２、第一分割部１３、出力部１４、判断部２３、分割情報取得部２４、辞書登録部２５、および第二分割結果格納部２６を備える。かかる場合の単語分割装置２のブロック図を図１１に示す。
そして、図１１において、分割情報取得部２４は、判断部２３経由で、第二分割結果格納部２６から第二分割結果を取得する。
なお、第二分割結果格納部２６の第二分割結果の集合は、一定以上の多量のデータであり、人手で作成した単語分割済みのデータであることが好適である。また、第一分割結果と第二分割結果格納部２６に格納されている第二分割結果とに関して、分割対象の文は同じである。
【００８９】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における単語分割装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを有する単語分割用辞書を格納しており、コンピュータを、１以上の文字を有する文を受け付ける受付部と、前記受付部が受け付けた文の先頭である文のポインタから最大長の文字列に一致する単語を、前記単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を有する場合は、前記一致する単語に変えて前記２以上の分割単語を取得する分割単語取得処理を行い、前記文のポインタを前記一致する単語の次の文字に移動した後、前記分割単語取得処理を文の最後の文字を含む単語まで行い、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、前記第一分割結果を出力する出力部として機能させるためのプログラム、である。
【００９０】
（実施の形態２）
本実施の形態において、文の分割処理を行いながら、単語分割用辞書を充実させることができる単語分割装置１について説明する。
【００９１】
図４は、本実施の形態における単語分割装置２のブロック図である。単語分割装置２は、単語分割用辞書１１、受付部１２、第一分割部１３、出力部１４、第二分割部２１、第二分割結果取得部２２、判断部２３、分割情報取得部２４、辞書登録部２５を備える。
【００９２】
第二分割部２１は、第一分割部１３とは異なるアルゴリズムにより、受付部１２が受け付けた文を分割して２以上の単語を取得する。この２以上の単語を第二分割結果とも言う。
【００９３】
第二分割部２１は、文を分割し２以上の単語を取得する処理において、一定以上の精度を有することが確認できているものであることが好適である。例えば、第二分割部２１は、ビタビアルゴリズムを用いた形態素解析のアルゴリズムにより、文を分割して２以上の単語を取得する。
【００９４】
第二分割結果取得部２２は、第二分割部２１が取得した２以上の単語の集合である第二分割結果を取得する。なお、第二分割結果取得部２２は、第二分割部２１から第二分割結果を取得するだけの処理である。
【００９５】
また、後述する判断部２３に、第二分割部２１が第二分割結果を渡しても良い。かかる場合、第二分割結果取得部２２は、何も処理を行わないが、第二分割結果を第二分割結果取得部２２が判断部２３に渡した、と考えても良い。
【００９６】
判断部２３は、第一分割結果と第二分割結果とが異なるか否かを判断する。なお、第一分割結果は、第一分割部１３が取得した２以上の単語の集合である。
【００９７】
分割情報取得部２４は、第一分割結果と第二分割結果とが異なると判断部２３が判断した場合、分割情報を構成する。
【００９８】
分割情報は、第一分割結果と第二分割結果とが異なる箇所に対応する文の中の文字列と、当該文字列に対応する２以上の区切られた単語であり、第二分割結果に含まれる２以上の単語とを有する。つまり、分割情報取得部２４は、まず、第一分割結果と第二分割結果とが異なる箇所を特定する。次に、分割情報取得部２４は、受付部１２が受け付けた文の中から、当該箇所に対応する文の中の文字列を取得する。次に、分割情報取得部２４は、第二分割結果の中から、当該文字列に対応する２以上の分割単語を取得する。そして、分割情報取得部２４は、文の中の文字列と、２以上の分割単語とを有する分割情報を構成する。なお、文の中の文字列は、分割情報を構成する単語である。
【００９９】
辞書登録部２５は、分割情報取得部２４が取得した分割情報を単語分割用辞書１１に蓄積する。
【０１００】
第二分割部２１、第二分割結果取得部２２、判断部２３、分割情報取得部２４、および辞書登録部２５は、通常、ＭＰＵやメモリ等から実現され得る。第二分割部２１等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１０１】
次に、単語分割装置２の動作について、図５のフローチャートを用いて説明する。図５のフローチャートにおいて、図２のフローチャートと同一ステップについて、説明を省略する。
【０１０２】
（ステップＳ５０１）第二分割部２１が、受付部１２が受け付けた文に対して、分割処理を行い、２以上の単語を取得する。この２以上の単語は第二分割結果である。
【０１０３】
（ステップＳ５０２）第二分割結果取得部２２は、第二分割結果を取得する。
【０１０４】
（ステップＳ５０３）判断部２３は、第一分割結果を取得する。
【０１０５】
（ステップＳ５０４）判断部２３は、カウンタｉ、およびｊに１を代入する。カウンタｉは第一分割結果に含まれる分割単語のカウンタであり、カウンタｊは第二分割結果に含まれる分割単語のカウンタである。
【０１０６】
（ステップＳ５０５）判断部２３は、第二分割結果の中にｊ番目の分割単語が存在するか否かを判断する。ｊ番目の分割単語が存在すればステップＳ５０６に行き、ｊ番目の分割単語が存在しなければステップＳ２０１に戻る。
【０１０７】
（ステップＳ５０６）判断部２３は、第一分割結果の中のｉ番目の分割単語と、第二分割結果の中のｊ番目の分割単語とが一致するか否かを判断する。一致する場合はステップＳ５１１に行き、一致しない場合はステップＳ５０７に行く。
【０１０８】
（ステップＳ５０７）分割情報取得部２４は、第一分割結果の中の分割単語と、第二分割結果の中の分割単語との、最後の文字が一致するまで、第二分割結果の中から、２以上の分割単語を取得する。なお、この２以上の分割単語は、ｊ番目の分割単語から連続する分割単語である。
【０１０９】
（ステップＳ５０８）分割情報取得部２４は、分割情報を構成する。つまり、分割情報取得部２４は、ステップＳ５０７で取得した１以上の分割単語から区切り文字を削除し、単語を取得する。そして、分割情報取得部２４は、当該単語と、ステップＳ５０７で取得した２以上の分割単語とを用いて、分割情報を構成する。なお、分割情報取得部２４は、ステップＳ５０７で取得した１以上の分割単語から区切り文字を削除し単語を取得するのではなく、受付部１２が受け付けた文から単語を取得しても良い。
【０１１０】
（ステップＳ５０９）辞書登録部２５は、ステップＳ５０８で構成された分割情報を、単語分割用辞書１１に登録する。
【０１１１】
（ステップＳ５１０）判断部２３は、カウンタｉおよびｊを、ステップＳ５０７で、最後の文字が一致した分割単語まで進める。
【０１１２】
（ステップＳ５１１）判断部２３は、カウンタｉおよびｊを、それぞれ１ずつ進める。ステップＳ５０５に戻る。
【０１１３】
なお、図５のフローチャートにおいて、第一分割結果と第二分割結果とが異なる場合でも、出力部１４は第一分割結果を出力した。しかし、第一分割結果と第二分割結果とが異なる場合に、出力部１４は第二分割結果を出力しても良い。また、単語分割用辞書１１が予め決められた条件を満たすほど充実する前は、出力部１４は第二分割結果を出力し、充実した後は、出力部１４は第一分割結果を出力しても良い。
【０１１４】
また、図５のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１１５】
以下、本実施の形態における単語分割装置２の具体的な動作について説明する。
【０１１６】
今、図３が単語分割用辞書１１である。
【０１１７】
かかる状況において、受付部１２は、文「間違いはないか」を受け付けた、とする。次に、第一分割部１３は、文のポインタｐを１に設定する。つまり、ポインタｐは文の「間」の位置に設定された。
【０１１８】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「間」から、最大長の文字列と一致する単語「間違い」を検索し、取得する。
【０１１９】
次に、第一分割部１３は、取得した単語「間違い」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「間違い」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【０１２０】
そして、第一分割部１３は、取得した単語「間違い」をバッファに追記する。
【０１２１】
次に、第一分割部１３は、単語「間違い」の文字列長「３」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「３」だけ進め、ポインタｐを文の「は」の位置に設定する。
【０１２２】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【０１２３】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「は」から、最大長の文字列と一致する単語「はな」を検索し、取得する。
【０１２４】
次に、第一分割部１３は、取得した単語「はな」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「はな」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【０１２５】
そして、第一分割部１３は、取得した単語「はな」をバッファに追記する。なお、第一分割部１３は、単語「はな」の前に区切り文字「／」を入れて、バッファに追記する。そして、現在のバッファには「間違い／はな」が格納された。
【０１２６】
次に、第一分割部１３は、単語「はな」の文字列長「２」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「２」だけ進め、ポインタｐを文の「い」の位置に設定する。
【０１２７】
次に、第一分割部１３は、まだ、分割処理が終了していない、と判断する。
【０１２８】
次に、第一分割部１３は、単語分割用辞書１１に存在する単語であり、文の中のｐに対応する文字「い」から、最大長の文字列と一致する単語「いか」を検索し、取得する。
【０１２９】
次に、第一分割部１３は、取得した単語「いか」が、分割情報に含まれる単語であるか否かを判断する。つまり、第一分割部１３は、単語「いか」に対応する分割情報が「−（ＮＵＬＬ）」であると判断する。
【０１３０】
そして、第一分割部１３は、区切り文字「／」と取得した単語「いか」とをバッファに追記する。そして、現在のバッファには「間違い／はな／いか」が格納された。
【０１３１】
次に、第一分割部１３は、単語「いか」の文字列長「２」を算出する。次に、第一分割部１３は、ポインタｐを、最大長の文字列長の分「２」だけ進め、ポインタｐを文の「が」の次の位置に設定する。
【０１３２】
次に、第一分割部１３は、分割処理が終了した、と判断する。
【０１３３】
そして、出力部１４は、バッファ内の２以上の分割された単語列「間違い／はな／いか」を出力する。
【０１３４】
次に、第二分割部２１が、受付部１２が受け付けた文「間違いはないか」に対して、分割処理を行い、２以上の単語「間違い／は／ない／か」を取得した、とする。
【０１３５】
次に、第二分割結果取得部２２は、第二分割結果「間違い／は／ない／か」を取得する。また、判断部２３は、第一分割結果「間違い／はな／いか」を取得する。
【０１３６】
次に、判断部２３は、カウンタｉ、およびｊに１を代入する。
【０１３７】
次に、判断部２３は、第二分割結果の中に１番目の分割単語が存在すると判断する。また、次に、判断部２３は、第一分割結果の中の１番目の分割単語と、第二分割結果の中に１番目の分割単語とが一致すると判断する。そして、判断部２３は、カウンタｉおよびｊを、それぞれ１ずつ進める。
【０１３８】
次に、判断部２３は、第二分割結果の中に２番目の分割単語が存在すると判断する。また、次に、判断部２３は、第一分割結果の中の２番目の分割単語「はな」と、第二分割結果の中の２番目の分割単語「は」とが一致しない、と判断する。
【０１３９】
次に、分割情報取得部２４は、第一分割結果の中の分割単語と、第二分割結果の中の分割単語との、最後の文字が一致するまで、第二分割結果の中から、２以上の分割単語を取得する。つまり、分割情報取得部２４は、第二分割結果の中の「は／ない／か」を取得する。
【０１４０】
次に、分割情報取得部２４は、第二分割結果の中の「は／ない／か」から区切り文字を除き、単語「はないか」を取得する。そして、分割情報取得部２４は、単語「はないか」と２以上の分割単語「は／ない／か」を用いて、分割情報を構成する。
【０１４１】
次に、辞書登録部２５は、構成された分割情報を、単語分割用辞書１１に登録する。この分割情報は、単語「はないか」と２以上の分割単語「は／ない／か」とを有する情報である。
【０１４２】
次に、判断部２３は、カウンタｉおよびｊを、最後の文字が一致した分割単語まで進める。つまり、判断部２３は、カウンタｉを２進め、カウンタｊを３進める。
【０１４３】
次に、判断部２３は、第二分割結果の中に５番目の分割単語が存在しない、と判断する。そして、処理を終了する。
【０１４４】
以上、本実施の形態によれば、文の分割処理を行いながら、単語分割用辞書を充実させることができる。
【０１４５】
なお、本実施の形態によれば、単語分割装置は第二分割部２１を有した。しかし、第二分割部２１は、単語分割装置の外部の装置に存在しても良い。かかる場合の単語分割装置３のブロック図を図６に示す。なお、ここでは、単語分割装置３は、第二分割部２１を具備する単語分割装置４から、第二分割結果を受け取るものとする。つまり、かかる場合、例えば、第二分割結果取得部２２は、第二分割部２１が取得した２以上の単語の集合である第二分割結果を、単語分割装置４から受信する。
【０１４６】
さらに、本実施の形態における単語分割装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、１以上の単語と、単語と当該単語を分割した結果である２以上の分割単語の組である１以上の分割情報とを有する単語分割用辞書を格納しており、コンピュータを、１以上の文字を有する文を受け付ける受付部と、前記受付部が受け付けた文の先頭である文のポインタから最大長の文字列に一致する単語を、前記単語分割用辞書から取得し、当該取得した単語に対応する２以上の分割単語を有する場合は、前記一致する単語に変えて前記２以上の分割単語を取得する分割単語取得処理を行い、前記文のポインタを前記一致する単語の次の文字に移動した後、前記分割単語取得処理を文の最後の文字を含む単語まで行い、文を分割して得られる２以上の単語の集合である第一分割結果を取得する第一分割部と、前記第一分割結果を出力する出力部として機能させるためのプログラム、である。
【０１４７】
上記プログラムにおいて、コンピュータを、前記受付部が受け付けた文を、前記第一分割部とは異なるアルゴリズムにより文を分割して２以上の単語を取得する第二分割部を用いて、分割した２以上の単語の集合である第二分割結果を取得する第二分割結果取得部と、前記第一分割結果と前記第二分割結果とが異なるか否かを判断する判断部と、前記第一分割結果と前記第二分割結果とが異なると前記判断部が判断した場合、前記第一分割結果と前記第二分割結果とが異なる箇所に対応する文の中の文字列を取得し、当該異なる箇所に対応する前記第二分割結果に含まれる２以上の単語を取得し、前記取得した文字列である単語と、前記取得した２以上の単語とを有する分割情報を構成する分割情報取得部と、前記分割情報を前記単語分割用辞書に蓄積する辞書登録部として、さらに機能させることは好適である。
【０１４８】
上記プログラムにおいて、コンピュータを、前記第一分割部とは異なるアルゴリズムにより、前記受付部が受け付けた文を分割して２以上の単語を取得する第二分割部をさらに具備するものとして、さらに機能させることは好適である。
【０１４９】
上記プログラムにおいて、コンピュータを、前記第二分割部は、ビタビアルゴリズムを用いた形態素解析のアルゴリズムにより、文を分割して２以上の単語を取得するものとして機能させることは好適である。
（実験１）
【０１５０】
以下、単語分割装置１を用いた実験１の結果について説明する。なお、単語分割装置１を実現するソフトウェアは、「MA-2」という名称である。また、他の単語分割装置として、公知技術である「MeCab  0.98」を用いた。「MeCab  0.98」は、「http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html」に記載されている。また、他の単語分割装置として、出願人が開発した単語分割装置であり、Viterbiアルゴリズムを用いた単語分割装置「MA-1」も用いた。図７に、上記の３つの装置に、ＵＴＦ−８日本語テキスト３８８．５ＭＢを入力し、各装置の処理速度（ＫＢ／ｓｅｃ）を測定した。単語分割装置１である「MA-2」は、「MeCab  0.98」の４．３倍、「WebMA2（Version  3.7.0）」の７．５倍の処理速度であった。なお、単語分割装置１である「MA-2」によれば、新聞１年分を約３０秒で解析可能であることが分かる。
（実験２）
【０１５１】
次に、単語分割装置１「MA-2」を用いた実験２の結果について説明する。実験２の結果を、図８に記載する。実験２において、他の単語分割装置として、公知技術である「JUMAN  6.0」「MeCab  0.98」「KyTea  0.3.0」「ChaSen  2.3.3」を用いた。「JUMAN  6.0」は「http://nlp.ist.i.kyoto-u.ac.jp/index.php?cmd=read&page=JUMAN&alias%5B%5D=%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0JUMAN」、「KyTea  0.3.0」は「http://www.phontron.com/kytea/index-ja.html」、「ChaSen  2.3.3」は「http://chasen.naist.jp/hiki/ChaSen/」に記載されている。また、本実験において、上記の５つの装置に、ウェブ・テキスト８万文を入力し、各装置に解析させた場合の処理時間を測定した（図８参照）。単語分割装置１「MA-2」の処理速度は他より極めて速いことが分かる。なお、単語分割装置１のアルゴリズムおよびモデルは、図８に示す「深さ優先探索＋連語」である。
【０１５２】
また、図９は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の単語分割装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図９は、このコンピュータシステム３００の概観図であり、図１０は、システム３００のブロック図である。
【０１５３】
図９において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１５４】
図１０において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＭＰＵ３０１３、ＣＤ−ＲＯＭドライブ３０１２に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１５５】
コンピュータシステム３００に、上述した実施の形態の単語分割装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０１５６】
プログラムは、コンピュータ３０１に、上述した実施の形態の単語分割装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１５７】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０１５８】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１５９】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段（端末情報送信部、端末情報受信部など）は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０１６０】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１６１】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１６２】
以上のように、本発明にかかる単語分割装置は、文を２以上の単語に高速に分割できる、という効果を有し、単語分割装置等として有用である。
【符号の説明】
【０１６３】
１、２、３、４  単語分割装置
１１  単語分割用辞書
１２  受付部
１３  第一分割部
１４  出力部
２１  第二分割部
２２  第二分割結果取得部
２３  判断部
２４  分割情報取得部
２５  辞書登録部
【図１】
2014106707.tif 000003
【図２】
2014106707.tif 000004
【図３】
2014106707.tif 000005
【図４】
2014106707.tif 000006
【図５】
2014106707.tif 000007
【図６】
2014106707.tif 000008
【図８】
2014106707.tif 000009
【図９】
2014106707.tif 000010
【図１０】
2014106707.tif 000011
【図１１】
2014106707.tif 000012
【図７】
2014106707.tif 000013