(57)【要約】  文の極性判定では、文が肯定な表現か否定な表現か、を判別し、評判分析などに応用されている。極性判定は、入力文が肯定か、否定か、を判定するが、何らかの対象を話題にしている場合、文そのものの極性ではなく、文の言及先に対して肯定か否定か、を判定したいことがある。本発明では、文の係り受け構造による再帰的な極性ルールの適用により、文の言及先を考慮した上で、文の極性を判定する方法を提供する。また、再帰的ルールとなっているため、ルールの数が莫大となるのを抑制し、メモリ量、計算量の観点で効率的な極性判定を行うことができる。また、極性判定に必要な係り受けの長さを効率的に制御することができる。
2016056043.tif 000002
【特許請求の範囲】
【請求項１】
入力された検索対象語句を含む文章を検索する検索部と、
検索された前記文章の極性を判定する判定部と、
判定した結果を出力する出力部と、を有し、
前記判定部は、
前記検索対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と前記第１語句との組を前記第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定することを特徴とする文章検索システム。
【請求項２】
請求項１に記載の文章検索システムであって、
極性を判定するためのルールが蓄積される記憶部をさらに有し、
前記判定部が極性を判定する際には、前記ルールのうち最も長いルールを用いて極性を判定することを特徴とする文章検索システム。
【請求項３】
請求項１に記載の文章検索システムであって、
極性を判定するためのルールが蓄積される記憶部をさらに有し、
前記判定部では、判定対象語句および判定対象語句に係り受けしている語句の品詞を判定し、前記品詞に基づいて、極性判定で用いる前記ルールを決定することを特徴とする文章検索システム。
【請求項４】
請求項１に記載の文章検索システムであって、
前記判定部が極性を判定する際に、前記第２判定対象語句に係り受けしている前記第２語句が接続詞であった場合には、そこまでの極性判定の結果を前記文章の極性として出力することを特徴とする文章検索システム。
【請求項５】
極性が付与されている文章と、前記文章内に含まれる対象語句と、極性を判定するためのルールとを記憶する記憶部と、
前記対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と前記第１語句との組を前記第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定することにより、前記文章の極性を判定する極性判定部と、
前記文章に付与されている極性と、前記極性判定部が判定した極性とが異なる場合に、二つの極性が一致するよう新たな前記ルール候補を生成する生成部と、
前記ルール候補を用いて極性を判定した極性と、前記文章に付与されている極性との一致度を算出する算出部と、
前記一致度が最も高い前記ルール候補を、前記ルールとして記憶部に記憶するルール登録部と、を有する極性判定ルール修正システム。
【請求項６】
入力された検索対象語句を含む文章を検索する第１ステップと、
前記文章の極性を判定する第２ステップと、
判定した結果を出力する第３ステップと、を有し、
前記第２ステップにおける処理では、
前記検索対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と前記第１語句との組を前記第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定することを特徴とする文章検索方法。
【請求項７】
請求項６に記載の文章検索方法であって、
極性を判定するためのルールを記憶部に蓄積する第４ステップをさらに有し、
前記第２ステップにおける処理では、前記ルールのうち最も長いルールを用いて極性を判定することを特徴とする文章検索方法。
【請求項８】
請求項６に記載の文章検索方法であって、
極性を判定するためのルールを記憶部に蓄積する第４ステップをさらに有し、
前記第２ステップにおける処理では、判定対象語句および判定対象語句に係り受けしている語句の品詞を判定し、前記品詞に基づいて、極性判定で用いる前記ルールを決定することを特徴とする文章検索方法。
【請求項９】
請求項６に記載の文章検索方法であって、
前記第２ステップにおける処理では、前記第２判定対象語句に係り受けしている前記第２語句が接続詞であった場合には、そこまでの極性判定の結果を前記文章の極性として出力することを特徴とする文章検索方法。
【請求項１０】
極性が付与されている文章と、前記文章内に含まれる対象語句と、極性を判定するためのルールとを記憶部に記憶する第１ステップと、
前記対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と前記第１語句との組を前記第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定することにより、前記文章の極性を判定する第２ステップと、
前記文章に付与されている極性と、前記極性判定部が判定した極性とが異なる場合に、二つの極性が一致するよう新たな前記ルール候補を生成する第３ステップと、
前記ルール候補を用いて極性を判定した極性と、前記文章に付与されている極性との一致度を算出する第４ステップと、
前記一致度が最も高い前記ルール候補を、前記ルールとして記憶部に記憶する第５ステップと、を有する極性判定ルール修正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文の極性を判定し、文章を検索する方法に関する。
【背景技術】
【０００２】
文が肯定な表現か、否定な表現か、を表わす極性判定は、評判分析などに用いられる。極性判定には、予め肯定語と否定語を記録した辞書を保持しておき、その辞書に基づいて、文中の肯定語と否定語をカウントし、多いものの極性を、その文の極性と判定する方法がある。ただし、文には否定や打ち消しなどが存在するため、単に肯定な表現を表わす単語と否定な表現を表わす単語とをカウントするだけでは正しく判定できない場合がある。そのため、連続するｎ個以下の単語から成る語句の、肯定文、否定文での出現傾向を統計的に分析することで極性を判定する方法がある。この場合には、否定語と否定対象の文中での位置が近く（ｎ以下）にあれば、正しく判定できる可能性がある。しかし、ｎが大きくなると、組み合わせの数が莫大となり、現実的にはｎ＝３程度が用いられる。【０００３】
そこで、文中の位置的な近接関係でなく、係り受け構造を用いた極性判定方法がある。非特許文献１には、係り受け構造を用いた極性判定方法が記されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｄｅｐｅｎｄｅｎｃｙ  Ｔｒｅｅ−ｂａｓｅｄ  Ｓｅｎｔｉｍｅｎｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｕｓｉｎｇ  ＣＲＦｓ  ｗｉｔｈ  Ｈｉｄｄｅｎ  Ｖａｒｉａｂｌｅｓ，  Ｔｅｔｓｕｊｉ  ｅｔ．  ａｌ．，  ＨＬＴ’１０，  ｐｐ．７８６−７９４，  ２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
文の極性判定では、文そのものの極性ではなく、文の言及先に対する極性を判定したい場合がある。しかし、非特許文献１の方法は、文全体の極性を判定するものであるため、文の言及先の語句を指定した上で、文自体がその語句に対してポジティブがネガティブかといった極性を判定することはできない。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、例えば請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば文章検索システムであって、入力された検索対象語句を含む文章を検索する検索部と、検索された文章の極性を判定する判定部と、判定した結果を出力する出力部と、を有し、判定部は、検索対象語句を第１判定対象語句と設定し、第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と第１語句との組を前記第２判定対象語句として設定し、第２判定対象語句に係り受けしている第２語句の極性を判定することにより、文章の極性を判定することを特徴とする。【０００７】
または、文章検索方法であって、入力された検索対象語句を含む文章を検索する第１ステップと、文章の極性を判定する第２ステップと、判定した結果を出力する第３ステップと、を有し、第２ステップにおける処理では、検索対象語句を第１判定対象語句と設定し、第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と第１語句との組を第２判定対象語句として設定し、第２判定対象語句に係り受けしている第２語句の極性を判定することにより、文章の極性を判定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、文の言及先に対する極性が判定できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例による極性判定装置のハードウェア構成例を示す図。
【図２】極性判定手順を表した図。
【図３】極性判定ルールの修正方法の一例を示す図。
【図４】極性判定ルールの作成方法の一例を示す図。
【図５】極性判定に用いる係り受け構造の例を示す図。
【図６】極性判定ルールの例を木構造で表わした図。
【図７】極性判定ルールを表形式で記録した例を示す図。
【図８】極性判定処理の流れを示す図。
【図９】部分ルールの一例を示す図。
【図１０】本発明の実施例１による極性判定装置の構成例を示す図。
【発明を実施するための形態】
【実施例１】
【００１０】
第一の実施例では、再帰的な構成をもつ極性判定ルールに基づいて、与えられた語句に対して文が肯定的か、否定的か、などの極性を判定する例を説明する。【００１１】
なお、ここでは、肯定的か、否定的か、を例に説明するが、本実施例の方法は、他にも、感情的な肯定や否定、採用や不採用、メリットやデメリット、など、ルールの解釈の仕方を変えることにより、様々な極性に対しても適用できる。【００１２】
図１は、本発明の実施例による極性判定装置１０１のハードウェア構成例を示すブロック図である。【００１３】
本発明の実施例の極性判定装置１０１は、入力装置１０２と、出力装置１０３と、演算装置１０４と、メモリ１０５と、記憶媒体１０６と、を有する。【００１４】
入力装置１０２は、マウス、キーボードやタッチパネルなどのヒューマンインターフェースであり、極性判定装置１０１への入力を受け付ける。【００１５】
出力装置１０３は、極性判定装置による演算結果を出力するディスプレイやプリンタである。【００１６】
記憶媒体１０７は、極性判定装置１０１による極性判定を実現する各種プログラム、及び極性判定処理の実行結果等を格納する記憶装置であり、例えば、不揮発性記憶媒体（磁気ディスクドライブ、不揮発性メモリ等）である。【００１７】
メモリ１０５には、記憶媒体１０７に格納されているプログラムやデータがロードされる。【００１８】
演算装置１０４は、メモリ１０５にロードされたプログラムを実行する装置（プロセッサ）であり、例えば、ＣＰＵ，ＧＰＵなどである。以下に説明する処理及び演算は、演算装置１０４が実行する。【００１９】
極性判定装置１０１は、１つの計算機で構成された計算機システムでも、サーバ及びクライアント端末で構成された計算機システムでもよい。【００２０】
極性判定装置１０１は、１つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで稼働してもよく、複数の物理的計算機資源上に構築された仮想計算機上で稼働してもよい。【００２１】
演算装置１０４によって実行されるプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して各サーバに提供され、非一時的記憶媒体である不揮発性記憶装置に格納される。このため、計算機システムは、リムーバブルメディアを読み込むインターフェースを備えるとよい。【００２２】
記憶媒体１０７は、極性判定ルール１０８、判定対象文１０９と、を記憶している。なお、記憶媒体１０７は、極性判定装置１０１に接続された記憶装置に格納されても良いし、外部の計算機によって提供されても良い。また、判定対象文を入力部より提供する場合には、判定対象文１０９はなくてもよい。【００２３】
極性判定ルール１０８には、文の極性判定に用いるためのルールとなる辞書を記憶しておく。極性判定ルール１０８は、人手や機械学習などにより、予め作成しておく。本実施例で用いる極性判定ルールの例を、文の係り受け構造とともに、図５により説明する。本実施例では、ある判定対象語句に対して、文が肯定的か否定的か、を判定する。そこで、対象語句に対して、どのような語句が係れば、肯定的であるか、または否定的であるか、ということを判定するためのルールを記述しておく。【００２４】
例えば、判定対象語句をＸとおいたとき、Ｙ  ｏｐｐｏｓｅ  Ｘ．という文は、Ｘに反対するということを意味するため、Ｘに対して否定的な文であると考えられる。また、Ｙ  ｌｉｋｅ  Ｘ．はＸに対して肯定的な文であると考えられる。【００２５】
本発明では、対象語句に対する係り受け構造による極性判定を再帰的に繰り返し適用することにより、言及先に対する肯定、否定の判定を行う。【００２６】
図６を用いて、極性判定ルールについて説明する。図６は、極性判定ルールの例を木構造で表わした図である。単語やフレーズなどの単語のかたまりがノードとなっており、ノード間を結ぶ矢印が係り受けを表わしている。ノードの上下に＋または−の記号があるものは、それぞれプラス、マイナスの極性を表わしており、無いものは無極性を表わす。例えば、対象語句にｎｏｔが係っている場合（ルール６０５）には、マイナス極性となり、対象語句にｆｏｒが係った後、ｉｓが係っている場合（ルール６０４）には、プラス極性、となる。極性ルールについては、以下で、極性ルールを用いた極性判定方法を説明する中で、より詳しく説明する。【００２７】
本発明では、この極性判定ルールを言及先に対して再帰的に適用することで極性判定を行う。適用例について説明する。例えば、”Ｙ  ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”という文では、図５の５０２のような係り受け構造となっている。【００２８】
以下では、図６のルールを適用してＸが言及先のとき、”Ｙ  ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”の極性を判定する手順を図２を用いて示す。極性判定では入力は文と言及先で、出力は肯定か否定か、いずれでもないか、の極性判定結果である。【００２９】
まず、係り受け構造解析２０１で、文の係り受け構造を解析する。係り受け構造の解析方法は各種提案されており、既存の方法を用いることができる。図５に文の係り受け構造の例をいくつか示した。【００３０】
次に、対象語句初期設定２０２では、現在の解析対象語句を設定する。ここでは、入力された言及先となる語句を設定する。５０２の例では、Ｘが対象語句となる。なお、Ｘは単語の場合もあるが、複数の単語からなる場合もある。また、同義語処理や表記ゆれ処理を行い、入力された言及先の同義語など、入力された語句と近いものが文中にあれば、それを解析対象語句として指定してもよい。また、入力となる言及先の語は単語や語句などではなく、単語や語句の集合を表現するものであれば、どのようなものでも良い。ここでは、その表現に合致するものを対象語句として設定する。【００３１】
次に、極性初期設定２０３では、対象語句の極性を設定する。ここでは、無極性とする。【００３２】
次に、係り受け判定２０４では、対象語句に係る語句、または対象語句が係る語句、があるかどうかを判定する。なければ、結果出力２０９に移り、現在の極性を最終結果として出力する。係り受け構造がある場合には、極性ルール探索２０５に進む。５０２の例では、Ｘがｏｐｐｏｓｅに係っているため、係り受け構造が有ると判定し極性ルール探索２０５に進む。【００３３】
極性ルール探索２０５では、対象語句への係り受け構造に基づいて、適用する極性ルールを探索する。５０２の例では、Ｘがｏｐｐｏｓｅに係っているため、６０１に示すＸ→ｏｐｐｏｓｅが適用される極性判定ルールとなる。なお、ルールが見つからない場合には、Ｘに係る語、またはＸが係る語をＹ（Ｘ→Ｙ，またはＹ→Ｘ）としたとき、この係り受けの結果の極性が無極性であるとするデフォルトのルールが見つかったと判定する。【００３４】
極性ルール適用２０６では、極性ルール探索２０５で探索したルールを適用する。５０２の例では、６０１に示すルールが適用されるため、係り受け全体での極性、５０２でいうｏｐｐｓｅ  ｘの極性はプラスとなる。【００３５】
対象語句設定２０７では、極性ルール適用２０６でルールを適用した際の対象語句と、それに関連する係り受け語句を合わせて対象語句として再設定する。５０２の例では、対象語句Ｘと、極性ルール適用２０６におけるルール適用時に関連する係り受け語句であるｏｐｐｏｓｅを合わせたｏｐｐｏｓｅ  Ｘが対象語句として再設定される。【００３６】
極性設定２０８では、極性ルール適用２０６でルールを適用した結果を用いて、大正五区設定２０７で設定された対象語句の極性を設定する。対象語句設定２０７の処理の前の対象語句の極性が無極性、または、プラスの場合には、極性ルール適用２０６のルールによる極性を、現在の対象語句の極性として再設定する。対象語句設定２０７の処理の前の対象語句の極性がマイナスの場合には、極性ルール適用２０６のルールによる極性を反転させた結果を、現在の対象語句の極性として再設定する。すなわち、極性ルール適用２０６のルールによる極性がプラスの場合はマイナス、マイナスの場合はプラス、無極性の場合は無極性となる。５０２の例では、Ｘの極性が無極性であるため、対象語句ｏｐｐｏｓｅ  Ｘの極性はプラスとなる。【００３７】
次からは再設定された対象語句に対する係り受けが有るか否かについて、係り受け有無判定２０４の処理を進める。【００３８】
このように本発明では、極性ルールを対象語句に対して再帰的に適用し、対象語句を何度も再設定して判定することにより、文章全体の最終的な極性を判定する。【００３９】
例えば、Ｘについて検索を行い、”Ｙ  ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”という文章が検索された場合には、最初にＸが判定対象語句Ｒと設定され、極性は無極性と判定される。次に、極性判定ルール”Ｒ”→ｏｐｐｏｓｅを適用し、処理済の”ｏｐｐｏｓｅ  Ｘ”を判定対象語句Ｒと再設定し、極性をマイナスと判定する。
次に、”ｏｐｐｏｓｅ  Ｘ”にかかる極性判定ルールｄｏｅｓ→”Ｒ”を適用し、処理済の”ｄｏｅｓ  ｏｐｐｏｓｅ  Ｘ”を対象語句Ｒと再設定し、極性をマイナスと判定する。
次に、対象語句”ｄｏｅｓ  ｏｐｐｏｓｅ  Ｘ”にかかる極性判定ルールｎｏｔ→”Ｒ”を適用する。このルールにより判定された極性がマイナスであり、”ｄｏｅｓ  ｏｐｐｏｓｅ  Ｘ”の極性もマイナスであるため、”ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”という文章の極性はプラスと判定される。【００４０】
最後にＹ→”ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”であるが、これは”Ｙ”が変数であるため、直接適用できるルールが無く、デフォルトのルールを適用し、無極性と判定する。そのため、文章全体における極性判定の結果は、”ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”の極性であるプラスとなる。以上の処理により、”Ｙ  ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”は対象語句”Ｘ”に対してプラスであると判定される。【００４１】
上記では適用できるルールが存在しない場合には、デフォルトルールを用意しておき、極性を変更しない処理を行ったが、そのような場合には、デフォルトルールが適用されたことを示す情報を残しておいて、処理結果の信頼性が低いことを後の処理に伝えても良い。【００４２】
なお、適用できる極性ルールが複数存在する場合には、極性ルール探索２０５では、もっとも長い（もっとも特殊な）ルールを探索し、選択する。例えば、”Ｙ  ｉｓ  ｆｏｒ  Ｘ”という文の場合、係り受け構造は５０８のようになる。そのため、図６のルール６０２と６０３を順番に適用すると、無極性となる。しかし、この文は、Ｘに賛成するという文であるため、プラスの極性となってほしい。そのため、より長いルールである６０４を優先して適用した後に再設定される対象語句は”ｉｓ  ｆｏｒ  Ｘ”となる。このように、極性ルール探索２０５において、複数の極性ルールが見つかった場合、より長いルールがないか探索し、長いルールが存在した場合には、そのルールを適用する。探索された結果、最も長いルールを適用することにより、係り受けが複雑な文章であっても、適切に対象語句に対する極性を判定することができる。【００４３】
従来の文の極性判定方法の例についていくつか説明する。対象語句を特に指定することなく、文のポジティブ、ネガティブの判定をする。ポジティブ、ネガティブには、いくつかのタイプがあり、良い感情、悪い感情などの感情極性や、良い出来事、悪い出来事などの出来事の極性など、である。感情では、りんごが好き（ポジティブ）や、出来事では、マラソン大会で優勝した（ポジティブ）、などがある。タイプごとに異なる辞書を用いるなどの方法によって、各タイプごとの極性判定をする。【００４４】
ひとつ目の方法は、単語にプラス、マイナス、無極性の極性情報を付与しておき、文中の各極性をもつ単語の数をカウントすることで、文の極性を判定する方法である。例えば、ｌｉｋｅ，  ｌｏｖｅなどの単語はポジティブ、ｄｉｓｌｉｋｅ，  ｈａｔｅ，  などの単語はネガティブ、ｓｅｅ，  ｇｏ，  などの単語は無極性など、単語ごとに極性情報をつけ、文中のポジティブ語を＋１、ネガティブ語を−１として、総数をカウントし、結果がプラスであれば、プラス極性、結果がマイナスであれば、マイナス極性、と判定する。しかし、例えば、”Ｉｔ  ｐｒｅｖｅｎｔｓ  ｉｎｆｅｃｔｉｏｎ”  などの場合には、感染症を防ぐ、ということを意味するため、ポジティブな文であるが、ｐｒｅｖｅｎｔｓ，  ｉｎｆｅｃｔｉｏｎがともにネガティブ語であるため、文全体もネガティブと判定される。【００４５】
そこで、１単語だけでなく、隣接したｎ個以下の単語の出現数の統計に基づいて極性を判定するｎ−ｇｒａｍによる方法が考えられる。例えば、”ｐｒｅｖｅｎｔｓ  ｉｎｆｅｃｔｉｏｎ”はプラス極性となる。しかし、”Ｉｔ  ｐｒｅｖｅｎｔｓ  ａｇｉｎｇ  ａｎｄ  ｄｉｓｅａｓｅ”  などの場合には、ｐｒｅｖｅｎｔとｄｉｓｅａｓｅが空間的に離れているため、４−ｇｒａｍまで取る必要がある。しかし、ｎ−ｇｒａｍのｎを大きくしすぎると、莫大な量の組み合わせを統計的に処理しなければならないため、信頼性が落ちる、辞書が大きくなる、計算量が大きくなる、などの問題がある。また、ｎの大きさを単語に応じて制御することは難しく、一律の値で設定されることが多い。現実的には、３−ｇｒａｍまでが良く利用される。【００４６】
そこで、非特許文献１では、係り受け構造を利用した極性判定を行っている。係り受けの場合には、ｄｉｓｅａｓｅはｐｒｅｖｅｎｔｓに係るため、近接の係り受け関係だけで正しく極性を判定できる。このように、空間的配置ではなく係り受けによる関係を用いることで、意味的な近接関係に基づいた極性判定ができる。しかし、非特許文献１は、本実施例のように対象語句を指定した上で、対象語句に対してポジティブがネガティブかを判定するものではなく、文全体の極性を判定するものである。また、非特許文献１は、機械学習に基づく方法であるが、本実施例は極性判定ルールを明示的に与えるルールベースの方法である。また、非特許文献１は、本実施例のように再帰的にルールを適用するものではない。一般的に、機械学習に基づく方法では、ルールベースの方法と比較して、再現率が高く適合率（精度）が低い。【００４７】
本実施例では、対象語句に対して係り受けに基づくルールを再帰的に適用する。また、短い係り受けの再帰的適用では判定できない場合には、長いルールを追加する。例えば、”Ｙ  ｉｓ  ｆｏｒ  Ｘ”の場合は、ｆｏｒ  の係り受けルールとｉｓ  の係り受けルールの適用の繰り返しでは判定できない。この場合には、６０４のようなルールを追加する。このような再帰的ルールを用いることにより、効率的にルールを表現することができ、辞書のサイズ、極性判定時の計算量を削減することができる。また、一律の長さでルールを記述するのではなく、短いルールでは判定できない場合のみ、長いルールを追加し、極性判定を行う。こうすることで、効率的に極性判定に必要なｎの大きさ（係り受けの長さ）を制御することができる。これによって、ルールのサイズ（メモリ量）を抑え、極性判定時のメモリ量や計算量を小さく抑えることができる。【００４８】
図７に図６の極性ルールの一部を表形式で記録した例を示した。記憶にはＸＭＬやＪＳＯＮなどの形式やバイナリの形式を用いても良い。【００４９】
なお、以下では、上記で説明した極性判定をより精度良く行うためのいくつかの方法について説明する。【００５０】
まず、上記の説明では、ノードに現れる単語、または語句は、文中に現れるそのままの形（単語表層）で表現したが、単語や語句を表わす任意の表現を用いることができる。例えば、６０７は”ｄａｍａｇｅ”を原型としてもつ単語とし、”ｄａｍａｇｅ”だけでなく”ｄａｍａｇｅｓ”や”ｄａｍａｇｅｄ”などにも適用できるとしても良い。このように、過去形や複数形にも適用できる構成とすることで、新たに別のルールとして記憶しておく必要が無くなり、記憶部への負荷が削減できる。さらに、品詞情報などを保持しておいて、動詞でかつ”ｄａｍａｇｅ”を原型としてもつ単語とし、”ｄａｍａｇｅ”が動詞の場合にのみ適用できるとしてもよい。動詞のみに適用できる構成とすることで、例えば”ｂｏｏｋ”等のように動詞と名詞で意味が異なってしまうような単語についての誤判定を減らすことができる。品詞等の情報は、構文解析を利用して得ることができる。【００５１】
さらに、係り受けのタイプによってルールを制限してもよい。例えば、対象語句Ｘからｏｐｐｏｓｅへの係り受けルールは、Ｘがｏｐｐｏｓｅの目的語となる場合のみ適用するなどの制限を設けても良い。このとき、Ｘがｏｐｐｏｓｅの主語となる場合には、６０１のルールは適用されない。【００５２】
また、同じ形をもつ単語でも意味が異なる同形異義語がある。そのため、意味ごとにルールを作成してもよい。この場合には、語の曖昧性解消などの処理を事前に行っておく。【００５３】
また、本実施例では、基本的に対象語句は変数であり、対象語句の実体によって極性が変わらないルールを想定しているが、対象語句によって、極性が変わる場合も想定される。そのときは、対象語句によってルールを制限する情報を加えても良い。ただし、上記に述べたように、語句の曖昧性解消などの処理によって、事前に単語を限定しておくことによって、回避できる場合も多い。【００５４】
さらに、各ルールは定量化してもよい。例えば、”ｄｉｓａｇｒｅｅ”と”ｏｐｐｏｓｅ”とでは”ｏｐｐｏｓｅ”のほうが強い意志を表わすため、”ｏｐｐｏｓｅ”のほうがマイナスの方向に大きい値を定める。この場合、プラス、マイナスの極性だけでなく、極性とともにその強さを表わす値も保持しておく。計算例について”Ｙ  ｄｏｅｓ  ｎｏｔ  ｏｐｐｏｓｅ  Ｘ”の例で説明する。ここで、ｏｐｐｏｓｅの極性値は−２とする。また、ｎｏｔの極性値は−１とし、ｄｏｅｓは無極性であるが、値は１とする。まず、ルール６０１を適用する。対象語句の極性が無極性の場合には、ルールの極性値をそのまま極性値とする。次に、ｄｏｅｓが係るが無極性であるため、正負は変更しないが、ｄｏｅｓの極性値である１．１を掛ける。これは語を強調する場合などに用いる。この時点で、対象語句は”ｄｏｅｓ  ｏｐｐｏｓｅ  Ｘ”であり、極性値は−２×１．１＝−２．２となる。次に、ｎｏｔがかかる。負のルールの場合には、極性を反転させる。そのため、−２．２×−１＝２．２となる。この説明のように、ルールの極性が負の場合のみ極性値を反転させる。例では掛け算で極性値を求めたが、足し算など、他の方法も用いることができる。【００５５】
また、図６の６０８、６０９に示したように、再帰処理をブロックするルールを定めて置いても良い。例えば、”Ｉｔ  ｐｒｅｖｅｎｔｓ  ｉｎｆｅｃｔｉｏｎ，  ｂｕｔ  ｉｔ  ｈａｓ  ｓｉｄｅ  ｅｆｆｅｃｔｓ”などの文において、”ｉｎｆｅｃｔｉｏｎ”が対象語句の場合、”ｉｎｆｅｃｔｉｏｎ”に言及している部分は”Ｉｔ  ｐｒｅｖｅｎｔｓ  ｉｎｆｅｃｔｉｏｎ”の部分であるため、”ｂｕｔ  ｉｓ  ｈａｓ  ｓｉｄｅ  ｅｆｆｅｃｔｓ”の部分までは考慮したくない。しかし、係り受け構造は５０９のようになり再帰的に適用すると、後半の”ｂｕｔ  ｉｓ  ｈａｓ  ｓｉｄｅ  ｅｆｆｅｃｔｓ”の部分にも影響を受けることになる。そのため、例えば、係り受け先、または係り受け元が”ｂｕｔ”のような接続詞の場合には、それ以降の再帰処理をブロックするなどのルールを設けることにより回避することができる。接続詞などの情報は構文解析により取得することができる。その場合、図２の処理において、ブロックされた係り受けに対しては、フラグを付けておき、極性ルール探索２０５の際に、ブロックされていない係り受けが無い場合には、直ちに係り受け有無判定２０４に戻る。係り受け有無判定２０４では、ブロックされていない係り受けの有無を判定する。【００５６】
また、上記の図２を用いた極性判定の例では、入力文とともに入力される対象語句の極性は無極性としたが、極性情報を付加してもよい。その場合には、極性初期設定２０３において与えられた極性が設定される。例えば、文”Ｉｔ  ｐｒｅｖｅｎｔｓ  ｉｎｆｅｃｔｉｏｎ”と対象語句”ｉｎｆｅｃｔｉｏｎ”が無極性で与えられた時、極性判定結果はマイナスとなるが、”ｉｎｆｅｃｔｉｏｎ”がマイナス極性で与えられた場合には、極性判定結果はプラスとなる。この例の場合には文の極性と一致する。ただし、これは、文のうちｉｎｆｅｃｔｉｏｎについて言及している部分の極性となる。例えば、”Ｉｔ  ｐｒｅｖｅｎｔｓ  ｉｎｆｅｃｔｉｏｎ，  ｂｕｔ  ｉｔ  ｈａｓ  ｓｉｄｅ  ｅｆｆｅｃｔｓ”の場合には、”ｂｕｔ  ｉｔ  ｈａｓ  ｓｉｄｅ  ｅｆｆｅｃｔｓ”の極性は考慮されない。【００５７】
さらに、上記の説明では、入力文と対象語句（と、対象語句の極性）が与えられた。しかし、この方法は、対象語句が与えられていない場合にも拡張できる。このときの拡張例を図８により説明する。まず、文が入力される。【００５８】
対象語句探索８０１では、文が何について言及しているか、言及先を探索する。具体的な処理例を示す。入力文の中から、係り受け先となっていない名詞、または名詞句を探索する。係り受け元から係り受け先への矢印で構造を示した場合に、根ノードとなる部分である。【００５９】
次に、対象語句有無判定８０２では、対象語句探索８０１において、対象語句が見つかったかどうかを判定する。ある場合には極性判定８０３に進み、無い場合には結果出力８０４に進む。【００６０】
次に、極性判定８０３では、入力文と対象語句探索８０１で探索した対象語句とを図２の極性判定処理の入力文、対象語句として、図２の方法により極性判定を行う。次に、対象語句探索８０１において、未処理の対象語句を探索する。
結果出力８０４では、対象語句と極性判定結果のペアについて、出力する。対象語句が無かった場合にはその結果を出力する。【００６１】
この方法によって、入力文について、何についてポジティブかネガティブか、という言及先の情報も含めた極性判定が可能となる。【００６２】
なお、結果出力２０９または結果出力８０４では、極性判定結果だけでなく、図６に示すような極性ルール木のうち適用した部分についても同時に出力してもよい。また、適用した順番に木構造を再構築し、表示してもよい。このように適用したルールを表示することで、ユーザは極性判定された理由、または根拠についても知ることができる。【００６３】
以上を踏まえ、本実施例に記載の文章検索システムは、入力された検索対象語句を含む文章を検索する検索部と、検索された文章の極性を判定する判定部と、判定した結果を出力する出力部と、を有し、判定部は、検索対象語句を第１判定対象語句と設定し、第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と第１語句との組を前記第２判定対象語句として設定し、第２判定対象語句に係り受けしている第２語句の極性を判定することにより、文章の極性を判定することを特徴とする。【００６４】
また、本実施例に記載の文章検索方法は、入力された検索対象語句を含む文章を検索する第１ステップと、文章の極性を判定する第２ステップと、判定した結果を出力する第３ステップと、を有し、第２ステップにおける処理では、検索対象語句を第１判定対象語句と設定し、第１判定対象語句に係り受けしている第１語句の極性を判定し、第１判定対象語句と第１語句との組を第２判定対象語句として設定し、第２判定対象語句に係り受けしている第２語句の極性を判定することにより、文章の極性を判定することを特徴とする。【００６５】
このように判定対象語句から始め、第１判定対象語句、第１判定対象語句と第１語句の組、と更新していき、最終的に文章中に存在するすべての語句について判定をすることにより、文そのものの極性ではなく、文中の言及先である語句に対しての極性を判定することが可能となる。
【実施例２】
【００６６】
実施例１では、極性ルールは予め与えられているとして、入力文、または入力文と対象語句に対して極性判定を行う方法について説明した。極性ルールは手作業で構築してもよいが、本実施例では、極性の誤判定事例に基づいて極性ルールを追加、または削除することにより、効率的に極性ルールを作成する方法について説明する。構成は図４となる。極性ラベル付き文９０１は、文と、文中の対象語句、および極性ラベルから成る組の集合である。予め手作業や機械学習などによって作成しておく。他は、実施例１と同様であるため、説明を省略する。【００６７】
本実施例では、極性判定ルール１０８に極性ルールを追加、または削除する。極性判定ルール１０８は、予め人手により作成した簡単なものでも良いし、空のルールでもよい。【００６８】
以下では、極性の誤判定事例に基づいて極性ルールを修正する方法の例を図３を用いて説明する。
事例選定３０１では、極性ラベル付き文９０１の中から、文と対象語句の組をひとつ（事例）を選定する。事例選定では、ランダムに事例を選択してもよいし、順番に選択するなど、ある規則に基づいて選定してもよい。
極性判定３０２では、事例選定３０１で選定された文と対象語句に対して、極性判定ルール１０８に基づいて、実施例１の方法により極性判定を行う。
極性判定結果判定３０３では、極性判定３０２における極性判定結果と、極性ラベル付き文９０１に記されている極性とのプラス、マイナス、無極性の一致、不一致を調べる。一致している場合には、終了判定３０８に進み、不一致の場合には、適用ルール出力４０４に進む。
適用ルール表示３０４では、極性判定３０２において用いたルールのみを部分木として出力する。極性判定ルールのうち極性判定３０２において適用されたるルールの部分が修正の対象となる。
ルール修正３０５では、適用ルール表示３０４のルールにおいて、事例選定３０１において選定された事例が正しく極性判定される（極性ラベル付き文９０１に記されている結果と一致する判定がされる）ように、様々な方法によりルール修正候補を生成する。ここでは自動的に候補を生成しても良いし、適用ルール表示３０４の結果を参照しながら、人手により候補を生成してもよい。自動的に候補を生成する場合には、ノードの追加や削除、極性の変更、ノードの表現やエッジの制限の変更、などの操作により、選定事例を正しく判定できる候補を生成する。
例えば、”Ｙ  ｉｓ  ｆｏｒ  Ｘ”が選定事例の場合に、図６の６０４のルールが無かったとする。このとき、この文の極性は無極性であるが、極性ラベル付き文９０１で正しく極性ラベルが付けられていれば、プラスとなる。適用された部分ルール（適用ルール表示３０４の結果）は図９の１００１のようになる。このとき、例えば、図９の１００２、１００３、１００４のようなルール修正候補が考えられる。この修正を元の極性判定ルール１０８に適用し、極性判定ルール候補を生成する。【００６９】
次に、精度評価３０６では、各極性判定ルール候補に対して、極性ラベル付き文９０１の事例を極性判定ルール候補を用いた極性判定３０２により判定した結果と極性ラベル付き文９０１のラベルとの一致率（精度）を計算する。精度評価の際には、全ての事例の極性判定を行うのは計算量が大きく、非効率であるため、予め、ルール修正前のルールにより極性判定した結果を保存しておき、ルールの修正に影響を受ける事例（例えば、修正部分の単語を含む事例）のみを再判定対象として、精度評価を効率化してもよい。
精度改善判定３０７では、精度評価３０６で計算した精度のうち最も高いものｈ１とし、ルール修正３０５の処理をする前の極性判定ルールを用いた時の精度をｈ２とし、予め定めた基準によりｈ１がｈ２よりも大きくなった場合に、精度改善があったものと判断し、精度ｈ１を出した極性判定ルール候補を極性判定ルール１０８として採用する。
終了判定３０８では、処理を終了するかどうか判定する。これには、精度の改善がみられないまま終了判定３０８から終了判定３０８に至るサイクルを一定回数以上こなした場合や、一定回数以上終了判定処理を行った場合、事例選定で事例を一通り選定するサイクルを一定回数以上こなしている場合などに終了と判定する。終了しないと判定された場合には事例選定３０１に戻る。終了すると判定された場合には結果保存３０９に進む。
結果保存３０９では、最終的に生成された極性判定ルール１０８を保存する。【００７０】
木構造の極性判定ルールを人手により作成するには、大きなコストがかかる。それと比較して、極性ラベルを付与した事例を作成することは、事前の知識もあまり必要でなく、負担が少ない。そのため、本実施例の処理により、極性判定ルールを効率的に生成することができる。【００７１】
また、極性ラベルの付与は機械学習により行っても良い。機械学習による方法は、ルールベースによる方法に比べて、適合率（精度）は低いが、再現率は高いという傾向がある。つまり、ルールベースの方法では、未知のパターンが現れた場合には、判定できないが、ルールが存在した場合には正しく判定できる可能性が高い。一方で、機械学習による方法では、未知のパターンについても特徴量化し、特徴空間における統計に基づいて汎化性をもった統計的に尤もな判定を行う。そのため、未知パターンに強い。ここでは、その特性を活かし、大量のデータに対して機械学習に基づいて作成した判定器を使い、ラベルを付与しておき、その事例を極性ラベル付き文９０１として用いても良い。
【符号の説明】
【００７２】
１０１、１１０１…極性判定装置、
１０２…入力装置、
１０３…出力装置、
１０４…演算装置、
１０５…メモリ、
１０６、１０７…記憶媒体、
１１０２…検索部、
１１０３…記憶部、
１１０４…判定部、
１１０５…出力部。
【図１】
2016056043.tif 000003
【図２】
2016056043.tif 000004
【図３】
2016056043.tif 000005
【図４】
2016056043.tif 000006
【図５】
2016056043.tif 000007
【図６】
2016056043.tif 000008
【図７】
2016056043.tif 000009
【図８】
2016056043.tif 000010
【図９】
2016056043.tif 000011
【図１０】
2016056043.tif 000012
【手続補正書】
【提出日】平成29年3月16日(2017.3.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力された検索対象語句を含む文章を検索する検索部と、
検索された前記文章の極性を判定する判定部と、
判定した結果を出力する出力部と、を有し、
前記判定部は、
前記検索対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、前記第１判定対象語句と前記第１語句との組を第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定することを特徴とする文章検索システム。
【請求項２】
請求項１に記載の文章検索システムであって、
極性を判定するためのルールが蓄積される記憶部をさらに有し、
前記判定部が極性を判定する際には、前記ルールのうち最も長いルールを用いて極性を判定することを特徴とする文章検索システム。
【請求項３】
請求項１に記載の文章検索システムであって、
極性を判定するためのルールが蓄積される記憶部をさらに有し、
前記判定部では、判定対象語句および判定対象語句に係り受けしている語句の品詞を判定し、前記品詞に基づいて、極性判定で用いる前記ルールを決定することを特徴とする文章検索システム。
【請求項４】
請求項１に記載の文章検索システムであって、
前記判定部が極性を判定する際に、前記第２判定対象語句に係り受けしている前記第２語句が接続詞であった場合には、そこまでの極性判定の結果を前記文章の極性として出力することを特徴とする文章検索システム。
【請求項５】
極性が付与されている文章と、前記文章内に含まれる対象語句と、極性を判定するためのルールとを記憶する記憶部と、
前記対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、前記第１判定対象語句と前記第１語句との組を第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定する極性判定部と、
前記文章に付与されている極性と、前記極性判定部が判定した極性とが異なる場合に、二つの極性が一致するよう新たなルール候補を生成する生成部と、
前記ルール候補を用いて極性を判定した極性と、前記文章に付与されている極性との一致度を算出する算出部と、
前記一致度が最も高い前記ルール候補を、前記ルールとして記憶部に記憶するルール登録部と、を有する極性判定ルール修正システム。
【請求項６】
入力された検索対象語句を含む文章を検索する第１ステップと、
前記文章の極性を判定する第２ステップと、
判定した結果を出力する第３ステップと、を有し、
前記第２ステップにおける処理では、
前記検索対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、前記第１判定対象語句と前記第１語句との組を第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定することを特徴とする文章検索方法。
【請求項７】
請求項６に記載の文章検索方法であって、
極性を判定するためのルールを記憶部に蓄積する第４ステップをさらに有し、
前記第２ステップにおける処理では、前記ルールのうち最も長いルールを用いて極性を判定することを特徴とする文章検索方法。
【請求項８】
請求項６に記載の文章検索方法であって、
極性を判定するためのルールを記憶部に蓄積する第４ステップをさらに有し、
前記第２ステップにおける処理では、判定対象語句および判定対象語句に係り受けしている語句の品詞を判定し、前記品詞に基づいて、極性判定で用いる前記ルールを決定することを特徴とする文章検索方法。
【請求項９】
請求項６に記載の文章検索方法であって、
前記第２ステップにおける処理では、前記第２判定対象語句に係り受けしている前記第２語句が接続詞であった場合には、そこまでの極性判定の結果を前記文章の極性として出力することを特徴とする文章検索方法。
【請求項１０】
極性が付与されている文章と、前記文章内に含まれる対象語句と、極性を判定するためのルールとを記憶部に記憶する第１ステップと、
前記対象語句を第１判定対象語句と設定し、前記第１判定対象語句に係り受けしている第１語句の極性を判定し、前記第１判定対象語句と前記第１語句との組を第２判定対象語句として設定し、前記第２判定対象語句に係り受けしている第２語句の極性を判定することにより、前記文章の極性を判定する第２ステップと、
前記文章に付与されている極性と、前記第２ステップで判定された極性とが異なる場合に、二つの極性が一致するよう新たなルール候補を生成する第３ステップと、
前記ルール候補を用いて極性を判定した極性と、前記文章に付与されている極性との一致度を算出する第４ステップと、
前記一致度が最も高い前記ルール候補を、前記ルールとして記憶部に記憶する第５ステップと、を有する極性判定ルール修正方法。
【国際調査報告】
2016056043.tif 000013
2016056043.tif 000014
2016056043.tif 000015
2016056043.tif 000016