うえぽんSW局

古いタイプの日記ブログです。気まぐれに更新してます。

2007年11月

 「圧縮新聞」とか「3行で要約します。 - 3lines.info」とかが流行ってるようなので、JavaScriptで似たようなものを作ってブックマークレット化してみました。


 選択範囲を要約する人工無能ブックマークレット


 マウスでテキストを選択してブックマークレットを実行すれば、選択テキスト部分を学習し、確認ダイアログにて生成した文章を返します。確認ダイアログのOKを押せば再び文章を生成して返してくれます。キャンセルで終了です。
 Ctrl+Aを押せばページ全体を選択するので活用して下さい。(本当は本文を自動取得したかったのですが、面倒なのでこのような仕様にしました)
 あと、フレームを使ったページでは選択テキストを取得できないので動作しません。

 下はテスト用に2chのコピペです。

この前、ユニクロでパーカーを購入しました。

そのパーカーを着て先日電車に乗った時、いつものようにウォークマンを
聞こうとイヤホンを耳にしたものの何も聞こえませんでした。
電池が切れたのかとしばらくそのままにしてると、前に座ってる女子高生達が
どうも俺の顔を見て笑ってるような気がしました。
「まぁいつものこと」と思いながら、ふとイヤホンを外すと、
俺がイヤホンだと思ってたものはパーカーのヒモでした。
パーカーのヒモの先っぽの丸結びした部分をずっと耳に入れていたのでした。

その時は何もなかったようにイヤホンに付け替えましたが、
家に帰ったあと、そのパーカーを脱ぎ、しんしんと泣きました。


 仕組みを簡単に解説すると、ただのマルコフ連鎖です。ただし、形態素解析は全くせず、文字数単位でN接頭文字1接尾文字のマルコフ連鎖という風にしています(N-gramというのかな?)。日本語は単語あたりの文字数が少ないので、文字単位でも意外とまともな文章を返してくれます。
 接頭文字数はデフォルトでは 3ですが、ソースの頭の部分の「N=3」の数字を増やすと賢くなります。でも 3ぐらいが一番面白味があると思います。

 以下、参考にしたページです。エブログ様のコードをベースに作りました。選択テキスト取得部分はJavaScriptな日々様のまんまです。
 ・マルコフ連鎖で文章生成(JavaScript) - エブログ
 ・ワードサラダ技術について :: Drk7jp
 ・人工無能を作ろう〜マルコフ連鎖(2接頭語と1接尾語の場合)
 ・livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)
 ・JavaScriptな日々 | 選択テキストを取得する方法


[追記:2010/11/06]
 479バイトまで縮めてみました。
 ・479バイトの人工無能
このエントリーをはてなブックマークに追加

 2年半ぶりに倉庫番(SG-1000版)の攻略。

 先日、攻略サイトの掲示板にて、「SG-People」のsegabitさんから、セガマイカード版の裏技を教えていただきました。倉庫番に裏技なんてあったんですね。
 以下SG-People:裏技さ行より引用です。

●隠れ面
 以下のいずれかの方法で、隠れ面をプレイ出来る。隠
 れ面は全部で5つある。
 A.Pの値(荷物を押して移動した歩数)の下2桁を
  「00」に合わせて面クリアする。
 B.面セレクト時に、まず「3」に合わせ、次に減ら
  していって「15」に合わせ、次に増やしていって
  「30」に合わせ、最後に、減らしていって「1」
  に合わせてスタートする。


 「セガ・オールドマシン博物館」さんにも同様の裏技が紹介されているようです。倉庫番より引用。

歩数Pの下2桁が00の時、隠れ面にワープする。
隠れ面は全部で5面。それぞれ、NAO、KYOKO、
AYA、ASAMI、EMIと女の子の名前がついている。


 さて、この裏技を見ていて気付いたのだが、倉庫番には「荷物を押した回数」に奇数と偶数の法則があるようだ。
 大した法則ではないが、荷物を押した回数が奇数でクリアできる面はどんなプレイの仕方でも必ず奇数になり、同様に偶数も偶数にしかならないというもの。
 よく考えれば当り前のことなんだが、最短経路から寄り道でX回押したとしても、折り返しでX回戻さなければならから、最終的な荷物を押した歩数は(最短経路+2X)となる。つまり、偶数はどんな数字に足しても足された数字の偶数奇数はかわらないので、その面の偶数奇数も変わらない、と。

 で、この法則により、裏技の「下2桁が00でクリア」というのが実行できない面が存在するということだ。まあ、隠れ面を出す方法は他にもあるけどね。


◆自動解答プログラムがバージョンアップ
 倉庫番自動解答プログラムのバージョンがVer7.2にアップされたようだ。
 倉庫番を解く for Windows
 以前よりも賢くなって、解答できる問題数が増えている。すごい!
 でも、SG-1000版の60面と68面は解答できないようだ。実は攻略ページを作成してから2年半近く経つが未だにクリアできずに困ってたりする……。[追記]解けました!


【攻略ページ】
 倉庫番(セガマイカードSG-1000対応版)攻略メモ
このエントリーをはてなブックマークに追加

↑このページのトップヘ