Actions

MeCaB

De GBLL, TAL, ALAO, etc.

Installation

  • pour Linux :
git clone https://github.com/taku910/mecab.git 
cd mecab/mecab/
./configure –with-charset=utf-8 –enable-utf8-only
make
sudo make install
sudo ldconfig
cd ../mecab-ipadic/
./configure –with-charset=utf-8 –enable-utf8-only
make
sudo make install

Long tuto avec entre autre l'installation de Mecab et son utilisation sur Python.

Utilisation basique en ligne de commande

  • Sortie par défaut : 表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音
表層形\t 品詞 品詞細分類1 品詞細分類2 品詞細分類3 活用型 活用形 原形 読み 発音
Forme fléchie Catégorie grammaticale Sous-catégorie grammaticale1 Sous-catégorie grammaticale2 Sous-catégorie grammaticale3 Groupe de conjugaison Forme de conjugaiso Infinitif Lecture Prononciation

Pour plus de renseignements sur cest différents éléments, voir la page IPADIC.

$ mecab
太郎は海外に住み始めました
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
海外	名詞,一般,*,*,*,*,海外,カイガイ,カイガイ
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
住み	動詞,自立,*,*,五段・マ行,連用形,住む,スミ,スミ
始め	動詞,非自立,*,*,一段,連用形,始める,ハジメ,ハジメ
まし	助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS
  • Format lecture seulement : -Oyomi
$ mecab -Oyomi
太郎は海外に住み始めました
タロウハカイガイニスミハジメマシタ
  • Format tokénisation : -Owakati
$ mecab -Owakati
太郎は海外に住み始めました
太郎  海外  住み 始め まし 
  • Format Chasen : -Ochasen
$ mecab -Ochasen
太郎は海外に住み始めました
太郎	タロウ	太郎	名詞-固有名詞-人名-名					助詞-係助詞		
海外	カイガイ	海外	名詞-一般					助詞-格助詞-一般		
住み	スミ	住む	動詞-自立	五段・マ行	連用形
始め	ハジメ	始める	動詞-非自立	一段	連用形
まし	マシ	ます	助動詞	特殊・マス	連用形
た			助動詞	特殊・タ	基本形
EOS
  • Format complet : -Odump (champs à préciser)
$ mecab -Odump
太郎は海外に住み始めました
0 BOS BOS/EOS,*,*,*,*,*,*,*,* 0 0 0 0 0 0 2 1 0.000000 0.000000 0.000000 0
5 太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー 0 6 1291 1291 44 2 0 1 0.000000 0.000000 0.000000 8614
8  助詞,係助詞,*,*,*,*,は,ハ,ワ 6 9 261 261 16 6 0 1 0.000000 0.000000 0.000000 9699
15 海外 名詞,一般,*,*,*,*,海外,カイガイ,カイガイ 9 15 1285 1285 38 2 0 1 0.000000 0.000000 0.000000 13564
23  助詞,格助詞,一般,*,*,*,に,ニ,ニ 15 18 151 151 13 6 0 1 0.000000 0.000000 0.000000 13411
29 住み 動詞,自立,*,*,五段・マ行,連用形,住む,スミ,スミ 18 24 767 767 31 2 0 1 0.000000 0.000000 0.000000 17450
39 始め 動詞,非自立,*,*,一段,連用形,始める,ハジメ,ハジメ 24 30 930 930 33 2 0 1 0.000000 0.000000 0.000000 19359
46 まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ 30 36 501 501 25 6 0 1 0.000000 0.000000 0.000000 19244
59  助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 36 39 435 435 25 6 0 1 0.000000 0.000000 0.000000 18647
62 EOS BOS/EOS,*,*,*,*,*,*,*,* 39 39 0 0 0 0 3 1 0.000000 0.000000 0.000000 17537
  • Format personnalisé : il suffit de lister les éléments souhaités avec l'argument -F. Par exemple mecab -F '%m\t%f[0]\n' pour afficher la forme fléchie suivie de sa catégorie grammaticale.
$ mecab -F '%m\t%f[0]\n'
太郎は海外に住み始めました
太郎	名詞
は	助詞
海外	名詞
に	助詞
住み	動詞
始め	動詞
まし	助動詞
た	助動詞
EOS

Autre exemple : mecab -F '%m\t%H\t%pw,%pC,%pc\n' -E 'EOS\t%pw,%pC,%pc\n' pour afficher la forme fléchie (%m), les informations morphosyntaxiques (%H), l'indice de fréquence du mot seul (単語生起コスト %pw), la vraisemblance de cooccurrence de ce mot à la suite du précédent (連接コスト %pC), la vraisemblance de cooccurrence de ce mot depuis le début de la chaîne (累積コスト %pc)

$ mecab -F '%m\t%H\t%pw,%pC,%pc\n' -E 'EOS\t%pw,%pC,%pc\n'
太郎は海外に住み始めました
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー	8810,-196,8614
は	助詞,係助詞,*,*,*,*,は,ハ,ワ	3865,-2780,9699
海外	名詞,一般,*,*,*,*,海外,カイガイ,カイガイ	3828,37,13564
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ	4304,-4457,13411
住み	動詞,自立,*,*,五段・マ行,連用形,住む,スミ,スミ	7093,-3054,17450
始め	動詞,非自立,*,*,一段,連用形,始める,ハジメ,ハジメ	9347,-7438,19359
まし	助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ	6320,-6435,19244
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ	5500,-6097,18647
EOS	0,-1110,17537

Liste des informations accessibles pour chaque token

https://taku910.github.io/mecab/format.html

%s 形態素種類 (0: 通常, 1: 未知語, 2:文頭, 3:文末)
%S 入力文
%L 入力文の長さ
%m 形態素の表層文字列
%M 形態素の表層文字列, ただし空白文字も含めて出力 (%pS を参照のこと)
%h 素性の内部 ID
%% % そのもの
%c 単語生起コスト
%H 素性 (品詞, 活用, 読み) 等を CSV で表現したもの
%t 文字種 id
%P 周辺確率 (-l2 オプションを指定したときのみ有効)
%pi 形態素に付与されるユニークなID
%pS もし形態素が空白文字列で始まる場合は, その空白文字列を表示 %pS%m と %M は同一
%ps 開始位置
%pe 終了位置
%pC 1つ前の形態素との連接コスト
%pw %c と同じ
%pc 連接コスト + 単語生起コスト (文頭から累積)
%pn 連接コスト + 単語生起コスト (その形態素単独, %pw + %pC)
%pb 最適パスの場合 *, それ以外は ' '
%pP 周辺確率 (-l2 オプションを指定したときのみ有効)
%pA blpha, forward log 確率 (-l2 オプションを指定したときのみ有効)
%pB beta, backward log 確率 (-l2 オプションを指定したときのみ有効)
%pl 形態素の表層文字列としての長さ, strlen (%m) と同一
%pL 形態素の表層文字列としての長さ, ただし空白文字列も含む, strlen(%M) と同一
%phl 左文脈 id
%phr 右文脈 id
%f[N] csv で表記された素性の N番目の要素
%f[N1,N2,N3...] N1,N2,N3番目の素性を, "," を デリミタとして表示
%FC[N1,N2,N3...] N1,N2,N3番目の素性を, C を デリミタとして表示.
ただし, 要素が 空の場合は以降表示が省略される. (例)F-[0,1,2]
\0 \a \b \t \n \v \f \r \\ 通常の エスケープ文字列
\s ' ' (半角スペース)
設定ファイルに記述するときに使用

MeCaB pour Python

pip install mecab-python3

import MeCab
wakati = MeCab.Tagger("-Owakati")
print(wakati.parse("太郎は海外に住み始めました").split())

Résultat : ['太郎', 'は', '海外', 'に', '住み', '始め', 'まし', 'た']


chasen = MeCab.Tagger("-Ochasen")
print(chasen.parse("太郎は海外に住み始めました"))

Résultat : 太郎 タロウ 太郎 名詞-固有名詞-人名-名 は ハ は 助詞-係助詞 海外 カイガイ 海外 名詞-一般 に ニ に 助詞-格助詞-一般 住み スミ 住む 動詞-自立 五段・マ行 連用形 始め ハジメ 始める 動詞-非自立 一段 連用形 まし マシ ます 助動詞 特殊・マス 連用形 た タ た 助動詞 特殊・タ 基本形 EOS

dump = MeCab.Tagger("-Odump")
print(dump.parse("太郎は海外に住み始めました"))

Résultat : 0 BOS BOS/EOS,*,*,*,*,*,*,*,* 0 0 0 0 0 0 2 1 0.000000 0.000000 0.000000 0 5 太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー 0 6 1291 1291 44 2 0 1 0.000000 0.000000 0.000000 8614 8 は 助詞,係助詞,*,*,*,*,は,ハ,ワ 6 9 261 261 16 6 0 1 0.000000 0.000000 0.000000 9699 15 海外 名詞,一般,*,*,*,*,海外,カイガイ,カイガイ 9 15 1285 1285 38 2 0 1 0.000000 0.000000 0.000000 13564 23 に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 15 18 151 151 13 6 0 1 0.000000 0.000000 0.000000 13411 29 住み 動詞,自立,*,*,五段・マ行,連用形,住む,スミ,スミ 18 24 767 767 31 2 0 1 0.000000 0.000000 0.000000 17450 39 始め 動詞,非自立,*,*,一段,連用形,始める,ハジメ,ハジメ 24 30 930 930 33 2 0 1 0.000000 0.000000 0.000000 19359 46 まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ 30 36 501 501 25 6 0 1 0.000000 0.000000 0.000000 19244 59 た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 36 39 435 435 25 6 0 1 0.000000 0.000000 0.000000 18647 62 EOS BOS/EOS,*,*,*,*,*,*,*,* 39 39 0 0 0 0 3 1 0.000000 0.000000 0.000000 17537


Documentation

Concernant la tokénisation et le calcul des fréquences

Tokénisation et étiquetage par calcul de l'indice de fréquence de cooccurrence (連接コスト)

コストの確認方法

https://abicky.net/2016/11/28/204542/

mecab コマンドでは -F オプションを指定することで出力フォーマットを変更することができます。

次の例では標準のフォーマットの末尾に単語生起コスト (%pw)、連接コスト (%pC)、文頭からの累積コスト (%pc) を追加しています。

% mecab -F '%m\t%H\t%pw,%pC,%pc\n' -E 'EOS\t%pw,%pC,%pc\n'
かつおたたき
かつ    接続詞,*,*,*,*,*,かつ,カツ,カツ 4281,-2789,1492
お      接頭詞,名詞接続,*,*,*,*,お,オ,オ        6374,-484,7382
たたき  名詞,一般,*,*,*,*,たたき,タタキ,タタキ  8441,-3097,12726
EOS     0,-573,12153
りんごジュース
りん    副詞,助詞類接続,*,*,*,*,りん,リン,リン  4705,-1137,3568
ご      接頭詞,名詞接続,*,*,*,*,ご,ゴ,ゴ        6655,-451,9772
ジュース        名詞,一般,*,*,*,*,ジュース,ジュース,ジュース    3637,-3097,10312
EOS     0,-573,9739
ロース肉薄切り
ロース  名詞,一般,*,*,*,*,ロース,ロース,ロース  3692,-283,3409
肉薄    名詞,サ変接続,*,*,*,*,肉薄,ニクハク,ニクハク    4456,-557,7308
切り    名詞,接尾,一般,*,*,*,切り,ギリ,ギリ     8907,-5447,10768
EOS     0,-156,10612

N-Best 解の累積コストはバグっているので、所望の解析結果のコストは制約付き解析によって求める必要があります。

「かつおたたき」の場合は次のように求めます。

% mecab -p -F '%m\t%H\t%pw,%pC,%pc\n' -E 'EOS\t%pw,%pC,%pc\n'
かつお  *
たたき  *
EOS
かつお  名詞,一般,*,*,*,*,かつお,カツオ,カツオ  7269,-283,6986
たたき  名詞,接尾,一般,*,*,*,たたき,タタキ,タタキ       11246,-5090,13142
EOS     0,-156,12986

「たたき」は名詞一般な気がしますが、ひとまず分割単位が正しくなれば良しとしましょう。

最適解の累積コストは 12153、所望の解析結果の累積コストは 12986 なので、12986 - 12153 + 1 = 834 だけ「かつお」の生起コストを下げれば良いことになります。