コピーロボット

このニュースを昨日見たのね.
http://www.asahi.com/life/update/0525/TKY200805250186.html
……特許取るほどの技術かなぁ,と思って自分でも作ってみました. 久々のプログラミング遊び!!!
まず,手持ちのレポート(テーマ:「スパムメール」)からキーワードを 形態素解析tf-idf という技術を応用して抽出.

スパマー スパム スパムメール ベイジアンフィルタ ブラックリスト smtp 送信 受信 メール サーバ オプトアウト 配信 中継 isp スパムフィルタ ダイアルアップアドレスリスト ……

このキーワード群を使ってネットから検索.検索結果の要約文と入力文書を比較してコピペ部分を自動検出.ついでに適当にスコアを付ける.最後にスコア上位のものを整形して出力.
で,これが上位に来た結果.

2) スパムメール ダイアルアップアドレスリスト  ← スコアランク) クエリ
ViruslistJP.com - スパムメール  ← コピペ元タイトル
http://www.viruslistjp.com/spam/153350530  ← コピペ元URL
スパムメールが登場したのは1990年の中頃、 ... これに対しISPは、ユーザーが1セッションで送信可能なメール数を制限し始めた他、ダイアルアップアドレスリストの採用や別モデムプールからのメールの遮断といった処置が執られるようになりました。 ...  ← Yahoo! の要約文
これに対しISPは、ユーザーが1セッションで送信可能なメール数を制限し始めた他、ダイアルアップアドレスリストの採用や別モデムプールからのメールの遮断といった処置が執られるように  ← 発見したコピペ部分

Wordで該当部分に色付けしたもの(これだけ手動).

 
全てのコピペを見つけられるわけではないけど,なかなか上出来なんじゃない?(ちなみに,1つのレポートから50個以上のコピペが見つかった) 「なりました」→「なった」ぐらいの改変なら全然余裕だしね. この技術,だれか買いません?(笑)
# レポート以外にも応用はありそうだし,もうちょっと頑張ったら論文にできるかもなぁ
Rubyを使ったのはほぼ初めてだったたけど,なかなか楽しいね.

 
コメントに反応:
今回のニュースになったソフトは,たぶん今回使ったような既存の技術の組合せで実現されてるとは思う.でも,文章の盗用に目を付けて,市販できるような形で実装して,特許取って……ってのは誰もやってなかった.そこが一番の新規性だと思う.
これを作れる知識・技術を持ってる人はたぶん何十人,何百人と居ると思うし,俺みたいに「あとからそんなもん俺でも作れるわ」と言って作るのはとっても簡単なのだけれど,最初に着眼して実行に移すのがやっぱり一番難しいんだよね.
コロンブスの卵を産む研究者にならないとね,と改めて思いましたとさ.