koruri project 作業記録 †2010/09/19 - Ruripeco Ver 0.6.03 †バグがあっておしゃべりが変になっていたので修正。 2010/09/19 - Ruripeco Ver 0.6.02 †DB 肥大化に伴い、単語収集作業での処理にかかる時間が収集サイクルを超えた遅さになってしまったので DB のリストラクチャと取り込み処理の高速化を行う。 DB 構造が変わってしまったので、るりぺこさんの SQL クエリを全部書き直し。同時に高速化を目指しているけれどもあまり早くなった気はしない。 2010/09/16 - Ruripeco Ver 0.6.01 †IE での読み上げページが崩れる問題とか細かい不具合を修正。 Firefox で音声再生すると末尾が削れる問題あり。HTML5 Audioクラスが不十分。調査中。 2010/09/15 - Ruripeco Ver 0.6.00 †単語辞書内の読み仮名項目を利用して「おしゃべりるりぺこ。」モードを追加。 ときたま (V:〜) とリンクが出てくるのをつつくと、そのツイートの文章を読み上げるページへ飛んでいく。ボタンを押すと読み上げ。たぶん Chrome だと音が出ない(HTML5 audio クラスが wav に対応していないため)。 mentionへの返信時と、おすすめ URL時はボイス生成をしません。通常さえずり時にボイスリンクが付いていないときがあるのはそういうものです(辞書が不十分で読み上げ生成できなかったときボイスはくっつきません)。 goo.gl が API で直接利用できなくなったため、短縮URL を bit.ly に変更。 2010/08/01 - Ruripeco Ver 0.5.04 †連鎖ワードの上位選択基準を「これまで連鎖として現れた回数」から「最も最近連鎖として現れた順」に変更。ホットな文に近い表現をするようになった。 フォロー返しする際の注目ワードをただのランダム抽出から、名詞DBの中で登場回数が多い物が選択されやすくなるように修正。 フォローしていて、かつ親しい人の TL を見て勝手に mention を飛ばすツッコミ機能を実装。「親しい人」の基準はるりぺこ宛に mention をくれる人。(spam避けのためある程度の回数は必要) 2010/06/27 - Ruripeco Ver 0.5.03 †フォロー返し機能を実装してみた。 投稿時にAPIエラーをくらうとその投稿をlostしていたが、エラー時は wait and retry するように修正。特に mention への返答が lost していたのが痛かったので対処。 2010/06/27 - Ruripeco Ver 0.5.02 †Twitter へのログイン認証を OAuth に変更した。 2010/04/25 - Ruripeco Ver 0.5.01 †連鎖文節や名詞の選択時、まるっきりの乱数じゃなくて繋がりやすさを留意した重み付けをしつつ乱数要素を加えるピックアップとした。 注目語から右方向への展開時に名詞間リンクが効いていなかったので修正。 2010/04/17 - Ruripeco Ver 0.5.00 †なんとなくコメントっぽいものをそえつつお勧めURLをリンクする「るりぺこ。リコメンド」機能が付きました。通常のさえずりに混じって適当な率で発動します。 おすすめサイトのタネははてなブックマークの「アニメ・ゲーム」「おもしろ」の新着からRSSからアットランダムに拾っています。 2010/04/15 - Ruripeco Ver 0.4.03 †文章生成のスタートポイントとなる流行語等の注目語の位置がこれまで文の先頭固定だったものを、任意の場所に置くようにした。注目しつつもそこへの導入が斜めからの袈裟懸けになる感じ。 文章途中の注目語から前後へマルコフ連鎖展開する形なので、これまでの一方向展開から二方向展開へと拡張している。 古いコードをばっさり切り捨てるなど。 2010/03/30 - Ruripeco Ver 0.4.02 †Ver0.3 で名詞の後に続く文節を統計的マルコフ連鎖で選んでつないでいたけれども、名詞以外の文節から次の名詞に続くときも統計的マルコフ連鎖でつなぐようにした。なんとなくぬるぬると繋がっている文。 隣接する名詞と名詞の間もできるだけ繋がるように配慮。 2010/03/16 - Ruripeco Ver 0.4.01 †mention対応の調整。話しかけられたとき、相手の文に含まれる名詞のうち先頭のものを注目語として取り扱っていたけれども、これを文中の全名詞のうち乱数でどれかを選択するように散らしてみる。 そこに反応するのかよ、といったあたりを演出。 2010/03/16 - Ruripeco Ver 0.4.00 †mention対応。@ruripeco で語りかけると忘れたころに何らかの返事を返すかもしれません。ただし、あいさつ系にはめちゃ弱いので通常会話を推奨。 いろいろ回避のため、短時間内でのmention連投時はすべてを拾わないときがあります。あしからず。 これまでさえずり間隔がきっちり30分間隔だったものを 15〜30分の間で割りとばらつきを持たせてさえずるように改良。 おしゃべり能力自体は変化ありません。 2010/03/13 - Ruripeco Ver 0.3.02 †今話題の単語から引っ張ってきたものがNGワードだったりすることがあるのでそういった場合は除外するよう処理。 NGワードといってもヤバイ言葉というよりか単語になっていないゴミ文字のことですが。 2010/03/12 - Ruripeco Ver 0.3.01 †文のきっかけになる注目単語を1/2の確率で今話題の単語に選択する。もう半分はこれまで通り全名詞の中からランダムに抽出。 いくつか細かいバグ修正。 2010/03/09 - Ruripeco Ver 0.3.00 †文章テンプレートによらない新アルゴリズム版。 これまでは、文のテンプレートを持って名詞だけをランダムに差し替えるという単純な乱数作文だったのだけれども、名詞の後に続くフレーズ(名詞以外の品詞)を統計的に抽出しより自然な接続となるようにした。 名詞単位での文連続性という今までの大まかな流れと、名詞の後に続きやすい語句という二つのアルゴリズムを持つ。 2010/03/04 - Ruripeco Ver 0.2.03 †実験的に名詞連続リンク間の距離を最短にしてみるテスト。 同じ単語を繰り返す現象を回避するコードを入れてみる。リンクが途切れた際は全く関係のない単語をランダムで選ぶようになっちゃうけど仕方ないね。 さえずり間隔を15分から30分に落とす。 2010/02/27 - Ruripeco Ver 0.2.02 †名詞連続リンク間の距離を縮めてみるテスト。 繰り返し言葉を発する時がある弊害が現れたけれども、それはそれで面白いので様子見。 2010/02/24 - Ruripeco Ver 0.2.00 / 0.2.01 †1センテンス内にある単語は連続する可能性の高い単語といった基準で、後に続きやすい単語を統計解析したテーブルを作成。既存の全センテンスから単語リンクを抽出。 その単語リンク(しやすいよ)テーブルを用いる様に「るりぺこ。」を改良。名詞適用部のみだけれどもマルコフ過程っぽいアルゴリズムを持ち始めたということで Ver 0.2 に格上げ。 最初にランダムで名詞を抽出し、以後はそれに(統計的に)続きやすい単語からランダムで選ぶ。もしリンクが切れたら、また全体からランダム抽出して繰り返し。 ランダム作文であることは変わらないのだけれども、ある程度抽出名詞の偏りを作ることで少しずつ意味がありそうな物に見えていく……かもしれない。 2010/02/21 - Ruripeco Ver 0.1.06 †作業のため一時停止した。 データベース内の文字コードがおかしかったので、全部止めて文字コードをコンバートする作業などをおこなった。 語尾があまり可愛くないときがあるので、テンプレートを手で編集した。 2010/02/17 - Ruripeco Ver 0.1.05 †人名がやたら多く混ざる理由はどうもはてなキーワード由来の語彙にあるらしい。 名詞テーブルのはてなキーワード関連を拾わない様に、Twitterクロールで拾った単語のみを使う様にしてみる。 2010/02/16 - Ruripeco Ver 0.1.04 †文章が破綻する主要因は「人名」にあるだろう、ということで名詞データベースに「人名っぽさ」というスコア情報を付与。 テンプレートにも人名が入りやすいところ、入りにくいところという情報を付与して自然な文っぽくなるようにしてみた。 これら「人名っぽさ」スコアはデータからの自動解析で算出しているので信頼度はまだ全然低いのだけれども、とりあえず的に様子見。 テーブルに template_ruripeco というるりぺこ。専用テンプレートテーブルを作ってそっちで「人名っぽさ」スコアを試験実装。 2010/02/14 †Wikiの設置、公開できるレベルまで編集。 2010/02/12 †さえずりの名詞数を 2〜6個のランダムに設定。テンプレート内の名詞が足りなかったら、いくつか連結して長めの投稿になるようにした。カオス度アップ。 2010/02/11 †Twitter の @ruripeco アカウントでさえずり開始。 2010/01/10 †実験しつつデータ収集を開始。実質koruriの発足日。 過去ログ †そのうちたまったら |