FreeBSDにさくっとapacheを入れよう

インストール

# cd /usr/ports/www/apache22/
# make
# make install
# make clean

設定

/etc/rc.conf
 $apache22_enable=YESを追記
/usr/local/etc/apache22/http.conf
 サーバー名とかCGIの設定とかaliasとか追記

起動

/usr/local/etc/rc.d/apache22 start

なかなか起動しなくて困ってたら,rc.confの$apache22_enable=YESの後に改行が入っていなかったのが原因でした.それだけかよー!orz

人でもやってみようぜ

  • ユーザごとの形態素解析結果→uwom/
  • all_tf.rb→TF値→u-tf/(クチコミ10件以上のみ)
    • この場合のDF値ファイル→u-df.csv(df.rb)
  • tf-idf.rb→N=3178
  • term_list_u.rb
  • ユーザごと,アイテムカテゴリに制限をかけた形態素解析結果→ucwom/

なんていうか…ユーザごとに特徴語出したら馬鹿にしか見えないっていうか……口癖とか特徴的な一人称とか顔文字とか表記の仕方とかそういうのばっかり出てきたので気力が萎えました.
ユーザごとの特徴語ランキング

1,* 21,総合 41,ゃ
2,-- 22,*^-^* 42,ッス
3,: 23,************************* 43,+
4,Bad 24,わたくし 44,(
5,;&# 25,= 45,!
6,. 26,U 46,ooo
7,ノニーノ 27,♯ 47,今後
8,DE 28,フレグランス 48,アメリ
9,*^-^* 29,GUERLAIN 49,)
10,o 30,CAUDALIE 50,ゎ
11,トコ 31,*^-^*) 51,マス
12,...。 32,爆 52,マドモアゼル
13,宮沢 33,^^ 53,!!
14,わたし 34,- 54,?
15,Good 35,あたし 55,デス
16,EAU 36,ヴェレダ 56,ToT
17,/ 37,奇麗 57,ワタ
18,i 38,... 58,VINOLIFT
19,彡 39,ボビィ 59,GOUTAL
20,氏 40,奨め 60,~

属性に用いる特徴語の抽出

  • 対象カテゴリ内すべての製品(4627個)で,TF-IDF値の高いtermの上位1000語を抽出
    • td_list.1000←こいつを属性のリストとする
  • で,概念束作ってみる
    • 閾値(7.94661756324447)以上のTF-IDF値を持つ場合,それをそいつの属性とする
      • 製品55個,概念束作れず
    • 閾値(7.94661756324447)以上のTF-IDF値を持ちかつその上位10個をそいつの属性とする
      • 同上orz
  • 概念束作るときに閾値の制限をなくしてもアイテム数が増えない.なぜ?
    • 一定の閾値以上の単語は一部のアイテムしかもっていない?
    • そもそも273個中55個しかファイルが存在していない
    • ていうか4627個あるはずがなんで273個なのさ
      • ループがきちんと回って無かっただけだったorz
    • それでも存在しないファイルが3000個以上…
  • 改めて概念束作ってみる
    • 閾値(33.…)以上のTF-IDF値を持つ場合,それをそいつの属性とする
    • やっぱり概念束できず
      • 連番ルールが破られてる?←要解決
  • がんばれわたし!←そろそろこの辺徹夜のハイテンション
    • 連番振ったら属性は650種類,オブジェクト(製品)560個
    • 残念!

Segmentation fault(core dumped)ばっかりや…サイズを小さくしてみるべしとのお達し.

  • 164x337でも駄目
  • 88x83でも駄目!できた.
  • 47x33でも駄目.何か間違っているのではあるまいか.できた.ファイル形式のちょっとしたミスでした

作業メモ

# ruby td_mkcl0.rb > td_list.renban
# sort td_list.renban | uniq > td_list.renban.tmp
# ruby atr.rb td_list.renban.tmp > td_list.renban
# ruby td_mkcl.rb td_list.renban > fcl/test/cl_td3.mat

特徴語ランキング(なんかどこぞの100のお題みたいだ)

1,コーム 21,ロング 41,ミンク 61,ノーズシャドウ 81,ハンター
2,まつげ 22,長い 42,セザンヌ 62,ゴールド 82,ライトベージュオークル
3,唇 23,G 43,色 63,根元 83,プルーフ
4,: 24,パフ 44,口紅 64,型 84,筆
5,カール 25,リップ 45,ブラシ 65,パール 85,モイストクリアコート
6,ボリューム 26,ラメ 46,美咲 66,ジューシーチューブ 86,スカッシュ
7,マスカラ 27,ストロベリー 47,粉 67,ベース 87,コバルト
8,グロス 28,ピーチ 48,ラズベリー 68,レッド 88,真珠
9,繊維 29,ボルドー 49,アプリコット 69,ライトオークル 89,コンシーラー
10,シルク 30,クマ 50,* 70,カフェ 90,エス
11,クリア 31,アイライン 51,チェリー 71,ホワイト 91,ゴーハッピー
12,ブレンド 32,水 52,ディグニータ 72,芯 92,ノースショア
13,眉 33,ファンデ 53,ブラウン 73,コームタイプ 93,ライト
14,フラダンス 34,パンダ 54,ペンシル 74,スプラッシュ 94,YP
15,セピア 35,パウダー 55,チャコット 75,リシェ 95,ブロンズ
16,睫毛 36,S 56,桜 76,ピュア 96,ピエヌ
17,オレンジ 37,ケース 57,ツヤ 77,ブラック 97,細い
18,ダマ 38,セージ 58,ブルー 78,オークル 98,リキッド
19,ピンク 39,チーク 59,カバー 79,ビューラー 99,ランコム
20,試験管 40,G10 60,イエロー 80,インウイ 100,レイシャス

属性を特徴語にする必要があるか

  • 「しっとり」とか感覚的な単語は使われていたらそれでOKじゃないか?
    • 閾値以上の回数使われていればOK!
  • 副詞・形容詞を全チェック
    • 擬態語などをすべてリストアップ→属性に使う
  • カテゴリ毎に頻出単語を出す

特徴語を抽出する

以前は1クチコミ=1文書でやってたので1製品に対する全クチコミ=1文書でTF-IDFを計算してみる.前からやってたっぽいorz

  1. mecab.rbで製品ごとの形態素解析結果ファイルを作成
  2. all_tf.rbでTFを計算
  3. tf-idf.rbでTF-IDFを計算(ここで特徴語が出る)
  4. td_cut.rbで足切り

文章に特徴が現れる?

  • しかしそもそも文章に特徴が表れるのは「人」ではないか?
    • 感覚的に「この文章はこの人が書いたっぽいよね」みたいな
    • それは単語の出現頻度に現れるか
    • 単語の出現頻度という尺度でみるとやはり製品ごとの特徴が出るか?
  • 人に対して特徴語とか出したらそれが属性になる?性質を定義可能?
    • 「似たような単語を使って文章を書く人」は「似たような製品を使っている人」ではなく「似たような趣味嗜好の人」になる?
  • αブロガーみたいな存在を属性別に表示したら面白いかも?
    • この人はあゆ系,この人は松島奈々子系,ギャル系,癒し系のトップにいる人,とか
    • ファッションの勉強は人真似から始まるから

作業メモ(概念束準備)

> foreach i (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68)
foreach? ruby effect0.rb itmList/prd/$i > fcl/test/data/$i.mat
foreach? sort fcl/test/data/$i.mat | uniq > fcl/test/data/$i.mat.tmp
foreach? ruby atr.rb fcl/test/data/$i.mat.tmp > fcl/test/data/$i.atr
foreach? ruby effect.rb itmList/prd/$i fcl/test/data/$i.atr fcl/test/data/$i.obj > fcl/test/data/$i.mat
foreach? echo $i
foreach? end

 概念束

一個だけできたやつ.口紅部門×効果

  • 全体(全部,10以上,10人以上)×ユーザ→不可
  • 全体×○○メイク→不可
  • カテゴリごと(68個)×効果→不可
  • 属性の数が少なすぎ.
    • 感覚的な単語も抽出して加味
    • 同じ用途のカテゴリは一緒にする

今後の方針

  • 来週いっぱいまでにアイテム集合を出す
    • (〜土曜)感覚的な単語の定義,抽出
    • (〜月曜)感覚的な単語,○○メイクなどの単語を属性値に加えたカテゴリごとの概念束を作る
    • カテゴリ間の横のつながりをユーザ情報から抽出
    • カテゴリ間の横のつながりを単語の関係から抽出