自動要約プログラムを作ってみました

長文だったので、サンプルとして、こちらの
「パソコン見放す20代「下流」携帯族」
http://facta.co.jp/article/200703060.html
を使って結果を実験してみましょう。


要約の仕組みは、
「テキスト自動要約」奥村学・難波英嗣(オーム社
の載っていた手法のうち、一番基本の部分だけでまず作ってみました。
要するに、
1)文中の重要な単語を求め、2)重要な単語を多く含む重要な文を求め、上位の文を表示する
というもの。
非常に単純ですが、統計なのでロバストです。


結果を見てみましょう。


要約率30%です

パソコン見放す20代「下流」携帯族
誰でも簡単にネットが利用できる携帯は、ネット利用の底辺を拡大する役割は果たしたかもしれないが、同時に「コンピューターに対する知識の欠如」や「キーボードで字を打てない」という、まるで高齢世代かと見紛うような退化を若い世代にもたらしはじめている。
PC族と携帯族の「デバイド」――それはネットにも「下流社会」が出現したことを意味する。
高額のパソコンを持たない彼らは、インターネット利用を安価な携帯電話で済ませてしまう。
そうした世代のニーズに応えるためか、親指式の入力でPCに入力できる「ケータイ型キーボード」が登場するという珍現象まで起きている。
パソコン(PC)が使えない団塊世代以上の高年齢層の断層を「デジタル・デバイド」と呼ぶが、第二のデバイドが出現したのだ。

統計的に、重要語の上位は以下と判断しました。

携帯 サイト ネット デバイド した 世代 利用 パソコン キーボード 110 ない 親指 入力 から する


手法的には、1番目の行=タイトルは、重要なので、重要な単語の判断のスコアにボーナスを与えています。
本書で紹介されている手法では、
さらに、文の重要度をグラフにしたときに、そこには山、谷ができており、
重要度の谷の部分で、パラグラフが別れているという分析もあります。
また、特定の山から文を抽出して偏らずに、満遍なくすべての山から文を抽出すると、
良い要約になるということです。このへんには目からウロコでした(今後の改良予定)
複数の話題が出てくる文章も、このパラグラフを考えると対処できるそうです。


重要語を割り出せるので、kizasi語のようにも使えると思います。
最近は、2chのスレも、上部に重要語を並べて検索リンクを作ってますね。
ちなみに2chのスレッドの要約にも有効です。
ちょっと試してみましょう。


2nnでも祭りと表示されている

【韓国】最高の貫通力と装甲、最新装置を備えた世界最強の韓国型戦車・XK2が登場[03/02] http://news21.2ch.net/test/read.cgi/news4plus/1172832141/


ちなみに長いので1-100スレッドまででやってみました。


要約率2%

【韓国】最高の貫通力と装甲、最新装置を備えた世界最強の韓国型戦車・XK2が登場[03J02]
水深は今回開発された戦車がさらに深くなっており、砲塔まで水につかれる戦車は世界でも初めて
敵の砲弾が触れると、装甲で自動的に爆発が起きる「反応装甲」の技術
◇最高の貫通力と装甲=XK2は地球上に存在するすべての戦車を貫通できる。
韓国が開発した以上、世界最高はありえないこの矛盾www
FCSはアメ製、新型砲弾もアメの技術供与があったと聞きましたが。

重要語
装甲 した 技術 XK2 開発 でも には まで 北朝鮮 できる 水深 する 砲弾 この 最新

内容的には、冒頭に記事が引用されてるので、そちらが重要と判断しておかしくないですが、
ちゃんとレスでついた言葉も含んでるのが、けっこうよさげに動いてます。
すごい単純なアルゴリズムですが、さすが統計パワー恐るべしデス。


縦軸には要約してますが、横軸はほぼ何もしてません。
例えば、「ご飯を食べました」を「ご飯を食べた」といった細かいルールを実装すれば、
こつこつ縮められますが、そのへんは力仕事っぽいので、後回しです