(57)【要約】【課題】判別モデルを高速に学習し、判別モデルを利用して、精度が高く、高速にテキストのクラスを判別する。【解決手段】テキスト格納部１と、テキストクラス格納部２と、テキストの構造情報と意味情報を取り出すテキスト解析部３と、テキストに含まれる個々の単語に対して構造情報および頻度情報に基づいて特徴語を抽出する特徴語抽出部４と、特徴語の意味情報等に基づいて特徴語に対応する特徴語ベクトルを生成する単語ベクトル生成部５と、特徴語ベクトルに基づいてテキストを特徴付けるテキストベクトルを生成するテキストベクトル生成部６と、テキストベクトルとテキストクラスを組として入力することにより判別モデルを学習する判別モデル学習部７と、判別モデルを格納する判別モデル格納部８と、テキストベクトルを判別モデルに適用することにより、テキストに対応するテキストクラスを判定するテキストクラス判定部９と、を有する。【選択図】図１
2008176489.tif 000002
【特許請求の範囲】
【請求項１】
自然言語で記載されたテキストが特定のテキストクラスに含まれているかどうかを判別するテキスト判別装置において、
自然言語で書かれたテキストを格納するテキスト格納部と、
テキストに対応するテキストクラスを格納するテキストクラス格納部と、
テキスト格納部に格納されているテキストの集合を解析することにより、個々のテキストの構造情報と意味情報を取り出すテキスト解析部と、
当該テキストの集合に含まれる個々の単語に対して、個々のテキストにおける構造情報および頻度情報に基づいて、特徴語を抽出する特徴語抽出部と、
個々のテキストに対する当該特徴語の意味情報および構造情報に基づいて、当該特徴語に対応する特徴語ベクトルを生成する単語ベクトル生成部と、
当該テキストに対して、すべての特徴語に対応する特徴語ベクトルに基づいてテキストを特徴付けるテキストベクトルを生成するテキストベクトル生成部と、
テキストベクトル生成部によって生成されたテキストベクトルとテキストクラス格納部に格納されているテキストクラスを組として入力することにより、判別モデルを学習する判別モデル学習部と、
学習した判別モデルを格納する判別モデル格納部と、
テキストに対してテキストベクトル生成部によって生成されたテキストベクトルを判別モデル格納部に格納されている判別モデルに適用することにより、当該テキストに対応するテキストクラスを判定するテキストクラス判定部と、
を有することを特徴とするテキスト判別装置。
【請求項２】
自然言語で記載されたテキストが特定のテキストクラスに含まれているかどうかを判別するテキスト判別方法において、
自然言語で書かれたテキストをテキスト格納部に格納するテキスト格納ステップと、
テキストに対応するテキストクラスをテキストクラス格納部に格納するテキストクラス格納ステップと、
テキスト格納部に格納されているテキストの集合を解析することにより、個々のテキストの構造情報と意味情報を取り出すテキスト解析ステップと、
当該テキストの集合に含まれる個々の単語に対して、個々のテキストにおける構造情報および頻度情報に基づいて、特徴語を抽出する特徴語抽出ステップと、
個々のテキストに対する当該特徴語の意味情報および構造情報に基づいて、当該特徴語に対応する特徴語ベクトルを生成する単語ベクトル生成ステップと、
当該テキストに対して、すべての特徴語に対応する特徴語ベクトルからテキストを特徴付けるテキストベクトルを生成するテキストベクトル生成ステップと、
テキストベクトル生成部によって生成されたテキストベクトルとテキストクラス格納部に格納されているテキストクラスを組として入力することにより、判別モデルを学習する判別モデル学習ステップと、
学習した判別モデルを格納する判別モデル格納ステップと、
テキストに対してテキストベクトル生成ステップによって生成されたテキストベクトルを判別モデル格納ステップによって格納されている判別モデルに適用することにより、当該テキストに対応するテキストクラスを判定するテキストクラス判定ステップと、
を有することを特徴とするテキスト判別方法。
【請求項３】
自然言語で記載されたテキストが特定のテキストクラスに含まれているかどうかを判別するテキスト判別方法において、
テキスト格納部に格納された複数のテキストから未処理のテキストを読み込む第１のテキスト読み込みステップと、
前記第１のテキスト読み込みステップで読み込まれた各テキストに対して構文解析を行ない、単語間の係り受け構造および単語の意味的属性を解析して構文木を生成する第１のテキスト解析ステップと、
前記テキスト格納部に格納されているテキストから抽出される単語に対して、前記第１のテキスト解析ステップで生成された構文木における出現位置に基づいて、各構文木ごとに単語評価値を算出する単語評価値算出ステップと、
前記単語評価値算出ステップで算出された各構文木ごとの単語評価値に基づいて、すべてのテキストを対象とした単語の総合評価値を計算し、当該総合評価値に基づいて単語の中から特徴語を選択する特徴語選択ステップと、
前記テキスト格納部に格納されているテキストに対応する構文木のうち、未処理のものを一つ取り出すテキスト取り出しステップと、
前記テキスト格納部に格納されているテキストから抽出される単語の中から未処理の単語を一つ取り出す第１の単語取り出しステップと、
前記第１の単語取り出しステップで取り出された単語が前記第１のテキスト解析ステップで生成された構文木に含まれているかどうかを判定する第１の単語存在判定ステップと、
前記第１の単語存在判定ステップで当該単語が当該構文木に含まれていると判定された場合に、当該単語が当該構文木において出現する位置を探索し、探索した単語に付随している意味属性および探索した単語の出現位置に基づいた構造属性に基づいて、特徴語に対応する属性ベクトルを生成する第１の特徴語ベクトル生成ステップと、
前記第１の単語存在判定ステップで当該単語が当該構文木に含まれていないと判定された場合に、当該単語が当該テキストに存在しないことを示す属性ベクトルを生成する第１の非特徴語ベクトル生成ステップと、
前記第１の特徴語ベクトル生成ステップおよび第１の非特徴語ベクトル生成ステップによって生成された各単語の属性ベクトルに基づいて、当該テキストに対応する属性ベクトルを生成する第１のテキストベクトル生成ステップと、
前記第１のテキストベクトル生成ステップで生成された属性ベクトルと、当該テキストに対応するテキストクラスとを組み合わせることにより、すべてのテキストに対応する判別モデルを生成する判別モデル学習ステップと、
前記判別モデル学習ステップの後に、テキスト格納部に新たに格納されたテキストから未処理のテキストを読み込む第２のテキスト読み込みステップと、
前記第２のテキスト読み込みステップで読み込まれたテキストに対して構文解析を行ない、単語間の係り受け構造および単語の意味的属性を解析して構文木を生成する第２のテキスト解析ステップと、
前記テキスト格納部に格納されているテキストから抽出される単語の中から未処理の単語を一つ取り出す第２の単語取り出しステップと、
前記第２の単語取り出しステップで取り出された単語が前記第２のテキスト解析ステップで生成された構文木に含まれているかどうかを判定する第２の単語存在判定ステップと、
前記第２の単語存在判定ステップで当該単語が当該構文木に含まれていると判定された場合に、その出現する位置を探索し、探索した単語に付随している意味属性および探索した単語の出現位置に基づいた構造属性に基づいて、特徴語に対応する属性ベクトルを生成する第２の特徴語ベクトル生成ステップと、
前記第２の単語存在判定ステップで当該単語が当該構文木に含まれていないと判定された場合に、当該単語がテキストに存在しないことを示す属性ベクトルを生成する第２の非特徴語ベクトル生成ステップと、
前記第２の特徴語ベクトル生成ステップおよび第２の非特徴語ベクトル生成ステップによって生成された各単語の属性ベクトルに基づいて、当該テキストに対応する属性ベクトルを生成する第２のテキストベクトル生成ステップと、
前記第２のテキストベクトル生成ステップで生成された新たなテキストに対応する属性ベクトルを、前記判別モデル学習ステップで生成された判別モデルに適用することにより、当該テキストに対応するテキストクラスを判別する判別ステップと、
を有することを特徴とするテキスト判別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語で記載されたテキストに対して、構造情報を利用して、特定のテキストクラスに含まれているかどうかを判別する装置およびその方法に関する。
【背景技術】
【０００２】
コンピュータ環境の進展に伴って、テキストを簡便に収集・蓄積できるようになった。これらテキストには、利用者にとっての有用な知見が埋もれており、テキストを分析する技術が研究されている。その一つとして、テキストが所望のクラスに含まれているかどうかを判別する方法が知られている。
【０００３】
非特許文献１に提案されている方法では、テキストを形態素解析し、特定のパターンを含む単語列であるキーフレーズを抽出して、テキストを特徴付けることにより、テキストの分類学習を実施している。この手法においては、形態素解析に基づいた特徴付けが行なわれているため、単語間の係り受け関係を解析することができず、単語の意味的な繋がりを考慮した判別モデルを学習することができなかった。このため、当該判別手法を利用して、テキストの判別を行なった場合、その分類精度を高めるには限界があった。
【０００４】
一方、特許文献１に提案されている「テキスト解析装置」では、構文解析を実施することにより、分類対象のテキストを構成する単語に対して、その意味属性を付与する。また、意味属性を含めて指定した構造とクラスとの間の関係をルールとして利用することにより、テキストを特定のクラスに分類する。しかしながら、この手法の場合、意味属性を含めた構造と特定のクラス間との関係をルールとして、利用者が指定する必要がある。そのため、どのような構造が特定のクラスと関連しているかが分からない場合に、この技術を利用することができなかった。また、テキストが特定の構造を含むかどうかを判定するには、木構造の比較を行なう必要があるため、その比較には多大なる時間が必要であった。
【０００５】
また一方、特許文献２に提案されている「データ処理方法、これを用いた情報処理システムおよびプログラム」では、ラベル付き順序木を利用した分類学習を実施している。テキストを構文解析した結果は、本ラベル付き順序木の一種と見なすことができるため、この手法を利用することにより、テキストが所望のクラスに含まれているかどうかを判別する判別モデルを学習することができる。しかしながら、この手法においては、ラベル付き順序木に含まれる部分構造を数え上げて、特徴付けを行なう必要があり、部分構造の数え上げには多大なる時間が必要となるため、判別モデルの学習および判別モデルを用いたクラスの判別には多大なる時間が必要であった。
【特許文献１】特開２００３−１６０７９号公報
【特許文献２】特開２００３−２７１５９９号公報
【非特許文献１】Shigeaki Sakurai and Akihiro Suyama: “Rule Discovery from Textual Data based on Key Phrase Patterns”,Proceedings of the 19th Annual ACM Symposium on Applied Computing, 606-612 (2004-03)
【非特許文献２】平川、天野：日本語解析における最適解探索、情報処理学会自然言語処理研究会、ＮＬ７４−２、ｐｐ．９−１６，（１９８９．９）
【非特許文献３】V. N. Vapnik: “The Nature of Statistical Learning Theory”, Springer,(1995).
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、従来の手法では、判別モデルを高速に学習し、当該判別モデルを利用して精度が高く、高速にテキストのクラスを判別するということができなかった。
【０００７】
本発明は、上記事情を鑑みてなされたものであって、判別モデルを高速に学習し、当該判別モデルを利用して高精度で高速にテキストのクラスを判別するテキスト判別装置およびテキスト判別方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るテキスト判別装置は、自然言語で記載されたテキストが特定のテキストクラスに含まれているかどうかを判別するテキスト判別装置において、自然言語で書かれたテキストを格納するテキスト格納部と、テキストに対応するテキストクラスを格納するテキストクラス格納部と、テキスト格納部に格納されているテキストの集合を解析することにより、個々のテキストの構造情報と意味情報を取り出すテキスト解析部と、当該テキストの集合に含まれる個々の単語に対して、個々のテキストにおける構造情報および頻度情報に基づいて、特徴語を抽出する特徴語抽出部と、個々のテキストに対する当該特徴語の意味情報および構造情報に基づいて、当該特徴語に対応する特徴語ベクトルを生成する単語ベクトル生成部と、当該テキストに対して、すべての特徴語に対応する特徴語ベクトルに基づいてテキストを特徴付けるテキストベクトルを生成するテキストベクトル生成部と、テキストベクトル生成部によって生成されたテキストベクトルとテキストクラス格納部に格納されているテキストクラスを組として入力することにより、判別モデルを学習する判別モデル学習部と、学習した判別モデルを格納する判別モデル格納部と、テキストに対してテキストベクトル生成部によって生成されたテキストベクトルを判別モデル格納部に格納されている判別モデルに適用することにより、当該テキストに対応するテキストクラスを判定するテキストクラス判定部と、を有することを特徴とする。
【０００９】
また、本発明に係るテキスト判別方法は、自然言語で記載されたテキストが特定のテキストクラスに含まれているかどうかを判別するテキスト判別方法において、自然言語で書かれたテキストをテキスト格納部に格納するテキスト格納ステップと、テキストに対応するテキストクラスをテキストクラス格納部に格納するテキストクラス格納ステップと、テキスト格納部に格納されているテキストの集合を解析することにより、個々のテキストの構造情報と意味情報を取り出すテキスト解析ステップと、当該テキストの集合に含まれる個々の単語に対して、個々のテキストにおける構造情報および頻度情報に基づいて、特徴語を抽出する特徴語抽出ステップと、個々のテキストに対する当該特徴語の意味情報および構造情報に基づいて、当該特徴語に対応する特徴語ベクトルを生成する単語ベクトル生成ステップと、当該テキストに対して、すべての特徴語に対応する特徴語ベクトルからテキストを特徴付けるテキストベクトルを生成するテキストベクトル生成ステップと、テキストベクトル生成部によって生成されたテキストベクトルとテキストクラス格納部に格納されているテキストクラスを組として入力することにより、判別モデルを学習する判別モデル学習ステップと、学習した判別モデルを格納する判別モデル格納ステップと、テキストに対してテキストベクトル生成ステップによって生成されたテキストベクトルを判別モデル格納ステップによって格納されている判別モデルに適用することにより、当該テキストに対応するテキストクラスを判定するテキストクラス判定ステップと、を有することを特徴とする。
【００１０】
また、本発明に係るテキスト判別方法は、自然言語で記載されたテキストが特定のテキストクラスに含まれているかどうかを判別するテキスト判別方法において、テキスト格納部に格納された複数のテキストから未処理のテキストを読み込む第１のテキスト読み込みステップと、前記第１のテキスト読み込みステップで読み込まれた各テキストに対して構文解析を行ない、単語間の係り受け構造および単語の意味的属性を解析して構文木を生成する第１のテキスト解析ステップと、前記テキスト格納部に格納されているテキストから抽出される単語に対して、前記第１のテキスト解析ステップで生成された構文木における出現位置に基づいて、各構文木ごとに単語評価値を算出する単語評価値算出ステップと、前記単語評価値算出ステップで算出された各構文木ごとの単語評価値に基づいて、すべてのテキストを対象とした単語の総合評価値を計算し、当該総合評価値に基づいて単語の中から特徴語を選択する特徴語選択ステップと、前記テキスト格納部に格納されているテキストに対応する構文木のうち、未処理のものを一つ取り出すテキスト取り出しステップと、前記テキスト格納部に格納されているテキストから抽出される単語の中から未処理の単語を一つ取り出す第１の単語取り出しステップと、前記第１の単語取り出しステップで取り出された単語が前記第１のテキスト解析ステップで生成された構文木に含まれているかどうかを判定する第１の単語存在判定ステップと、前記第１の単語存在判定ステップで当該単語が当該構文木に含まれていると判定された場合に、当該単語が当該構文木において出現する位置を探索し、探索した単語に付随している意味属性および探索した単語の出現位置に基づいた構造属性に基づいて、特徴語に対応する属性ベクトルを生成する第１の特徴語ベクトル生成ステップと、前記第１の単語存在判定ステップで当該単語が当該構文木に含まれていないと判定された場合に、当該単語が当該テキストに存在しないことを示す属性ベクトルを生成する第１の非特徴語ベクトル生成ステップと、前記第１の特徴語ベクトル生成ステップおよび第１の非特徴語ベクトル生成ステップによって生成された各単語の属性ベクトルに基づいて、当該テキストに対応する属性ベクトルを生成する第１のテキストベクトル生成ステップと、前記第１のテキストベクトル生成ステップで生成された属性ベクトルと、当該テキストに対応するテキストクラスとを組み合わせることにより、すべてのテキストに対応する判別モデルを生成する判別モデル学習ステップと、前記判別モデル学習ステップの後に、テキスト格納部に新たに格納されたテキストから未処理のテキストを読み込む第２のテキスト読み込みステップと、前記第２のテキスト読み込みステップで読み込まれたテキストに対して構文解析を行ない、単語間の係り受け構造および単語の意味的属性を解析して構文木を生成する第２のテキスト解析ステップと、前記テキスト格納部に格納されているテキストから抽出される単語の中から未処理の単語を一つ取り出す第２の単語取り出しステップと、前記第２の単語取り出しステップで取り出された単語が前記第２のテキスト解析ステップで生成された構文木に含まれているかどうかを判定する第２の単語存在判定ステップと、前記第２の単語存在判定ステップで当該単語が当該構文木に含まれていると判定された場合に、その出現する位置を探索し、探索した単語に付随している意味属性および探索した単語の出現位置に基づいた構造属性に基づいて、特徴語に対応する属性ベクトルを生成する第２の特徴語ベクトル生成ステップと、前記第２の単語存在判定ステップで当該単語が当該構文木に含まれていないと判定された場合に、当該単語がテキストに存在しないことを示す属性ベクトルを生成する第２の非特徴語ベクトル生成ステップと、前記第２の特徴語ベクトル生成ステップおよび第２の非特徴語ベクトル生成ステップによって生成された各単語の属性ベクトルに基づいて、当該テキストに対応する属性ベクトルを生成する第２のテキストベクトル生成ステップと、前記第２のテキストベクトル生成ステップで生成された新たなテキストに対応する属性ベクトルを、前記判別モデル学習ステップで生成された判別モデルに適用することにより、当該テキストに対応するテキストクラスを判別する判別ステップと、を有することを特徴とする。
【発明の効果】
【００１１】
この発明によれば、形態素解析よりも多くの情報を出力する構文解析を利用する一方で、構文解析の結果を簡約化して利用する。これにより、構文解析によって得られる構造情報を直接利用して判別モデルを学習する場合に比べて、高速に判別モデルを学習することができる。また、構造情報をある程度保存した特徴付けを行なうことができるため、判別精度の高い判別モデルを学習することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明に係るテキスト判別装置およびテキスト判別方法の実施の形態について、図面を参照して説明する。初めに図１を参照して、本発明に係るテキスト判別装置の実施の形態について説明する。
【００１３】
図１に示すように、このテキスト判別装置は、自然言語で書かれたテキストを格納するテキスト格納部１と、テキストに対応するテキストクラスを格納するテキストクラス格納部２とを有する。また、テキスト格納部１に格納されているテキストの集合を解析することにより、個々のテキストの構造情報と意味情報を取り出すテキスト解析部３と、当該テキストの集合に含まれる個々の単語に対して、個々のテキストにおける構造情報および頻度情報に基づいて、特徴語を抽出する特徴語抽出部４を有する。
【００１４】
このテキスト判別装置はさらに、個々のテキストに対する当該特徴語の意味情報および構造情報に基づいて、当該特徴語に対応する特徴語ベクトルを生成する単語ベクトル生成部５と、当該テキストに対して、すべての特徴語に対応する特徴語ベクトルに基づいてテキストを特徴付けるテキストベクトルを生成するテキストベクトル生成部６とを有する。
【００１５】
このテキスト判別装置はさらに、テキストベクトル生成部６によって生成されたテキストベクトルとテキストクラス格納部２に格納されているテキストクラスを組として入力することにより、判別モデルを学習する判別モデル学習部７と、学習した判別モデルを格納する判別モデル格納部８と、テキストに対してテキストベクトル生成部６によって生成されたテキストベクトルを判別モデル格納部８に格納されている判別モデルに適用することにより、当該テキストに対応するテキストクラスを判定するテキストクラス判定部９と、を有する。
【００１６】
次に、本発明に係るテキスト判別方法の実施の形態の詳細について、図２および図３のフローチャートに沿って説明する。ここに、図２は、この実施の形態における判別モデル学習の流れを示すフローチャートであり、図３はこの実施の形態において判別モデルを用いたテキスト判別手順の流れを示すフローチャートである。
【００１７】
図２のステップＳａ１においては、テキスト格納部１に格納されているテキストから、未処理のテキストを一つ読み込む。このとき、読み込むテキストが存在しない場合には、ステップＳａ４へと進む。一方、読み込むテキストが存在する場合には、ステップＳａ２へと進む。
【００１８】
ステップＳａ２においては、読み込んだテキストに対して、テキスト解析部３が、例えば、非特許文献２に記載の構文解析を適用することにより、単語間の係り受け構造および単語の意味的属性を解析して、図４および図５に例示される構文木を生成する。すなわち、単語およびその属性を記述してある辞書を参照することにより、与えられたテキストを文節単位にまとめて、単語および当該単語に関連する属性が付随している列に分解する。なお、構文木においては、この属性が単語の右側に付与されるラベル（品詞、否定等）として表現されている。
【００１９】
次に、体言および体言に準ずる語の他の語に対する関係を示す助詞である格助詞等の表層的な特徴を利用することにより、名詞とその名詞に最も近い動詞の間に係り受け関係を設定し、単純な構文木を生成する。
【００２０】
次に、係り受け可能な名詞、動詞の組を、当該単純な構文木の中から取り出して、当該組み合わせに対して、必要ならば複数の係り受け候補を生成する。このとき、当該係り受け候補に対しては、意味係り受け関係を記述してある辞書を参照することにより、設定可能な意味係り受け関係およびその確信度に基づいて計算されるスコアが付与されている。なお、構文木においては、この意味係り受け関係がリンク上に付与されるラベル（に格、を格等）によって表現されている。
【００２１】
最終的には、文節間の意味的な制約を考慮した上で、係り受け候補群の中から最適な係り受け候補を決定し、最もスコアが高くなる構文木を生成する。また、各文節を展開して、各ノードが単語からなる構文木を生成する。
【００２２】
例えば、
例１：「先日コンピュータを買いましたが、その処理速度に満足しています。」
といった日本語の文章が与えられているとするならば、図４に示す構文木を獲得することができる。本構文木においては、単語の右側の（  ）内に意味属性が付与されており、単語間の関係が線で結ばれている。その単語間の関係を示す記号がラベル付けされているとする。また、本例においては、単語に対応する一部の意味属性だけが記載されているとする。
【００２３】
一方、例２：「先日コンピュータを買いましたが、その処理速度に満足していません。」といった日本語の文章が与えられているとするならば、図５に示す構文木を獲得することができる。
【００２４】
次に、ステップＳａ３においては、テキスト解析部３がテキスト格納部１に格納されているすべてのテキストから抽出される単語に対して、対象としている構文木における出現位置に基づいて単語評価値を計算し、ステップＳａ１へと戻る。
【００２５】
例えば、各単語の単語評価値が式（１）および式（２）によって計算されるとする。
【数１】
2008176489.tif 000003
【００２６】
ここで、ｗｉをテキスト格納部１から抽出されるｉ番目の単語、Ｔｊをｊ番目のテキストを構成する単語とする。また、ｔｉｊを、ｊ番目のテキストにおいて単語ｗｉを含んでいる数とし、ｄｅｐｔ（ｉ，ｊ，ｋ）を、ｊ番目のテキストに対応する構文木において出現するｉ番目の単語に一致するｋ番目の単語の深さを求める関数とする。ただし、構文木のルートノードにおける深さを０とする。したがって、図４の構文木における、単語「満足」および単語「コンピュータ」の単語評価値は、当該構文木において、一度だけ出現しているので、１（＝１／（０＋１））、０．２５（＝１／（３＋１））と与えられる。
【００２７】
ステップＳａ４においては、特徴語抽出部４が構文木ごとに計算した各単語の単語評価値に基づいて、すべてのテキストを対象とした単語の総合評価値を計算し、当該総合評価値に基づいて単語の中から特徴語を選択する。
【００２８】
例えば、従来から提案されているｔｆ−ｉｄｆ（term frequency - inverse document frequency）値（式（３）の第２項）を、単語の構文木における出現位置を考慮した補正を行なった、式（３）によって、単語の総合評価値を計算する。
【数２】
2008176489.tif 000004
【００２９】
ここで、Ｄをテキストの総数とし、ｄｉをｉ番目の単語をもつテキストの数とし、ｎｊをｊ番目のテキストに含まれる単語の数とする。この総合評価値により、特定のテキストと関連して出現し、構文木の上位に出現する単語に高い総合評価値を与えることができる。
【００３０】
また、当該ステップでは、特徴語抽出部４が、単語に対して指定したしきい値以上となる単語を特徴語として抽出する。
【００３１】
ステップＳａ５においては、単語ベクトル生成部５が、テキスト格納部１に格納されているテキストに対応する構文木のうち、未処理のものを一つ取り出す。このとき、取り出す構文木が存在しない場合には、ステップＳａ１１へと進む。一方、取り出す構文木が存在する場合には、ステップＳａ６へと進む。
【００３２】
ステップＳａ６においては、単語ベクトル生成部５が、テキスト格納部１に格納されているテキストから抽出される単語の中から、未処理の単語を一つ取り出す。このとき、取り出す単語が存在しない場合には、ステップＳａ１０へと進む。一方、取り出す単語が存在する場合には、ステップＳａ７へと進む。
【００３３】
ステップＳａ７においては、単語ベクトル生成部５が、取り出した単語が対象としている構文木に含まれているかどうかを判定する。このとき、取り出した単語が含まれているとすれば、ステップＳａ８へと進む。一方、取り出した単語が含まれていないとすれば、ステップＳａ９へと進む。
【００３４】
ステップＳａ８においては、単語ベクトル生成部５が、当該単語が構文木において出現する位置を探索する。また、探索した単語に付随している意味属性および探索した単語の出現位置に基づいた構造属性により、特徴語に対応する属性ベクトルを生成して、処理をステップＳａ５へと戻す。
【００３５】
例えば、単語に付随する品詞（構文木における品詞属性の値）、単語の否定の有無（構文木における否定属性の値）を単語の意味属性とし、単語の構文木における深さおよび付随する下位の枝の数を単語の構造属性として抽出する。このとき、例１において、「満足」といった単語が与えられている場合には、図６に示す属性ベクトルを生成する。ただし、単語の否定の有無を示す意味属性が例１における「満足」には与えられていないので、本意味属性の値を「無し」と設定する。また、例２において、「満足」といった単語が与えられている場合には、図７に示す属性ベクトルを生成する。
【００３６】
ステップＳａ９においては、単語ベクトル生成部５が、当該単語がテキストに存在しないことを示す属性ベクトルを生成して、処理をステップＳａ５へと戻す。
【００３７】
例えば、離散的な属性に対しては「未抽出」を設定し、数値的な属性に対しては数値属性の値域外の値（深さおよび枝数の場合は−１）を設定する。このとき、例１において、「不満」といった単語が与えられている場合には、図８に示す属性ベクトルを生成する。
【００３８】
ステップＳａ１０においては、対象となっているテキストに対して、単語ベクトル生成部５が生成した各単語の属性ベクトルから、テキストベクトル生成部６が、テキストに対応する属性ベクトルを生成する。
【００３９】
例えば、単語の属性ベクトルを連結することにより、テキストの属性ベクトルを生成する。このとき、例１および例２に対しては、図９に示す属性ベクトル（テキストベクトル）を生成する。
【００４０】
ステップＳａ１１においては、テキストベクトル生成部６によって生成されたテキストベクトルと、当該テキストベクトルに対して、テキストクラス格納部２に格納されているテキストクラスを組とすることにより、すべてのテキストに対応する学習事例を生成する。
【００４１】
例えば、例１および例２に対応するテキストクラスが、それぞれ「不満無し」、「不満有り」であるとすれば、例１および例２に対して、図１０に示す学習事例を生成する。
【００４２】
また、当該学習事例を、例えば、非特許文献３に記載のＳＶＭ（Support Vector Machine）を利用することにより、テキストクラスを判別する判別モデルを学習し、学習した判別モデルを判別モデル格納部８に格納する。
【００４３】
以上のようにして、判別モデルが学習されたとすれば、新たなテキストが与えられた場合に、当該テキストを当該判別モデルに適用することにより、当該テキストに対応するテキストクラスを判別することができる。すなわち、図３のステップＳｂ１においては、テキスト解析部３がテキスト格納部１から新たに格納されたテキストのうち未処理のテキストを一つ読み込む。このとき、読み込むテキストが存在する場合には、ステップＳｂ２へと進む。一方、読み込むテキストが存在しない場合には、処理を終了する。
【００４４】
ステップＳｂ２においては、読み込んだテキストに対して、テキスト解析部３が、単語間の係り受け構造および単語の意味的属性を解析して、構文木を生成する。
【００４５】
ステップＳｂ３においては、単語ベクトル生成部５が、テキスト格納部１に格納されているテキストから抽出される単語の中から、未処理の単語を一つ取り出す。このとき、取り出す単語が存在しない場合には、ステップＳｂ７へと進む。一方、取り出す単語が存在する場合には、ステップＳｂ４へと進む。
【００４６】
ステップＳｂ４においては、単語ベクトル生成部５が取り出した単語が、対象としている構文木に含まれているかどうかを判定する。このとき、取り出した単語が含まれていないとすれば、ステップＳｂ５へと進む。一方、取り出した単語が含まれているとすれば、ステップＳｂ６へと進む。
【００４７】
ステップＳｂ５においては、単語ベクトル生成部５が、当該単語が構文木において出現する位置を探索する。また、探索した単語に付随している意味属性および探索した単語の出現位置に基づいた構造属性により、特徴語に対応する属性ベクトルを生成して、処理をステップＳｂ３へと戻す。
【００４８】
ステップＳｂ６においては、単語ベクトル生成部５が、当該単語がテキストに存在しないことを示す属性ベクトルを生成して、処理をステップＳｂ３へと戻す。
【００４９】
ステップＳｂ７においては、対象となっているテキストに対して単語ベクトル生成部５が生成した各単語の属性ベクトルから、テキストベクトル生成部６が、テキストに対応する属性ベクトルを生成する。
【００５０】
ステップＳｂ８においては、テキストクラス判定部９が、テキストベクトル生成部６によって生成された新たなテキストに対応する属性ベクトルを、判別モデル格納部８に格納されている判別モデルに適用することにより、当該テキストに対応するテキストクラスを判別する。
【００５１】
以上のステップＳｂ１〜ステップＳｂ７を、テキスト格納部１に新たに格納されたすべてのテキストに実施することにより、すべてのテキストのテキストクラスを判別することができる。
【００５２】
以上、本発明の実施の形態について説明した。この実施の形態は単なる例示であって、本発明は上記の実施の形態に限られるものではない。例えば、特徴語の抽出において、構造情報を反映した総合評価値の算出において、ｔｆ−ｉｄｆ値と単語評価値の積に基づいて総合評価値を計算する例を示したが、線形和に基づいて計算してもよいし、ｔｆ−ｉｄｆ値以外の評価値と単語評価値に基づいて計算してもよいし、構文木における深さ以外の情報に基づいた単語評価値を計算してもよい。
【００５３】
また、単語ベクトルの生成において、意味属性として品詞および否定の有無、構造属性として単語の深さおよび枝の数だけを利用する例を示したが、意味属性として疑問表現の有無等の他の意味属性、構造属性として、構文木において単語に付随する単語の数や、単語の上位の枝に付与されている属性の値等の他の構造属性を利用してもよいし、単語ごとに利用する意味属性および構造属性を変えて単語ベクトルを生成してもよい。
【００５４】
さらには、テキストベクトルの生成において、単語ベクトルを連結するだけでなく、各単語に総合評価値に基づいた重みが付与された属性ベクトルを生成し、属性の重みを考慮した判別モデルの学習を実施してもよい。
【００５５】
この他、本発明の趣旨を逸脱しない範囲において、種々変形してテキスト判別装置等を構成することができる。
【図面の簡単な説明】
【００５６】
【図１】本発明に係るテキスト判別装置の一実施の形態の構成を示すブロック図。
【図２】本発明に係るテキスト判別方法の一実施の形態における判別モデル学習の流れを示すフローチャート。
【図３】本発明に係るテキスト判別方法の一実施の形態において判別モデルを用いたテキスト判別手順の流れを示すフローチャート。
【図４】本発明に係るテキスト判別装置の一実施の形態において、テキスト解析部によって解析された、テキスト例１の構文解析結果の例を示す図。
【図５】本発明に係るテキスト判別装置の一実施の形態において、テキスト解析部によって解析された、テキスト例２の構文解析結果の例を示す図。
【図６】本発明に係るテキスト判別装置の一実施の形態において、単語ベクトル生成部によって生成された、テキスト例１における単語「満足」に対応する属性ベクトルの例を示す図。
【図７】本発明に係るテキスト判別装置の一実施の形態において、単語ベクトル生成部によって生成された、テキスト例２における単語「満足」に対応する属性ベクトルの例を示す図。
【図８】本発明に係るテキスト判別装置の一実施の形態において、単語ベクトル生成部によって生成された、テキスト例１における単語「不満」に対応する属性ベクトルの例を示す図。
【図９】本発明に係るテキスト判別装置の一実施の形態において、単語ベクトル生成部によって生成された、テキスト例１および例２のテキストに対応する、テキストの属性ベクトルの例を示す図。
【図１０】本発明に係るテキスト判別装置の一実施の形態において、判別学習部によって生成された、テキスト例１および例２のテキストに対応する、学習事例の例を示す図。
【符号の説明】
【００５７】
１…テキスト格納部
２…テキストクラス格納部
３…テキスト解析部
４…特徴語抽出部
５…単語ベクトル生成部
６…テキストベクトル生成部
７…判別モデル学習部
８…判別モデル格納部
９…テキストクラス判定部
【図１】
2008176489.tif 000005
【図２】
2008176489.tif 000006
【図３】
2008176489.tif 000007
【図４】
2008176489.tif 000008
【図５】
2008176489.tif 000009
【図６】
2008176489.tif 000010
【図７】
2008176489.tif 000011
【図８】
2008176489.tif 000012
【図９】
2008176489.tif 000013
【図１０】
2008176489.tif 000014