(57)【要約】【課題】形態素解析等の文章を単語に分解する処理において、複合語の分割処理を効率的に行い、かつ複合語を分割した際にも解析結果として得られるトークン列が最適なものであることを保証できるようにする。【解決手段】処理対象の自然言語文をかかる自然言語文の構成要素であるトークンに分解してトークンリストに登録するトークンリスト作成部１１と、このトークンリスト作成部１１にて作成されたトークンリストに基づいて処理対象の自然言語文を構成するのに最適なトークン列を選択するトークン列選択部１３とを備える。そして、トークンリスト作成部１１は、形態素解析に対して与えられた条件に応じて、処理対象の自然言語文を分解して得られたトークンのうち、より小さいトークンに分割可能なトークンを除いてトークンリストに登録する。【選択図】        図２
2004246440.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の自然言語文に対して形態素解析を行う形態素解析装置において、
見出し語および当該見出し語の属性情報を格納した辞書部と、
前記辞書部を参照して、処理対象の前記自然言語文から当該自然言語文を構成することが可能なトークンを抽出し、トークンリストに登録するトークンリスト作成部と、
前記トークンリスト作成部にて作成されたトークンリストに基づいて前記自然言語文を構成するのに最適なトークン列を選択するトークン列選択部とを備え、
前記トークンリスト作成部は、形態素解析に対して与えられた条件と、抽出した前記トークンに対応する前記見出し語の属性情報とに基づいて、当該トークンの前記トークンリストへの登録制御を行うことを特徴とする形態素解析装置。
【請求項２】
前記トークンリスト作成部は、前記トークンに対応する前記見出し語の属性情報に基づき、形態素解析に対して与えられた前記条件に合致する属性を持つトークンのみを前記トークンリストに登録することを特徴とする請求項１に記載の形態素解析装置。
【請求項３】
前記辞書部は、前記見出し語の属性情報として当該見出し語が分割可能か否かを示す情報を格納し、
前記トークンリスト作成部は、複合語を分割して形態素解析を行うという条件が与えられた場合に、前記見出し語の属性情報を参照し、抽出した前記トークンから分割可能な見出し語に対応するトークンを除いて前記トークンリストに登録することを特徴とする請求項１に記載の形態素解析装置。
【請求項４】
前記辞書部に格納された前記見出し語の属性情報は、当該属性情報の数に応じたビット数のフラグデータで記録され、
前記トークンリスト作成部は、前記トークンに対応する前記見出し語の前記フラグデータの値に基づいて、当該トークンを前記トークンリストに登録するか否かを決定することを特徴とする請求項１に記載の形態素解析装置。
【請求項５】
処理対象の自然言語文に対して形態素解析を行う形態素解析装置において、
処理対象の前記自然言語文を当該自然言語文の構成要素であるトークンに分解し、より小さいトークンに分割可能なトークンを除いてトークンリストに登録するトークンリスト作成手段と、
前記トークンリスト作成手段にて作成されたトークンリストに基づいて前記自然言語文を構成するのに最適なトークン列を選択するトークン列選択手段と
を備えることを特徴とする形態素解析装置。
【請求項６】
前記トークンリスト作成手段は、形態素解析に与えられた所定の条件に応じて、前記トークンリストに登録するトークンからより小さいトークンに分割可能なトークンを除くか否かを選択的に制御可能であることを特徴とする請求項５に記載の形態素解析装置。
【請求項７】
処理対象である自然言語文を形態素解析する形態素解析手段と、
前記形態素解析手段により形態素解析された前記自然言語文に対して所定の処理を行うアプリケーション実行手段とを備え、
前記形態素解析手段は、
見出し語および当該見出し語の属性情報を格納した辞書部と、
前記辞書部を参照して、処理対象の前記自然言語文から当該自然言語文を構成することが可能なトークンを抽出し、当該トークンに対応する前記見出し語の属性情報に基づいて、前記アプリケーション実行手段にて要求される条件に合致する属性を持つトークンのみをトークンリストに登録するトークンリスト作成部と、
前記トークンリスト作成部にて作成されたトークンリストに基づいて前記自然言語文を構成するのに最適なトークン列を選択するトークン列選択部と
を備えることを特徴とする自然言語処理装置。
【請求項８】
前記辞書部は、前記見出し語の属性情報として当該見出し語が分割可能か否かを示す情報を格納し、
前記トークンリスト作成部は、分割可能な単語を分割して形態素解析を行うことが前記アプリケーション実行手段により要求される場合に、前記見出し語の属性情報を参照し、分割不可能な見出し語に対応するトークンを前記トークンリストに登録することを特徴とする請求項７に記載の自然言語処理装置。
【請求項９】
前記辞書部に格納された前記見出し語の属性情報は、当該属性情報の数に応じたビット数のフラグデータで記録され、
前記トークンリスト作成部は、前記トークンに対応する前記見出し語の前記フラグデータの値に基づいて、当該トークンを前記トークンリストに登録するか否かを決定することを特徴とする請求項７に記載の自然言語処理装置。
【請求項１０】
コンピュータを用いて自然言語文に対し形態素解析を行う形態素解析方法であって、
処理対象の自然言語文を入力し、メモリに格納された辞書を参照して、当該自然言語文を構成することが可能なトークン及び当該トークンの属性情報を取得し、メモリの作業領域に格納するステップと、
形態素解析に与えられた所定の条件および前記トークンの属性情報に基づき、前記メモリに格納されたトークンの中から所定のトークンを選択してメモリの所定領域に構築されたトークンリストに登録するステップと、
前記トークンリストに基づいて処理対象の前記自然言語文を構成することが可能なトークン列を生成し、メモリの作業領域に格納するステップと、
前記メモリに格納された前記トークン列の中で処理対象の前記自然言語文を構成するのに最適なトークン列を選択し出力するステップと
を含むことを特徴とする形態素解析方法。
【請求項１１】
前記トークンを前記トークンリストに登録するステップでは、前記形態素解析に与えられた所定の条件に応じて、当該所定の条件に合致する属性を持つトークンのみを前記トークンリストに登録することを特徴とする請求項１０に記載の形態素解析方法。
【請求項１２】
コンピュータを用いて自然言語文に対し形態素解析を行う形態素解析方法であって、
処理対象の自然言語文を入力し、当該自然言語文の構成要素であるトークンに分解し、得られたトークン群をメモリの作業領域に格納するステップと、
前記トークン群を、より小さいトークンに分割可能なトークンを除いてメモリの所定領域に構築されたトークンリストに登録するステップと、
前記トークンリストに基づいて処理対象の前記自然言語文を構成することが可能なトークン列を生成し、メモリの作業領域に格納するステップと、
前記メモリに格納された前記トークン列の中で処理対象の前記自然言語文を構成するのに最適なトークン列を選択し出力するステップと
を含むことを特徴とする形態素解析方法。
【請求項１３】
コンピュータを制御して、自然言語文の形態素解析を行うプログラムにおいて、
所定の記憶装置に格納され見出し語および当該見出し語の属性情報を記録した辞書を参照して、処理対象の前記自然言語文から当該自然言語文を構成することが可能なトークンを抽出し、形態素解析に与えられた所定の条件および前記トークンの属性情報に基づき、抽出されたトークンから所定のトークンを選択してメモリの所定領域に構築されたトークンリストに登録する手段と、
前記トークンリスト作成部にて作成されたトークンリストに基づいて前記自然言語文を構成するのに最適なトークン列を選択する手段として
前記コンピュータを機能させることを特徴とするプログラム。
【請求項１４】
前記トークンを前記トークンリストに登録する手段では、前記辞書に記録された前記トークンの属性情報の数に応じたビット数のフラグデータの値に基づいて、当該トークンを前記トークンリストに登録するか否かを決定することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
コンピュータを制御して、自然言語文の形態素解析を行うプログラムにおいて、
処理対象の自然言語文を入力し、当該自然言語文の構成要素であるトークンに分解し、得られたトークン群をメモリの作業領域に格納する第１の処理と、
前記トークン群を、より小さいトークンに分割可能なトークンを除いてメモリの所定領域に構築されたトークンリストに登録する第２の処理と、
前記トークンリストに基づいて処理対象の前記自然言語文を構成することが可能なトークン列を生成し、メモリの作業領域に格納する第３の処理と、
前記メモリに格納された前記トークン列の中で処理対象の前記自然言語文を構成するのに最適なトークン列を選択し出力する第４の処理と
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１６】
形態素解析に与えられた所定の条件を判断する処理を前記コンピュータにさらに実行させ、
前記所定の条件に応じて、前記第２の処理に代えて、全ての前記トークンを前記トークンリストに登録する処理を前記コンピュータに実行させることを特徴とする請求項１５に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを用いた自然言語解析に関し、特に形態素解析等の文章を単語に分解する技術に関する。
【０００２】
【従来の技術】
コンピュータを用いた自然言語解析では、まず文章を単語に分解することが行われる。日本語などのように単語を区切らない表記方法を採る言語では、形態素解析を行って文章を構成する単語が抽出される。
このように文章を単語に分解する処理では、２つ以上の単語が結びついて１つの単語を形成している複合語を適切に分割することが重要であり、従来から種々の技術が存在する（例えば、特許文献１参照）。
【０００３】
図１１は、コンピュータにて実現される従来の形態素解析手段の機能ブロックを示す図、図１２は、従来の形態素解析のアルゴリズムを概略的に説明するフローチャートである。
図１１、１２に示すように、形態素解析では、まずトークンリスト作成部１１１が、処理対象の文章から様々なサイズの文字列を切り出し、全ての可能性のあるトークンを得る（ステップ１２０１）。そして、マスター辞書１１２を検索し、各トークンとその属性（品詞など）を登録したトークンリストを作成する（ステップ１２０２）。ここで、トークンとは、文章や単語を構成する最小の要素であり、例えば「形態素」という語では、「形」、「形態」、「形態素」、「態」、「素」がそれぞれトークンとなる。
【０００４】
次に、トークン列選択部１１３が、文法辞書１１４を参照し、ステップ１２０１で検出された全ての可能性のあるトークンの組み合わせの中から最も適切なトークン列を選ぶ（ステップ１２０３）。
この後、複合語分割処理部１１５が、ステップ１２０３で選択されたトークン列に対して複合語辞書１１６とのマッチングを行い、分割可能なトークンを更に細かいトークンに分割する（ステップ１２０４）。
【０００５】
【特許文献１】
特開２００２−２５１４０２号公報
【０００６】
【発明が解決しようとする課題】
上述したように従来の形態素解析では、トークン列を選択した後に複合語の分割処理を行っているため、複合語の部分に対するマッチング処理等の分だけ別途に時間を要し、この時間は文章中に含まれる複合語が多いほど長くなっていた。
また、上記従来の形態素解析では、適切なトークン列を選択した後に複合語の分割処理を行っているため、分割された単語（トークン）によるトークン列が最適なものかどうかが保証されないという欠点があった。
さらに、複合語の分割処理において参照される複合語辞書は、複合語及び複合語を構成する各単語に関して品詞情報や区切り位置情報を持つため、作成やメンテナンスの作業に多大な手間を要していた。
【０００７】
そこで本発明は、形態素解析等の文章を単語に分解する処理において、複合語の分割処理を効率的に行い、処理全体における実行効率を向上させることを目的とする。
また本発明は、複合語を分割した際にも解析結果として得られるトークン列が最適なものであることを保証できるようにすることを他の目的とする。
さらに本発明は、複合語辞書の作成及びメンテナンスに要する手間を削減することをさらに他の目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成する本発明は、次のように構成された形態素解析装置として実現される。この形態素解析装置は、見出し語およびこの見出し語の属性情報を格納した辞書部と、この辞書部を参照して、処理対象の自然言語文からかかる自然言語文を構成することが可能なトークンを抽出し、トークンリストに登録するトークンリスト作成部と、このトークンリスト作成部にて作成されたトークンリストに基づいて処理対象の自然言語文を構成するのに最適なトークン列を選択するトークン列選択部とを備える。そして、トークンリスト作成部は、形態素解析に対して与えられた条件と、抽出した前記トークンに対応する見出し語の属性情報とに基づいて、このトークンのトークンリストへの登録制御を行うことを特徴とする。
この登録制御は、より詳細には、形態素解析に対して与えられた条件に合致する属性を持つトークンのみを前記トークンリストに登録することにより実現される。さらに詳細には、属性情報は、属性情報の数に応じたビット数のフラグデータで記録され、トークンリスト作成部は、このフラグデータの値に基づいて、トークンをトークンリストに登録するか否かを決定する。
【０００９】
また、本発明の他の形態素解析装置は、処理対象の自然言語文をかかる自然言語文の構成要素であるトークンに分解し、より小さいトークンに分割可能なトークンを除いてトークンリストに登録するトークンリスト作成手段と、このトークンリスト作成手段にて作成されたトークンリストに基づいて処理対象の自然言語文を構成するのに最適なトークン列を選択するトークン列選択手段とを備えることを特徴とする。
【００１０】
上記の目的を達成する他の本発明は、形態素解析手段と、形態素解析された自然言語文に対して所定の処理を行うアプリケーション実行手段とを備えた自然言語処理装置としても実現される。この自然言語処理装置において、形態素解析手段は、見出し語およびその属性情報を格納した辞書部と、この辞書部を参照して、処理対象の自然言語文からこの自然言語文を構成することが可能なトークンを抽出し、抽出されたトークンに対応する見出し語の属性情報に基づいて、アプリケーション実行手段にて要求される条件に合致する属性を持つトークンのみをトークンリストに登録するトークンリスト作成部と、このトークンリスト作成部にて作成されたトークンリストに基づいて自然言語文を構成するのに最適なトークン列を選択するトークン列選択部とを備えることを特徴とする。アプリケーション実行手段にて実現される処理としては、例えば、テキスト検索処理、機械翻訳処理、テキスト・マイニング等が挙げられる。
【００１１】
さらにまた、上記の目的を達成する他の本発明は、コンピュータを用いて自然言語文に対し形態素解析を行う、次のような形態素解析方法としても実現される。この形態素解析方法は、処理対象の自然言語文を入力し、メモリに格納された辞書を参照して、この自然言語文を構成することが可能なトークン及びその属性情報を取得し、メモリの作業領域に格納するステップと、形態素解析に与えられた所定の条件およびトークンの属性情報に基づき、メモリに格納されたトークンの中から所定のトークンを選択してメモリの所定領域に構築されたトークンリストに登録するステップと、トークンリストに基づいて処理対象の自然言語文を構成することが可能なトークン列を生成し、メモリの作業領域に格納するステップと、メモリに格納されたトークン列の中で処理対象の自然言語文を構成するのに最適なトークン列を選択し出力するステップとを含むことを特徴とする。
【００１２】
また、本発明の他の形態素解析方法は、処理対象の自然言語文を入力し、この自然言語文の構成要素であるトークンに分解し、得られたトークン群をメモリの作業領域に格納するステップと、かかるトークン群を、より小さいトークンに分割可能なトークンを除いてメモリの所定領域に構築されたトークンリストに登録するステップと、このトークンリストに基づいて処理対象の自然言語文を構成することが可能なトークン列を生成し、メモリの作業領域に格納するステップと、メモリに格納されたトークン列の中で処理対象の自然言語文を構成するのに最適なトークン列を選択し出力するステップとを含むことを特徴とする。
【００１３】
さらに本発明は、コンピュータを制御して上述した形態素解析装置あるいは自然言語処理装置の機能を実現するプログラム、またはコンピュータに上記の形態素解析方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００１４】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図１は、本発明による形態素解析を実行するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図１に示すコンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ  ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続されたハードディスク１０５、ネットワークインターフェイス１０６及びＵＳＢポート１０７と、さらにこのＰＣＩバスからブリッジ回路１０８及びＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフロッピーディスクドライブ１０９及びキーボード／マウス１１０とを備える。
なお、図１は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）などのインターフェイスを介してＣＤ−ＲＯＭ（ＣｏｍｐａｃｔＤｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）のドライブを設けても良い。
【００１５】
図２は、本実施の形態による形態素解析エンジンの機能構成を示すブロック図である。
図２に示すように、本実施の形態の形態素解析エンジン１０は、処理対象である文章をトークンに分解し各トークンに関するトークンリストを作成するトークンリスト作成部１１と、トークンリスト作成部１１が使用するマスター辞書１２と、作成されたトークンリストに基づいて最適なトークン列を選択するトークン列選択部１３と、トークン列選択部１３が使用する文法辞書１４とを備える。
【００１６】
上記の構成のうち、トークンリスト作成部１１及びトークン列選択部１３は、図１に示したメインメモリ１０３に展開されたプログラムにてＣＰＵ１０１を制御することにより実現される仮想的なソフトウェアブロックである。ＣＰＵ１０１を制御してこれらの機能を実現させるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。本実施の形態では、図１に示したネットワークインターフェイス１０６やフロッピーディスクドライブ１０９、図示しないＣＤ−ＲＯＭドライブなどを介して当該プログラムを入力し、ハードディスク１０５に格納する。そして、ハードディスク１０５に格納されたプログラムをメインメモリ１０３に読み込んで展開し、ＣＰＵ１０１にて実行することにより、これらの機能を実現する。
【００１７】
また、マスター辞書１２及び文法辞書１４は、図１に示したメインメモリ１０３及びハードディスク１０５にて実現される。トークンリスト作成部１１による処理の際にはマスター辞書１２が、トークン列選択部１３による処理の際には文法辞書１４がそれぞれハードディスク１０５からメインメモリ１０３に読み込まれる。そして、トークンリスト作成部１１またはトークン列選択部１３として機能するＣＰＵ１０１にて参照される。
【００１８】
本実施の形態による形態素解析エンジン１０は、従来の形態素解析のようにトークン列を選んだ後で複合語を分割するのではなく、トークンリストを作成する段階で複合語を考慮して処理を行う。これによって、作成されたトークンリストからトークン列の選択が行われると、複合語が分割され、かつ最適なトークン列が選択されることとなる。
なお、複合語を分割するか否かは、形態素解析の結果を使用するアプリケーションの要求に応じて選択される。例えば、文書検索やテキストマイニングでは、できるだけ多くの関連項目が検出される（ヒットする）ように、複合語を細かく分割することが好ましい場合がある。一方、機械翻訳などでは、複合語を分割してしまうと意味が変わってしまうため、複合語は分割せずに複合語のままで扱う方が好ましい場合がある。したがって、形態素解析における複合語の分割は、アプリケーションの要求に応じて選択的に（当該アプリケーションのオプション設定等に基づいて）実行される。
【００１９】
上記の構成において、トークンリスト作成部１１は、処理対象の文章を構成する文字列を切り出し、全ての可能性のあるトークンを得る。そして、マスター辞書１２を参照してトークンリストを作成する。本実施の形態においては、トークンリスト作成部１１は、複合語の分割して形態素解析を行う設定である場合、複合語に対応するトークンを除いてトークンリストに登録する。すなわち、トークンの属性に応じてトークンリストへの登録を制御する。以下、具体例を挙げて説明する。
「情報処理学会で青木和夫の」という文（の一部）に対してトークンリストを作成する場合を考える。
【００２０】
図３は、この例文に対する複合語を分割しない場合のトークンリストを示す図である。
複合語を分割しない場合、例えば「情報処理学会」という語について「情」、「情報」、「情報処理」、「情報処理学会」という文字列がそれぞれトークンとして抽出され、マスター辞書１２から得られる品詞情報と共にトークンリストに登録される。
図４は、同じ例文に対する複合語を分割する場合のトークンリストを示す図である。
複合語を分割する場合、「情報処理学会」という語から切り出される文字列のうち、「情報処理」及び「情報処理学会」は複合語であるので、トークンリストに登録されない（図３と図４とを比較すると、「情報処理」、「情報処理学会」及び「青木和夫」が複合語として除去されている）。「情報処理」及び「情報処理学会」が複合語であるか否かは、後述するマスター辞書１２に登録されている情報に基づいて判断される。
【００２１】
マスター辞書１２は、トークンとそのトークンに関する情報とが対応付けられて登録されている。
図５は、マスター辞書１２におけるデータフォーマットの例を示す図である。
図５に示すように、マスター辞書１２には、見出し語（トークン）ごとに、当該見出し語の品詞情報と、当該見出し語が分割可能か否かを示すフラグ（分割可能フラグ）とが登録されている（以下、見出し語自体を含むこれらの情報をトークン情報と称す）。マスター辞書の品詞情報には、正確には品詞の種類を示すものではないが、人名、地名、組織名等の属性を示す情報を含めることができる。また図示の例では、分割可能フラグの値が０の登録後は分割不可能であり、１の登録後は分割可能であることを示している。トークンリスト作成部１１は、複合語を分割する設定のときは、このフラグを参照してトークンの文字列が分割可能か否か（複合語であるか否か）を判断し、分割可能であれば当該トークンをトークンリストに登録しない。
【００２２】
本実施の形態では、上述したフラグによって、トークンの文字列が分割可能な複合語か否かを示す属性情報のみを与えているが、このフラグを拡張することにより、他の種々の属性情報をトークンに与えることができる。例えば、ａ、ｂ、ｃ、ｄという４つの情報を４ビットのフラグデータで表現する場合、ａを１（０００１）、ｂを２（００１０）、ｃを４（０１００）、ｄを８（１０００）と定義すれば、複合的な属性も、ａｂは３（００１１）、ｂｃｄは１４（１１１０）というようにビット変換して表現することができる。そして、形態素解析処理に対して与えられた条件（複合語は分割する等）に合致する属性を示すフラグの値を持つトークンのみをトークンリストに登録することができる。これにより、複合語であっても人名は分割しないというような複合的な条件にてトークンリストへの登録を制御することが可能となる。
【００２３】
図６は、上記のように構成されたマスター辞書１２を参照し、トークンリスト作成部１１がトークンリストを作成する動作を説明するフローチャートである。
図６を参照すると、まず初期動作として、処理対象の文（以下、テキスト）が入力され、マスター辞書１２の内容がハードディスク１０５からメインメモリ１０３にロードされる（ステップ６０１）。またこのとき、メインメモリ１０３に、トークンリストのための領域が確保される。なお、トークンリスト作成部１１による処理の開始に先立って、分割可能な複合語の分割を行うか否かのオプション設定を行っておく。この設定は、本実施の形態の形態素解析エンジン１０を利用するアプリケーションのユーザインターフェイスにおいて、設定コマンドの入力を受け付けることによって行うことができる。
【００２４】
処理対象のテキストが入力されると、トークンリスト作成部１１は、入力テキストの先頭の文字に着目し（ステップ６０２）、当該着目文字から始まる各トークンのトークン情報を順次マスター辞書１２から読み出し、メインメモリ１０３の作業領域に格納する（ステップ６０３、６０４、６０５）。
例えば、上述した「情報処理学会で青木和夫の」という文を処理する場合、先頭の文字「情」が着目され、「情−名詞」、「情報−名詞」、「情報処理−名詞」、「情報処理学会−名詞」というトークン情報が読み出されることとなる。
【００２５】
複合語を分解するオプション設定がオンとなっているならば、次にトークンリスト作成部１１は、マスター辞書１２から読み出してメインメモリ１０３の作業領域に保持したトークン情報の分割可能フラグを調べ、当該トークンが分割可能か否かを判断する（ステップ６０６、６０７）。当該トークンが分割不可能である場合、または複合語を分解するオプション設定がオフである場合は、当該トークン情報をメインメモリ１０３に用意されたトークンリストに登録する（ステップ６０８）。そして、ステップ６０４に戻り、未処理のトークンが残っているか否かを調べ、残っていれば、当該未処理のトークンに関して同様の処理（ステップ６０５〜ステップ６０８）を行う。
文字「情」に着目している場合、読み出された上記４つのトークン情報「情−名詞」、「情報−名詞」、「情報処理−名詞」、「情報処理学会−名詞」が全てトークンリストに登録される。
【００２６】
一方、ステップ６０７で、当該トークンが分割可能である場合は、当該トークンをトークンリストに登録せずにステップ６０４へ戻り、未処理のトークンが残っているか否かを調べる。
上記の例では、「情報処理−名詞」及び「情報処理学会−名詞」が分割可能であるので、トークンリストには「情−名詞」及び「情報−名詞」のみが登録されることとなる。
【００２７】
着目文字から始まる全てのトークンに関して上記の処理（ステップ６０５〜ステップ６０８）を行ったならば、次に着目文字を入力テキストの後方へ１つずらしてステップ６０３へ戻り（ステップ６０９）、同様の処理（ステップ６０４〜ステップ６０８）を行う。そして、入力テキストの全ての文字を着目文字として上記の処理を完了したならば、トークンリスト作成部１１による処理を終了する（ステップ６０３）。
上記「情報処理学会で青木和夫の」という文の場合では、文字「情」に着目して上記の処理を行い、次に文字「報」に着目して処理を行うというように、順次処理を行っていき、最後の文字「の」に着目して処理を行った後、トークンリスト作成部１１の処理が終了する。
【００２８】
トークン列選択部１３は、従来の形態素解析エンジンにおけるトークン列選択部と同様である。すなわち、文法辞書１４を参照して、トークンリスト作成部１１にて作成されたトークンリストから、最も可能性の高い（最適な）トークン列を選択する。トークン列の選択には、通常の接続コスト最小法を用いることができる。
トークン列選択部１３の処理に利用される文法辞書１４は、従来の形態素解析エンジンにおける文法辞書と同様である。すなわち、単語の可能なつながり方と各つながり方に対して予め設定されたコストとを定義した文法データとが格納されている。
【００２９】
図７は、トークン列選択部１３による処理を説明するフローチャートである。
なお、処理が開始される際、初期動作として、文法辞書１４の内容がハードディスク１０５からメインメモリ１０３にロードされる。
図７に示すように、トークン列選択部１３は、まず処理対象のテキストとトークンリスト作成部１１にて作成されたトークンリストとを入力し（ステップ７０１）、文法辞書１４を参照して、入力テキストの先頭から末尾までを構成する可能なトークン列を生成し、メモリの作業領域に格納する（ステップ７０２）。
上述した「情報処理学会で青木和夫の」という文では、例えば、
情報処理学会−で−青木和夫−の（複合語を分割しない場合）
情報−処理−学会−で−青木−和夫−の
情−報−処−理−学−会−で−青−木−和−夫−の
等のトークン列が得られる。
【００３０】
次に、トークン列選択部１３は、生成されたトークン列を解（経路）の候補として、トークン列を構成するトークンのつながり方に対して与えられたコストを文法辞書から参照し、コストの総和が最も低い最適解（最短経路）を探索する（ステップ７０３）。この探索には、例えば周知のダイクストラ・アルゴリズムを用いることができる。
最後に、トークン列選択部１３は、最適解であるトークン列を、入力テキストに対する最適なトークン列として出力する（ステップ７０４）。
【００３１】
上述したトークン列選択部１３による処理は、従来の形態素解析エンジンにおける処理と同様である。しかしながら、分割可能な複合語を分割する設定で形態素解析を行う場合、上述したようにトークンリスト作成部１１によるトークンリストの作成処理の段階で不要な複合語がトークンリストから除去されているため、その分だけ処理対象となるトークンの組み合わせの数（パスの数）も、従来の形態素解析の場合と比べて少なくなる。したがって、トークン列選択部１３による処理が高速化されることとなる。
【００３２】
また、従来の形態素解析エンジンでは、分割可能な複合語を分割する設定で形態素解析を行う場合、トークン列選択部１３によって選択されたトークン列に対して複合語辞書とのマッチングを行い、当該トークン列に含まれる分割可能な複合語を分割していた。そのため、複合語辞書を持つ分だけメモリやハードディスクといった記憶装置（資源）の使用量が増すと共に、形態素解析処理の実行時に複合語を分割するための時間が余計にかかっていた。
これに対し、本実施の形態の形態素解析エンジン１０では、分割可能な複合語を分割する設定で形態素解析を行う場合、トークンリスト作成部１１にて作成されたトークンリストには複合語のトークンを登録しないことによって複合語の分割に対応するため、マスター辞書の他に複合語辞書を持つ必要が無く、記憶装置（資源）使用量を削減できる。そして、形態素解析処理の実行時にも、トークンリストの作成およびトークン列の選択の他に複合語の分割処理を行う必要がないため、処理に要する時間を短縮できる。
【００３３】
さらに、従来の形態素解析エンジンは、上記のように最適なトークン列を選択した後に分割可能な複合語を分割していたため、当該トークン列が最適なのは複合語を複合語のまま扱う場合であり、当該複合語が分割された状態のトークン列が最適であることは保証されない。
これに対し、本実施の形態素解析エンジン１０では、分割可能な複合語を分割する設定で形態素解析を行う場合、トークンリスト作成部１１にて作成されたトークンリストには複合語のトークンが含まれておらず、複合語のトークンを含むトークン列がトークン列選択部１３による処理対象となることはない。したがって、トークン列選択部１３により選択されたトークン列は必ず複合語のトークンを含まないトークン列であり、かつ最適であることが保証される。
【００３４】
次に、本実施の形態の形態素解析エンジン１０が利用されるアプリケーションについて説明する。
上述した形態素解析エンジン１０は、コンピュータ装置に搭載されて自然言語文に対する形態素解析装置として実現される他、テキスト検索システムや機械翻訳システム、テキスト・マイニング・システム等の自然言語に対する処理を行う種々のアプリケーションにて利用することができる。
図８は、形態素解析エンジン１０を搭載したテキスト検索システムの構成例を示す図である。
図８を参照すると、このテキスト検索システムは、検索対象のテキスト群を格納したテキストデータベース８０１と、テキストデータベース８０１に格納されている各テキストからキーワードのインデックスファイルを作成するインデックスファイル作成部８０２と、インデックスファイルを用いて検索対象のテキスト群に対し検索タームである文の検索を行うテキスト検索部８０３と、インデックスファイル作成部８０２及びテキスト検索部８０３の処理の前処理として形態素解析を行う形態素解析部８０４と、検索タームである文を入力するテキスト入力部８０５と、検索結果を出力する検索結果出力部８０６とを備える。
【００３５】
このテキスト検索システムは、例えば１台またはネットワークで接続された複数台のコンピュータ装置にて実現される。図８に示した構成において、テキストデータベース８０１はハードディスク等の記憶手段にて実現され、テキスト検索というアプリケーションを実行する手段であるインデックスファイル作成部８０２及びテキスト検索部８０３はプログラム制御されたＣＰＵにて実現される。また、形態素解析部８０４として本実施の形態の形態素解析エンジン１０を用いることができる。テキスト入力部８０５はキーボードやマウス、その他の入力デバイスで実現され、検索結果出力部８０６はディスプレイ装置等で実現される。また、ネットワークインターフェイスを介して外部機器との間で検索タームである文の入力や検索結果の出力を行っても良い。
【００３６】
このテキスト検索システムでは、インデックスファイルの作成時とテキスト検索の実行時とに形態素解析が行われる。
インデックスファイルの作成処理において、まずテキストデータベース８０１からテキストが順次読み出され、形態素解析部８０４により形態素解析が行われる。このとき、テキスト検索（アプリケーション）の必要から複合語を分割したい場合は、図６、図７に示したように、複合語を含まないトークン列の中から最適なものが選択される。得られたトークン列の中から、インデックスファイル作成部８０２により、名詞や形容詞等の自立語のトークン（単語）のみがキーワードとして抜き出される。そして、検索対象のテキストごとにキーワードが登録されたインデックスファイルが作成される。
【００３７】
次にテキスト検索の処理において、まずテキスト入力部８０５により検索タームである文が入力され、形態素解析部８０４により当該入力文の形態素解析が行われる。このとき、テキスト検索（アプリケーション）の必要から複合語を分割したい場合は、図６、図７に示したように、複合語を含まないトークン列の中から最適なものが選択される。得られたトークン列の中から、テキスト検索部８０３により、名詞や形容詞等の自立語のトークン（単語）が抜き出される。そして、インデックスファイルを用いて、抜き出されたトークンを含むテキストの検索が行われる。この検索によりヒットしたテキストがテキストデータベース８０１から読み出され、検索結果出力部８０６にて出力（表示）される。
【００３８】
図９は、形態素解析エンジン１０を搭載した機械翻訳システムの構成例を示す図である。
図９を参照すると、この機械翻訳システムは、翻訳対象である原文テキストを入力する原文入力部９０１と、入力された原文テキストを形態素解析する形態素解析部９０２と、形態素解析の行われた原文テキストを構文解析する構文解析部９０３と、構文解析の結果に基づいて原文テキストの文構造を翻訳文の言語における文構造に構文変換する構文変換部９０４と、構文変換の結果得られた文構造に基づいて翻訳文テキストを生成する翻訳文生成部９０５と、生成された翻訳文テキストを出力する翻訳文出力部９０６とを備える。また、特に図示しないが、原文及び翻訳文の各言語における単語辞書や文法辞書を備え、各部の処理において用いられる。
【００３９】
この機械翻訳システムは、例えば１台またはネットワークで接続された複数台のコンピュータ装置にて実現される。図９に示した構成において、形態素解析部９０２として本実施の形態の形態素解析エンジン１０を用いることができる。機械翻訳というアプリケーションを実行する手段である構文解析部９０３、構文変換部９０４及び翻訳文生成部９０５は、プログラム制御されたＣＰＵにて実現される。また、原文入力部９０１はキーボードやマウス、その他の入力デバイスで実現され、翻訳文出力部９０６はディスプレイ装置等で実現される。また、ネットワークインターフェイスを介して外部機器との間で原文テキストの入力や翻訳文テキストの出力を行っても良い。
【００４０】
機械翻訳では、複合語を分割するか否か等、単語の属性に応じて訳出の仕方を調整することによって翻訳の精度が大きく変わるため、詳細な設定が可能であることが好ましい。本実施の形態の形態素解析エンジンを用いた形態素解析部９０２によれば、そのような設定に応じて、トークンリストの作成段階で不要な（設定に合致しない属性を持つ）トークンを排除し、残りのトークンから最適なトークン列を得ることができる。
【００４１】
図１０は、形態素解析エンジン１０を搭載したテキスト・マイニング・システムの構成例を示す図である。
図１０を参照すると、このテキスト・マイニング・システムは、分類対象のテキスト群を格納したテキストデータベース１００１と、テキストの分類基準となる分類表を格納した分類表格納部１００２と、分類表を参照してテキストデータベース１００１に格納されている各テキストの分類を行うマッチング処理部１００３及び分類実行部１００４と、マッチング処理部１００３の処理の前処理として形態素解析を行う形態素解析部１００５と、分類されたテキストを格納する分類テキストデータベース１００６とを備える。
【００４２】
このテキスト・マイニング・システムは、例えば１台またはネットワークで接続された複数台のコンピュータ装置にて実現される。図１０に示した構成において、テキストデータベース１００１、分類表格納部１００２及び分類テキストデータベース１００６はハードディスク等の記憶手段にて実現され、テキスト・マイニングというアプリケーションを実行する手段であるマッチング処理部１００３及び分類実行部１００４はプログラム制御されたＣＰＵにて実現される。また、形態素解析部１００５として本実施の形態の形態素解析エンジン１０を用いることができる。
【００４３】
このテキスト・マイニング・システムでは、まずテキストデータベース１００１からテキストが順次読み出され、形態素解析部１００５により形態素解析が行われる。このとき、テキスト・マイニング（アプリケーション）の必要から複合語を分割したい場合は、図６、図７に示したように、複合語を含まないトークン列の中から最適なものが選択される。得られたトークン列の中から、マッチング処理部１００３により、名詞や形容詞等の自立語のトークン（単語）のみがキーワードとして抜き出される。そして、分類表格納部１００２から単語と当該単語を含むテキストのカテゴリとを対応付けて登録した分類表が読み出され、予め定められた所定のルールに従って、トークン列から抽出された単語と分類表の単語とのマッチングが行われる。
次に、マッチング処理部１００３によるマッチングの結果（単語の割合等）に基づいて、分類実行部１００４により、着目中のテキストのカテゴリが決定される。そして、決定されたカテゴリに応じて分類テキストデータベース１００６に格納される。
【００４４】
なお、上記実施の形態では、日本語や中国語、韓国語などのように単語を区切らない表記方法を採る言語にて記述された自然言語文を解析する際に行われる形態素解析について説明したが、その他の言語においても、接頭辞や接尾辞、その他の複合語を適切に分割することで自然言語文の処理の性能向上を期待することができる場合に、本発明を適用することが可能である。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、形態素解析等の文章を単語に分解する処理において、複合語の分割処理を効率的に行い、処理全体における実行効率の向上を図ることができる。
また本発明によれば、複合語を分割した際にも解析結果として得られるトークン列が最適なものであることを保証することができる。
さらに本発明によれば、複合語辞書の作成及びメンテナンスに要する手間を削減することができる。
【図面の簡単な説明】
【図１】本実施の形態による形態素解析を実行するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図２】本実施の形態による形態素解析エンジンの機能構成を示す図である。
【図３】複合語を分割しない場合のトークンリストの例を示す図である。
【図４】図３と同じ例文に対する、本実施の形態による複合語を分割する場合のトークンリストの例を示す図である。
【図５】本実施の形態におけるマスター辞書におけるデータフォーマットの例を示す図である。
【図６】本実施の形態におけるトークンリストを作成する動作を説明するフローチャートである。
【図７】本実施の形態におけるトークン列選択部による処理を説明するフローチャートである。
【図８】本実施の形態の形態素解析エンジンを搭載したテキスト検索システムの構成例を示す図である。
【図９】本実施の形態の形態素解析エンジンを搭載した機械翻訳システムの構成例を示す図である。
【図１０】本実施の形態の形態素解析エンジンを搭載したテキスト・マイニング・システムの構成例を示す図である。
【図１１】コンピュータにて実現される従来の形態素解析手段の機能ブロックを示す図である。
【図１２】従来の形態素解析のアルゴリズムを概略的に説明するフローチャートである。
【符号の説明】
１０…形態素解析エンジン、１１…トークンリスト作成部、１２…マスター辞書、１３…トークン列選択部、１４…文法辞書、１０１…ＣＰＵ、１０２…Ｍ／Ｂチップセット、１０３…メインメモリ、１０５…ハードディスク、１０６…ネットワークインターフェイス、８０１、１００１…テキストデータベース、８０２…インデックスファイル作成部、８０３…テキスト検索部、８０４、９０２、１００５…形態素解析部、８０５…テキスト入力部、８０６…検索結果出力部、９０１…原文入力部、９０３…構文解析部、９０４…構文変換部、９０５…翻訳文生成部、９０６…翻訳文出力部、１００２…分類表格納部、１００３…マッチング処理部、１００４…分類実行部、１００６…分類テキストデータベース
【図１】
2004246440.tif 000003
【図２】
2004246440.tif 000004
【図３】
2004246440.tif 000005
【図４】
2004246440.tif 000006
【図５】
2004246440.tif 000007
【図６】
2004246440.tif 000008
【図７】
2004246440.tif 000009
【図８】
2004246440.tif 000010
【図９】
2004246440.tif 000011
【図１０】
2004246440.tif 000012
【図１１】
2004246440.tif 000013
【図１２】
2004246440.tif 000014