日記(448)

<前 次>

日記

昨日言っていた案の実装。太字が提案内容です。

まずまず悪くないんじゃないでしょうか。
Nginxは「PCソフト」だし、VPSを契約しようと思ったのは「TGWSAdmin」をクラウドで管理するため。VPSでは、具体的に何かをした報告より、何かをしたい「プログラミング」の「アイディア」があって日記に書いていたわけで、TGWSの「更新」に使いたいと思っていたのでした。
見当違いなのは「funyak」ぐらいのものですが、これは許容範囲です。うちの日記は、関係ない話題も並列して書くので、関係ないカテゴリが一緒に出てくるというのも大なり小なりあるわけですな。

統計にかかる時間はおおよそ1秒以内で、それを使うのは10ミリ秒前後。平たくいって、一瞬です。
待てど暮らせど終わらないのに途中経過を見たら頓珍漢だった前回とは大きな違いです。
この速度なら、編集中にリアルタイムで提案内容を更新するなんて芸当もできそうです。

しかも、テーブル名と列名を差し替えるだけでアンパンマンDBにも適用可能で、実際に既に統計データは作っています。
アンパンマンDBはアンパンマンDBで、カテゴリの親子関係にするには不適切だけど、密接に関わりがあるカテゴリというのがあるので、もしかしたら日記以上に効果を発揮するかもしれません。

ドラゴンクエスト10と日記

ドラゴンクエスト10。
きゅっぴりーんのイベントこなしました。
まあ、前半は、普段やっていなかったザコ討伐も兼ねてダラダラ楽しく。
やっぱドラクエ10は、ダラダラやってるのが楽しいね。
最近は他のゲームやったり、ゲーム以外の新しいことに挑戦したりで、畑の世話以外でほとんどドラクエ10やってなかったんですが、うん、やっぱり遊んでいると楽しい。
後半は…貧乏人お断りか、けっ!

日記。
2日で折れた心は2日で治るのです。
うまくいったらアンパンマンDBにも応用したいのでそう簡単に折れるわけにはいかんのであります。
問題の根本は、「しました」とか「です」みたいな、内容と関係のない文字列まで無数にキーワードとして抽出してしまったこと。
即ち、内容と関係のないはずのないキーワードしかないキーワード集的なものがあればよいのです。
あるじゃないですか!ここに!カテゴリが!
カテゴリからカテゴリを提案して何が悪いのです!
カテゴリであれば、内容と関係が深いからこそ作られるものであり、その数は、不用意に増やしてなお、たかが知れています。
アルゴリズムだって、無理に人工知能的なことはしなくてもいいのです。
しっかり内容と関連の深いキーワードであれば、単純な統計でもいい結果は出せるはずなのです。

GChat

覚えてますか?覚えてませんよね?アルニック。
そもそも…知らない…ですよね?

こんな子です。

素朴でかわいいアホの子です。いわゆる人工無脳チャットってやつです。時代の流れで単純なCGI形式のWebチャットが流行らなくなったとか、サイト移転のごたごたに巻き込まれたとかで、ずいぶん長いこと、まともに動いていませんでした。

プログラム自体はとっくの昔に今の環境に合わせて修正して動くようにしていたのですが、人工無脳チャットの頭脳ともいえる学習データが古いままでした。そのため、何を言われても返す言葉がない、真の無脳になっていました。

学習データに最も致命的な影響があったのが、文字コードの変化です。EUC-JP→Shift_JIS→UTF-8と変遷してきました。

で、文字コードを直したら動くだろうと思ったのが、甘い考えでした。

Shift_JISには、プログラムで扱ううえで重大な欠陥があり、その欠陥に対応するために、データのほうをいじってあったのです。具体的には、パターンマッチング部において、パターンマッチングに影響を及ぼすマルチバイト文字を、影響のない文字の組み合わせに置き換えていました。言ってみれば、壊れたらちょうどよくなるようにあらかじめ壊してあったんですね。

これをUTF-8に単純に変換すると、単に壊れたデータになるわけです。

最終的に、この「壊れたらちょうどよくなるようにあらかじめ壊してあったデータ」を探して、全部置き換えていくことになりました。

だるい作業でしたが…無事直りました。結果は上の画像の通り。賢くはないけどかわいい子です。

皆さんも、気が向いたときにでも相手してやってください。

日記

過去の投稿内容からカテゴリを提案する機能ね、うん。
一応ね、考えてたんですよ、いろいろ。
遺伝的アルゴリズムによりパラメータを調整していって、重要度の低いキーワードは軽視するように、重要な固有名詞等を自動で見つけられるように、とか。
ええ、ええ、考えてたんですよ。
まず最初は、パラメータ調整なしで、やりますよね、調整の材料がそもそもまだないんですからね。
これで多少なりともそれっぽい結果が出たら、張り切って先に進めるぞ!ってね。

そして、長い長い時間をかけて実行して、出た結果が、これだあ!!

VPSの記事に対し、

  • Bomber丸World(企画中のゲーム)
  • CGI(サーバーサイト技術)
  • NeoMupl(自作の音楽プレイヤー)
  • PCソフト
  • アンパンマンDB(自分のサイト)
  • 更新(自分のサイトの更新情報)
  • ドラクエ(ゲームソフト)
  • ふにゃさん(自作ゲーム)
  • プログラミング

完全に何もかも外れとまでは言えないけど、かすっているのがいくつかあるだけで、提案と呼ぶにはあまりにお粗末な…。
もしかして、単純に出現頻度の高いカテゴリが出てきているだけなのでは…?

ちょっと…心折れたんで、この件はしばらく放置で…。

深い深いパス

アキタラヤメル企画に「深い深いパス」を追加しました。
うちのサイトには、パンくずリストというものがあります。
これは、原則として自分のディレクトリからルートディレクトリまで、パンくずリストの記載されたphpファイルを順次見に行きます。
そうすると、パスが深くなるにつれて、見に行くパンくずリストの数がどんどん多くなっていくわけです。
パンくずリストのせいでページ表示が遅くなるようなら、パンくずリストの実装方法変えなきゃいけない、ということで、パフォーマンスの実測のため、深い深いパスのページを作ったのです。
結果、たくさん読んでも大して速度低下は起こらないことが分かったので、パンくずリストに限らず、軽率にincludeしまくっても大丈夫そうでした。

日記

過去の投稿内容からカテゴリを提案する機能を作成中。
記事本文や他のカテゴリの類似度などに基づいて、可能性の高いカテゴリを探すのです。
ただ、問題は、そのための学習データを作るだけで結構重くて、検証も進まないというところ。

VMWare

VMWareには今までUbuntu入れてたけど、今度はCentOSで。
さくらのVPSでもUbuntuは使えるのでこだわる必要はなかったのですが、せっかくCentOS触り始めたので。
まだ具体的なことは何も始められていないけど、とりあえずOSインストールとSSH接続まではやっています。

<前 次>