(57)【特許請求の範囲】
【請求項１】
形態素解析手段が、形態素列を入力するステップと、
切り直し候補検出手段が、切り直し候補語を含む辞書部を参照し、入力した上記形態素列から、切り直しを必要とする可能性のある切り直し候補部分を検出するステップと、
切り直し実行手段が、検出された上記切り直し候補部分を含む形態素を、文字単位の処理要素に分割して、上記切り直し候補部分を含む形態素の品詞および当該品詞中の序列表示と、上記切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とが属性として割り当てられた処理要素として出力するステップとを有し、
序列順位が最後である場合には最後の順位であることを示す表記が、上記属性としてさらに付与されることを特徴とする形態素処理方法。
【請求項２】
請求項１に記載の形態素処理方法により出力された、形態素を含む処理単位に構文解析を行うことを特徴とする文章解析方法。
【請求項３】
上記構文解析とともに意味解析を行う請求項２記載の文章解析方法。
【請求項４】
形態素列を入力する手段と、
切り直し候補語を含む辞書部を参照し、入力した上記形態素列から、切り直しを必要とする可能性のある切り直し候補部分を検出する手段と、
検出された上記切り直し候補部分を含む形態素を、文字単位の処理要素に分割して、上記切り直し候補部分を含む形態素の品詞および当該品詞中の序列表示と、上記切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とが属性として割り当てられた処理要素として出力する手段とを有し、
序列順位が最後である場合には最後の順位であることを示す表記が、上記属性としてさらに付与されることを特徴とする形態素処理装置。
【請求項５】
形態素列を入力する手段、
切り直し候補語を含む辞書部を参照し、入力した上記形態素列から、切り直しを必要とする可能性のある切り直し候補部分を検出する手段、
検出された上記切り直し候補部分を含む形態素を、文字単位の処理要素に分割して、上記切り直し候補部分を含む形態素の品詞および当該品詞中の序列表示と、上記切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とが属性として割り当てられた処理要素として出力する手段として、コンピュータを動作させ、さらに序列順位が最後である場合には最後の順位であることを示す表記が、上記属性としてさらに付与されることを特徴とする形態素処理用コンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、形態素解析結果を処理する形態素処理技術に関し、とくに、形態素解析結果の部分のうち切り直し候補部分を含む元の形態素の品詞および当該品詞中の序列表示と、当該切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とを、当該形態素解析結果の属性として割り当てて、形態素解析以降の処理を一回行うだけで形態素解析結果の曖昧性を解消できるようにしたものである。
【０００２】
【従来の技術】
日本語および中国語のテキスト処理において、従来の方法では、単語の切り方が間違っていると、切り間違えられた単語はテキストに含まれていないものとして処理されていた。このような問題は、単語の切り方に曖昧性がある場合によく起こる。この問題を解決する手法として、単語の切り方に曖昧性がある場合に、切り方の異なる単語を列挙する方法がある。切り方の曖昧性は、形態素解析レベルでは決定できず、構文解析や意味解析により決定できる場合が多いからである。しかし、この方法では、切り方の異なる単語列に対して、前後関係を含めて、複数回の解析を行い、その中のどれを選択するかという処理を必要となるため、やっかいであり、形態素解析以降の処理では無視されがちであった。
【０００３】
【発明が解決する課題】
この発明は、以上の事情を考慮してなされたものであり、形態素解析結果の部分のうち切り直し候補部分を含む元の形態素の品詞および当該品詞中の序列表示と、当該切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とを、当該形態素解析結果の属性として割り当てて、形態素解析以降の処理で、複数回の解析をせずに、一回の解析で曖昧性を除去する技術を提供することを目的としている。
【０００４】
【課題を解決するための手段】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【０００５】
この発明の第１の側面によれば、上述の目的を達成するために、形態素処理方法おいて：形態素解析手段が、形態素列を入力するステップと；切り直し候補検出手段が、切り直し候補語を含む辞書部を参照し、入力した上記形態素列から、切り直しを必要とする可能性のある切り直し候補部分を検出するステップと；切り直し実行手段が、検出された上記切り直し候補部分を含む形態素を、文字単位の処理要素に分割して、上記切り直し候補部分を含む形態素の品詞および当該品詞中の序列表示と、上記切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とが属性として割り当てられた処理要素として出力するステップとを実行するようにし、さらに、序列順位が最後である場合には最後の順位であることを示す表記が、上記属性としてさらに付与されるようにしている。
【０００６】
この構成においては、形態素解析結果の部分のうち切り直し候補部分を含む元の形態素の品詞および当該品詞中の序列表示と、当該切り直し候補部分の切り直し候補語の品詞および当該品詞中の序列順位とを、当該形態素解析結果の属性として割り当てているので、形態素の切り間違いにより、本来の形態素が埋没してしまうことがなくなり、しかも、後続の解析の処理対象は１つの形態素解析結果であり、処理が煩雑になることがない。
【０００７】
また、この発明の他の側面によれば、文章解析方法において、上述の形態素処理方法により出力された、形態素を含む処理単位に構文解析を行うようにしている。
【０００８】
この構成においては、上記構文解析とともに意味解析を行うようにしてもよい。
【０００９】
なお、この発明は方法として実現できるのみでなく、装置またはシステムとしても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【００１０】
この発明の上述の側面およびこの発明の他の側面は特許請求の範囲に記載され、以下実施例を用いて詳細に説明される。
【００１１】
【発明の実施の形態】
以下、この発明の実施例について説明する。
【００１２】
図１は、この発明の実施例の文章解析装置を全体として示しており、この図において、文章解析装置は、形態素解析部１０、形態素処理部２０、構文解析部３０および意味解析部４０を含んで構成されている。形態素解析部１０は、例えば、１つの形態素列を出力する。形態素列に複数の候補がある場合、所定の規則に従って１つの形態素列を出力する。なお、後述する他の例では、複数の形態素列を許容する。形態素処理部２０はこの実施例の要部をなすものであり、図２を参照して以下に詳述する。構文解析部３０および意味解析部４０は通常のものである。
【００１３】
この例では、形態素解析部１０で本来の形態素区切りが誤って埋没してしまった場合には、その形態素区切りを形態素処理部２０により再生し、その後、後続の構文解析部３０や意味解析部４０で正しい形態素区切りを決定する。
【００１４】
また、この実施例の文章解析装置は、コンピュータ（図１において１００で示す）およびそのプログラムとして実現でき、例えば、記録媒体１０１やネットワーク（図示しない）を用いてコンピュータにインストールされる。
【００１５】
図２は、形態素処理部２０を示しており、この図において、形態素処理部２０は、入力部２１、切り直し候補検出部２２、切り直し実行部２３、出力部２４および辞書部２５を含んで構成されている。
【００１６】
図３に入力部２１に入力される形態素解析結果の例、辞書部の辞書の例、出力部２４から出力される処理結果の例を示す。この例は中国語の例であるが、日本語の例は例えば図４に示すようなものである。
【００１７】
つぎにこの実施例の形態素処理部２０の動作について図５を参照して説明する。この動作は以下のとおりである。
【００１８】
［ステップＳ１０］：入力部２１に形態素解析結果を入力する。形態素解析結果は、図３および図４に示すように、形態素ごとに行として分割されている。
［ステップＳ１１］：処理対象の行の番号ｎを１とする。
［ステップＳ１２］：切り直し候補検出部２２において、行ｎに記述された単語の途中から始まり、次の行の単語の先頭から途中までで終わるような語が辞書部２５に登録されているかどうかを調べる。そのような語が登録されていないときにはステップＳ１３へ進み、登録されているときにはステップＳ１４へ進む。
［ステップＳ１３］：行ｎをそのまま処理対象として出力部２４へ出力する。ステップＳ１７へ進む。
［ステップＳ１４］：切り直し実行部２３において、行ｎを、辞書部２５の登録語の文字列と突き合わせ、その文字列の先頭位置の直前で、行ｎを分割し、前半部分および後半部分を処理対象として出力部２４に出力する。
［ステップＳ１５］：切り直し実行部２３において、行（ｎ＋１）を、辞書部２５の登録語の文字列の末尾位置の直後で分割し、前半部分を出力部２４に出力する。
［ステップＳ１６］：行（ｎ＋１）の後半部分を行（ｎ＋１）とする。この後ステップＳ１７へ進む。
［ステップＳ１７］：処理対象の行番号を１だけ増分する。
［ステップＳ１８］：残りの行があるかどうかを判別して、あれば、ステップＳ１２へ戻り処理を繰り返す。なければ、当該形態素解析結果に対する形態素処理部２０の処理を終了する。
【００１９】
形態素処理部２０の処理結果は例えば図６に示すとおりであり、これを構文解析して正しい形態素区切りを行う。その際、図３および図４に示すような、新たな処理対象に付与された属性を用いる。この例では、品詞、およびその品詞中の文字の序列を属性として付与している。番号は、文字の序列を示し、「Ｌ」は品詞中の最後の文字であることを示す。この例では、切り直し候補検出部２２で検出した箇所を文字単位に分解したが、区切りの候補が文字単位に分解せず、複数文字で単位を構成する場合には、その単位で分解するようにしてもよい。
【００２０】
また、さらに意味解析を行って形態素区切りを確定してもよい。
【００２１】
つぎに、切り方の異なる単語を列挙した形態素解析結果を用いる代替技術について説明する。この場合、入力部２１は、形態素解析部１０から切り方の異なる単語を列挙した形態素解析結果を受け取る。
【００２２】
図７に入力部２１に入力される形態素解析結果の例、出力部２４から出力される処理結果の例を示す。この例は中国語の例であるが、日本語の例は例えば図８に示すようなものである。
【００２３】
つぎにこの実施例の形態素処理部２０の動作について図９を参照して説明する。この動作は以下のとおりである。なお、この例では図２の形態素処理部２０の辞書部２５は利用しない。
【００２４】
［ステップＳ２０］：入力部２１に形態素解析結果を入力する。形態素解析結果は、図７および図８に示すように、行に分割されている。複数とおりの形態素列においてパスが共通する範囲では、形態素を行に割り当てる。パスが分岐する場合には、分岐する部分パスの範囲で行を記述する。分岐の数だけ行が記述される。例えば、２つに分岐する場合には１つの行になる。
［ステップＳ２１］：処理対象の行の番号ｎを１とする。
［ステップＳ２２］：切り出し候補検出部２２において、行ｎに記述されたものが単語列候補かどうかを判別する。すなわち、形態素解析結果のパスが分岐しているかどうかを判別する。単語列候補の場合にはステップＳ２５に進み、単語列候補でない場合、すなわち、通常の形態素である場合にはステップＳ２３へ進む。
［ステップＳ２３］：行ｎをそのまま処理対象として出力部２４へ出力する。
［ステップＳ２４］：処理対象の行番号を１だけ増分する。ステップＳ２８へ進む。
［ステップＳ２５］：行ｎ以降の単語列候補を読み込む。
［ステップＳ２６］：切り直し実行部２３においてすべての単語列候補に対して共通の切れ目がない位置を新規の切れ目とし、新規の切れ目で区切って出力部２４へ出力する。
［ステップＳ２７］：最後の単語列候補の行のつぎの行の番号をｎに代入する。つぎにステップＳ２８へ進む。
［ステップＳ２８］：残りの行があるかどうかを判別して、あれば、ステップＳ１２へ戻り処理を繰り返す。なければ、当該形態素解析結果に対する形態素処理部２０の処理を終了する。
【００２５】
この例でも、同様に、図６に示すような処理結果を得ることができる。その後、この処理結果に構文解析部３０や意味解析部４０で解析を行って形態素の区切りを確定する。
【００２６】
以上で実施例および代替技術の説明を終了する。
【００２７】
なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、上述の例では、切り直し候補の部分で例えば文字単位で切り出し、品詞、序列等の属性を付与したが、切り直しの可能性がない部分については文字単位で切り出す必要はなく、また、序列をすべて属性として付与するのでなく、最後の文字を示す情報を属性として付与するものでもよい。
【００２８】
【発明の効果】
以上説明したように、この発明によれば、形態素区切りについて複数の可能性がある場合に、その区切りを１つの形態素解析結果に押し込むことにより、後続の構文解析または意味解析を１回行うだけで形態素の区切りを確定できる。
【図面の簡単な説明】
【図１】  この発明の実施例を全体として示すブロック図である。
【図２】  上述実施例の要部の構成例を示すブロック図である。
【図３】  上述実施例の要部の入出力の中国語例を説明する図である。
【図４】  上述実施例の要部の入出力の日本語例を説明する図である。
【図５】  上述実施例の要部の動作を説明するフローチャートである。
【図６】  上述実施例の要部の処理結果の例を説明する図である。
【図７】  上述実施例の要部の他の入出力の中国語例を説明する図である。
【図８】  上述実施例の要部の他の入出力の日本語例を説明する図である。
【図９】  上述実施例において上記他の入出力例を処理する場合の動作を説明するフローチャートである。
【符号の説明】
１０      形態素解析部
２０      形態素処理部
２１      入力部
２２      切り直し候補検出部
２３      切り直し実行部
２４      出力部
２５      辞書部
３０      構文解析部
４０      意味解析部
１００      コンピュータ
１０１      記録媒体
【図１】
0004032894.tif 000002
【図２】
0004032894.tif 000003
【図３】
0004032894.tif 000004
【図４】
0004032894.tif 000005
【図５】
0004032894.tif 000006
【図６】
0004032894.tif 000007
【図７】
0004032894.tif 000008
【図８】
0004032894.tif 000009
【図９】
0004032894.tif 000010