人でもやってみようぜ
- ユーザごとの形態素解析結果→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←こいつを属性のリストとする
- で,概念束作ってみる
- 概念束作るときに閾値の制限をなくしてもアイテム数が増えない.なぜ?
一定の閾値以上の単語は一部のアイテムしかもっていない?- そもそも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
文章に特徴が現れる?
- しかしそもそも文章に特徴が表れるのは「人」ではないか?
- 感覚的に「この文章はこの人が書いたっぽいよね」みたいな
- それは単語の出現頻度に現れるか
- 単語の出現頻度という尺度でみるとやはり製品ごとの特徴が出るか?
- 人に対して特徴語とか出したらそれが属性になる?性質を定義可能?
- 「似たような単語を使って文章を書く人」は「似たような製品を使っている人」ではなく「似たような趣味嗜好の人」になる?
- αブロガーみたいな存在を属性別に表示したら面白いかも?
- この人はあゆ系,この人は松島奈々子系,ギャル系,癒し系のトップにいる人,とか
- ファッションの勉強は人真似から始まるから
作業メモ(概念束準備)
> 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