トップ «前の日(06-08) 最新 次の日(06-10)» 追記

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|09|10|11|12|
2026|01|02|03|

2002-06-09



タイトル

普段使ってる Mozilla ではめもプリがしんどいのでやめ。なんとなくタイトルを置いてみました。手書き。


_ 音楽

ぴたテンを見てたらなんとなくトレジャーハンター G の音楽を思い出しました。CD 置場のかなり奥底に眠ってて、埃被ってて大変。サントラの CD から mp3PRO に encode 。久しぶりに聞きました。ああまさにゲームミュージック。


このサントラの面白いところは曲名。たとえばこう。この辺はラスボスからエンディングの曲なんだけどこの曲名。


18_死ぬかもしんない.mp3
19_演歌見習.mp3
20_演歌の帝王.mp3
21_雨の長浜岬.mp3
22_ACROSS_THE_WORLD.mp3



あと、せっかくなので MACROSS PLUS の音楽も mp3PRO に encode 。そいや、for fans only な CD に菅野よう子のこんな言葉があったよ。


「大人が本気で遊ぶとすごいんだぞ。」


やっぱすげぇよ。ヲレこんなこと言えないもん。


_ メガネ

というわけでメガネを改修。


メガネ改修よろしく〜と店員に言ってから出来上がるまで 1 h 暇潰してろということで、玉川高島屋の地下にあるミラにて暇潰し。新しいケーキかしら。


ほどよく時間を潰してメガネを改修。新しいやつ。3 段階ほどアップしたそうな。なにが。1 段階が視力でいうと 0.25 くらいになるそうです。


玉川高島屋からの帰路にさっそく着用。世界が違うっすよダンナ。いままで使っていたメガネは左右の視力のバランスが悪かったのですね。どーりでなんか違和感があると思ってたんだ。


今日は目当ての店員さんが居なかったのでショボーン。もう当面来ないけど。


_ 今日のお買物



_ 今週の目標

I.D. より。


「迷わず行けよ」



2003-06-09

_

ああいかん。ヤバい兆候だ。

_ Riece

ふむ。Rieceってこれすか

_ ジャンプ

週間少年のやつ。HUNTER X HUNTER は相変わらず炸裂してた。ていうかワンピースはそーいう展開かよっ。

_ むぅ

たくみさま離脱か。うーむ。

_ おやつ

コージーコーナーのケーキ

ケーキ
本日のツッコミ(全8件) [ツッコミを入れる]

Before...

_ みわ [エネルなり。これで世の子供たちは雷の日でもゴムを装着(ってなんかアレだ)して外に出れば安全と思うようになってしまうの..]

_ たくみ [俺の屍を超えて行け(何]

_ みわ [たくみさまは萌え死んでしまった...]

_ さいき [たくみさまの屍は、高幡不動か高尾にあるんだろうか?(何]

_ のぶ [んじゃ、八王子に1票(何]


2004-06-09

_

なんか Z ガンダムと戦ってたよ。素手で...。

_

だるい。

昨日昼寝しすぎてなかなか寝付けなかったのでごにょごにょと考えていたら精神が疲れてしまった。

なにもないと簡単に鬱な状態になってしまう。

イイ気分か、もしくは鬱か。

0 か 1 か、みたいで分かりやすい。

そんなわけで朝から鬱。

肉体も疲れてる。

なんかイイことないだろか....。

_ 仕事

0655 出勤。

フロアの灯り点いてるし。

_ 電撃

やっぱ売ってないよ新丸子駅近所の本屋。

_ はぅぁ

今日って 10 日じゃなかったのか!

したら、電撃って明日じゃん...。

_

1800 〜 1910 ころまで昼寝。

_

いつもよりかなり少なめに食ってみた。

ふむ。

これくらいか。

_ 駄菓子かし

おやつ食っちゃったよ XD

意志弱いなヲレ....。

p6080001.jpg

_ トロハブ

インストール。

01.png

本日のツッコミ(全5件) [ツッコミを入れる]

_ エミ [トロキタ━━━━━━(゜∀゜)━━━━━━ !!!!]

_ みわ [イッターーーー。でもハブのトロの右手が動かないのですヨ。]

_ さいき [陸奥の技を習得すればきっと素手でもZガンダムも起動停止に追い込むことが(w]

_ みわ [鬼の技とかいうやつデスカ。]

_ さいき [鬼神の使う阿修羅の技です。きめる・なげる・そして折るこの連動でZの腕もきっと(無理か?]


2005-06-09

_ 起床前

仕事に遅刻して全休する夢を見た。

不吉な。

_

0640 起床。

ねむ。

_ 仕事

0750 へいしゃー。

_ 会議

毎週恒例のグループ会議というのがある。

私が所属しているグループ 6 人での現状報告会議である。

しかし、この会議の空気が悪い。険悪な雰囲気というか。

そのように感じているのは私だけかもしれないけど。

会議してても面白くない。

というかやりたくない。

なぜ険悪だと感じるのか。

もうしばらく観察してみよう。

_ ICVSOC構成員

成り立ちなどの詳しいことは知らないのだけど IRC には太古の昔から ICVSOC という組織が存在している。

と思ったら説明しているのですね。ああでも「 あゆみ 」などのページが 404 Not Found ですわっ

ICVSOCとは?ジョーク RFC みたいでナイスです。

さて、ICVSOC 構成員になる条件は以下だろうか。

  • IRC チャネル %CV に居る
  • 濃い

私は %CV には居るのだけど、いわゆる「 濃いひと 」ではなく、活動範囲も狭く、存在感も薄いために ICVSOC 構成員ではなかった。

目立ちたがりな私にとって ICVSOC 構成員になり尊称を与えられることはじつはちょっとした野望であった。

先日までは ICVSOC 構成員に nick は載っていた。しかし尊称がなかった。いつかヲレもー などと思いつつ悶え悶えて はや幾年。

そしてとうとう最近のロマサガ旋風や双子ブームの追い風もあり尊称を与えられた次第である( 2005-06-06 )。

ついにねんがんの尊称を手に入れたぞ!

みたいな。

自分がネタになることは大好きなので本心では喜んでます。

精進しないと。

ちなみに ICVSOC 構成員の尊称と IRC nick とリアルネームの対応はほとんど分かりません笑

_ FF7ACアドベントチルドレン、各ネット通販で予約開始!

( めっつぉ )

というわけで予約してしまった。

_ 仕事

ぼちぼちと設計を開始した。

楽しい。

そして 1 つの作業に集中できる状況である。

ほかの仕事がない。

幸せ。

_ 買物

amazon 。

4047041947

_

たけのこごはん、コールスロー、味噌汁。

p6090003.jpg

たけのこごはんは醤油の量をいつもより 2 倍にしてみた。

晶かに色が変わったのだけどちとしょっぱいな...。

食卓にビールを。

p6090004.jpg

畑亜貴さんが白ビールを飲んでいた ので買ってみたけど、なんか、いまいちうまくないな。

色が白っぽいし。

ああ、だから白ビールというのか。

久しぶりに酒を飲んだらものすごく酔っ払ってしまった。

_ Microsoft Windows Media Player

清水愛 箱入り柘榴姫 を聴いてるときにうにょうにょと遊んでいたらこんなエフェクトを発見した。

ザ・ワールド。

ただそれだけ。

w.png

って 箱入り柘榴姫は今月で終わりだってー。

畑亜貴を出せー。そっちかよ。そっちです。


2006-06-09 :-)

_

0630 起床。

ねむ。

_ 月下美人が咲いたよ

どうやら月下美人ではなくクジャクサボテンであったという衝撃の事実が判明。

ありゃ ^^;

うちの 月下美人はこんな感じっす

_ 仕事

1000 川崎。

1900 退勤。

基板が無いので動作確認できない笑

_

きくらげの炒め煮、キャベツと豆腐のとろみ汁。

まぐろかぶと煮がまだあったので消費した。

img_0577.jpg

  1. きくらげをお湯に入れて戻す
  2. フライパンにごま油を入れて熱する
  3. きくらげを入れて強火で炒める
  4. 豆板醤を入れて混ぜる
  5. しょうがとねぎを入れて混ぜる
  6. 酒、醤油、砂糖、水をテキトーに入れる

2007-06-09 :-(

_ だるる

0630 起床。だるいので 2 度寝

0730 起床。だるいのだけどがんばっておっき

平日の疲れが抜けてないす。

_ [Ruby][日本Ruby会議2007][RubyKaigi2007]日本 Ruby 会議 2007 1 日目

Ruby のプログラムほとんどさっぱり書いてないしいまだにファイル開閉の仕方も身についていないのだけどせっかくだから行ってきました。

受付

入場したらネックストラップを受け取りました。自分の名前を書いて首にぶらさげます。

img_4195.jpg

img_4196.jpg

RubyKaigi07

img_4197.jpg

カバンを貰いました。No Ruby, No Life

img_4202.jpg

IRC

IRC チャネルが用意されてました。講演プレゼンテーションのスライドスクリーンの横に IRC の画面が映されてました。Binary 2.0カンファレンス2006[ 2006-12-15 ]のときも IRC チャネルがありましたね。Binary 2.0カンファレンス2006 のときは私は会場に行かなかったので( チケット買えなかった ) IRC に参加したのだけど、IRC はそれはそれでものすごい盛り上がってて面白かったです。今回の日本 Ruby 会議でも講演に対して IRC に居るひとから鋭いツッコミが入ったりしてました。その模様を写しているスクリーンを見ていた観客から爆笑が起きたり歓声が起きたりして面白かったです。

プログラム

1 日目のプログラムはこちらです。

講演者も客席もなんだか Macbook が多かったです。

以下メモしたところだけ。

Ruby 1.9実装の現状と今後 (ささだ こういち)

  • Ruby 1.9.1 は 2007-12-25 リリース!
  • VM を導入する → VM 速いよ
  • 並列処理に対応すると既存のライブラリがほとんど使えなくなるので並列処理は対応しない
  • 継続かわいいよ、継続
  • Fiber 入れる ( Fiber ってこれか → [ 2006-07-02 ] )
  • リリースしないとバグが減らない

JRuby: Ruby for the Java Platform (Charles Nutter / Thomas Enebo)

講演者は sum.com のひと。普通に英語をしゃべるんですが英語はさっぱり分からないです orz

  • JRuby 1.0 Release!
  • デモを動かしてた
  • タイピング速い! これがプログラマというものか
  • DB と Java の資産を Ruby から使える → ウマー
  • 質疑応答も英語。わかんない orz

セッション 弐 13:00 - 14:00 基調講演 (まつもと ゆきひろ)

  • 2007年とその先のRuby
  • Ruby 2.0 は Perl6 の 2 年後に出す :-)
  • Perl はニンジン
  • 「 飲み屋で『キーワード引数を実装しようぜ』と盛り上がった、しかしよく検討してみたら無理だと気づいた」
  • → IRC からツッコミ「 所詮飲み屋の妄想 」

以降のセッション参も聞いたのだけど、どうにも全身がだるくて講演の半分くらいを寝てました。体力の限界を感じたので途中で引き上げました。うう。ライトニングトークスは楽しみににしていたのに orz

_ [おひる][すぎやまこういち][やぶそば][じゅんさいそば]おひる

すぎやまこういちさんのお気に入りの店を探訪するよシリーズ。

日本 Ruby 会議のお昼の休憩時間に神田の「やぶそば」へ行ってきました。

手前に看板がありました。

img_4198.jpg

店の入り口です。

img_4199.jpg

12:00 ころに到着したら 10 人くらい行列がありました。店内は満席に近いんじゃないかしら。5 分くらい待機してお店に入りました。メニューに「 いまのお勧め 」とあったので じゅんさいそばです。

img_4201.jpg

ref.

_ [おやつ][ヤマザキ]おやつ

ヤマザキのケーキ。

_ [4行日記]4行日記

  • 【事実】ウェブ巡回した
  • 【気づき】光田康典さんのブログを読んだ( MITSUDA'S DIARY m(_ _)m。コンサートがあることを知った。すでに申し込み終了だった。「Destiny : Dreamer's Alliance」前売チケットお申込フォーム。なんてこった。平日に仕事場でウェブ巡回してるんだが、「 1. 光田康典さんのブログは RSS 全文配信してない」「 2. fc2.com ブログは仕事場からアクセス禁止されてるので全文を確認しようとしても出来ない 」ということでさっぱりチェックできていなかった。全文を見てなかったから見逃してたかもしれない。
  • 【教訓】たくみから「 アクセス禁止されてるならケータイを使えばいいのに 」と助言を貰った
  • 【宣言】ケータイも活用して情報を逃さないようにする。通勤、帰宅中にケータイでウェブ巡回すればいいか。もしくはブックマークしておいて【あとで読む】

メールマガジンもいま読みました orz

【Hopeful Weeds Vol.28】光田康典&崎元仁氏主催のコンサート開催決定!!

ああああ予定曲目に「ラクガキ王国2〜魔王城の戦い〜 」とか「Colors of Life / Lia」とか「ロミオ×ジュリエット」とかありますよ....orz 。Lia が来るのかしら。それはないか。

本日のツッコミ(全2件) [ツッコミを入れる]

_ たくみ [マジレスすると、業務中に携帯いぢっていいの?ってのはこの際忘れましょう。]

_ みわ [たくみ 昼休み中にやるます。業務中はいろいろな意味でマズイ (´ω`;)]


2008-06-09 :-)

_ 朝ったー

0530 起床。

_ [キングダムハーツ2][下村陽子][宇多田ヒカル]通勤ったー

キングダムハーツ2

ゲーム未プレイ。作曲は下村陽子さん。「Passion」を宇多田ヒカルさんが歌っています。

ディズニーとファイナルファンタジーシリーズとのコラボレーション作品( ref. キングダムハーツII - Wikipedia )となっているようにディズニーの曲や FF の曲( 「One-Winged Angel」( FF7「片翼の天使」) )もあります。「Fragments of Sorrow」など前作( キングダムハーツ1 )から流用している曲もいくつかあります。登場するキャラクター( やそのキャラクターが所属する世界 )が多彩なために曲も多彩です。

「Swim This Way」のように歌が付き、ミュージカル風味な曲があるんですが、どうも聴いていてもノリ切れないというか盛り上がり切れません。歌は要らないんじゃないかなあ。ゲームの演出なのだろうけど。

B000BRWJ9C

_ 仕事

0830 出勤。

_ [Plan9][NetBSD][puffs][FUSE]NetBSD puffs の文脈で登場する「9P」ってなに?

ref. Filesystems in userspace: puffs, refuse, FUSE, and more

9P file servers

man mount_9p

The mount_9p program is used to mount a file hierarchy served with the Plan 9 file sharing protocol

_ オレオレ

あーなにここってオレオレ証明書使ってるんですね。

_ 小二病

オマーン

オマリー

ちんすこう

_ 電車内で PSP をよく見かける

周囲 6 人のうち 4 人が PSP 使ってるとかよく見かけます。何のゲームやってるか見てないけど。

_ 音楽屋が計算機をいじるなら逆も然り

計算機方面のひとが音楽やってる場合も多々あります。

身近な例だと( 続きは CM のあとで )

_ [][えびのチリソース]飯

えびのチリソース(ref. きょうの料理 2005-01 pp88-89)

img_5837.jpg

本日のツッコミ(全2件) [ツッコミを入れる]

_ まきにゃ [PSPで4人、無線LAN使ってたらMHP2Gで狩りに行っているのではないかと(笑) 電車以外にもファミレス等で、見ず..]

_ みわ [まきにゃさん: あーなるほど。狩りですね。ちっともうらやましくないですよプンスカ]


2009-06-09 :-)

_ 朝ッ

0530 起床

_ 仕事

0830 出勤。

_ CBUG 22nd meeting 懇親会

参加登録した。

_ [リッジレーサー7]リッジレーサー7

オンラインバトル。ぐう。ULTRANOVA なんて使いおって。

  • 走行距離 21485.427 km
  • RSGP 進行度 100.0 %
  • 名声 18624 FP

_

20090609_0.jpg

マッシュポテトのグラタン


2010-06-09 :-)

_ 朝ッ

0520 起床

_ 仕事

0830 出勤

3D モデリングと遊ぼう

_ [プログラミング][自習][勉強]もう一つ別の言語を学ぶには

抜粋

  • 即座にコーディングを始める
  • プロジェクトを立ち上げる
    • e.g. C# で FTPクライアント
      • ウィンドウ, aero, ソケット, マルチスレッド
      • クラスコンストラクタ, 型変換, パスワード暗号化
    • プロジェクトを移植
      • 1 対 1でもおk
  • ほかの人の書いたコードを読む
    • SourceForge, Google Code, github
  • その言語についての良い本を読む

_ 接骨院行ってきた

肩こりの自覚はなかったんだが( 肩こりがどういうものか分からなかったので自分が肩こりなのかそうでないのか判断できなかった )先日知り合いから「肩こってる」といわれたので診断してもらう意味で人生初の接骨院に行った。当初は整体に行くつもりだったんだけどまあいいや

オレ「肩こってる?(・ω・)」

院長「こってる ヽ( ´ー`)ノ」

_ [hns][tdiary]hns から tdiary へデータを移行した

概要

hns のころの日記を見ようとして【中略】 hns を動作させるのが面倒くさくなったので移行してみることにした。

これ

tDiary-users wiki - hnsから移行したいのですが、データの移行方法はありますか?

環境

  • tDiary version 2.3.3.20090826
  • Ruby version 1.8.7-p174

ツール

最新(?)の 移行ツールがこちら nemuiDoc: Hns2TDiary

手元だと tdiary データの文字コードが UTF-8 だったりするので変更しておく

--- hns2td.src	2003-05-20 19:06:49.000000000 +0900
+++ hns2td	2010-06-09 20:12:10.000000000 +0900
@@ -22,9 +22,11 @@
 #                                      *SUB changed: b -> h4
 #

-$KCODE = 'e'
+$KCODE = 'u'

 require 'tdiary'
+require 'cgi'
+require 'kconv'

 module TDiary
   class TDiaryConvert < TDiaryBase
@@ -444,7 +446,7 @@
     def convert(filename)
       y, m, d = filename.scan(/(\d\d\d\d)(\d\d)(\d\d)/)[0]
       @date = Time::local y, m, d
-      @body = File::readlines(filename).join.to_euc
+      @body = File::readlines(filename).join.toutf8
       @title = ''

       @io.transaction(@date) do |diaries|
@@ -466,7 +468,9 @@
   end
 end

-tdiary = TDiary::TDiaryConvert.new(nil, nil, TDiary::Config.new)
+cgi = CGI::new
+conf = TDiary::Config.new( cgi )
+tdiary = TDiary::TDiaryConvert.new(cgi, nil, conf )

 ARGV.each do |f|
   tdiary.convert f

移行手順

~/diary-hns に hns のデータがあり、~/diary に既存の tdiary データがある。hns の 2003年5月と tdiay の 2003年5月が重なってるはずなので( そのときに tdiary を使い始めたため ) 念のため tdiary データをコピーしておく( 結局これは杞憂だった。hns2td がイイ感じにマージしてくれるようだ )

% cd ~
% cp ~/diary ~/diary.td
% cd ~/public_html/diary
% ./hns2td ~/diary-hns/200?/*.hnf

コンバートされた箇所を確認しておく。

rin@hitomi[~]% diff -uqr diary.td diary

結果

hns の「場所」がセクションになったりしてるけど、まあじゅうぶんだろう。

一番古いのはこちら [ 20010801 ]

昔のほうが日記らしかったなあ。

_ RR7愛車の変遷

ビゾンテ

アベイユ

マグニフィコ

ベイヨネット ←DYN車練習開始

エスペランザ

フィエラ

スザク

ベイヨネット ←交流戦前

フィエラ ←交流戦後

アベイユ ←STD車レース前後

フィエラ ←いまここ


2011-06-09 :-(

_ 午前

0500 起床

0830 出勤

0900 行列計算

_ 午後

1300 行列計算

_

1700 残業アワー

2115 退勤

2300 飯。豚肉の生姜焼き

_ [NetBSD][IPv6]hubertf's NetBSD blog - NetBSD and the World IPv6 Day

June 8th 2001 was announced as World IPv6 Day, where some major websites would increase adoption of the "new" internet protocol by actually using it.

2001 年 6 月 8 日 { 2011 年だよね?? } World IPv6 Day が告知された。いくつかの有名なウェブサイトは 新しい インターネットプロトコルを実際に使用することにより少しずつ採用している。

Interested NetBSD users have a variety of options to get NetBSD to talk IPv6, and Eric Haszlakiewicz has posted about his experience: ``If anyone else has been putting off setting this up because it seemed like it would be hard to do, I urge you to give it a shot.''

面白いNetBSD ユーザーは 様々なオプション により NetBSD で IPv6 をしゃべらせることが出来る。Eric Haszlakiewicz は 彼の経験について投稿した。「他にこれを設定するひとが居ないと、それをやるにはしんどいので、みんなもやろうよ」

To test ones IPv6 connectivity, there are several websites available.

IPv6 接続性をテストするならば、いくつか ウェブサイト| 使える


2012-06-09 :-)

_ 午前

1030 起床 || 部屋掃除

_ 午後

1230 おひる

1300 アニメ消化

_

1700 買い物

2100 飯


2013-06-09 :-)

_ 午前

0900 起床

1010 おひる。カルボナーラ

1030 コーヒー

1100 アニメ消化

IMG_1918

IMG_1920

_ 午後

1400 スクレイピング

1500 散歩

スイカが成っている。

IMG_1925

IMG_1927

IMG_1921

_

1700 係り受け解析

2130 飯。豚の角煮

2200 マンゴー

IMG_1930

IMG_1931

_ [はてな][スクレイピング][ruby][mechanize]はてなブログをスクレイピングする

# coding: utf-8

# hatenablog をスクレイピング
#
# 使い方:
#   hatenablog.rb <hatenablog URI> [カテゴリ]
#
# 例:
#  ruby hatenablog.rb http://jkondo.hatenablog.com/ > jkondo.txt
#
#  ruby hatenablog.rb http://dennou-kurage.hatenablog.com/ 仕事観 > kurage.txt
#


require 'mechanize'
require 'uri'
require 'pp'

def get_text(uri)
  agent = Mechanize.new
  agent.get(uri)
  
  texts = ""
  
  while true
    agent.page.at("//div[@class='entry-content']").children.each {|node|
      text = node.text
      texts << text
    }
    link = agent.page.link_with(:text => '次のページ')
    break if link == nil
    agent.page.link_with(:text => '次のページ').click
  end

  return texts

end


def main(argv)
  uri_base = argv[0]
  cat = ""
  if argv[1] != nil
    cat = "category/" + URI::encode(argv[1])
  end
  uri = uri_base + cat
  text = get_text(uri)
  puts text
end

main(ARGV)

_ [自然言語処理][係り受け解析][構文解析][ruby][NLP]テキストを係り受け解析する

前提

テキスト解析サンプルコード:係り受け解析 - Yahoo!デベロッパーネットワーク

日本語係り受け解析API の制限が以下のようになっている。

日本語係り受け解析Web APIは、24時間以内で1つのアプリケーションIDにつき50000件のリクエストが上限となっています。また、1リクエストの最大サイズを4KBに制限しています。詳しくは「利用制限」をご参照ください。

UTF-8 エンコード 1 文字は最大 4 バイトでエンコードされるとする。

それを URI.encode すると最大 12 バイトになると見積もる

( たとえば 4 バイト 0xAA 0xBB 0xCC 0xDD であるとすると、これが URI.encode されるとテキストで表現されるので %AA %BB %CC %DD の 12 文字、つまり 12 バイトになる )

↓リクエストパラメータのうち &sentence= までで 152 バイトある。

http://jlp.yahooapis.jp/DAService/V1/parse?appid=<あなたのアプリケーションID>&sentence=

↓リクエストに指定できる sentence としては 3848 バイト。

(4 * 1000) - 152 = 3848

上述のように 1 文字 12 バイトとして 320 文字まで指定できる。

3848 / 12 = 320

320 文字はギリギリなので、これをプログラムで扱うときは。まあざっくり 300 文字までとしてみる。

与えられたテキストが長文だった場合を考慮して、最初に「。」でぶったぎっておいて、300 文字を超えないように文を再度連結していく。しかしそもそも「。」までが 300 文字を超えるような文もあるわけだが、それは無視する(どこで区切るのか割りと重要かもそれんけどよく分からないのでスルー)。

実装

とりあえず作ったのがこちら。

syntactic.rb としておく。

# coding: utf-8

# Yahoo デベロッパーネットワーク の 日本語係り受け解析API を使う
# http://developer.yahoo.co.jp/webapi/jlp/da/v1/parse.html

require 'uri'
require 'open-uri'
require 'rexml/document'
require 'pp'

module NLP
  module Syntactic

    SENTENCE_LENGTH_MAX = 300

    def parse(xml)
      syntactic ||= []
      
      doc = REXML::Document.new(xml)
      doc.elements.each('ResultSet/Result/ChunkList/Chunk') do |chunk|
        chunks = ""
        chunk.elements.each('MorphemList') do |ml|
          ml.elements.each("Morphem/Surface") do |mo|
            chunks << mo.text
          end
        end
        syntactic << chunks
      end
      
      return syntactic
    end

    def build_sweep(text)
      text.gsub!("\n", "")
      text.rstrip!
      text.lstrip!
      text.gsub!(/\A +/, "")
      text.gsub!(/ /, "")
      text.chomp!
      text.gsub!(/[\r\n]/, "")
      return text
    end

    def build_sentence(text)

      text = build_sweep(text)

      request_sentence ||= []
      
      if text.length < SENTENCE_LENGTH_MAX
        request_sentence << text
      else
        lump = ""
        text.split(/。/).each {|sentence|
          s = sentence + "。"
          if (lump + s).length < SENTENCE_LENGTH_MAX
            lump << s
          else
            request_sentence << lump
            lump = ""
            lump << s
          end
        }
      end
      
      return request_sentence
    end    

    # 文章が長いのは無視
    def _analysis(text)
      apiuri = "http://jlp.yahooapis.jp/DAService/V1/parse"
      appid = "?appid=" + ここにあたなのAPI IDを入れる
      sentence = "&sentence=" + URI.encode(text)
      request_uri = apiuri + appid + sentence

      syntactics = ""

      begin
        response = open(request_uri).read()
        syntactics = parse(response)
      rescue => e
      end
      return syntactics
    end


    def analysis(text)
      syntactics ||= []
      sentences = build_sentence(text)
      sentences.each {|s|
        syntactics << _analysis(s)
      }

      return syntactics
    end

  end
end

使うときはこう。

# coding: utf-8

#
# 与えられたファイルを係り受け解析する
#

require 'pp'

require './syntactic'
include NLP::Syntactic

def build(text)
  return NLP::Syntactic::analysis(text)
end

def read(text)
  File.open(text).read
end

def main(argv)
  infile = argv[0]
  text = read(infile)
  syntactic = build(text)
  puts syntactic.join("\n")
end

main(ARGV)

_ [ベイズ][自然言語処理][ナイーブベイズ][ruby][NLP]文章をナイーブベイズする

以前作業しておいたナイーブベイズ[ 20130505#p04 ] を利用する。

# -*- encoding: utf-8 -*-

#
# ナイーブベイズを用いたテキスト分類 - 人工知能に関する断創録
# http://aidiary.hatenablog.com/entry/20100613/1276389337
#


def maxint()
  return 2 ** ((1.size) * 8 -1 ) -1
end

def sum(data)
  return data.inject(0) {|s, i| s + i}
end

include Math
require 'pp'
require 'json'
require 'yaml'

module NLP

  # Multinomial Naive Bayes
  class NaiveBayes


    def initialize()
      # カテゴリの集合
      @categories = []

      # ボキャブラリの集合
      @vocabularies = []
      
      # wordcount[cat][word] カテゴリでの単語の出現回数
      @wordcount = {}

      # catcount[cat] カテゴリの出現回数
      @catcount = {}
      
      # denominator[cat] P(word|cat)の分母の値
      @denominator = {}
    end
    
    # ナイーブベイズ分類器の訓練
    def train(data)
      data.each {|d|
        cat = d[0]
        @categories << cat
      }
      
      @categories.each {|cat|
        @wordcount[cat] ||= {}
        @wordcount[cat].default = 0
        @catcount[cat] ||= 0
      }
      
      # 文書集合からカテゴリと単語をカウント
      data.each {|d|
        cat, doc = d[0], d[1, d.length-1]

        @catcount[cat] += 1
        doc.each {|word|
          @vocabularies << word
          @wordcount[cat][word] += 1
        }
      }
      
      @vocabularies.uniq!
      
      # 単語の条件付き確率の分母の値をあらかじめ一括計算しておく(高速化のため)
      @categories.each {|cat|
        s = sum(@wordcount[cat].values)
        @denominator[cat] =  s + @vocabularies.length
      }

    end
    
    
    # 事後確率の対数 log(P(cat|doc)) がもっとも大きなカテゴリを返す
    def classify(doc)
      best = nil
      max = -maxint()
      @catcount.each_key {|cat|
        _p = score(doc, cat)
        if _p > max
          max = _p
          best = cat
        end
      }
      
      return best
    end
    
    # 単語の条件付き確率 P(word|cat) を求める
    def wordProb(word, cat)
      return (@wordcount[cat][word] + 1).to_f / (@denominator[cat]).to_f
    end
    
    # 文書が与えられたときのカテゴリの事後確率の対数 log(P(cat|doc)) を求める
    def score(doc, cat)
      # 総文書数
      total = sum(@catcount.values)
      
      # log P(cat)
      sc = Math.log((@catcount[cat]) / total.to_f)
      doc.each {|word|
        # log P(word|cat
        sc += Math.log(wordProb(word, cat))
      }
      return sc
    end
    
    # 総文書数
#    def to_s()
#      total = sum(@catcount.values) 
#      return "documents: #{total}, vocabularies: #{@vocabularies.length}, categories: #{@categories.length}"
#    end
  end


end # end of module


if __FILE__ == $0

  # Introduction to Information Retrieval 13.2の例題
  data = [
    ["yes", "Chinese", "Beijing", "Chinese"],
    ["yes", "Chinese", "Chinese", "Shanghai"],
    ["yes", "Chinese", "Macao"],
    ["no", "Tokyo", "Japan", "Chinese"]
  ]
  
  # ナイーブベイズ分類器を訓練
  nb = NLP::NaiveBayes.new
  nb.train(data)
  p nb
  puts "P(Chinese|yes) = #{nb.wordProb('Chinese', 'yes')}"
  puts "P(Tokyo|yes) = #{nb.wordProb('Tokyo', 'yes')}"
  puts "P(Japan|yes) = #{nb.wordProb('Japan', 'yes')}"
  puts "P(Chinese|no) = #{nb.wordProb('Chinese', 'no')}"
  puts "P(Tokyo|no) = #{nb.wordProb('Tokyo', 'no')}"
  puts "P(Japan|no) = #{nb.wordProb('Japan', 'no')}"
  
  # テストデータのカテゴリを予測
  test = ['Chinese', 'Chinese', 'Chinese', 'Tokyo', 'Japan']
  puts "log P(yes|test) = #{nb.score(test, 'yes')}"
  puts "log P(no|test) = #{nb.score(test, 'no')}"
  puts nb.classify(test)
end

_ [構文解析][係り受け解析][社畜][ベイズ][自然言語処理][ナイーブベイズ][ruby][NLP]文章が社畜的かどうかをナイーブベイズ推定する

準備

社畜的文章の学習データとして 脱社畜ブログ のカテゴリ 仕事観 を利用する。

非社畜的文章の学習データとして jkondoのはてなブログ を利用する。

先ほどのコード[ 20130609#p04 ]でスクレイピングする。

% ruby hatenablog.rb http://jkondo.hatenablog.com/ > jkondo.txt
% ruby hatenablog.rb http://dennou-kurage.hatenablog.com/ 仕事観 > kurage.txt

先ほどのコード[ 20130609#p05 ]で係り受け解析しておく

% ruby parse.rb kurage.txt > kurage.2.txt
% ruby parse.rb jkondo.txt > jkondo.2.txt

判定の実装

先ほどのナイーブベイズのコード [ 20130609#p06 ] を利用する。

企業戦士として名高い クラウド・ストライフさん のセリフを社畜判定してみる。( FFシリーズ セリフ人気投票 )

# coding: utf-8

require './naivebayes'
require './syntactic'
include NLP::Syntactic

def get_words(text)
  words = NLP::Syntactic::analysis(text)
  words.flatten!
  words.map! {|w|
    w.gsub(/[、。\n]/, "")
  }
  return words
end


def build_learning(filepath, cat)
  lines = File.open(filepath).readlines()
  lines.map! {|w|
    w.gsub(/[、。\n]/, "")
  }
  data = [cat, *lines]
  return data
  
end

def classify(nb, text)
  words = get_words(text)
  cat = nb.classify(words)
#  puts nb.score(words, "社畜")
#  puts nb.score(words, "人間")
  return "#{text} => #{cat}"
end


def main(argv)

  shatiku_file = argv[0]
  not_shatiku_file = argv[1]
  shatiku_data = build_learning(shatiku_file, "社畜")
  not_shatiku_data = build_learning(not_shatiku_file, "人間")
  
  nb = NLP::NaiveBayes.new
  nb.train([shatiku_data])
  nb.train([not_shatiku_data])

  text = %w(
    興味ないね
    エアリスはもう喋らない・・・笑わない・・・泣かない、怒らない・・・!
    大切じゃない物なんか無い!
    俺は俺の現実を生きる
    俺は、お前の生きた証だ
    指先がチリチリする。口の中はカラカラだ。目の奥が熱いんだ!
    オレが・・・お前の生きた証・・・
    引きずりすぎて少しすり減ったかな・・・
    お前の分まで生きよう。そう決めたんだけどな…
    もう・・・揺るがないさ・・
    帰るぞ
    俺は幻想の世界の住人だった。でも、もう幻想はいらない……俺は俺の現実を生きる
    ここに女装に必要な何かがある。おれにはわかるんだ。いくぜ!
    星よ・・・降り注げ!!
    罪って…許されるのかな?
    まだ終わりじゃない…終わりじゃないんだ!
    俺はクラウド、ソルジャークラス1st
  )
  
  text.each {|t|
    puts classify(nb, t)
  }

end

main(ARGV)

実行

% ruby shatiku.rb kurage.2.txt jkondo.2.txt
興味ないね => 社畜
エアリスはもう喋らない・・・笑わない・・・泣かない、怒らない・・・! => 社畜
大切じゃない物なんか無い! => 社畜
俺は俺の現実を生きる => 社畜
俺は、お前の生きた証だ => 社畜
指先がチリチリする。口の中はカラカラだ。目の奥が熱いんだ! => 社畜
オレが・・・お前の生きた証・・・ => 社畜
引きずりすぎて少しすり減ったかな・・・ => 人間
お前の分まで生きよう。そう決めたんだけどな… => 社畜
もう・・・揺るがないさ・・ => 社畜
帰るぞ => 社畜
俺は幻想の世界の住人だった。でも、もう幻想はいらない……俺は俺の現実を生きる => 社畜
ここに女装に必要な何かがある。おれにはわかるんだ。いくぜ! => 人間
星よ・・・降り注げ!! => 社畜
罪って…許されるのかな? => 社畜
まだ終わりじゃない…終わりじゃないんだ! => 人間
俺はクラウド、ソルジャークラス1st => 社畜

ふむ。


2014-06-09 :-(

_ 午前

0530 起床

0700 食堂

0830 出勤 && デバッグしTARI

_ 午後

1300 デバッグしTARI

_

1700 残業アワー

2130 退勤 || 東京アメッシュを見たら東京都がすげえことになってたんだけど外に出てみたら小降りだった

2230 飯。鮭の味噌焼き? 味噌漬けてフライパンでごーんとしただけ

_ ,

汝、いま何時?

_ ,

life is game.


2015-06-09 :-(

_ 午前

0530 起床

0720 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 ぐったり

2100 飯


2017-06-09 :-(

_ 1回休み

体調不良というかHPが1くらいになっていたのでひたすら寝てました。


2018-06-09 :-)

_ 送迎

退院した父を迎えに行くなどしました。

_ [ゆゆゆい]結城友奈は勇者である 花結のきらめき「祝1周年!素敵な舞踏会」後編

こちらも1周年記念イベントです。昨日から開始されました。ノーマルをクリアするととても尊い絵を見ることができます。

エキスパートもコンプリートしましたが、へっぽこなので最後だけ難易度が高いかったです。

ボス出現前(時間経過で出現?)に出現する中ボスのような連中(3体くらい?)の範囲攻撃に挟まれて勇者が吹っ飛ばされたりするので、遠距離射撃で削りつつ、中ボス連中はスルーして神樹様に耐えてもらい、ボスに集中砲火しました。このイベントはSR勇者がドロップしないので周回する必要がないです。このボスマス周回するのはツライ。


2019-06-09 :-)

_ ,

不動産屋へ行き物件を探すなど。うーん。広い部屋だと仕事場から徒歩圏内は無いのう。

_ 艦これイベント進捗どうですか

だめです

E4 はまったく手付かず。


2020-06-09 :-|

_

ストレージ労。今日もパッケージ。

_ ,

帰宅する前に読書。

_ [結目ユイ]結目ユイSHOWROOM配信を見ていた

さすがに全部は無理だったけど。

どうも SHOWROOM はボットが許されるようなので温もりある☆投げ作業はツール(探せばあるらしい)で自動化したい。

_ [水瀬しあ]水瀬しあ配信を見ていた

結目ユイSHOWROOMを眺めつつ。同時視聴は厳しい。

水瀬しあ どうもメンタル的に参っていたらしい。


2021-06-09 :-|

_ 日誌

0600 起床

0630 菜花なな配信

0800 出勤。在宅勤務

1300 自社へ移動

1800 退勤

艦これ E4 で涼波掘り。出ません


2022-06-09 :-(

_ 業務日誌

0800 出勤。在宅勤務

1700 退勤

_ 結目ユイのメルティーパーティーカフェ

メイドユイの一休みティー

DSC02152

_ C2 カレー機関

イサキでした。

前半 霧島さん。後半 大淀さん。 開始時と終了時の挨拶に飛龍さん。


2023-06-09 :-)

_ C2機関佐世保本遠征「艦これ」公式コラボ【Operation SASEBO Expedition 2023】 1日目

2 月に「先行偵察遠征」があり、ついに「本遠征」です。ステージイベント、佐世保市内コラボフード、ラッピングバスなどなどあります。ステージイベントのチケットはこちら C2機関佐世保本遠征「艦これ」公式コラボ【Operation SASEBO Expedition 2023】佐世保鎮守府”SASEBO Special Stage!” - イープラス

JAL 戦略機動

往路のみ利用しました。

3I6A5636

長崎空港の出発ロビーにはゴトランドが居ました。到着の通路からは区切られているので遠くから眺めました。

3I6A5642

スタンプラリーとか物販とか

すでにスタンプラリーなどは開催されているので現地についてとっとと台紙を買ってスタンプラリーをやります。

DSC_2935

物販もいくつか買いました。

西肥バスの一日乗車券。

DSC_2929

アクスタはさいちゃん(西肥バスのキャラクター)が買えたので満足。さいちゃんかわいい。

DSC_2954

法被も買えました。

DSC_2940

現地の企業から歓迎されてます。

DSC_2928

JAL の戦略機動にはステージイベントのチケットも付属しているので、現地で引き取ります。チケットと一緒に特典のアクスタも貰います。

DSC_2938

パネル

艦娘のパネルがあります。

3I6A5644

3I6A5647

3I6A5645

3I6A5650

3I6A5643

3I6A5652

3I6A5653

コラボフード

ラーメンを食べたりします。

3I6A5651

3I6A5655

コラボフードを食べるとシールが貰えます。全部で 20 種類。

DSC_2943

艦娘音頭

夕方から艦娘音頭です。艦娘音頭は海上自衛隊とコラボし、 海上自衛隊は艦娘音頭のためだけにミサイル艇「しらたか」を隣に設置しました。

3I6A5649

艦娘遊撃隊も居ます。

3I6A5648

艦娘音頭には井料 愛良さんが初登場。タスカルーサ、ヘイウッド、熊野丸の声を充てているそうです。

スペシャルステージ SASEBO前夜祭

京本政樹や伊藤みどりも来て盛り上がりました。

帰路になにかありました。(時雨の衣装らしい)

DSC_2948


2024-06-09 :-)

_ よこすかYYのりものフェスタ2024 に行ってきた

土曜日から開催されていて今日は 2 日目。

汐入に 0800 ころ到着。入場列へ。

20240609_081137

演奏隊がいた。4, 5 曲演奏していた。

3I6A6235

入場

3I6A6244

入場したらまっさきに機動船・処分船のチケットへ。昨日 処分船の話題をタイムラインで見かけたので行ってみた。機動船・処分船どちらにするか選べたらしいが先に機動船のチケットが枯渇したので選択の余地なく処分船となった。最初から処分船目当てなのでよし。

20240609_092830

ライフジャケットを着る。隊員に着せてもらう。

20240609_093109

20240609_093509

20240609_093522

手荷物を預けて処分船に乗る。手荷物はホテルのクロークのように同じ数字の札が 2 つ用意されて、片方を荷物に付けて、もう片方を持っておく。受け取るときに札を返却する。桟橋の奥に見える黒いボートが処分船。 4 人しか乗れない。膝下にロープが張っていてそれを掴んでバランスをとる。手荷物を持っている余裕はないのだ。

20240609_094008

潜水艦「うずしお」を海から見れたりする。

20240609_094225

「あきづき」たちも海から見れたりする。

20240609_094251

こんなに接近してくれる。

20240609_094410

20240609_094415

串というやつ。

20240609_094507

「もがみ」もこんなに近くから見られる。

20240609_094752

「くまの」(2) や「やはぎ」(5) もこんなに近くから見られる。

20240609_094811

処分船は大正解だったぜ。機動船もあったが機動船は速く水上を走ってくれるが護衛艦に接近して見せてくれるわけではない。

「もがみ」に乗る。

3I6A6247

「もがみ」は船尾しか解放されておらず、且つトラテープの内側からしか撮影できない。格納庫の中に入った位置は撮影禁止である。

3I6A6249

最上

3I6A6250

こちらは「やはぎ」。つい先日就航したばかり。 三菱重工 | 防衛省向け3,900トン型護衛艦「やはぎ」を長崎にて引渡し 海自護衛艦「やはぎ」完成 防衛省に引き渡し 舞鶴基地に配備|NHK 長崎県のニュース

解放されておらず、外から眺めるだけ。

3I6A6257

3I6A6258

3I6A6259

「てるづき」を見学します。

3I6A6263

3I6A6264

「てるづき」に居る照月。親子連れがパネルの前で記念撮影などしており大人気でした。

3I6A6267

奥に見えるのは照月撮影の待機列です。

3I6A6268

艦めし

3I6A6243

3I6A6261

せっかくだから護衛缶を買った。

20240609_102411

ヴェルニー公園でもよこすかYYのりものフェスタ関連のイベントが開催されていて、店があったのでカレーを食べる。「きりしま」と「うずしお」のカレーです。

3I6A6270


2025-06-09 :-(

_ 業務日誌

0800 出勤

2100 退勤

_ 日誌

おひる。 うどん。

飯。 鮭のちゃんちゃん焼き。

_ Amazon Prime を解約した

いつのまにか契約していたので。 アマゾンも evil だなあ。

なお解約は自分のプロフィールから解約手続きに進んでも下記エラーとなるのでヘルプから進まないといけない。 evil だなあ。

申し訳ありません
大変申し訳ございません。お客様からのご依頼内容を処理中に問題が発生したため、ご要望にお応えできませんでした。

もう一度試してブラウザの [戻る] ボタンをクリックし、リクエストを再度試みてください。

Amazon のホームページに戻るには、ここをクリックしてください

こちらから手続きを進めるのが正解

  1. Amazonプライム会員登録をキャンセルする、返金を受ける
  2. Amazonプライム会員登録のキャンセル
  3. 特典と会員資格を終了