質問: 今、perl言語を扱っています。そして重要度を使った要約のプログラムを書いています。 質問があります。 例えば、「僕は野球選手である。しかし、プロ野球選手ではない。」という文があるとして、「しかし」という接続詞があります。 これを要約するのに私が書いたプログラムでは。「僕は野球選手である。プロ野球選手ではない。」というふうに前後の文の連結に違和感があります。 そこで、もし接続詞の前の文が要約文として、選ばれていた場合に接続詞を削除することがなければ前後の文の違和感がなくなると考えました。 ですがこのプログラムを書くにはどう書いたらいいか分からずに困っています。 何かコマンドやアドバイス、アイデアなどがありましたらご教授お願いします。
回答: 自然言語処理に関しては門外漢ですが... 専門的なことは分かりませんが、接続詞って、「それまでの文脈」を受けて、その「直後の文」がどのような意味的な関係を持っているかを示すものだと思います。それで接続詞は、「それまでの文脈」はさておき、「直後の文」と密接な関係があると言って良いと思います。 文脈を解析するのは相当レベルが高いですが、重要な文章として抽出された(要約された)文の直前の単語が接続詞の場合は残すという処理であれば、それ程難しくないのではないでしょうか? mecabを使用した事がないので具体的なプログラムを例示することが出来ないのですけれども、字句解析がきちんと出来ていて「文の重要度」まで計算出来ているのであれば、ちょっと工夫することで実現できるのではないかと思います。 以下、おまけ。 字句解析の精度に影響するので、どんな辞書を使用するかはとても重要です。 既にご存知かもしれませんが、優れた辞書について説明したページがありましたので、リンクを貼り付けて置きます。 mecab-ipadic-neologdがすごいという話