(57)【要約】【課題】対訳文を利用することなく、高精度で中国語のような孤立語の構文解析が可能な構文解析装置を提供すること。【解決手段】構文解析装置１は、自然言語の文を入力する入力部１０と、入力文の形態素解析及び構文解析を行う解析部２０と、解析済コーパスデータベース３０から入力文に最も類似する解析済コーパスを抽出する抽出部４０と、解析された各解析候補と抽出された解析済コーパスとの類似度を計算する類似度計算部５０と、計算された類似度が最大となる解析候補を解析結果として出力する出力部６０とを備える。類似度計算部は、解析候補の形態素数をＷ、このうち抽出された解析済コーパスの形態素と同一構造の形態素数をＷ1、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数をＷ2としたときＳ＝(Ｗ1／Ｗ)×Ｗ2により求められる類似度Ｓが大きいほど類似の度合いが大きいと判断する。【選択図】  図１
2007241764.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
自然言語の文を入力する入力ステップと、
該入力ステップで入力された入力文の形態素解析及び構文解析を行う解析ステップと、
解析済コーパスデータベースから前記入力文に最も類似する解析済コーパスを抽出する抽出ステップと、
前記解析ステップにより複数の解析候補が得られた場合に、各解析候補と前記抽出ステップで抽出された解析済コーパスとの類似度を計算する類似度計算ステップと、
該類似度計算ステップにより計算された類似度が最大となる解析候補を解析結果として出力する出力ステップと、
を実行させることを特徴とする構文解析プログラム。
【請求項２】
前記解析ステップは、使用する自然言語に関する知識に基づき、入力文に含まれる未登録の単語を推定する機能を有することを特徴とする請求項１に記載の構文解析プログラム。
【請求項３】
前記類似度計算ステップでは、形態素解析により解析された形態素の内容と、構文解析により解析された構文構造とを用いて解析候補と解析済コーパスとの類似度を計算することを特徴とする請求項１または２に記載の構文解析プログラム。
【請求項４】
前記類似度計算ステップでは、解析候補の形態素数をＷ、このうち抽出された解析済コーパスの形態素と同一構造の形態素数をＷ1、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数をＷ2としたとき、前記類似度Ｓを
Ｓ＝(Ｗ1／Ｗ)×Ｗ2
により求めることを特徴とする請求項３に記載の構文解析プログラム。
【請求項５】
前記類似度計算ステップでは、形態素解析により解析された形態素の内容と、解析済コーパスの形態素の内容との類似度をシソーラスによる概念間の相関度として計算することを特徴とする請求項１または２に記載の構文構造解析プログラム。
【請求項６】
プログラムされたコンピュータにより構文を解析する方法において、
自然言語の文を入力する入力ステップと、
該入力ステップで入力された入力文の形態素解析及び構文解析を行う解析ステップと、
解析済コーパスデータベースから前記入力文に最も類似する解析済コーパスを抽出する抽出ステップと、
前記解析ステップにより複数の解析候補が得られた場合に、各解析候補と前記抽出ステップで抽出された解析済コーパスとの類似度を計算する類似度計算ステップと、
該類似度計算ステップにより計算された類似度が最大となる解析候補を解析結果として出力する出力ステップと、
を含むことを特徴とする構文解析方法。
【請求項７】
プログラムされたコンピュータにより構文を解析する装置において、
自然言語の文を入力する入力部と、
該入力部により入力された入力文の形態素解析及び構文解析を行う解析部と、
解析済コーパスデータベースから前記入力文に最も類似する解析済コーパスを抽出する抽出部と、
前記解析部により複数の解析候補が得られた場合に、各解析候補と前記抽出部により抽出された解析済コーパスとの類似度を計算する類似度計算部と、
該類似度計算部により計算された類似度が最大となる解析候補を解析結果として出力する出力部と、
を備えることを特徴とする構文解析装置。
【請求項８】
コンピュータに、
自然言語の文を入力する入力ステップと、
該入力ステップで入力された入力文の形態素解析及び構文解析を行う解析ステップと、
解析済コーパスデータベースから前記入力文に最も類似する解析済コーパスを抽出する抽出ステップと、
前記解析ステップにより複数の解析候補が得られた場合に、各解析候補と前記抽出ステップで抽出された解析済コーパスとの類似度を計算する類似度計算ステップと、
該類似度計算ステップにより計算された類似度が最大となる解析候補を解析結果として出力する出力ステップと、
を実行させるための構文解析プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにより自然言語の構文を解析する構文解析プログラム、構文解析方法、構文解析装置、及び当該プログラムが記録されたコンピュータ読み取り可能な記録媒体に関し、特に、中国語のように単語間の区切りを判別しにくい孤立語の構文解析に適したプログラム等に関する。
【背景技術】
【０００２】
この種の構文解析装置は、例えば機械翻訳システム内で翻訳の前段階として入力された自然言語の文法的な構造を解析するために用いられている。インターネット上で自国語以外の言語で記述されたウェブサイトを閲覧する際には、多くのユーザにとって機械翻訳による自国語への翻訳が理解の助けになる。機械翻訳は、原文を形態素解析及び構文解析し、解析結果に基づいて翻訳文を生成する。
【０００３】
このような構文解析装置は、従来から知られている。例えば、特許文献１には、入力文を一意的に形態素解析し、構文解析して得られた複数の入力構造の尤度を、用例データベースとシソーラスとに基づいて計算し、尤度が最大となる入力構造を解析結果として出力する構文解析装置が開示されている。また、特許文献２には、入力文を構文解析して複数の解析結果が生じて特定が困難な場合、入力文と対訳関係にある対訳文書の構文解析情報を利用して、入力文の構文構造を特定する構文解析方法が開示されている。
【０００４】
【特許文献１】特開平０６−３３２９４０号公報
【特許文献２】特開２００３−１９６２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の装置は、英語やドイツ語等の単語間がスペースで区切られた「分かち書き」言語や、単語間が「てにをは」等の助詞により区切られた日本語のような一意的に形態素解析が可能な言語に対しては有効であるが、中国語のように単語間の区切りを判別しにくい孤立語を入力文とする場合には高精度の解析ができないという問題がある。また、特許文献２の方法では、入力文の構文解析をする機能に加えて、対訳文の構文解析のデータベースが必要となるので、解析装置のコストが大きくなるという問題がある。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであり、対訳文を利用することなく、高精度で中国語のような孤立語の構文解析が可能な構文解析プログラム、方法、装置、コンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明にかかる構文解析プログラムは、上記の目的を達成させるため、コンピュータに、自然言語の文を入力する入力ステップと、入力ステップにより入力された入力文の形態素解析及び構文解析を行う解析ステップと、解析済コーパスデータベースから入力文に最も類似する解析済コーパスを抽出する抽出ステップと、解析ステップにより複数の解析候補が得られた場合に、各解析候補と抽出ステップにより抽出された解析済コーパスとの類似度を計算する類似度計算ステップと、類似度計算ステップにより計算された類似度が最大となる解析候補を解析結果として出力する出力ステップとを実行させることを特徴とする。
【０００８】
解析ステップは、使用する自然言語に関する知識に基づき、入力文に含まれる未登録の単語を推定する機能を有することが望ましい。
【０００９】
また、類似度計算ステップでは、形態素解析により解析された形態素の内容と、構文解析により解析された構文構造とを用いて解析候補と解析済コーパスとの類似度を計算することができる。具体的には、類似度計算ステップでは、解析候補の形態素数をＷ、このうち抽出された解析済コーパスの形態素と同一構造の形態素数をＷ1、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数をＷ2としたとき、類似度Ｓを
Ｓ＝(Ｗ1／Ｗ)×Ｗ2
により求めることができる。
【００１０】
類似度計算ステップでは、形態素解析により解析された形態素の内容と、解析済コーパスの形態素の内容との類似度をシソーラスによる概念間の相関値として計算することもできる。これは、文中の単語の意味が類似する場合には、文全体の構造も類似する可能性が高いという一般原則に基づいた解析手法である。
【００１１】
一方、本願発明に係る構文解析方法は、プログラムされたコンピュータにより構文を解析する方法において、上記の入力ステップと、解析ステップと、抽出ステップと、類似度計算ステップと、出力ステップとを含むことを特徴とする。
【００１２】
また、本願発明に係る構文解析装置は、プログラムされたコンピュータにより構文を解析する装置において、自然言語の文を入力する入力部と、入力部により入力された入力文の形態素解析及び構文解析を行う解析部と、解析済コーパスデータベースから入力文に最も類似する解析済コーパスを抽出する抽出部と、解析部により複数の解析候補が得られた場合に、各解析候補と抽出部により抽出された解析済コーパスとの類似度を計算する類似度計算部と、類似度計算部により計算された類似度が最大となる解析候補を解析結果として出力する出力部と、を備えることを特徴とする。
【００１３】
さらに、本願発明に係るコンピュータ読み取り可能な記録媒体は、上記の上記の入力ステップと、解析ステップと、抽出ステップと、類似度計算ステップと、出力ステップとを実行させるための構文解析プログラムが記録されていることを特徴とする。
【発明の効果】
【００１４】
以上のように構成された本発明の構文解析プログラム(方法、装置、媒体)によれば、解析済コーパスを利用することにより、中国語のような孤立語の未知語や曖昧性のある複合名詞の語切り誤りによる構文解析の誤りを解消することにより、構文解析精度を向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明にかかる構文解析装置の実施形態を図面に基づいて説明する。なお、実施形態では、解析対象の孤立語として中国語を用いるが、他の孤立語にも同様に適用可能である。
【００１６】
最初に、図１に基づいて本実施形態の構文解析プログラムを利用した構文解析装置の概要を説明する。図１に示されるように、この構文解析装置１は、自然言語の文を入力する入力部１０と、入力部により入力された入力文の形態素解析及び構文解析を行う解析部２０と、解析済コーパスデータベース３０から入力文に最も類似する解析済コーパスを抽出する抽出部４０と、解析部２０により複数の解析候補が得られた場合に、各解析候補と抽出部４０により抽出された解析済コーパスとの類似度を計算する類似度計算部５０と、類似度計算部５０により計算された類似度が最大となる解析候補を解析結果として出力する出力部６０とを備えている。
【００１７】
なお、構文解析装置１は、実際にはプログラムされたコンピュータにより構成され、このコンピュータ上で構文解析プログラムを実行することにより実現される。構文解析プログラムは、図１の各部に対応して、自然言語の文を入力する入力ステップと、入力ステップで入力された入力文の形態素解析及び構文解析を行う解析ステップと、解析済コーパスデータベースから入力文に最も類似する解析済コーパスを抽出する抽出ステップと、解析ステップにより複数の解析候補が得られた場合に、各解析候補と抽出ステップで抽出された解析済コーパスとの類似度を計算する類似度計算ステップと、類似度計算ステップにより計算された類似度が最大となる解析候補を解析結果として出力する出力ステップとを備える。
【００１８】
入力部１０は、キーボードや光学式文字読取装置等の入力装置、あるいは、テキストファイルから解析対象となる自然言語の文を読み取るファイル読取装置であり、入力された文を解析部２０に送る。この入力部１０により文を入力する行程が、上記の入力ステップに該当する。
【００１９】
解析部２０は、上記の解析ステップを実行することにより実現され、従来から知られている文法規則や統計手法に基づいて文を単語毎に切って形態素に分解する形態素解析部２１と、解析された形態素に基づいて文の構造を解析する構文解析部２２とを含んでいる。形態解析部２１は、使用する自然言語、ここでは中国語に関する知識に基づき、入力文に含まれる未登録の単語を推定する機能を有する。なお、中国語のような孤立語を入力文とする場合、未知語や曖昧性のある複合名詞が含まれると、複数の解析候補が解析部２０により得られる。
【００２０】
解析済コーパスデータベース３０は、正しく形態素解析及び構文解析された多数の文(解析済コーパス)を文単位でレコードとして蓄積するデータベースであり、各レコードは、番号、コーパス、構文構造の３つのフィールドを持つ。例えば、以下の表１に示すようなレコードが登録されている。
【００２１】
【表１】
2007241764.tif 000003
【００２２】
「番号」フィールドにはコーパスの識別番号、「コーパス」フィールドには自然言語の文(文章、文節)、「構文構造」フィールドにはコーパスを正しく解析した結果がそれぞれ格納される。なお、構文構造には、分割された各形態素について、品詞(記号で表記)及び文中での格関係が表記される。表記の形式は、形態素が２つの場合には「(形態素/品詞，格関係，形態素/品詞)」となり、３つ以上の場合には「(形態素/品詞，格関係，(形態素/品詞，格関係，形態素/品詞))」のように入れ子構造となる。格関係には、主格、目的格、修飾格、並列格等があり、品詞には、名詞(記号：ｎ)、代名詞(記号：rn)、動詞(記号：v)、形容詞(記号：a)、副詞(記号：ad)、介詞(記号：p)等がある。
【００２３】
抽出部４０は、上記の抽出ステップを実行することにより実現され、解析済データベース３０内を検索し、ベクトル空間法などの方法で登録されている多数の解析済コーパスの中から、入力文に最も類似するものを抽出する。
【００２４】
類似度計算部５０は、上記の類似度計算ステップを実行することにより実現され、形態素解析部２１により解析された形態素の内容と、構文解析部２２により解析された構文構造とを用いて解析部２０により得られた複数の解析候補と解析済コーパスとの類似度を計算する。具体的には、類似度計算部５０は、解析候補の形態素数をＷ、このうち抽出された解析済コーパスの形態素と同一構造の形態素数をＷ1、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数をＷ2としたとき、類似度Ｓを
Ｓ＝(Ｗ1／Ｗ)×Ｗ2
により求める。この類似度Ｓが大きいほど、類似の度合いが大きいと判断できる。
【００２５】
出力部６０は、上記の出力ステップを実行することにより実現され、複数の解析候補の中から、上記の類似度計算部５０により計算された類似度Ｓの値が最も大きい候補を選択し、これを解析結果として出力する。出力先は、画面、紙、ファイルのいずれか、あるいは、これらの組み合わせとすることができる。
【００２６】
次に、具体的な入力文に基づいて実施形態の構文解析装置１の作用について説明する。最初に、表２に示す入力文１が入力された場合について説明する。入力文１では、未登録語の処理が問題となる。この場合、解析部２０は、表２に示す２つの解析候補を出力する。表中の格関係、品詞については、解析済コーパスデータベース３０についての説明が同様に該当する。ただし、解析部では、未登録語を品詞の一種と捉える。未登録語は、記号uで表記される。
【００２７】
【表２】
2007241764.tif 000004
【００２８】
解析候補１、２の構造を図２及び図３に示す。解析候補１では、この入力文１の１番目に表記される文字は単独で名詞になることは少ないという中国語に関する知識から１−２番目との文字列で主格の未登録語を形成すると推定して解析している。これに対して、解析候補２では、入力文の１番目の文字を主格の名詞、二番目の文字を動詞と判断して解析している。３文字目以降はどちらの候補も共通であり、３，４番目が動詞、５−９番目の文字列で目的格であり、その中で５−６番目の文字列が修飾格、７−９番目の文字列が被修飾語であると解析されている。
【００２９】
抽出部４０は、解析済コーパスデータベース３０を検索して上記の入力文１に類似するコーパスを検索する。この例では、表１の番号１の解析済コーパスが選択される。番号１のコーパスの構造を図４に示す。
【００３０】
続いて、類似度計算部５０は、解析部２０により解析された解析候補１，２のそれぞれと抽出部４０により抽出された番号１のコーパスとの類似度を計算する。まず、図２に示す解析候補１と図４に示す番号１の解析済コーパスとの類似度を計算する。この例では、解析候補１の形態素数Ｗ＝４、このうち解析済コーパスの形態素と同一構造の形態素数Ｗ1＝４、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数Ｗ2＝３となるため、
Ｓ＝(Ｗ1／Ｗ)×Ｗ2＝(４／４)×３＝３
となる。
【００３１】
これに対して、図３に示す解析候補２と図４に示す番号１の解析済コーパスとの類似度を計算する。この例では、解析候補２の形態素数Ｗ＝５、このうち解析済コーパスの形態素と同一構造の形態素数Ｗ1＝３、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数Ｗ2＝３となるため、
Ｓ＝(Ｗ1／Ｗ)×Ｗ2＝(３／５)×３＝１．８
となる。したがって、解析候補１の方が類似度が高くなるため、出力部６０は解析候補１を入力文１の解析結果として出力する。
【００３２】
次に、表３に示す入力文２が入力された場合について説明する。入力文２では、複合名詞の区分け処理が問題となる。この場合、解析部２０は表３に示す２つの解析候補を出力する。
【００３３】
【表３】
2007241764.tif 000005
【００３４】
解析候補３、４の構造を図５及び図６に示す。１−５番目の文字列に関する解析は共通であり、１−３番目の文字列が主格の名詞、４−５番目の文字列が動詞となる。６−９番目の目的格となる文字列の解析の仕方が解析候補３と４とで異なる。すなわち、解析候補３では、６−７番目の文字列が被修飾語である名詞、８−９番目の文字列が修飾格の名詞として区分されている。一方、解析候補４では、６−８番目の文字列が被修飾語である名詞、９番目の文字が修飾格の名詞として区分されている。
【００３５】
抽出部４０は、解析済コーパスデータベース３０を検索して上記の入力文２に類似するコーパスを検索する。この例では、表１の番号２の解析済コーパスが選択される。番号２のコーパスの構造を図７に示す。
【００３６】
続いて、類似度計算部５０は、解析部２０により解析された解析候補３，４のそれぞれと抽出部４０により抽出された番号２のコーパスとの類似度を計算する。まず、図５に示す解析候補３と図７に示す番号２の解析済コーパスとの類似度を計算する。この例では、解析候補３の形態素数Ｗ＝４、このうち解析済コーパスの形態素と同一構造の形態素数Ｗ1＝４、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数Ｗ2＝２となるため、
Ｓ＝(Ｗ1／Ｗ)×Ｗ2＝(４／４)×２＝２
となる。
【００３７】
これに対して、図６に示す解析候補４と図７に示す番号２の解析済コーパスとの類似度を計算する。この例では、解析候補４の形態素数Ｗ＝４、このうち解析済コーパスの形態素と同一構造の形態素数Ｗ1＝４、抽出された解析済コーパスの形態素と同一構造かつ同一表記の形態素数Ｗ2＝１となるため、
Ｓ＝(Ｗ1／Ｗ)×Ｗ2＝(４／４)×１＝１
となる。したがって、解析候補３の方が類似度が高くなるため、出力部６０は解析候補３を入力文２の解析結果として出力する。
【００３８】
なお、上記の例では、類似度計算部５０における計算で形態素の構造及び内容を比較して類似度を求めたが、シソーラスを用いて類似度を計算することもできる。シソーラスを用いた類似度の計算について、以下に説明する。
【００３９】
例えば図８に示すようなシソーラスを用意する。楕円で囲まれた語句が概念、かぎ括弧で囲まれた語句は具体的な内容である。そして、入力文を解析して得られた形態素の内容と、抽出された解析済コーパスの形態素の内容との類似度をシソーラスによる概念間の相関度として計算する。具体的には、単語WiとWjとの間の相関度を(Wi, Wj) = 1/2n, (n = 0, 1, 2, …)により求める。n は概念間の距離である。距離は、同一概念に属する単語間では０、異なる概念に属する単語間では、各単語から共通の上位概念に達するまでの段階が距離となる。に例えば、「小説」と「軟件」との距離は０であるため、相関度は、(Wi, Wj) =(小説, 軟件)= 1/20 = 1となり、「小説」と「物理学」との距離は２であるため、相関度は、(Wi, Wj) =(小説, 物理学)= 1/22 = 1/4となる。文を構成する複数の形態素について、個々に相関度を計算し、それらの総和Σ(Wi, Wj)を文全体の相関度として用いる。この全体の相関度が大きいほど類似度が高いと判断できる。
【００４０】
表４に示す入力文３が入力された場合のシソーラスを用いた類似度計算の具体例を説明する。入力文３でも、複合名詞の区分け処理が問題となる。入力文３が入力されると、解析部２０は表４に示す２つの解析候補を出力する。
【００４１】
【表４】
2007241764.tif 000006
【００４２】
解析候補５、６では主格の解析は共通であり、３−６番目の文字列の解析の仕方が異なる。すなわち、解析候補５では、３−４番目の文字列が被修飾語である名詞、５−６番目の文字列が修飾格の名詞として区分されている。これに対して、解析候補６では、３−５番目の文字列が被修飾語である名詞、６番目の文字が修飾格の名詞として区分されている。
【００４３】
抽出部４０は、解析済コーパスデータベース３０を検索して上記の入力文３に類似するコーパスを検索する。この例では、表１の番号３の解析済コーパスが選択される。
【００４４】
続いて、類似度計算部５０は、解析部２０により解析された解析候補５，６のそれぞれと抽出部４０により抽出された番号３のコーパスとの類似度を図８のシソーラスを用いて計算する。ここでは、解析が共通である部分は省略し、解析が異なる３−６番目の文字列について、各候補と解析済コーパスとの各形態素間の相関度を計算する。各形態素間の相関度は以下の表５の上段に示したとおりとなり、各候補の相関度は下二段に示す通りとなる。
【００４５】
【表５】
2007241764.tif 000007
【００４６】
したがって、入力文３に対しては、解析候補５の方が類似度が高くなるため、出力部６０は解析候補５を入力文３の解析結果として出力する。
【００４７】
上記の実施形態の構文解析装置１によれば、解析済コーパスデータベース３０を利用して、入力文の解析結果とコーパスの解析結果とを比較して類似度が高いものを選択することにより、未登録語や曖昧な複合名詞が入力文に含まれる場合にも、正確な解析が可能となり、例えば翻訳の前段階で用いることにより、誤訳の可能性を低減することができる。
【００４８】
なお、上記の説明では、形態素の構造及び内容を用いた類似度の計算と、シソーラスを用いた形態素の内容の相関度の計算とを分けて説明したが、これらは上記のようにいずれか一方を適用してもよいし、双方を適用して総合的な類似度を判断するようにしてもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態にかかる構文解析装置の概略を示すブロック図である。
【図２】図１の装置の解析部により出力される解析候補１の構文構造を示す説明図である。
【図３】図１の装置の解析部により出力される解析候補２の構文構造を示す説明図である。
【図４】図１の装置の抽出部により抽出される解析済コーパスの構文構造を示す説明図である。
【図５】図１の装置の解析部により出力される解析候補１の構文構造を示す説明図である。
【図６】図１の装置の解析部により出力される解析候補２の構文構造を示す説明図である。
【図７】図１の装置の抽出部により抽出される解析済コーパスの構文構造を示す説明図である。
【図８】図１の装置の類似度計算部で用いられるシソーラスの構造を示す説明図である。
【符号の説明】
【００５０】
１    構文解析装置
１０  入力部
２０  解析部
２１  形態解析部
２２  構文解析部
３０  解析済コーパスデータベース
４０  抽出部
５０  類似度計算部
６０  出力部
【図１】
2007241764.tif 000008
【図２】
2007241764.tif 000009
【図３】
2007241764.tif 000010
【図４】
2007241764.tif 000011
【図５】
2007241764.tif 000012
【図６】
2007241764.tif 000013
【図７】
2007241764.tif 000014
【図８】
2007241764.tif 000015