memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

テキストマイニング?

昨日までdeim2012に参加していたのですが、この学会でテキストマイニングの面白さを教わりました。

で、ちょっとだけテキストマイニングっぽいことをしてみました。というには恥ずかしいレベルですが、とりあえずウォーミングアップとしてのツールの練習です。

やったのはdeim2012の論文PDFに含まれる頻出キーワードを調べようということ。発表を聞いているとツイッタークラスタリングなどを良く耳にしたのですが、そのあたりは実際どうだったか?

ちょっとだけ手順を書きます。専門の人であればもっと楽な方法をご存知と思いますが。

MacAutomatorを使うとPDFからテキストを抽出するアプリが作れます。詳細はこちら

で、得られたテキストをコマンドで1つのファイルに統合、PDFから変換したテキストには変な位置に改行コード(\r)が入るのでこれを一括削除、このファイルをmecabにあたえて解析し、grepを使って名詞だけを抽出します。そしてgawkを使って1列名(名詞キーワード)だけを取り出し、sortコマンドでソートし、uniq -cで同一行数をカウントし、再度に再びsortでソートすると、名詞の出現頻度順に並べることができました。

良くわかっていませんが、mecabには辞書登録機能があるようで、本来であれば、この分野に関わる専門用語(名詞)を登録しておくことでもっと精度があがるのでしょうけど、とりあえず今回は練習ということでmecab辞書のみでやりました。データのクリーニングもしていませんのでノイズが影響しているかもしれません。

フロ上がりに思いついて結果が得られるまで30分もかかっていません。もちろんプログラムも書いていません。いろいろな方のお陰でツールが簡単に入手できます。ごくありふれたテキスト情報から計算機パワーによって新しい情報を得る、このあたりがテキストマイニングの魅力の一つだと感じました。

で、結果はどうだったか?あまり奇麗ではないのでわかる範囲で結果を示します。

トップ100です。最初の数字が出現回数、そのあとがキーワードです。論文数は304です。

6337 手法
5813 情報
5748 検索
5470 図
4984 ユーサ
4787 的
4414 提案
4408 結果
4390 値
4336 研究
3601 評価
3401 処理
3383 実験
3315 システム
3305 本
3074 利用
2946 抽出
2859 時間
2557 特徴
2402 集合
2388 表
2239 リンク
2041 対象
1990 単語
1955 計算
1944 画像
1935 Web
1919 クエリ
1906 関連
1905 文書
1875 関係
1834 類似
1733 推定
1683 記事
1579 入力
1574 表現
1547 キーワート
1546 クラスタ
1513 ック
1497 トヒ
1392 取得
1387 作成
1386 方法
1382 使用
1349 存在
1340 精度
1320 推薦
1312 出現
1302 問題
1285 分類
1266 構造
1247 領域
1200 生成
1195 定義
1190 ファイル
1180 動画
1179 選択
1172 位置
1147 要素
1103 確率
1095 属性
1075 平均
1065 論文
1061 学習
1059 クトル
1025 ツイート
1018 検出
1005 複数
990 考慮
990 空間
976 人
970 電力
962 構成
960 アルコ
948 ット
941 表示
938 状態
936 機能
936 条件
931 分布
930 可視
919 件
914 探索
911
910 分析
896 木
893 話題
890 収集
889 タク
888 実行
878 カテコ
869 解析
861 以上
860 他
854 閲覧
846 構築
842 テキスト
834 種類
768 課題
753 操作

これだけではあまり面白くはないですね。。。IDFでキーワードの偏りを見るとかどうでしょう?この頻出キーワード群がdeimでも経年変化しているかどうか?あるいは他の学会と異なるか?キーワードの含まれる割合を正規化して、自分の論文に対して頻出キーワードを求めてどこに投稿すればいいか推薦してくれるとか?使えるかどうかは別として、データさえあればとにかく結果が得られる、うまくいかないところを調整する(=それがすなわち研究要素になる)、対象や見方を変えるとバリエーション豊な研究成果をとりあえず出すことができる、かなり甘い考えですが、とても面白い分野だと思います。