ãMecabãã¦ã¼ã¶è¾æ¸ã®ä½¿ãæ¹
ãªã¼ãã³ã½ã¼ã¹ã®å½¢æ
ç´ è§£æå¨ãMecabãã§ã¦ã¼ã¶è¾æ¸ã使ãæ¹æ³ã®ã¾ã¨ãã§ãï¼
è¾æ¸ã追å ãããã¨ã§ï¼å½¢æ
ç´ è§£æã®ç²¾åº¦ãåä¸ããããã¨ãã§ãã¾ãï¼
ã¯ããã«
大éæã«æé ã説æããã¨ï¼
- è¾æ¸ã«è¿½å ãããåèªã®ãªã¹ããåå¾ï¼
- åå¾ãããªã¹ããï¼è¾æ¸ä½æã¹ã¯ãªããã«å¯¾å¿ãããã©ã¼ãããã«å¤æï¼
- è¾æ¸ãä½æï¼
ã¨ãªãã¾ãï¼ä»¥ä¸ï¼é ã«èª¬æãã¦ããã¾ãï¼
è¾æ¸ã«è¿½å ãããåèªã®ãªã¹ããåå¾
ä»åã¯ï¼Wikipediaã®å ¨è¨äºã®ã¿ã¤ãã«ã¨ã¯ã¦ãªã®ãã¼ã¯ã¼ããªã¹ããã¦ã¼ã¶è¾æ¸ã¨ãã¦è¿½å ãããã¨æãã®ã§ï¼ã¾ãã¯ããããåå¾ãã¾ãï¼
# Wikipedia $ curl -L http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz | gunzip > jawiki-latest-all-titles-in-ns0 # ã¯ã¦ãª $ curl -L http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv | iconv -f euc-jp -t utf-8 > keywordlist_furigana.csv
è¾æ¸ä½æã¹ã¯ãªããã«å¯¾å¿ãããã©ã¼ãããã«å¤æ
ã¾ãã¯ï¼å¤æç¨ã®ã¹ã¯ãªãããèªåã§ç¨æããå¿
è¦ãããã¾ãï¼
ä»åã¯ï¼æ¢ã«ç¨æãã¦ãã以ä¸ã®ã¹ã¯ãªããã使ã£ã¦ï¼å
ç¨åå¾ãããªã¹ããå¤æãã¾ãï¼
ä¸è¨ã¹ã¯ãªãããæ¸ãã³ãã³ãã§å®è¡ãã¾ãï¼
å¿
ãåå¾ãããªã¹ããç½®ãã¦ãããã£ã¬ã¯ããªã«ç§»åãã¦ããå®è¡ãã¦ä¸ããï¼
$ ruby mecab_dictionary_formatter.rb
è¾æ¸ãä½æ
è¾æ¸ä½æã¹ã¯ãªããã¯ï¼Mecabãã¤ã³ã¹ãã¼ã«ãããæã«ä¸ç·ã«ã¤ã³ã¹ãã¼ã«ããã¦ãããmecab-dict-indexãã¨ããã¹ã¯ãªããã§ãï¼
ä¾ãã°ï¼ä»¥ä¸ã®ããã«ãã¦è¾æ¸ä½æãå®è¡ãã¾ãï¼
$ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic/ -u onomasticon.dic -f utf-8 -t utf-8 onomasticon.csv
注æã¨ãã¦ï¼
/usr/local/libexec/mecab/
ã/usr/local/lib/mecab/dic/ipadic/
ã®é¨åã¯é©å®é©åãªãã¹ã«å¤æ´ãã¦ä¸ããï¼ç°å¢ã«ããç°ãªãããã§ãï¼onomasticon.dic
ã¯ä½æããè¾æ¸ã®ãã¡ã¤ã«åã§ãï¼onomasticon.csv
ã¯è¾æ¸ä½æã«ç¨ãããã¡ã¤ã«ã®ååã§ãï¼å ã»ã©ã®mecab_dictionary_formatter.rb
ã§ã¯ï¼å¤æå¾ã®ãã¡ã¤ã«ãonomasticon.csv
ã¨ããååã§åºåããããã«ãã¦ãã¾ãï¼
å®éã«ã¦ã¼ã¶è¾æ¸ã使ã£ã¦ã¿ã
mecabãå®è¡ããã¨ãã«ï¼-u [ã¦ã¼ã¶è¾æ¸ãã¡ã¤ã«å]
ãªãã·ã§ã³ãä»ããã ãã§ã¦ã¼ã¶è¾æ¸ã使ãã¾ãï¼
ã³ãã³ãã©ã¤ã³ãã使ç¨ããå ´åã¯ä»¥ä¸ã®ããã«ãã¾ãï¼
$ echo 'ã¬ã¼ãã³ã·ã¥ã¿ã¤ã³è·é¢' | mecab -u onomasticon.dic
ã¾ãï¼å種ããã°ã©ã ããå®è¡ããå ´åãå¤ãã¨æãã¾ããï¼ä¾ãã°Pythonããå®è¡ããå ´åã¯ä»¥ä¸ã®ããã«ãã¾ãï¼
m = MeCab.Tagger('-Owakati -u onomasticon.dic')
åè
mecabにwikipediaとhatenaキーワードのユーザ辞書を適用する(ついでに、辞書にない場合はそれもわかるようにするオプション付き) - すがブロ
MeCabのPythonバインディングでユーザー辞書を使用する - Symfoware