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

恐縮ながら4/16日にテキストマイニング勉強会を開催させていただきました。
余震の続く中で発表をしてくださった皆様と出席してくださった皆様に感謝致します。
とりわけUstのトラブル時に(ただ見に来てくださっただけなのに)配信を助けて下さいました高須様には重ねて感謝を申し上げます。本当に助かりました、ありがとうございました。
あんちべさんの異常に上手い司会も素晴らしいものでした。僕にはできません。

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

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

この勉強会はテキストマイニングを専門で研究していらっしゃる方や、業務でバリバリ実践的にテキストマイニングをされている方を対象にしたものではありません。むしろ、これから自然言語処理を研究したいと思いっている学生の方、日々の業務でのテキストマイニングの必要性をぼんやりを考えている方など、専門的な知識や経験をお持ちでない方をターゲットとしている「初心者向け」の勉強会です。
しかし、「初歩的」とは、いったい何を指すものなのでしょうか(2回も勉強会を開催しておいて今更ですが…)。自然言語処理のみならずあらゆる数学的、統計的な知識についても前提知識を必要としないように発表すべきなのでしょうか。

意識の違い

今回の勉強会では、おそらく @yokkuns 様が最も「初心者向け」という点を意識した資料を作成してくださったと思います(ありがとうございます!)。その発表資料の中で「(MeCabやCaboChaなどは)初心者には敷居が高い!」という言葉がありました。まったく同感でしで、 「形態素解析」「構文解析(係り受け解析)」「特徴語抽出」といった専門用語は、分野外の方にはまったく意味が分からないのではないでしょうか。
しかし一方で、この分野に触れている方からすれば「これを毎回説明しないといけないの…!?」とウンザリしてしまうのではないかと思います。これも全く同感で、基礎となるような用語をすべての発表者が毎度の勉強会ごとに説明するのはあまりにも非効率です。

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

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

まとめ

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

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

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

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

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

各種条件

使用ツール

ツール名 バージョン
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とします。

データ前処理

  • WP2TXTを使用してwikipediaxml形式から通常のテキストデータに変換
  • mecabにて本文を形態素解析(タイトル除く)
  • Unicode NFKC に従って文字列を正規化
  • mecabの品詞の自動推定は行わずに「未知語」として判定

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

Ngramデータ

集計条件

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

異なり数

1-gram 255860
2-gram 2108310
3-gram 3635959
4-gram 2854212
5-gram 1839806

データ形式と例

3-gramの場合のデータ例

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