about Mecab (2) 出力フォーマットの定義とその指定方法

ユーザによる出力フォーマットの定義とその指定方法

http://mecab.sourceforge.net/format.html

node
一つの形態素を出力,デフォルトは空文字
unk
一つの未知語形態素を出力、デフォルトはnodeと同一フォーマット
bos
形態素解析の結果に先立って出力、デフォルトは空文字
eos
形態素解析の結果のあとに出力,デフォルトは"EOS\n"

これらをもとに指定する。パラメータ詳細は後述。

指定方法

on commandline

mecab --node-format=STR --bos-format=STR --eos-format --unk-format=STR

mecabrcファイルに記述する方法
任意の文字列KEYを使って以下のように定義

node-format-KEY = STR
unk-format-KEY = STR
eos-format-KEY = STR
bos-format-KEY = STR

コマンドラインから呼び出すには

mecab -Okey 

on python

import MeCab
m = MeCab.Tagger("Okey")
出力フォーマットのパラメータ
%s 形態素の種類(0:通常、1:未知語, 2:文頭、 3:文末)
%S 入力文
%L 入力文の長さ
%m 形態素の表層文字列
%M 形態素の空白文字を含む表層文字列
%h 素性の内部ID
%% %そのもの
%c 単語生起コスト
%H 素性(品詞、活用、読み)などをCSVで表現したもの
%t 文字種id
%P 周辺確率
%pi 形態素に付与されるユニークなID
%pS 形態素が空白文字列で始まる場合,その空白文字列を表示 %pS%mと%Mは同一
%ps 開始位置
%pe 集良一
%pC 一つ前の形態素との連接コスト
%pw %cと同じ
%pc 連接コスト+単語生起コスト (文頭から累積)
%pn 連接コスト+単語生起コスト(その形態素単独 = %pw+%pC)
%pb 最適パスの場合*, それ以外は''
%pP 周辺確率
%pA blpha, forward log確率
%pB beta, backward log確率
%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"をデリミタとして表示 ただし、要素が空の場合は以降表示が省略 ex) %F-[N1, N2]
\s ' '半角スペース

# ChaSen
node-format-chasen = %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t %f]5],\n
#; 表層文字列 f[7] f[6] F[0]-F[1]-F[2]-F[3] f[4]f[5]
unk-format-chasen = %m\t%m\t%F-[0,1,2,3]\t\t\n
eos-format-chasen = EOS\n
# 表層文字列 表層文字列F[0]-F[1]-F[2]-F[3]

f[n] ?csvファイルはどれだろう?