(57)【特許請求の範囲】
【請求項１】
入力文データを読み込んで形態素解析処理を行う形態素解析部と、
形態素解析処理済の前記入力文データに基づいて係り受け解析処理を行い、構文解析木データを出力する係り受け解析部と、
前記構文解析木データから意見性述語を検出し、検出した前記意見性述語の種類を表わす述語カテゴリーを含む意見性述語情報を前記構文解析木データに付加する述語検出部と、
前記形態素解析部によって形態素解析処理が行われた前記入力文データに基づいて、前記入力文データの機能表現を検出し、検出した前記機能表現の種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加する機能表現検出部と、
前記述語検出部によって前記意見性述語情報が付加され前記機能表現検出部によって前記機能表現情報が付加された構文解析木データを読み込み、読み込んだ前記構文解析木データに付加された前記意見性述語情報および前記機能表現情報の特徴を用いて当該構文解析木データが所定の文カテゴリーに該当するか否かを判断する判断部と、
を具備する意見分類装置であって、
前記判断部は、正解事例文について前記意見性述語情報及び前記機能表現情報が付加された前記構文解析木データと前記正解事例文に対応する前記文カテゴリーとによって予め機械学習したモデルを備えており、前記モデルを参照することによって前記構文解析木データが所定の前記文カテゴリーに該当するか否かを判断する、
ことを特徴とする意見分類装置。
【請求項２】
前記機能表現検出部は、前記入力文データの機能表現としてモダリティを検出し、検出した前記モダリティの種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加するモダリティ検出部である、
ことを特徴とする請求項１に記載の意見分類装置。
【請求項３】
前記判断部は、読み込んだ前記構文解析木データの部分木に関する情報を前記特徴データとして用いるものである、
ことを特徴とする請求項１又は２に記載の意見分類装置。
【請求項４】
入力文データを読み込んで形態素解析処理を行う形態素解析部と、
形態素解析処理済の前記入力文データに基づいて係り受け解析処理を行い、構文解析木データを出力する係り受け解析部と、
前記構文解析木データから意見性述語を検出し、検出した前記意見性述語の種類を表わす述語カテゴリーを含む意見性述語情報を前記構文解析木データに付加する述語検出部と、
前記形態素解析部によって形態素解析処理が行われた前記入力文データに基づいて、前記入力文データの機能表現を検出し、検出した前記機能表現の種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加する機能表現検出部と、
前記述語検出部によって前記意見性述語情報が付加され前記機能表現検出部によって前記機能表現情報が付加された構文解析木データを読み込み、読み込んだ前記構文解析木データに付加された前記意見性述語情報および前記機能表現情報の特徴を用いて当該構文解析木データが所定の文カテゴリーに該当するか否かを判断する判断部と、
を具備する意見分類装置としてコンピュータを機能させるプログラムであって、
前記判断部は、正解事例文について前記意見性述語情報及び前記機能表現情報が付加された前記構文解析木データと前記正解事例文に対応する前記文カテゴリーとによって予め機械学習したモデルを備えており、前記モデルを参照することによって前記構文解析木データが所定の前記文カテゴリーに該当するか否かを判断する、
プログラム。
【請求項５】
前記機能表現検出部は、前記入力文データの機能表現としてモダリティを検出し、検出した前記モダリティの種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加するモダリティ検出部である、
意見分類装置としてコンピュータを機能させる請求項４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語で書かれた入力文あるいは入力文書を所定のカテゴリーに分類する意見分類装置およびそのプログラムに関する。
【背景技術】
【０００２】
製品やサービスや放送等のコンテンツなどに対する利用者や視聴者からのフィードバック情報を効率良く分析するために、自然言語で書かれた文を、その意見の種別ごとに自動的に分類する技術が有効である。従来の技術では、入力文書を単語に分割し、それらの単語の出現頻度の分布を分析することにより、文書を分類していた。
この手法はbag-of-words法と呼ばれ、まずまずの性能が得られていた。
【０００３】
特許文献１に記載されている技術は、テキスト中の語の出現回数にも基づきながら、肯定的な評価を表わす正極性の表現と否定的な評価を表わす負極性の表現とを登録しておき、テキストから評価表現及び接続関係を示す接続表現を抽出し、抽出された評価表現の中から登録されている評価表現を検出し、検出された評価表現に対する極性を判断するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９６２３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
背景技術として記載したbag-of-words法は、分割された単語の表層のみを特徴として用いるものである。従って、第１に、単語の同義語を識別できず、たとえある表現で分類すべき特徴を学習しても、同義語を用いた別表現は理解できず、分類性能が上がらないという問題があった。また、第２に連語（複数の単語からなり一つの意味をなす語の塊）を識別できないため、連語を構成する個別の単語をそれぞれ処理してしまい、慣用句などのように塊として特有の意味を有する場合に、つまり、意味が構成的でない場合に誤分類を起してしまうという問題があった。第３に、語の修飾関係を識別できないため、否定表現が何を否定しているのかといったことや、複数の意見性述語の候補がある時にどちらが重要かといったことを判断できず、分類性能があがらないという問題があった。
つまり、表現の表層の統計的特徴のみではなく、意味に基づいて、文が所定の文カテゴリーに属するか否かを判定できるようにすることが求められる。
【０００６】
本発明は、上記の課題認識に基づいて行なわれたものであり、同義語にも対応して文を分類することのできる意見分類装置を提供するものである。また、慣用句などのように塊としての意味にも対応して文を分類することのできる意見分類装置を提供するものである。また、複数の述語が含まれていたり、文が修飾関係を持ったりする場合にも対応して文を正しく分類することのできる意見分類装置を提供するものである。また、本発明は、これらのプログラムを提供するものである。
【課題を解決するための手段】
【０００７】
［１］上記の課題を解決するため、本発明の一態様による意見分類装置は、入力文データを読み込んで形態素解析処理を行う形態素解析部と、形態素解析処理済の前記入力文データに基づいて係り受け解析処理を行い、構文解析木データを出力する係り受け解析部と、前記構文解析木データから意見性述語を検出し、検出した前記意見性述語の種類を表わす述語カテゴリーを含む意見性述語情報を前記構文解析木データに付加する述語検出部と、前記形態素解析部によって形態素解析処理が行われた前記入力文データに基づいて、前記入力文データの機能表現を検出し、検出した前記機能表現の種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加する機能表現検出部と、前記述語検出部によって前記意見性述語情報が付加され前記機能表現検出部によって前記機能表現情報が付加された構文解析木データを読み込み、読み込んだ前記構文解析木データの特徴を用いて当該構文解析木データが所定の文カテゴリーに該当するか否かを判断する判断部とを具備する。
【０００８】
ここで、機能表現とは、自然言語が有するモダリティやその他の機能表現を含むものである。モダリティは、機能表現の一種である。
上記の構成によれば、係り受け解析部が文の構造を表わす構文解析木のデータを出力する。そして、述語検出部は、述語を検出するとともに、述語カテゴリーに関する情報を構文解析木のデータに付加する。よって、構文解析木のデータは、述語の表層だけでなく、述語の種類を表わす述語カテゴリーの情報を保持し、また文の構造におけるその述語の位置の情報を保持する。そして、機能表現検出部は、機能表現を検出するとともに、機能表現タイプに関する情報を構文解析木のデータに付加する。よって、構文解析木のデータは、機能表現の種類を表わす機能表現タイプの情報を保持し、また文の構造におけるその機能表現の位置の情報を保持する。これらの豊富な情報を含む構文解析木のデータを、判断部が読み込み、特徴として利用する。そして、判断部が、そのような特徴に基づいて、文が所定の文カテゴリーに該当するか否かを判断する。つまり、判断部が、そのように文を文カテゴリーに分類する。
【０００９】
このように、述語カテゴリーや機能表現タイプを特徴として利用することにより、表現の表層だけでなく、述語の種類や機能表現の種類に基づく分類を行える。例えば単語の同義語などが含まれる文も、より適切に分類を行うことができるようになる。
また、構文解析木は、連語などの語の塊の情報を保持しているため、語の塊を識別し、語の塊が文の構造においてどの位置にあるか、どのような役割を果たすか、などといったことも特徴として利用しながら、文の分類を行える。
また、構文解析木は語の修飾関係の情報をも保持しているため、単に意見性述語等の出現頻度だけでなく、修飾関係の中において意見性述語等が果たす役割をも考慮した文の分類を行えるようになる。
【００１０】
［２］また、本発明の一態様による意見分類装置は、上記の構成において、前記機能表現検出部は、前記入力文データの機能表現としてモダリティを検出し、検出した前記モダリティの種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加するモダリティ検出部である、ことを特徴とする。
【００１１】
［３］また、本発明の一態様による意見分類装置は、上記の構成において、前記判断部は、読み込んだ前記構文解析木データの部分木に関する情報を前記特徴データとして用いるものであり、正解事例文について前記意見性述語情報及び前記機能表現情報が付加された前記構文解析木データと前記正解事例文に対応する前記文カテゴリーとによって予め機械学習したモデルを備えており、前記モデルを参照することによって前記構文解析木データが所定の前記文カテゴリーに該当するか否かを判断することを特徴とする。
【００１２】
上記の構成を用いる場合、正解事例文と、それに対応する文カテゴリーとを予め与えるようにする。そして、判断部は、正解事例文を用いた機械学習を予め行い、モデルを構築しておく。そして、判断部は、そのように構築されたモデルを用いて、文の分類を行う。
このような構成とすることにより、構文解析木の特徴空間と文カテゴリーとの関係を装置設計者や利用者が、分析的に把握する必要なく、事例を与えるだけで精度の高い分類が行える。
なお、機械学習の手法としては、例えば、ツリー・カーネルＳＶＭを用いる。
【００１３】
［４］また、本発明の一態様によるプログラムは、入力文データを読み込んで形態素解析処理を行う形態素解析部と、形態素解析処理済の前記入力文データに基づいて係り受け解析処理を行い、構文解析木データを出力する係り受け解析部と、前記構文解析木データから意見性述語を検出し、検出した前記意見性述語の種類を表わす述語カテゴリーを含む意見性述語情報を前記構文解析木データに付加する述語検出部と、前記形態素解析部によって形態素解析処理が行われた前記入力文データに基づいて、前記入力文データの機能表現を検出し、検出した前記機能表現の種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加する機能表現検出部と、前記述語検出部によって前記意見性述語情報が付加され前記機能表現検出部によって前記機能表現情報が付加された構文解析木データを読み込み、読み込んだ前記構文解析木データの特徴を用いて当該構文解析木データが所定の文カテゴリーに該当するか否かを判断する判断部とを具備する意見分類装置としてコンピュータを機能させるものである。
【００１４】
［５］また、本発明の一態様によるプログラムは、前記機能表現検出部は、前記入力文データの機能表現としてモダリティを検出し、検出した前記モダリティの種類を表わす機能表現タイプを含む機能表現情報を前記構文解析木データに付加するモダリティ検出部である意見分類装置としてコンピュータを機能させる。
【発明の効果】
【００１５】
本発明によれば、表現の表層のみならず、文の構造や、その構造において述語やモダリティが果たす役割にも基づいて、文を精度良く効率的に分類することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による意見分類装置の機能構成を示したブロック図である。
【図２】同実施形態による係り受け解析部が出力する係り受け構文解析木のデータ構成例を示す概略図である。
【図３】図２の構文解析木データに対応する構文解析木を示した概略図である。
【図４】同実施形態による述語辞書データの構成及びデータ例を示す概略図である。
【図５】同実施形態による意味カテゴリー辞書データの構成及びデータ例を示す概略図である。
【図６】同実施形態により、述語検出部が意見性述語情報を付加し、モダリティ検出部がモダリティ情報を付加した、構文解析木データの構成例を示す概略図である。
【図７】図６の構文解析木データに対応する構文解析木を示した概略図である。
【図８】同実施形態の変形例により、依存構造文法解析を行った場合の構文解析木を示す概略図である。
【図９】同実施形態による意見分類装置１の実証実験結果による、文分類の正解率を示すテーブルである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本発明の一実施形態について説明する。
図１は、同実施形態による意見分類装置の機能構成を示すブロック図である。図示するように、意見分類装置１は、形態素解析部１１と、係り受け解析部１２と、述語検出部１４と、モダリティ検出部１５（機能表現検出部）と、統合判断部１７（判断部）とを含んで構成される。
【００１８】
形態素解析部１１は、解析対象となる入力文データを読み込み、その形態素解析（morpheme analysis）処理を行い、その結果、形態素列を出力する。ここで、入力文データは、日本語等の自然言語で書かれた文章や文を含むテキストデータである。なお、形態素解析の処理自体は、広く知られた様々な手法を用いて行うことができる。例えば、文字のシーケンスを入力として、形態素の辞書データを参照しながら、可能性のある形態素候補のグラフであるラティス構造を生成し、品詞情報やｎグラムの出現頻度などに基づいて最適な経路を探索することによって、形態素解析の処理を行える。
係り受け解析部１２は、上記の形態素解析の結果を読み込み、係り受け解析（dependency analysis）の処理を行い、その結果、係り受け構造解析木のデータを出力する。なお、係り受け解析の処理自体は、広く知られた様々な手法を用いて行うことができる。
【００１９】
述語検出部（predicate detector）１４は、上記の係り受け構造解析木のデータを元に、辞書データに予め登録されている意見性述語（opinion-holding predicate）の一覧データを参照しながら、さらに日本語の活用や連語の処理を考慮した処理を行うことによって、意見性述語の検出を行う。なお、意見性述語とは意見性を有する述語である。そして、述語検出部１４は、検出した意見性述語に関する情報を、構造解析木の該当するノードに付加する。ここで構造解析木に付加される意見性述語情報は、検出された意見性述語の種類を表わす述語カテゴリーを含むものである。
【００２０】
モダリティ検出部（modality detector）１５は、上記の係り受け構造解析木のデータを元に、日本語のモダリティの検出を行い、「否定」や「願望」や「疑問」などの意味付けを行う。そして、モダリティ検出部１５は、検出したモダリティやその他の機能表現（以下の説明において、モダリティやその他の機能表現を、単に「モダリティ」と呼ぶ場合もある）に関する情報を、構造解析木の該当するノードに付加する。ここで構造解析木に付加されるモダリティ情報（上と同様に、以下の説明において、モダリティおよびその他の機能表現に関する情報を単に「モダリティ情報」と呼ぶ場合もある）は、検出されたモダリティの種類を表わすモダリティタイプ（上と同様に、以下の説明において、モダリティのタイプやその他の機能表現のタイプを単に「モダリティタイプ」と呼ぶ場合もある）の情報を含むものである。なお、後述するように、モダリティ検出部１５は、係り受け構造の情報を用いる必要がなく、構造解析木のデータに含まれている形態素列の情報を入力として用いれば充分である。つまり、モダリティ検出部１５が、構造解析木のデータを読み込む代わりに、形態素解析の結果を直接用いるようにしても良い。これらのいずれの場合も、モダリティ検出部１５が形態素解析部１１によって形態素解析処理が行われた結果の入力文データに基づいた処理を行うことには変わりはない。
【００２１】
統合判断部１７は、述語検出部１４及びモダリティ検出部１５によって、それぞれ、意見性述語に関する情報（述語カテゴリーを含む）及びモダリティに関する情報（モダリティタイプを含む）が付加された構造解析木のデータを読み込み、これを特徴として（特徴空間として）用いて分類処理を行い、その結果として文の分類カテゴリー（文カテゴリー）のデータ（分類結果データ）を出力する。なお、統合判断部１７は、ツリー・カーネルＳＶＭ（サポートベクターマシン，Support Vector Machine）の技術を用いた処理を行う。ツリー・カーネルＳＶＭは機械学習の手法であり、統合判断部１７には多数の正解事例データを与えて予めモデルの学習処理を行っておく。
【００２２】
次に、上記各部のうちの主要な処理の詳細と、それらの処理に用いるデータについて説明する。
【００２３】
図２は、係り受け解析部１２によって出力される係り受け構造解析木のデータの構成例を示す概略図である。図示するように、このデータはテキスト形式のデータであり、Ｓ式（S-expression）を用いて表わされている。図示するデータ例は、「The theme is good, but the content is boring.」という入力文データに対応して係り受け構造解析部１２が出力するものであり、このＳ式全体が入力文に対する構造解析木を表わしている。なお、上記の入力文に対応する日本語の文は、「テーマは良いが内容がつまらん」である。
このデータにおいて、例えば、「（ｗｏｒｄ  ｂｕｔ）」という表現は、構造解析木における「ｂｕｔ」という語のノードに対応する。また、「（ｃｈｕｎｋ  （ｗｏｒｄ  Ｔｈｅ）  （ｗｏｒｄ  ｔｈｅｍｅ））」という表現は、「Ｔｈｅ  ｔｈｅｍｅ」という複数の語からなる塊（チャンク, chunk）のノードに対応する。また、（要素１  要素２  要素３）という表現は、要素１のノードの子ノードが、左側から順に、要素２のノード、要素３のノードであるという構造を表わしている。そして、このような親ノードと子ノードとの関係を多重にネストすることにより、構文解析木の木構造を表わしている。
なお、上記のＳ式のデータにおける改行位置は、任意に変更可能である。また、本実施形態ではＳ式の形式で構文解析木を表現しているが、他のデータ構造によって構文解析木を表現するようにしても良い。
【００２４】
図３は、前図に示したデータに対応する構文解析木を視覚的に示した概略図である。なお、この図では、英語の文に対応する日本語表現を同時に示している。図示するように、本例では、「が／ｂｕｔ」が根ノードであり、この根ノードに直結する子ノードは、左側から、「は／ｉｓ」と「が／ｉｓ」の２つである。また、上記子ノード「は／ｉｓ」のさらに子のノードは、左側から、「テーマ／Ｔｈｅ  ｔｈｅｍｅ」と「良い／ｇｏｏｄ」の２つである。また、上記子ノード「が／ｉｓ」のさらに子のノードは、左側から、「内容／ｔｈｅ  ｃｏｎｔｅｎｔ」「つまらん／ｂｏｒｉｎｇ」の２つである。
なお、図２および図３に示した構文解析木は、係り受け解析部１２による句構造文法解析の結果として得られたものである。
【００２５】
述語検出部１４は、構文解析木に対応するＳ式のデータを読み込み、そのデータを解析することにより入力文中の意見性述語を検出する。このとき、述語検出部１４は、述語辞書データを参照することによって、意見性述語の検出を行う。
図４は、述語辞書データの構成およびデータ例を示す概略図である。図示するように、述語辞書データは、表形式のデータとして構成され、意見性述語と述語カテゴリーの２つのデータ項目を有している。意見性述語のデータ項目は、意見性を有する形容詞、形容詞句、動詞、動詞句などの語の文字列を格納する。述語カテゴリーのデータ項目は、述語に対応するカテゴリーを識別する情報を格納する。同図に示す例では、「良い／ｇｏｏｄ」という形容詞のエントリーが「カテゴリー２」に対応付けられ、「つまらない／ｂｏｒｉｎｇ」という形容詞のエントリーが「カテゴリー１」に対応付けられている。
述語辞書データの内容そのものは、予め準備しておく。述語辞書データのエントリー数は一例としては５００エントリー前後で良いが、より豊富なエントリーを準備するようにしても良い。
なお、述語検出部１４は、検出できた意見性述語に関する情報を、構文解析木のデータに付加する。言い換えれば、述語検出部１４は、意見性述語に関する情報を、構文解析木のノードに張り付ける処理を行う。その結果のデータについては、後述する。
【００２６】
モダリティ検出部１５は、構文解析木に対応するＳ式のデータを読み込み、そのデータを解析することにより入力文中のモダリティを検出する。但し、モダリティ検出部１５は、モダリティの検出の処理自体には構文解析木の構造を利用しない。モダリティ検出部１５は、読み込んだＳ式を基に入力文の語のシーケンスを得て、このシーケンスを利用してモダリティの検出を行う。
【００２７】
図５は、意味カテゴリー辞書データの構成およびデータ例を示す概略図である。図示するように、意味カテゴリー辞書データは、表形式のデータとして構成され、タイプと意味カテゴリーの２つのデータ項目を有している。同図に示すデータ例では、要望、推薦、意思、願望、・・・などの意味カテゴリーがタイプ「モダリティ」に属する。また、モダリティに類似した他の種類の表現もあり、これらを総称して機能表現と呼ぶ。図５に示すように、モダリティは、機能表現に含まれるタイプの一つである。モダリティ以外の機能表現としては、接続法表現、態関連、時制関連、様相関連、格関連、その他のタイプが存在し、これらのタイプとそれらに含まれる意味カテゴリーとの関係もまた、意味カテゴリー辞書データに格納されている。
この意味カテゴリー辞書データを参照することにより、モダリティ検出部１５は、モダリティや、その他の機能表現を、いずれも同様の方法で行うことができる。よって、以下においては、モダリティの検出とその他の機能表現の検出とを特に区別せずに説明する。
なお、図５に示した「タイプ」と「意味カテゴリー」のいずれか、或いはそれら２つを組み合わせたものが、機能表現の種類を表わすモダリティタイプ（機能表現タイプ）である。
【００２８】
日本語におけるモダリティやその他の機能表現は、文中における動詞に後続する助動詞等のシーケンスとして表現される。なお、場合により、動詞に後続するシーケンスであって、動詞や名詞をも含むシーケンスがモダリティを表現する。そのようなシーケンスによって、図５に示したモダリティや様相や時制や態などが表わされる。
【００２９】
文のモダリティやその他の機能表現を正しく検出するためには、日本語が持つ意味の曖昧さと範囲の曖昧さという２種類の曖昧さを解決する必要がある。意味の曖昧さとは、ある表現が、複数の異なるモダリティを表わし得ることである。範囲の曖昧さとは、膠着語としての日本語が有する問題であり、動詞に続く表現の範囲（どこまでがその動詞に後続するシーケンスであるかを同定して区切る方法）が複数通りあり得ることである。
【００３０】
この課題を解決してモダリティやその他の機能表現を正しく検出するために、モダリティ検出部１５は、まず、係り受け解析部１２の出力から得られている入力文の語のシーケンスに基づき、上記２種類の曖昧さによって生じるすべての可能性を探索し、その結果に基づいて語のラティス構造を生成する。この処理は、予め準備した機能表現辞書データを参照し、入力文に含まれる語のシーケンスのうち、機能表現辞書データのエントリーにマッチするシーケンスが入力文中における機能表現の候補であると見なし、これらの候補に対応する辺を張っていくことにより行う。ここで、機能表現辞書データは、機能表現であり得る語のシーケンスを１エントリーとして、多数のエントリーを有しているデータである。
そして、モダリティ検出部１５は、生成されたラティス構造が含む多数の経路（文の始端から終端までをつなぐ経路）のうち、確率的に最適な経路（最尤経路）を選択し、選択された最適経路上に含まれている辺を、入力文中の機能表現として抽出する。
なお、ここで、ラティス構造から最適経路を選択するための確率モデルとして、マルコフモデルを用いる。そして、素性として、表層文字列、品詞、機能表現の意味属性を用いる。また、２−ｇｒａｍ（バイグラム）を扱う１次のマルコフモデルとし、低頻度の接続確率にはＫａｔｚのバックオフスムージングを用いる。なお、人手等によって正解を付与した正解データを用いて、予めマルコフモデルの学習を行っておく。
【００３１】
そして、モダリティ検出部１５は、前述の意味カテゴリー辞書データを参照することにより、上で検出された機能表現のうち、意味カテゴリー辞書データに規定された意味カテゴリーに該当するもののみを選択する。つまり、意味カテゴリー辞書データに格納する意味カテゴリーを予め適宜調整しておくことにより、モダリティ検出部１５がアプリケーションに合わせて必要な機能表現のみを選択するようにできる。例えば、モダリティ検出部１５が全ての機能表現を選択するようにしても良いし、モダリティのみを選択するようにしても良いし、また、全ての機能表現のうちの任意の部分集合に相当する表現のみを選択するようにしても良い。なお、図５に例示した意味カテゴリー辞書データを用いる場合には、モダリティ検出部１５が、すべてのモダリティと、その他の機能表現のうちの一部の機能表現とを選択するようにしている。
なお、モダリティ検出部１５は、検出できたモダリティに関する情報を、構文解析木のデータに付加する。言い換えれば、モダリティ検出部１５は、モダリティのタイプおよび意味カテゴリーに関する情報を、構文解析木のノードに張り付ける処理を行う。その結果のデータについては、次に述べる。
【００３２】
図６は、図２に示した構文解析木データに対して、述語検出部１４及びモダリティ検出部１５が、それぞれ、意見性述語に関する情報及びモダリティに関する情報を付加した結果のデータを示す概略図である。
図示するように、元の構文解析木データの「（ｗｏｒｄ  ｇｏｏｄ）」の部分に、述語検出部１４によって、意見性述語に関する「（ｐｒｅｄ−ｃａｔｅｇｏｒｙ  １）（ｐｒｅｄ−ｓｕｒｆａｃｅ  ｇｏｏｄ）」という情報が付加されて、「（ｃｈｕｎｋ  （ｗｏｒｄ  ｇｏｏｄ）（ｐｒｅｄ−ｃａｔｅｇｏｒｙ  １）（ｐｒｅｄ−ｓｕｒｆａｃｅ  ｇｏｏｄ））」となっている。同様に、元の構文解析木データの「（ｗｏｒｄ  ｂｏｒｉｎｇ）」の部分に、述語検出部１４によって、意見性述語に関する「（ｐｒｅｄ−ｃａｔｅｇｏｒｙ  ２）（ｐｒｅｄ−ｓｕｒｆａｃｅ  ｂｏｒｉｎｇ）」という情報が付加されて、「（ｃｈｕｎｋ  （ｗｏｒｄ  ｇｏｏｄ）（ｐｒｅｄ−ｃａｔｅｇｏｒｙ  ２）（ｐｒｅｄ−ｓｕｒｆａｃｅ  ｂｏｒｉｎｇ））」となっている。
また、同様に、元の構文解析木データの「（ｗｏｒｄ  ｂｕｔ）」の部分に、モダリティ検出部１５によって、モダリティに関する「（ｍｏｄａｌｉｔｙ−ｔｙｐｅ  ｂｕｔ＋ｄｅｔｅｒｍｉｎａｔｅ）」」という情報が付加されて、「（ｃｈｕｎｋ  （ｗｏｒｄ  ｂｕｔ）（ｍｏｄａｌｉｔｙ−ｔｙｐｅ  ｂｕｔ＋ｄｅｔｅｒｍｉｎａｔｅ））」となっている。
【００３３】
図７は、前図に示したデータに対応する構文解析木を視覚的に示した概略図である。図示するように、根ノードの「が／ｂｕｔ」には、「ｍｅａｎｉｎｇ  “ｂｕｔ”＋ｄｅｔｅｒｍｉｎａｔｅ」というモダリティ情報が示されている。これは、前図の「（ｍｏｄａｌｉｔｙ−ｔｙｐｅ  ｂｕｔ＋ｄｅｔｅｒｍｉｎａｔｅ）」に対応している。また、ノード「良い／ｇｏｏｄ」と「つまらん／ｂｏｒｉｎｇ」の各々には「ｏｐｉｎｉｏｎ−ｈｏｌｄｉｎｇ  ｐｒｅｄｉｃａｔｅ」という意見性述語情報が示されている。これらは、それぞれ、前図の「（ｐｒｅｄ−ｃａｔｅｇｏｒｙ  １）（ｐｒｅｄ−ｓｕｒｆａｃｅ  ｇｏｏｄ）」と「（ｐｒｅｄ−ｃａｔｅｇｏｒｙ  ２）（ｐｒｅｄ−ｓｕｒｆａｃｅ  ｂｏｒｉｎｇ）」に対応している。
【００３４】
上記のデータが示すように、この例による入力文は、「よい／ｇｏｏｄ」と「つまらん／ｂｏｒｉｎｇ」という２つの意見を含んでおり、それらは互いに相反するものである。また、これらの意見を表わす語である「よい／ｇｏｏｄ」と「つまらん／ｂｏｒｉｎｇ」は、それぞれ１回だけ文中に出現する。よって、単純な「bag-of-words」による手法では、この文を適切に分類することができない。
一方で、本実施形態の意見分類装置１は、述語検出部１４とモダリティ検出部１５とによって検出された意見性述語と意見性モダリティと機能表現とを利用し、構文木の構造におけるそれらの位置の情報にも基づいた統合的判断を行う。
そのために、意見性述語の情報とモダリティ情報とが張り付けられた構文解析木を表わすＳ式のデータが、統合判断部１７への入力となる。
【００３５】
次に、統合判断部１７の処理について詳しく説明する。
統合判断部１７は、意見性述語の情報とモダリティ情報とが付加された構文解析木（以下において、この構文解析木のデータを、便宜上、特徴データと呼ぶ。）を特徴空間として、入力文データを所定の文カテゴリーに分類する。例えば、入力文データが放送番組に対する意見である場合、統合判断部１７は、（１）肯定的意見（強い意見）、（２）否定的意見（強い意見）、（３）番組を視聴して思ったこと（弱い意見）、（４）番組を視聴して知ったこと（弱い意見）、（５）番組に対する要望、（６）番組に対する質問、（７）その他の意見（上のいずれにも該当しない意見）、（８）意見ではない入力文、の８つの文カテゴリーのいずれかに入力文を分類する。なお、ここでは、文カテゴリーをこれらの８つに設定しているが、これに限らず一般に、任意のカテゴリーの集合を設定することができる。
【００３６】
統合判断部１７は、前述の通り、ツリー・カーネルＳＶＭの技術を用いて予め機械学習を行っておき、学習済みの状態で、入力文に対応する特徴データの分類を行う。
ここで、入力文に対応する特徴データを分類するという処理は、特徴データが前述のカテゴリーの集合に属する個々の要素に該当するか否かを判断する処理に還元される。
ここで採用する処理方法は、カーネル法の一種である。カーネル法とは一般に、特徴データ（特徴空間）をユークリッド空間に写像して、ＳＶＭを適用することによってそのユークリッド空間を超平面で区切る方法である。本実施形態では、入力文に対応する個々の特徴データがそれぞれのカテゴリーに該当するか否かを判断するための基準となるのが、この超平面である。ここでは、ユークリッド空間における特徴ベクトル間の内積に相当するものとして、特徴データ間の類似度を次のように計算する。即ち、統合判断部１７は、第１の構文解析木Ｔ１と第２の構文解析木Ｔ２との間の類似度Ｓ（Ｔ１，Ｔ２）を、下の式（１）および式（２）によって計算する。
【００３７】
【数１】
0005426292.tif 000002
【００３８】
【数２】
0005426292.tif 000003
【００３９】
ここで、ＰＴ１およびＰＴ２は、それぞれ、構文解析木Ｔ１およびＴ２の全ての部分木の集合である。また、ｍ（ｔｉ，ｔｊ）は、木ｔｉと木ｔｊとが一致するか否かに応じた値を返す関数である。ここで、木ｔｉと木ｔｊとが一致するとは、両者が完全に一致することであるが、木ｔｉと木ｔｊとが一致することの定義を適宜与えても良い。
つまり、類似度Ｓ（Ｔ１，Ｔ２）は、構文解析木Ｔ１の部分木とＴ２の部分木との間で一致するものがいくつ存在するかによって定まる。
具体的な処理としては、統合判断部１７は、類似度Ｓ（Ｔ１，Ｔ２）を計算するために、構文解析木Ｔ１およびＴ２の部分木をすべて洗い出し、総当り的に両部分木集合の間での要素の一致または不一致を判断する処理を行なう。
【００４０】
つまり、統合判断部１７は、読み込んだ前記構文解析木データの部分木の集合を表わすデータを前記特徴データとして用いる。そして、統合判断部１７は、与えられる正解事例文について意見性述語情報及びモダリティ情報が付加された構文解析木データと、この正解事例文に対応する文カテゴリー（正解の分類）とによって予め機械学習したモデルを備えている。つまり、統合判断部１７は、学習の段階においては、事例文を解析した結果の解析木データとその事例文が属するカテゴリーの正解から成るペアのデータを大量に与えられる。このとき、形態素解析部１１や係り受け解析部１２や述語検出部１４やモダリティ検出部１５が事例文を適宜解析することによって、解析木データを得るようにしても良い。そして、統合判断部１７はこれら正解データを用いてＳＶＭによる機械学習を行って内部のモデルを構築する。ここでモデルとは、物理的には、学習処理の結果得られ、メモリに記憶されたパラメータ値の集合である。
予め機械学習が完了している状態では、統合判断部１７は、このモデルを参照することによって、入力文が各々のカテゴリーに属するか否かを判断する。
【００４１】
以上の処理をまとめると、次の通りである。述語検出部１４は、意見性述語を検出し、その述語に対応する述語カテゴリーを出力する。よって、述語の表層文字列だけでなく、述語カテゴリーを特徴として利用した判断を行える。モダリティ検出部１５は、モダリティを検出し、その意味カテゴリーを出力する。よって、意味カテゴリーを特徴として利用した判断を行える。
そして、上記のような統合判断部１７を備える意見分類装置１は、入力文の構文解析木が表わす情報、つまり、文が含む表現（語や、語のシーケンス）の表層や、文の係り受けの構造や、文に含まれる意見性述語の種類（述語カテゴリー）や、文に含まれるモダリティの種類（モダリティタイプ）や、文の係り受け構造におけるそれら意見性述語およびモダリティの位置等を特徴として利用しながらも、それらの特徴と文の分類（文が属するカテゴリー）との関係を分析的に求めることなく、事例を用いた学習によって、入力文が属するカテゴリーを同定するための判断を行うことができる。
【００４２】
このようにして、文中の述語に、「否定」や「願望」や「疑問」などの意味を検出することができる。例えば、多数の文の中から、放送番組に対する要望だけの一覧情報を抽出するときなどに、「〜してほしい」という表現だけをキーワード検索するだけでは不十分であるが、「願望」という意味を含む述語を検索すると、要望の一覧をより多く適切に検索できる。このようにして、従来技術よりも高い検索性能、分類性能が得られる。
【００４３】
本実施形態による意見分類装置１は、電子回路を用いて実現可能である。また、装置の一部又は全部の機能をコンピュータで実現するようにしても良い。
コンピュータを用いて装置を構成する場合、必要な機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００４４】
以上、実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
【００４５】
＜変形例１＞  変形例１は、上記の実施形態において、図１に示した機能ブロックのうち、述語検出部１４を除いた構成とする。この場合、意見性述語に関する情報は、構文解析木のノードに付加されない。しかしながら、統合判断部１７は、モダリティ検出部１５によってモダリティ情報を付加した構文解析木のデータを用いて、機械学習処理を行い、学習結果を用いて入力文データを分類する処理を行う。
【００４６】
＜変形例２＞  上記の実施形態では、係り受け解析部１２が句構造文法解析を行い、その結果得られる構文解析木を利用した。図２、図３、図６、図７に示した構文解析木が句構造文法解析に基づくものである。変形例２においては、係り受け解析部１２は、その代わりに、依存構造文法解析を行うことによって構文解析木データを出力する。図８は、依存構造文法解析の結果得られる構文解析木を示す概略図である。図示するように、この構文解析木は、「テーマは／Ｔｈｅ  ｔｈｅｍｅ」、「良いが／ｉｓ  ｇｏｏｄ，ｂｕｔ」、「内容が／ｔｈｅ  ｃｏｎｔｅｎｔ」、「つまらん／ｉｓ  ｂｏｒｉｎｇ」という４つのノードで構成されている。そして、この構文解析木は、「つまらん／ｉｓ  ｂｏｒｉｎｇ」を根ノードとして、それにつながる「良いが／ｉｓ  ｇｏｏｄ，ｂｕｔ」および「内容が／ｔｈｅ  ｃｏｎｔｅｎｔ」の２つの子ノードを有し、さらに「良いが／ｉｓ  ｇｏｏｄ，ｂｕｔ」の子ノードとして「テーマは／Ｔｈｅ  ｔｈｅｍｅ」を有している。なお、「良いが／ｉｓ  ｇｏｏｄ，ｂｕｔ」、「つまらん／ｉｓ  ｂｏｒｉｎｇ」のそれぞれのノードには、意見性述語情報（opinion-holding predicate）が付加されている。また、「良いが／ｉｓ  ｇｏｏｄ，ｂｕｔ」のノードには、機能表現タイプ情報（meaning “BUT” + determinate）も付加されている。
日本語の係り受け解析では依存構造文法解析を行うことも一般的である。このような依存構造文法解析の結果得られる木構造も、Ｓ式やその他のデータ構造を用いて表現することができる。
また、その他の解析手法により、さらに異なる構造の構文解析木を用いるようにしても良い。
これらのいずれの構造を用いる場合も、それぞれの構文解析木は、文の構文を表わす情報を含んでいるとともに、述語カテゴリーや機能表現タイプの情報、そしてそれらの述語や機能表現の構文中における位置の情報を含んでいる。よって、この変形例２においても同様に、統合判断部１７が文を適切に分類することができる。
【００４７】
＜変形例３＞  上記の実施形態では、モダリティ検出部１５が、モダリティだけはなく、その他の機能表現をも検出するようにした。この変形例３では、モダリティ検出部１５は、モダリティのみを検出する。そのため、モダリティ検出部１５が用いる意味カテゴリー辞書データには、モダリティに関するエントリーのみが格納されており、その他の機能表現に関するエントリーは格納されていない。
【００４８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、上記の実施形態では、構文解析木を表わすためにＳ式を用いたが、他の形式のデータを用いて構文解析木を表わすようにしてもよい。例えば、ノードに対応するメモリブロック間をポインタ（ポイント先のアドレスを表わすデータ）でつなぐことによって構文解析木を表わすようにしても良い。また、例えば、リレーショナルデータベースを用いて、各ノードの属性と、ノード間の関係とを保持することによって、構文解析木を表わすようにしても良い。
【００４９】
＜実証実験とその結果＞  本発明の有効性を検証することを目的として、コンピュータを用いて上記の実施形態による意見分類装置を実際に構成し、入力文を分類する実験を行なった。
図９（ａ）〜（ｃ）は、この実験の結果による文分類の正解率を示すテーブルである。
図９（ａ）は、bag-of-words手法を用いた場合をベースラインとして、本発明の手法と比較した結果を示す。ここに示すように、語の表層と述語表層と述語カテゴリーを特徴として使用した場合、また述語表層と述語カテゴリーとモダリティ種類を使用した場合のいずれにおいても、本発明の手法の正解率が上回っている。
図９（ｂ）は、語の表層のみを特徴として利用した場合をベースラインとして、本発明の手法と比較した結果を示す。ここに示すように、本発明の手法の正解率が上回っている。図９（ｃ）も、語の表層のみを特徴として利用した場合をベースラインとして、本発明の手法と比較した結果を示す。ここに示すように、本発明の手法の正解率が上回っている。
このように、本発明の手法の有効性が実証された。
【産業上の利用可能性】
【００５０】
本発明は、自然言語で書かれた大量の文を効率良く且つ正確にカテゴリーに分類する目的で利用可能である。特に、製品を販売したりサービスを提供したりする事業者が、その利用者からフィードバックされる大量の意見文を効率良く且つ正確にカテゴリーに分類する目的で利用可能である。なお、例えば、放送事業において利用可能である。
【符号の説明】
【００５１】
１  意見分類装置
１１  形態素解析部
１２  係り受け解析部
１４  述語検出部
１５  モダリティ検出部（機能表現検出部）
１７  統合判断部（判断部）
【図１】
0005426292.tif 000004
【図２】
0005426292.tif 000005
【図３】
0005426292.tif 000006
【図４】
0005426292.tif 000007
【図５】
0005426292.tif 000008
【図６】
0005426292.tif 000009
【図７】
0005426292.tif 000010
【図８】
0005426292.tif 000011
【図９】
0005426292.tif 000012