kcブログ

初心者プログラマ

英語長文要約Webアプリ「summarico」オープン!

こんにちは、wkcpcです。

 

今回は自作のWebアプリケーションの紹介です♪

 

「英文要約サイトsummarico」(サマリコと読みます)。

http://summarico.com

 

独自の手法を用いて英文を要約します。

 

他の要約系Webアプリと異なるところは、「文章の大意を示すこと」に力をいれたところです。

 

例えば、文章の要約といっても「固有名詞が沢山でてしまう」要約であると、何についてかは捉える事ができても、どういう内容かまでは踏み込めないことがあります。固有名詞はタイトル的な役割は持っていても、文章の論理に関わることはあまり無いためです。文章に一度、二度しか出てこないような固有名詞は、恐らくタイトル的な役割すら持たないため、低いスコアをつけておく必要があります。

 

 

そういうわけで、固有名詞に高いスコアをつけて要約する方法は、意味があまりない時もあると感じたので、文章の大意をまとめる方向に徹しました。

 

 

 

手法ですが、まずはtf-idfを計算し、キーワードを抽出して「文章のタイトル(単語群を連ねた物で、構文などは存在しない)」を作成します。このタイトルには、頻度が少ない固有名詞は存在しないようにする必要があります。方法として、文章中のidfの値が最も高い単語群(idfが高い=かなり高確率で固有名詞)を作成し、その内tfが最も高いものを一つ、二つタイトルとして採用し、残りは「マイナーな固有名詞」として計算結果からは除外するようにしました。こうして固有名詞の中から、「かなり重要と思われる」固有名詞のみを抽出できるようになりました。

 

その後、tf-idf値が高いもの(固有名詞を除いた)をいくつか採用し、タイトルの作成は完了です。

 

あるトイザラスについての英文でこれを試してみたところ、タイトルは「Toysrus,shop,bought,fun」という風な形で、タイトルとして十分なものが作成できました。勿論、これはうまく抽出ができた場合の一例であり、必ずしもそのようにいくことはありませんが....今後の課題です。

 

後は、タイトルの単語群のキーワードを多く含む一文に高いスコアをつけ、スコア順に要約結果に反映させていきました。

 

今後は、パラグラフリーディングの考え方を取り入れて、トピックセンテンスの抽出とそれらを考慮した計算結果の向上を計る予定です。

 

生のテキストをどのようにして「パラグラフ」に分けるかのアイデアは一応は浮かんでいるので、早急に取り組んでいきます。