Previous: mcaseframe.rb 格フレームの抽出 Up: テキストマイニングコマンド Next: mjumandic.rb CSVからJUMAN辞書への変換 FUMI
FUMI : テキストマイニングコマンド : mnewdic.rb コーパスからの隣接単語ペア候補出力

2.4 mnewdic.rb コーパスからの隣接単語ペア候補出力

コーパス(大量の文例からなるテキストファイル)から、 辞書に登録すべき隣接単語ペアの候補情報を出力する。

JUMANが標準で搭載する辞書は一般的なもののため、 特定分野のテキストをマイニングするには、 1つの語として解釈(形態素解析)して欲しい語が 複数の語に分割されてしまうことがある。 mnewdic.rbコマンドは 与えられたコーパスを分析し、並んで出現する頻度が高く 1つの語として解釈すべき可能性が高い語のペアを リストアップしてCSVに出力する。

このCSVを参考に登録の要否を人目で判断し、 mjumandic.rbコマンドに与えることで JUMANへの辞書登録が容易になる。

2.4.1 書式

mnewdic.rb [i=] [O=] [S=] [n=] [seed=] [-dai] [-mcmdenv] [--help]

i=

: コーパスファイル名

O=

: 出力ディレクトリ名

S=

: 単語ペア出現件数最小値

n=

: 単語ペアごとに出力する文例数

seed=

: 乱数の種

-dai

: 見出し語として代表表記を使う

-mcmdenv

: 内部で利用しているMCMDのメッセージ出力レベルを環境変数に任せる。

 

省略時は警告とエラーメッセージのみ出力(KG_VerboseLevel=2)。

--help

: ヘルプメッセージの表示

入力ファイル例

i=パラメータで指定するコーパスファイルには、 1行1文にしたテキストファイルを与える。

3年ぶりにウォークマンを買ったけど、育休中はあまり活躍の余地がないですね。
待機児童解消の方がいい気がするけど。
:

出力ファイル例

O=パラメータで指定したディレクトリには、 words.csvファイルとcorpus.csvファイルが出力される (nkfコマンドがインストールされている場合、 両ファイルの文字コードをShift JISに変換したファイルも同時に出力される)。

見出し語,品詞,読み,カテゴリ,ドメイン,pid,word1,word2,freq
職場復帰,,,,,0,職場,復帰,31
授業参観,,,,,1,授業,参観,28
会議参加,,,,,2,会議,参加,26
:


words.csvファイルの各項目の意味を以下に示す。

見出し語

: 見出し語

品詞

: 品詞

読み

: 読み

カテゴリ

: カテゴリ

ドメイン

: ドメイン

pid

: pid

word1

: 語1

word2

: 語2

freq

: 出現頻度

corpus.csvは、登録候補の語がどのようなテキストに出現したのかを 確認するために参照すればよい。

pid,id,text
0,52,"神戸で始めての、育休後職場復帰セミナーを開催しました。"
0,317,"僕の知り合いは2人子どもを産んで、立て続けに産休+育休を取って、職場復帰した。"
:

2.4.2 利用例

例1: 基本例

$ head tweets.txt
3年ぶりにウォークマンを買ったけど、育休中はあまり活躍の余地がないですね。
待機児童解消の方がいい気がするけど。
読売テレビ(日本テレビ系列)ウェークアップ!ぷらすに蓮舫ネクスト規制改革担当大臣が生出演!
この学生さんは、仕事に不利じゃなかったら、3年育休取れるのも良いな、って思ってるよね。
今の人事制度のまま育休3年とか、前以上に女性が締め出されるだけでは。
女子大生でも分かる、3年間の育児休暇が最悪な結果をもたらす理由。(中嶋よしふみ)
保育園を中心に期間とか決めるの、おかしいよな~。
女性が必ず子育てしなきゃならない社会なら結婚絶対したくない…
育休とかの前に、母親に育児に専念させるなら女性の雇用よりもまず、男性の雇用、給料なんだよね。
安倍総理きた! 育児休暇三年は…女としては嬉しいけど、会社に申し訳ないよねえ
$ mnewdic.rb i=tweets.txt O=newdic
#MSG# start to parse each line...
#MSG# working at line 0
#MSG# working at line 100
#MSG# working at line 200
#MSG# working at line 300
#MSG# working at line 400
#MSG# working at line 500
#MSG# working at line 600
#MSG# working at line 700
#MSG# working at line 800
#MSG# working at line 900
#MSG# working at line 1000
#END# /Users/maegawa/.rvm/rubies/ruby-2.0.0-p247/bin/mnewdic.rb i=tweets.txt O=newdic
$ ls newdic
corpus.csv
corpus_sjis.csv
words.csv
words_sjis.csv
$ head newdic/words.csv
見出し語,品詞,読み,カテゴリ,ドメイン,pid,word1,word2,freq
職場復帰,,,,,0,職場,復帰,31
授業参観,,,,,1,授業,参観,28
会議参加,,,,,2,会議,参加,26
育休延長,,,,,3,育休,延長,19
子育て支援,,,,,4,子育て,支援,18
育児休暇3,,,,,5,育児休暇,3,18
待機児童ゼロ,,,,,6,待機児童,ゼロ,17
規制緩和,,,,,7,規制,緩和,16
給付金,,,,,8,給付,金,15
Previous: mcaseframe.rb 格フレームの抽出 Up: テキストマイニングコマンド Next: mjumandic.rb CSVからJUMAN辞書への変換 FUMI