idfデータ

集計条件

  • 品詞は細分類を無視
  • 文書数はタイトルの行数とし、空の文書*1でもカウントを行っている*2

定義式

IDF\left(W_{n}\right) = log_{10}\left(\frac{D\left(*\right)+1}{D\left(W_{n}\right)\right)

  • IDF\left(W_{n}\right) : 単語W_nのIDF値
  • D\left(*\right) : 総文書数
  • D\left(W_{n}\right) : 単語W_nが出現する文書の総数

文書数、異なり単語数

総ドキュメント数 123,7429
単語異なり数 216,9308

データ形式と例

タブ区切り

データ例

形態素 品詞 idf値
あいぞう 名詞 6.09252
あいぞめ 名詞 5.01334
あいた 感動詞 4.58737
あいたい 名詞 4.46927
あいだ 名詞 2.82231

*1:WP2TXTの変換によって本文がなくなる場合がある

*2:めんどくさかったので・・・

#sobe2でLTをしました

sobe2の詳細:http://tsuyabu.in/2010/04/sobe2/

自分は「初めての「私の志集」」と題して、「私の志集」に関する発表を行いました。
「「私の志集」って何?」と思う方がこの資料を見てもほとんど分からないと思います(喋りメインのため)ので、知りたい方は適当にググっていただければと思います。
 また、資料中に出てくる数字は推測によるものが多いため、眉唾で読んでいただければと思います。

資料:http://toilet-lunch.sakura.ne.jp/sobe2.pdf (pdf注意!)


 ちなみに僕が最初に志集を購入した日の日記が残っていますので、興味のある方はどうぞ。
http://d.hatena.ne.jp/toilet_lunch/20090706

社会人1年目が終わりました

 気づけば早いもので、サラリーマン生活も2年目に突入しました。4/1には優秀そうな人達がたくさん新卒入社しまして、不安と焦りを、入社当時とはまた違った感触で感じています。
 時期が時期なので、この1年間のことを振り返りながら、だらだらと書いてみます。

==

 この1年という短い間に、とても多くの(そして偉大な)先輩方が転職・独立をなさいました。そのたびに、自分が今の会社にいる意味と、会社にとっての自分の価値を考えさせられます。僕は、労働は人間の生活の本質ではないと考えてきましたし、今もその考えはあまり変わりません。ですが、労働によって生活の質や価値が変わる(変わってしまう)ことも働くことによって少しずつ理解できるようになりました。「新卒」という制度を利用して、誰かが親切にも準備してくれた労働を享受する、といえば悪く聞こえる一方で、「正しい働き方」なんてものが存在するのか、自分にはさっぱり分かりません。
 転職を選ぶとは、今より「良い」(その基準は本当に人それぞれです)働き方を選んだということだと思います。僕にはいまだ何が「良い」のか分からず、ただただ先輩方の大きな背中が遠く小さくなっていくのをぼんやりと見つめることしかできません。

==

 入社1年の間に、とてもたくさんの友人ができ、また尊敬以外にしようのないたくさんの先輩と知りあうことができました。自分が今とんでもなく幸運な場所に立てていることを考えると、「どうしてこうなった」と思わずにはいられません。逆に僕が彼ら・彼女らに何の貢献ができているのかを考えると辛くなりもします。皆さんより2周も3周も周回遅れをしている僕ですが、今だけでも並走してもらえるとより幸せです(僕が)。みなさんに追いつける日はいつくるのでしょうか……

==

 twitter。やりすぎですね。

==

 入社前から何人かの内定者の人と遊ばせていただきました。すごく楽しかったのですが、今では少し後悔しています。正直絡みすぎでした。良い面も悪い面も、入社前に先入観を与えてしまうことの重大さを考えると、自分の行動はかなり軽率だった気がします。来年からはもう少し控えようと思います。ごめんなさい。


==

 自分はまあ、実に変な会社に入ったものだなあ、と実感した1年間でした。
 なんのオチもついていないですが、皆様どうか今年度もよろしくお願いいたします。



 僕はまだ辞めませんしね!

単語クラスタリング 続き

 色々考えていて、実につまらないことに悩んでいた、ということが分かりました。
 というのも、前に載せた表の単語Wnは、文書Dmから抽出した単語だったんですね。あー、あほや。
 クラスタリングの素性である文書とは無関係の単語を持ってこれば、問題ないんですね。あー、アホだった。
 というわけで、クラスタリングする単語を、適当に用意します。とりあえずは、IPADICに入っている名詞全部、とかにしましょう。素性は前回使ったのと同じ文書群、重みも同じくtf*idf。スパースの問題とかは、適当に無視する方向でいきます。

単語クラスタリング

 単語のクラスタリングをしています。
 文書のクラスタリングが単語の出現(tf*idfとか)を素性にして行われているので、それを転置すりゃ単語のクラスタリングもできんじゃね、と思ってやってみましつた。で、結果がまあ出てはきたんですけど、ふと疑問に思いました。これ、まずいんじゃなかろうか。

転置行列1

単語 D1 D2 D3 D4
W1 1.5 0.7 0.1 0.2
W2 1.1 0 0 0.5
W3 2.4 0.3 0.1 0
W4 0 0 0 8.2

 Wnはn番目の単語、Dmはm番目の文書、中のカラムは「文書Dmに出現した単語Wnのtf*idf値」。ベタな文書クラスタリングを転置するとこんな感じになって、これをもとにbayonとかでクラスタリングしました。
 このクラスタリングは、言葉で説明すれば「出現する文書が同傾向にある単語同士は似ている」という仮定の下に行われています。重みにtf*idfを使っているので一概にこうは言えませんが、大体これであってるはずです。
 さて、では以下のような例が出てきた場合はどうでしょう。

特殊列

単語 D1 D2 D3 D4
W1 0 15 0 0
W2 0 13 0 0
W3 0 11 0 0
W4 0 12 0 0

 あるドキュメントにのみ出現する単語ばかりが並んだ場合、これをクラスタリングすると、「似た単語」ではなく「同じ文書に出現してる単語」を取り出す操作にしかならないことが分かります。「同じ文書に出現する単語は似てる」っていう仮定は、さすがに乱暴な気がしますよね。まあ、同じ文書に出てくる単語なので、関連はあるんでしょうけど……
 これは極端な例ですが、最初の表にも同じ文書に出現している単語同士の影響は必ずあって、これがノイズになるのか、ノイズになっても無視できるレベルなのか、そもそもノイズにならないのか、判断が付きません。
 文書クラスタリングだと、こういう問題は起きないんですけどね。はー、どうしようかな。

高速道路しか走らないわけじゃない

はてブにも書いたけど、一応こっちで補足。

それで、だ。ここからが本題なんだけど、要は高速道路で学んでいい知識と、地道に泥にまみれながら学んでいかなくてはいけない知識ってのがあるんじゃないかってことを最近よく思うんだわ。俺の場合はなんでも地道に泥にまみれてやっていかんと駄目だと思ってたからめちゃくちゃ回り道をしすぎてた(してる)んだけど。

「知の高速道路」に対する違和感とかそういうの

 僕の誤読かも知れないですが、この書き方だと「高速道路で学んではいけない知識もある」というように読めてしまいました。ので、一応その理解を前提に話を進めますが、別にいいんじゃないかなあと思いますね。高速道路を使ったって。

 簡単に最短距離で、最適化された知識のみを手に入れてしまうとあまり応用は利かなくなるのかもしれません。でもそこで学びをやめてしまわなければいいだけなのではないでしょうか。何の知識もない状態からいきなり深く学べる人はやはり少なくて、そういう人は「高速道路」である程度の知識を学んだあとに、もう一度振り返って、今度は以前よりも深く学んでいくことになるとおもいます。
 例えば、分数の割り算をいきなり「分数の割り算とはなんなのか」から学ぶのは、ちょっときついでしょう。まずは最初に「ひっくり返してかける」という技法だけを学ぶのです。概念や論理などの深い内容は、その技法に十分習熟してからのほうがはるかに分かりやすい。
 また、プログラミングの話で言えば、「こういうエラーが出たときは、こういう表示だけど実はこういうバグが含まれていることが多いからここを見たほうがいい」とか、あるいは言語のクセとかで詰まることがある。ググっても出てこない無形の知識によってしか回せない部分がどこかで出てくるはずです。そうなれば、どのみち高速道路からは見えなかった「泥道」を走っていかなきゃいけなくなると思います。

 なので、「高速道路」か「泥道」かの二者択一にする必要はないかと思いますねー。「泥道」は「高速道路」のあとに走りなおしたっていい。*1

*1:そのほうが走りやすいだろうし