oitake blog

いろいろリンク

おすすめリンク

最近のエントリー

カテゴリー

20101012:コメントとトラックバックを停止したことにより、このサイトはアーカイブとなりました。以降、ご連絡はみもねるのウェブサイトへお願いします。
20100703:新ナマコメ(ナマコメ 2)を公開しました。コメントビューア付きで送信面においてもパワーアップしています。
旧ナマコメは将来的に使用できなくする予定なので、可能な限り新ナマコメをお使いください。
20091127:oitake は みもねる になりました。当ブログは無期限更新停止となります。詳細は最新の記事をご覧ください。

スポンサーサイト

一定期間更新がないため広告を表示しています


2009.12.16 Wednesday | | - | - | -

つぶやいてみた。

Twitter でつぶやきはじめました。
今後の予定や開発中の小話、ブログでは書けないような小さいネタを書いていこうと思います。

2009.07.01 Wednesday | 01:39 | その他 | comments(0) | trackbacks(0)

分かち書きとマルコフ連鎖でカオスな文章を生成するまで

(間が空いてしまった上にネタが違うのは仕事のせいです…ぐすん)

分かち書きとマルコフ連鎖というアルゴリズムを組み合わせると、ある文章をバラバラに分解してからメチャクチャに再構築してカオスな文章を生成できるようです。
長門有希さんのセリフをサンプルにして試してみましょう。

生み出されてから3年間、私はずっとそうやって過ごしてきた。
この3年間は特別な不確定要素がなく、いたって平穏。
でも最近になって無視出来ないイレギュラー因子が涼宮ハルヒの周囲に現れた。
それが、あなた。

これを先ほどのロジックで処理してみると、次のような文章が生成されます。生成結果は不定です。

生み出されて平穏。
生み出されて過ごしてから3年間、あなた。
でも最近になって無視出来ないイレギュラー因子がなく、私はずっとそうやって過ごして平穏。
この3年間は特別な不確定要素が、あなた。この3年間、あなた。

長門さん、普通にコクっちゃってますね…。

今回はこのような文章を生成するまでの一貫した手順をご紹介します。
※マルコフ連鎖に関しては、らんたそ氏のブログ「あたまがうにになる」で勉強させていただきました。続きに掲載しているコードも、マルコフ連鎖部分は9割方ソースのままです。

まず分かち書きですが、MeCabかkakasiを使用します(ChaSenは導入に手間がかかるので割愛)。
どちらかをローカル環境にインストールしてください。サンプルコードではMeCabを使用しているので、MeCabの方が簡単です。なお、ここでは実行環境にWindowsを想定しています。

MeCabのインストール手順は下記の通り。

1.MeCabの公式HPにアクセス。
2.「ダウンロード」をクリック。
3.「Binary package for MS-Windows」の「ダウンロード」をクリック。
4.「mecab-win32」の「Download」をクリック。
5.ページ下部の「mecab-X.X.exe」をダウンロード。
6.ダウンロードファイルを実行してインストール。
※フォルダ名を「mecab」としてCドライブ直下に生成してください。

kakasiのインストール手順は下記の通り。

1.kakasiの公式HPにアクセス。
2.「Win32用 バイナリパッケージ」の「Web」をクリック。
3.「kakasi-X.X.X.zip」をダウンロード。
4.ダウンロードファイルを解凍。
5.フォルダ名を「kakasi」としてCドライブ直下に移動。

次に.phpファイルを用意します。
名前は任意です。中身は続きに掲載しているサンプルコードを貼り付けてください。文字コードと改行コードはUTF-8とCR+LFを想定しています。

以上の用意が整ったら、.phpファイルを実行してください。
正常に動作すれば、ローカルに「result.txt」が生成され、自動的にテキストエディタで表示されるはずです。

続きを読む >>
2007.12.17 Monday | 18:55 | その他 | comments(0) | trackbacks(0)

JUGEM2MT4:リデザイン&複数アップロード対応

JUGEM2MT4をアップデートしました。
デザインをきちんとして(そっけないですけど)、複数ファイルのアップロードに対応しました。ボタンを押すとファイル参照ボックスがいくらでも出てきます。

JUGEM2MT4前回の記事でご紹介したとおり、JUGEMのエクスポートファイル(記事データなどをまとめたファイル)をMovable Type 4のインポートファイルに変換するプログラムです。
次回はオプション機能を追加する予定。

2007.08.15 Wednesday | 11:57 | その他 | comments(0) | trackbacks(0)

JUGEM2MT4:JUGEMからMovable Type 4に変換

JUGEMのエクスポートファイルをMovable Type 4のインポートファイルに変換するJUGEM2MT4というプログラムを作りました。

MT4は先日リリースされたブログシステムです。
これを機にMT4でブログを構築してみようというJUGEMユーザーの方もいらっしゃると思いますが、MT4はJUGEMのエクスポートファイル※をそのままインポートすることはできません。フォーマットを変換する必要があります。
※エントリー・コメント・トラックバックをひとつにまとめたテキストファイル。

もちろん、変換サービスは既に存在するのですが、勢いで作ったしまったのがJUGEM2MT4です。おかげでインポートファイルの構造とか、汎用性ゼロのどーでもいー知識が蓄えられましたよ。

JUGEM2MT4はまだβ版なので、オプション機能などはありません。デザインもCSSすらあてていない状況です。エクスポートファイルは3ファイルまで同時にアップロードできますが、これは早いうちに改善する予定。
他、どーでもいー細かな仕様は次のとおりです。

・エクスポートファイルの文字コードはEUC-JP、改行コードはLFに修正。
・「BASENAME」は、最初は「post」、二番目からは「post-%d」に統一。
・「STATUS」は「Publish」に統一。
・「ALLOW COMMENTS」は「1」に統一。
・「CONVERT BREAKS」は「richtext」に統一。
・「ALLOW PINGS」は「1」に統一。
・「PRIMARY CATEGORY」と「CATEGORY」には同じカテゴリー名を設定。
・「EXCERPT」「KEYWORDS」「IP」「PING」は常に空き。

とりあえずoitake blogでは正常に動作しました。

2007.08.13 Monday | 15:49 | その他 | comments(0) | trackbacks(1)

汎用ブログリーダー:ラストレムナントでα版


 前回までTHE LAST REMNANTとかSecond Lifeとかのブログリーダーを紹介してきましたが、ご覧の通り、ふたつとも良く似ています。似ているというか、ほとんど同じシステムを使い回しています。違うのは見た目だけ。ということは、このシステムに汎用性を持たせてオープンにすれば、色々な人が、色々な検索結果を表示できるということになるのでは?

 というわけで、GET値によって検索結果やその他諸々の動作をカスタマイズできるブログリーダーを作ってみました。今のところURLと文字コード、タイムアウト(秒)にサーバキャッシュの残存時間(秒)を指定できます。上の検索結果はこんな感じで指定しています。

<script src="http://oitake.chicappa.jp/br/index.php?url=URL&encoding=UTF-8&timeout=10&cacheout=600" type="text/javascript"></script>

 URLはURLエンコーダーでエンコードしてください。URL以外は任意です。

 なお、JavaScriptで動的にHTMLを埋め込んでいるので、CSSによる見た目のカスタマイズも可能です。こんな感じ。

<div class="block">
<div class="title"><a href="LINK" target="_blank">TITLE</a></div>
<div class="desc">DESCRIPTION</div>
<span class="date">DC:DATE</span><span class="pub">DC:PUBLISHER</span>
</div>

 検索エンジンはGoogle ブログ検索にのみ対応しています。だったらGoogle API使えよって感じですが…。まー それはそれとして。好きに使ってください( ' ρ')

2007.06.03 Sunday | 21:17 | その他 | comments(0) | trackbacks(0)