Hatena::ブログ(Diary)

toilet_lunchの日記

2011-04-20

第2回さくさくテキストマイニング勉強会を行いました

00:09 |  第2回さくさくテキストマイニング勉強会を行いましたを含むブックマーク

恐縮ながら4/16日にテキストマイニング勉強会を開催させていただきました。

余震の続く中で発表をしてくださった皆様と出席してくださった皆様に感謝致します。

とりわけUstのトラブル時に(ただ見に来てくださっただけなのに)配信を助けて下さいました高須様には重ねて感謝を申し上げます。本当に助かりました、ありがとうございました。

あんちべさんの異常に上手い司会も素晴らしいものでした。僕にはできません。

さて、各種まとめの記事はすでに上がっておりますし、今回の勉強会での反省はあんちべさんが行ってくれましたので、自分は少し次以降の勉強会について考えてみたいと思います。

初心者向けであるということ

この勉強会はテキストマイニングを専門で研究していらっしゃる方や、業務でバリバリ実践的にテキストマイニングをされている方を対象にしたものではありません。むしろ、これから自然言語処理を研究したいと思いっている学生の方、日々の業務でのテキストマイニングの必要性をぼんやりを考えている方など、専門的な知識や経験をお持ちでない方をターゲットとしている「初心者向け」の勉強会です。

しかし、「初歩的」とは、いったい何を指すものなのでしょうか(2回も勉強会を開催しておいて今更ですが…)。自然言語処理のみならずあらゆる数学的、統計的な知識についても前提知識を必要としないように発表すべきなのでしょうか。

意識の違い

今回の勉強会では、おそらく @yokkuns 様が最も「初心者向け」という点を意識した資料を作成してくださったと思います(ありがとうございます!)。その発表資料の中で「(MeCabやCaboChaなどは)初心者には敷居が高い!」という言葉がありました。まったく同感でしで、 「形態素解析」「構文解析(係り受け解析)」「特徴語抽出」といった専門用語は、分野外の方にはまったく意味が分からないのではないでしょうか。

しかし一方で、この分野に触れている方からすれば「これを毎回説明しないといけないの…!?」とウンザリしてしまうのではないかと思います。これも全く同感で、基礎となるような用語をすべての発表者が毎度の勉強会ごとに説明するのはあまりにも非効率です。

チートシートという可能性

ひとつの改善案としては、「基礎だと思われる用語や概念をA41枚にまとめて資料として配布しておく」、チートシート方式があります(id:nokuno 様からアイデアを頂きました)。ただし、チートシートに書かれた内容より高度なものはもちろん伝わりませんので、発表者の方には「チートシートに書かれている内容以上のものを資料に含める場合は詳細に説明する」という義務が発生します。

発表者の方に今以上の負担をかけてしまうのは、主催者としては気が引けるという気持ちがあります。ただいやしくも初心者向けを謳う以上はこの方法のような配慮が必要であることも間違いないかと思っています。

まとめ

「初歩的である」という部分をきちんと見極め、「ギョーカイジン」としての視線ではない資料作りをしていきたいと思います(ギョーカイジンじゃないけど!)

2010-05-22 wikipediaダンプからNgramとIDFデータを作りました

wikipediaダンプからNgramとIDFデータを作りました

10:51 |  wikipediaダンプからNgramとIDFデータを作りましたを含むブックマーク

まあ誰が作っても大差ないですし、僕が作ることでどこかの誰かの大切な時間を
少しでも節約出来れば良いな、という目的で以下のデータ作りました。

  1. 1-5形態素のNgram頻度データ
  2. 単語のIDFリスト

文字化けとか割と気にせず進めてしまったのであまりクォリティは高くないと思いますが、
Google N-gramでかすぎて持て余す!」という人なんかが適当に使う分には
適度な量なのではないでしょうか。

各種条件

04:10 |  各種条件を含むブックマーク

使用ツール

ツール名バージョン
WP2TXT(http://wp2txt.rubyforge.org/)0.1.0
mecab(http://mecab.sourceforge.net/)mecab-0.98
辞書(http://mecab.sourceforge.net/)mecab-ipa-dic-2.7.0-20070801

対象データ

ウィキメディア財団が配布する「ウィキペディア日本語版」のdumpデータ、
2010年2月26日版の "pages-articles.xml.bz2" を基に作成しました。*1

ライセンス

Wikipediaライセンスに従い、GFDL1.2とします。

データ前処理

Ngramデータ

04:10 | Ngramデータを含むブックマーク

データ

1-gramhttp://dl.dropbox.com/u/2996612/1gram.bz2
2-gramhttp://dl.dropbox.com/u/2996612/2gram.bz2
3-gramhttp://dl.dropbox.com/u/2996612/3gram.bz2
4-gramhttp://dl.dropbox.com/u/2996612/4gram.bz2
5-gramhttp://dl.dropbox.com/u/2996612/5gram.bz2

集計条件

  • 文字コードUTF-8
  • 文頭、文末には特殊記号として「<S>」「</S>」を付与
  • 文末は「。」「!」「?」の3種の記号があった箇所、及び改行箇所にて判定
  • 頻度10未満を削除

異なり数

1-gram255860
2-gram2108310
3-gram3635959
4-gram2854212
5-gram1839806

データ形式と例

3-gramの場合のデータ例

形態素出現頻度
あきらめ た 。56
あきらめ た と10
あきらめ て 、14
あきらめ て い47
あきらめ て いる13
あきらめ て しまう14

idfデータ

04:09 | idfデータを含むブックマーク

データ

http://dl.dropbox.com/u/2996612/idf.txt.bz2

集計条件

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

定義式

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

その他

04:11 |  その他を含むブックマーク

このデータを使ってなんか、自然言語処理の入門(の入門)的記事でも書いていきたいですね。

追記

20:01 |  追記を含むブックマーク

SocialIMEで有名な id:nokuno さんからTrackBackを頂きました。ありがとうございます。

まさかかぶるとは・・・

*1:諸事情によりちょっと日付が古いですが、ご勘弁を

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

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

2010-04-25

#sobe2でLTをしました

23:24 |  #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

2010-04-02

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

02:16 |  社会人1年目が終わりましたを含むブックマーク

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

 時期が時期なので、この1年間のことを振り返りながら、だらだらと書いてみます。

==

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

==

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

==

 twitter。やりすぎですね。

==

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


==

 自分はまあ、実に変な会社に入ったものだなあ、と実感した1年間でした。

 なんのオチもついていないですが、皆様どうか今年度もよろしくお願いいたします。



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

2009-12-01

単語クラスタリング 続き

| 00:25 |  単語クラスタリング 続きを含むブックマーク

 色々考えていて、実につまらないことに悩んでいた、ということが分かりました。
 というのも、前に載せた表の単語Wnは、文書Dmから抽出した単語だったんですね。あー、あほや。
 クラスタリングの素性である文書とは無関係の単語を持ってこれば、問題ないんですね。あー、アホだった。

 というわけで、クラスタリングする単語を、適当に用意します。とりあえずは、IPADICに入っている名詞全部、とかにしましょう。素性は前回使ったのと同じ文書群、重みも同じくtf*idf。スパースの問題とかは、適当に無視する方向でいきます。