この記事は3年以上前に書かれた記事で内容が古い可能性があります
mecabでslack botを豊かにする話
2017-05-20
少し昔に作った、mecabでslack botを豊かにする話。
mecabの話はこちらでもチラと書いています。
Contents
■mecabの始め方
以下3コマンドで導入できます。(python3前提)
% brew install mecab # 和布蕪のインストール |
% brew install mecab-ipadic # 辞書のインストール |
% pip install mecab-python3 # python3へmecabのインストール |
■mecabでslackbot
今回、slackbotを作るので、便利なモジュール導入。
% pip install slackbot |
稚拙ですがコードは以下
https://github.com/yoshi-island/mecab_slack_bot
ファイル構造はこんな感じ。「password_list.py」「__init__.py(空でOK)」だけご自身で作成ください。
% tree mecab_slack_bot |
mecab_slack_bot |
├── mecab_analyze.py |
├── mecab_dict_setting.py |
├── password_list.py |
├── plugins |
│└──__init__.py |
│└──my_mention.py |
├── run.py |
└── slackbot_settings.py |
「password_list.py」の中身
% cat mecab_slack_bot/password_list.py |
token = "自身のslackトークン" |
home = "ご自身のホームディレクトリ" #mecab_dict_setting.py内で使うのでご確認を。 |
■実行
% python mecab_slack_bot/run.py |
■辞書登録
マリオを人名としたい
% mecab |
マリオ |
マリオ 名詞,固有名詞,一般,*,*,*,マリオ,マリオ,マリオ |
EOS |
■ユーザー辞書パス追加
% cat /usr/ local /etc/mecabrc |
; |
; Configuration file of MeCab |
; |
; $Id: mecabrc. in , v 1.3 2006/05/29 15:36:08 taku-ku Exp $; |
; |
dicdir = /usr/ local /lib/mecab/dic/ipadic |
; userdic = /home/foo/bar/user.dic |
; output- format - type = wakati |
; input-buffer-size = 8192 |
; node- format = %m\n |
; bos- format = %S\n |
; eos- format = EOS\n |
# userdic |
userdic = /usr/ local /lib/mecab/dic/userdic |
■リストに追記
% cat ~/mecab_work/dic_work/people.csv |
マリオ,,,1,名詞,固有名詞,人名,名,*,*,まりお,マリオ,マリオ,people_dic |
■フォーマット
% /usr/ local /Cellar/mecab/0.996/libexec/mecab/mecab-dict-index -d /usr/ local /lib/mecab/dic/ipadic -u /usr/ local /lib/mecab/dic/userdic -f utf-8 -t utf-8 ~/mecab_work/dic_work/people.csv |
reading ~/mecab_work/dic_work/people.csv ... 1 |
emitting double-array: 100% | ###########################################| |
done ! |
■確認
% mecab |
マリオ |
マリオ 名詞,固有名詞,人名,名,*,*,まりお,マリオ,マリオ,people_dic |
EOS |
これをbotにやらせたり、、、夢は広がる。