コマンドラインで形態素解析

MeCabとUniDicの準備

wget https://clrd.ninjal.ac.jp/unidic_archive/2302/unidic-cwj-202302.zip
unzip unidic-cwj-202302.zip -d unidic-cwj
wget https://clrd.ninjal.ac.jp/unidic_archive/2203/UniDic-202203_60b_qkana.zip
unzip UniDic-202203_60b_qkana.zip
mv 60b_qkana unidic-qkana
mv unidic-qkana/.dicrc unidic-qkana/dicrc
echo "ゼレンスキー大統領" | mecab -d unidic-cwj
echo "井ノ上たきな" | mecab -d unidic-cwj
echo "政府の行為によつて再び戦争の惨禍が起ることのないやうにする" | mecab -d unidic-cwj
echo "政府の行為によつて再び戦争の惨禍が起ることのないやうにする" | mecab -d unidic-qkana
mecab -d unidic-cwj JPConstitution.txt | less

短単位解析

mecab -d unidic-cwj -Ochamame JPConstitution.txt
mecab -d unidic-qkana -Ochamame JPConstitution.txt

解析結果の処理

シェルスクリプト

サンプルのダウンロード

wget "https://www.dropbox.com/scl/fi/0wjfs7s5tlktfdx5pk6zj/chiisaki.sh?rlkey=ovlu4raw6mnusxhnf345b39av&dl=1" -O chiisaki.sh

実行

bash chiisaki.sh

スクリプトの中身

wget "https://www.dropbox.com/scl/fi/vsphond396zcoxaqlhlp3/chiisakimonoe.txt?rlkey=89a63g0ni4hdxaqzlb02h5cbu&dl=1" -O chiisakimonoe.txt
nkf -S -w8 --overwrite chiisakimonoe.txt
mecab -d unidic-cwj --node-format="\t%m\t%f[7]\t%f[6]\t%f[23]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\t%f[8]\t%f[9]\t%f[12]\t%f[28]\n" --unk-format="\t%m\t\t\t%m\t未知語\t\t\t\t\t\t\n" --bos-format="B" chiisakimonoe.txt > chiisakimonoe_morph.txt
grep $'\t副詞' chiisakimonoe_morph.txt |sort |uniq -c

*1 現バージョンでは問題あり
*2 現バージョンでは問題あり
*3 cutはタブ区切りの場合は区切り記号(デリミタ)指定が不要

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS