메뉴 건너뛰기


Computer Science > Language Processing

Japanese MeCab 툴 사용법

2013.12.28 20:40

푸우 조회 수:6644

여기서부터 문제네요.
일본어 형태소 분석기기 때문에 일본어를 입력해야 하고 일본어를 웹으로 보여드려야 하는데...
제 홈페이지가 EUC-KR 코드셑을 갖고 있어서...
뭐 어떻게 대충 해 볼테니깐... 글자가 일부 깨지는 것은 좀 이해해 주십시오.
 
MeCab을 설치하면 기본적으로 몇가지 실행 파일이 설치됩니다.
그 중에 형태소 분석 결과를 테스트 해 볼 수 있는 파일은 mecab.exe파일입니다.
 
mecab.exe파일을 실행하면 그냥 아무 것도 나오지 않고 사용자의 입력을 기다리게 됩니다.
 
아무 글자나 입력하고 엔터를 치면 분석한 결과를 보여주게 됩니다.
 
初期設定に戻す
初期    名詞,一般,*,*,*,*,初期,ショキ,ショキ
設定    名詞,サ変接続,*,*,*,*,設定,セッテイ,セッテイ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
戻す    動詞,自立,*,*,五段・サ行,基本形,戻す,モドス,モドス
EOS
 
위에서 노란색으로 칠해 놓은 부분은 제가 입력한 부분이구요.
그 외 부분은 mecab이 출력한 결과입니다.
"初期設定に戻す"은 한국어로 "초기설정으로 되돌린다"라는 의미입니다.
제가 일본어를 잘 모르는지라 그냥 웹에서 복사해서 테스트 한 결과입니다.
 
일본어는 한국어와 다른게 띄어쓰기를 기본적으로 하지 않습니다.
결과로 제시된 내용을 보면 각 형태소별로 끊어내서 각라인별로 출력한 것을 알 수 있습니다.
"初期設定に戻す"이라는 하나의 문장을 "初期" / "設定" / "に" / "戻す" 과 같이 4개의 형태소로 끊어 낸 결과를 보여줍니다.
각 형태소 뒤에 콤마(,)로 구분하여 표시하고 있는 내용은 해당 형태소 단어에 대한 정보입니다.
순서대로 살펴보면
 
"품사,품사상세분류1,품사상세분류2,품사상세분류3,활용형,활용형,원형,독음,발음"
 
의 정보를 표시하고 있습니다. *는 해당 정보가 없다는 의미입니다.
 
생각보다 꽤 잘 나지 않나요? 수차례 이야기 하지만 사실 전 일본어를 잘 몰라서 위의 정보가 모두 맞는지는 모르겠지만... 제가 관심있는 정보는 맞는 듯 합니다.
 
mecab의 기본 사용법은 다음과 같습니다.
 
Usage: mecab [option] [files...]
 
옵션과 파일들을 지정할 수 있는데 [files...]를 생략하면 이전 보았던 것 처럼 실행된 화면에 글자를 직접입력해서 라인단위로 분석하고 결과를 보는 것입니다.
 
그냥 파일이름만 mecab의 인수로 주면 그 파일을 분석 대상 파일로 인식합니다. 파일을 여러게 지정할 수 있습니다.
 
mecab에 지정할 수 있는 옵션에는 뭐가 있는지 함 살펴 보도록 하겠습니다.
 
 

단순옵션

긴옵션

설명

-r--rcfile=FILE리소스파일(환경파일)을 설정합니다.
-d--dicdir=DIR시스템 사전 디렉토리의 경로를 설정합니다.
-u--userdic=FILE사용자 사전 파일의 경로를 설정합니다.
-l--lattice-level=INT격자(lattice) 정보 수준 (기본값 0)
-D--dictionary-info사전 정보를 표시하고 끝냄
-a--all-morphs모든 형태소 출력 (기본값은 false)
-O--output-format-type=TYPE출력 포맷 형태 설정 (wakati, none, ...)
-p--partial부분 파싱 모드
-F--node-format=STR형태소에 대한 출력 형태 지정
-U--unk-format=STR미지어에 대한 출력 형태 지정
-B--bos-format=STR분석결과 제시전의 출력 형태 지정
-E--eos-format=STR문장끝에 대한 출력 형태 지정
-x--unk-feature=STR미지어를 위한 특징 지정
-b--input-buffer-size=STR입력버퍼의 크기 지정 (기본값은 BUF_SIZE)
-C--allocate-sentence입력 문장을 위한 새로운 메모리 할당
-N--nbest=INTN-Best 결과 출력(기본값 1)
-t--theta=FLOATset temparature parameter theta (default 0.75)
-o--output=FILE출력 파일 이름 설정
-v--version버전 정보를 표시하고 종료함
-h--help사용법을 표시하고 종료함
 
설명 드릴게 꽤 있네요. 몇가지 용어 설명 부터 해야 겠네요.
 
리소스 파일 : 리소스 파일은 환경설정 파일이라고 생각하시면 될 듯 십습니다. 기본적으로 설치하게 되면 /usr/local/etc/mecabrc (UNIX), C:\Program Files\MeCab\etc\mecabrc (Windows) 라는 파일이 있습니다. 이 파일을 의미합니다.
 
사전 : 뭐 사전이라는 말 뜻이 뭔지 모르시지는 않겠지만 이미 말씀드린대로 MeCab은 사전을 기반으로 형태소 분석을 행합니다. 그래서 사전이 제공되어야 합니다. 사전에는 시스템사전과 사용자사전으로 두가지 종류가 있습니다. MeCab에서 기본적으로 분석을 위해 참조하는 사전을 의미합니다. 설치시에 IPADIC을 설치하셨죠? 이게 시스템 사전입니다. 시스템 사전은 여러개의 파일로 구성되어 있어서 디렉토리로 지정되어야 합니다. 그럼 사용자사전이란 무엇이냐? 사용자사전은 신조어라든가 전문용어와 같이 시스템사전에 등록되지 않아 형태소 분석시 오류가 발생하는 경우 사용자가 직접 단어를 입력해 주는 사전을 의미합니다. 사용자 사전은 하나 하나씩 만들 수 있어서 파일로서 지정하게 됩니다.
 
격자(lattice) : 이건 사실 정확히 뭔지는 모르겠지만 한국어 형태소분석에서의 Tagging시스템에서 사용되는 조절값과 같은 것 같습니다. 아마 MeCab내부적으로 분석된 후보들을 격자구조로 만들어서 최종 결과를 선택하는 것 같습니다. -a옵션을 사용하면 분석된 모든 결과를 볼 수 있는데 여기서 각 형태소의 주변 출현 확률을 계산해서 최종결과를 선택하기 위해 -l의 값을 지정합니다. -l에 지정할 수 있는 값으로는 0, 1, 2 인데... 기본값이 0이고 이럴 경우 단 한개의 해를 제시합니다. -l1은 N-Best해가 출력 가능한 레벨이라고 하는데... 뒤쪽에 N-Best에 대해서는 다시 설명하는 것으로 하고요... -l2는 -a 옵션과 같이 사용하여야 하는데 주변확률을 모두 계산해서 모든 형태소에 계산된 값을 제시하여 개발자가 선택할 수 있게 하는 것 같습니다. 설명으로는 -l0가 가장 빠르고 그 다음은 -l1, 제일 느린게 -l2라고 합니다.(-l0의 8배 정도)
 
부분파싱 : 부분파싱이란 한글로 설명하면 "아버지가방에들어가신다"와 같은 문장을 컴퓨터가 해석하기 너무 어려우므로 사람이 좀 도움을 주는 것을 의미합니다. 쉽게 생각하면 사람이 띄어 쓰기를 해서 전달해 주면 쉽게 분석할 수 있게죠? 일본어는 원래 띄어쓰기가 없기때문에 이런 현상이 자주 일어나나 봅니다.(잘은 모르지만..) 아무튼 부분파싱 모드 상태에서는 각각의 띄어 쓸 단위를 한 라인에 입력하고 탭키(\t)를 줘서 품사를 적어줘서 MeCab으로 부터 부석하라고 하는 것입니다. 만약 "にわにはにわにわとりがいる。"이러한 문장이 있다면 mecab -p 로 실행 한 후 다음과 같이 입력하여 부분파싱을 유도할 수 있습니다. (품사를 지정하고 싶지 않다면 *로 지정합니다. 참고로 아래의 공백문자같이 보이는 부분은 탭문자입니다.)
にわ *
に 助詞
はにわ *
にわとり *
が 接続詞
いる *,非自立
EOS
 
부분파싱모드에서 위와 같이 입력하면 다음과 같은 결과를 출력합니다.
にわ    *
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
はにわ  名詞,一般,*,*,*,*,はにわ,ハニワ,ハニワ
にわとり        名詞,一般,*,*,*,*,にわとり,ニワトリ,ニワトリ
が      接続詞
いる    動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS
 
위의 문장을 부분파싱모드로 하지 않고 일반 모두에서   "にわにはにわにわとりがいる"만 입력한다면 다음과 같은 결과를 출력합니다.
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
わに    名詞,一般,*,*,*,*,わに,ワニ,ワニ
はにわ  名詞,一般,*,*,*,*,はにわ,ハニワ,ハニワ
にわとり        名詞,一般,*,*,*,*,にわとり,ニワトリ,ニワトリ
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる    動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS
 
두개의 분석 결과가 다른걸 보니 아래의 결과는 틀렸나 봅니다. mecab의 메뉴얼에 나온 내용을 입력한거든요. ㅋㅋ 뭘 하려는 건지는 아시겠죠? 
 
N-Best : 우리는 지금 형태소분석을 사람이 하는 것이 아니라 기계(컴퓨터)가 하기 때문에 완벽할 수는 없습니다. 그래서 MeCab에서는 분석 후 여러가지의 분석결과 후보를 내게 되는데 여기서 나름대로의 알고리즘을 이용하여 가장 적당하다고 생각되는 결과 하나를 내 주게 됩니다. N-Best를 사용하게 되면 분석한 결과 후보들을 N개의 범위내에서 가장 좋은 출력순으로 제시 해 줍니다. 최대로 지정할 수 있는 값은 512개입니다.
 
이제 용어를 어느 정도 알아 봤으니... 각 옵션이 뭘 하는지 구체적으로 알아 보도록 하죠.
 
1) -r 옵션
 
mecab의 환경설정파일에 해당하는 리소스파일을 지정하게 됩니다.
위에서도 이야기 했지만 기본적으로 리소스 파일은 /usr/local/etc/mecabrc (UNIX), C:\Program Files\MeCab\etc\mecabrc (Windows) 라는 파일이 있습니다.
리소스 파일에는 시스템과 사용자 사전의 경로, 분석결과출력 형태지정, 입력버퍼크기 등을 설정할 수 있습니다. 다른 옵션의 사용으로 이들을 변경할 수도 있습니다. 리소스 파일은 이들 값은 지정하지 않고 사용할때 기본으로 사용될 값을 미리 지정해 놓는 역할을 합니다.
만약 /usr/local/etc/mecabrc파일을 이용할 수 없을 경우 /.mecabrc 라는 파일을 사용할 수도 있습니다.
위에서 제시하지 않은 파일을 리소스파일로 사용하길 원한다면 -r옵션을 사용하면 됩니다.
 
즉, /home/myhome/userrc 라는 파일을 리소스 파일로 사용하고 싶다면 다음과 같이 입력하면 됩니다.
 
mecab -r /home/myhome/userrc
 
다음은 설치시 기본으로 지정되는 mecabrc파일입니다.
 
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  $(rcpath)\..\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
 
보면 대충 아시겠지만... 우선 첫번째 문자가 ;이 오면 주석으로 인식합니다.
"$(rcpath)"는 특별하게 사용되는데 현재 리소스파일의 경로를 대체합니다.
dicdir은 시스템사전의 경로를 지정하게 됩니다. (반듯이 지정되어야 합니다.)
userdic는 사용자 사전을 지정합니다.
output-format-type은 결과를 출력할 형식을 지정합니다.후에 다시 이야기 하겠습니다.
input-buffer-size에는 입력버퍼의 크기를 지정합니다.
node-format은 분석된 하나의 형태소(단어)를 표시하는 방법을 지정합니다.(기본값을 NULL문자)
bos-format은 분석되기 전의 단어에 대한 표시 방법을 지정합니다. (기본값은 NULL공백문자)
eos-format은 문장을 끝을 표시하기는 방법을 지정합니다. (기본값은 EOS\n)
unk-format은 미지어에 대한 표시방벙을 지정합니다.(기본값을 node-format과 같음)
 
node-format, bos-format, eos-format, unk-format에 사용할 수 있는 값은 지정된 값들을 사용하며 형식화 시킬 수 있습니다.
다음에 여기에 사용할 수 있는 설정값들입니다.
 
%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종료 위치
%pC1 개전의 형태소와의 연접 코스트
%pw%c (와)과 같다
%pc연접 코스트 + 단어 발생 코스트 ( 문두로부터 누적)
%pn연접 코스트 + 단어 발생 코스트 ( 그 형태소 단독, %pw + %pC)
%pb최적 패스의 경우 *, 그 이외는 ' '
%pP주변 확률 (-l2 옵션을 지정했을 때 마셔 유효)
%pAblpha, forward log 확률 (-l2 옵션을 지정했을 때 마셔 유효)
%pBbeta, 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통상의 이스케이프 문자열 (C의 printf에서 사용사용하는 것과 같음)
\s' ' ( 반각 스페이스)
리소스(설정) 파일에 기술할 경우에 사용
 
 참고로 위의 eos-format에 지정된 EOS\n에서 EOS는 특별한 의미를 갖고 있는 것은 아니며 그냥 문자 자체가 출력되고 New Line이 출력되게 하는 것입니다.
 
이제 실습을 통해 알아보죠.
 
c:\myrc 라는 파일을 다음과 같이 만들어 보겠습니다.
 
dicdir =  C:\Program Files\mecab\dic\ipadic
node-format = NODE[%m]\t
unk-format = UNK=[%S]\t
bos-format = BOS=[%S]\t
eos-format = END\n
 
다음을 위의 리소스 파일을 사용한 mecab의 사용 예입니다.
 
C:\Test>mecab -r C:\myrc
school
BOS=[school]    UNK=[school]    END
初期
BOS=[初期]    NODE[初期]    END
 
실행 결과에서 빨간 글씨는 제가 입력한 것입니다.
보시면 아시겠지만 출력 형식이 많이 바뀌었죠?
"school"이라는 단어는 mecab에서 미지어로 처리합니다. 일본어가 아니기 때문이죠.
"初期"라는 단어는 변형된 단어가 아니라서 분석한 결과도 그냥 "初期"로 나오는 군요.
이런 식으로 사용하여 출력의 형태를 바꿀 수 있습니다.
 
2) -d 옵션
 
-d옵션을 이용하여 시스템 사전의 경로를 바꿀 수 있습니다. 사실 시스템 사전은 리소스파일에 지정되어 있습니다. 이를 변경하는 목적으로 사용됩니다.
실습 삼아 C:\Program Files\MeCab\dic\ipadic 디렉토리를 통째로 복사여 C:\Program Files\MeCab\dic\mydic 이라는 디렉토리를 만들고 다음과 같이 실행해 보십시오.
 
mecab  -d "C:\Program Files\MeCab\dic\mydic"
 
정상적으로 실행됨을 보실 수 있을 것 입니다.
이 디렉토리가 정말 사용되는지 궁금하시다면 mydic디렉토리 안에 있는 dicrc라는 파일의 이름을 변경한뒤 mecab을 위와 같이 실행해 보세요. 그럼 다음과 같은 에러가 납니다.
 
tagger.cpp(137) [load_dictionary_resource(param)] param.cpp(25) [ifs] no such file or directory: C:\Program Files\MeCab\dic\mydic\dicrc
 
여기서 한가지 알 수 있는 사실이 있습니다. mecab을 시스템 사전을 지정하면 그 사전디렉토리에서 dicrc라는 파일을 찾는다는 사실이죠. dicrc도 역시 리소스 파일입니다.
우선은 이 정도로만 알아 두시고 다른 옵션을 설명할 때 더 자세히 다루도록 하죠.
 
3) -u 옵션
 
사용자 사전을 지정합니다. 리소스 파일에서 지정하게 되는 userdic의 값을 변경하는 효과가 있습니다.
사용자 사전은 디렉토리가 아니라 하나의 파일입니다. 아직 사용자 사전을 만드는 방법에 대해서 공부하지 않아서 우선 이 정도로만 하고 넘어가겠습니다.
한가지만 더 이야기 하자면 적용하고자 하는 사용자 사전이 여러개 있다면 콜론(:)으로 구분하여 여러 파일을 지정할 수 있습니다.
 
4) -l 옵션
 
이 옵션을 위에서 격자(lattice)라는 용어를 설명하면서 아마 이럴 것이다라고 이야기 한바 있습니다.
즉, 정확히 잘 모르겠다는 것이죠. ^^;
이 옵션에 대한 설명은 위의 격자(lattice)용어 설명 부분을 참조 하세요.
 
5) -D 옵션
 
mecab이 실행되서 사용하게 될 사전에 대한 정보를 출력해 줍니다.
 
실행 결과만 보도록 하죠.
 
C:\Test>mecab  -d "C:\Program Files\MeCab\dic\mydic" -D
filename:       C:\Program Files\MeCab\dic\mydic\sys.dic
version:        102
charset:        shift_jis
type:   0
size:   378914
left size:      1316
right size:     1316
 
6) -a 옵션
 
주어진 문장에서 분석 가능한 모든 형태소를 보여 줍니다. mecab은 분석시 여러가지 분석 후보를 만드는데 기본으로는 그 중 한가지만 보여주게 됩니다. -a옵션을 사용하면 mecab이 분석한 모든 결과를 볼 수 있는 것이죠.
 
7) -O 옵션
 
이 부분에서 좀 설명이 길어 질 것 같네요. -O는 출력 형태를 지정하는 옵션입니다.
리소스 파일에서 출력의 형태를 지정한 적이 있습니다.
-O는 리소스 파일에 출력형식을 여러가지 형태로 만들어 놓고 이름을 붙여서 해당 형식으로 출력하라고 지시하는 기능을 갖습니다.
이런 출력형식을 여러가지로 지정할 수 있는 파일은 mecabrc과 dicrc파일입니다.
다시 리소스 파일을 보도록 하겠습니다.
 
node-format = NODE[%m]\t
unk-format = UNK=[%S]\t
bos-format = BOS=[%S]\t
eos-format = END\n
 
위와 같이 정의한 출력형식에 NICK이라는 이름을 부여 하려면 다음과 같이 하면 됩니다.
 
node-format-NICK = NODE[%m]\t
unk-format-NICK = UNK=[%S]\t
bos-format-NICK = BOS=[%S]\t
eos-format-NICK = END\n
 
그럼 실습 삼아 c:\myrc 파일을 다음과 같이 만들어 보겠습니다.
 
dicdir =  C:\Program Files\mecab\dic\ipadic
 
node-format = NODE[%m]\t
unk-format = UNK=[%S]\t
bos-format = BOS=[%S]\t
eos-format = END\n
 
; Define NICK Format
node-format-NICK = [%m]\t
unk-format-NICK = [%S]\t
bos-format-NICK = [%S]\t
eos-format-NICK = EOS\n
 
; Define NICK2 Format
node-format-NICK2 = %m\n
unk-format-NICK2 = %S\n
bos-format-NICK2 = %S\n
eos-format-NICK2 = EOS\n
 
그런 다음 mecab을 실행하면 다음과 같은 결과를 보실 수 있습니다.
 
C:\Test>mecab -r C:\myrc -O NICK
abc
[abc]   [abc]   EOS
^C

C:\Test>mecab -r C:\myrc -O NICK2
abc
abc
abc
EOS
^C

C:\Test>mecab -r C:\myrc
abc
BOS=[abc]       UNK=[abc]       END
 
좀 전과 마찬가지로 빨간색 글자는 제가 입력한 글자입니다.
 
시스템사전 디렉토리에 있는 dicrc파일에 이미 몇가지 출력형태를 다음과 같이 정의하고 이름지어 놓았습니다.
 
; yomi
node-format-yomi = %pS%f[7]
unk-format-yomi = %M
eos-format-yomi  = \n
 
; simple
node-format-simple = %m\t%F-[0,1,2,3]\n
eos-format-simple  = EOS\n
 
; ChaSen
node-format-chasen = %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
unk-format-chasen  = %m\t%m\t%m\t%F-[0,1,2,3]\t\t\n
eos-format-chasen  = EOS\n
 
; ChaSen (include spaces)
node-format-chasen2 = %M\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
unk-format-chasen2  = %M\t%m\t%m\t%F-[0,1,2,3]\t\t\n
eos-format-chasen2  = EOS\n
 
뭐 보면 아시겠지만 사용할 수 있는 이름은 yomi, simple, chasen, chasen2 입니다. 단, mecab 내에 하드 코딩된 이름지어진 출력형식이 있는 wakati, dump 가 그것입니다. 물론 이름은 지어져 있지 않지만 아무값도 지정하지 않았을 경우 사용되는 기본 형식도 있죠.
특히 chasen은 공개된 또다른 일본어 형태소 분석기의 이름이고 chasen이 출력하는 형태로 출력할 수 있는 설정값입니다.
 
다음은 각각을 실행한 결과 화면입니다.
 
E:\Program Files\MeCab\bin>mecab -O yomi
初期設定に戻す
ショキセッテイニモドス
^C

E:\Program Files\MeCab\bin>mecab -O simple
初期設定に戻す
初期    名詞-一般
設定    名詞-サ変接続
に      助詞-格助詞-一般
戻す    動詞-自立
EOS
^C

E:\Program Files\MeCab\bin>mecab -O chasen
初期設定に戻す
初期    ショキ  初期    名詞-一般
設定    セッテイ        設定    名詞-サ変接続
に      ニ      に      助詞-格助詞-一般
戻す    モドス  戻す    動詞-自立       五段・サ行      基本形
EOS
^C

E:\Program Files\MeCab\bin>mecab -O chasen2
初期設定に戻す
初期    ショキ  初期    名詞-一般
設定    セッテイ        設定    名詞-サ変接続
に      ニ      に      助詞-格助詞-一般
戻す    モドス  戻す    動詞-自立       五段・サ行      基本形
EOS
^C

E:\Program Files\MeCab\bin>mecab
初期設定に戻す
初期    名詞,一般,*,*,*,*,初期,ショキ,ショキ
設定    名詞,サ変接続,*,*,*,*,設定,セッテイ,セッテイ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
戻す    動詞,自立,*,*,五段・サ行,基本形,戻す,モドス,モドス
EOS
^C

E:\Program Files\MeCab\bin>mecab -O dump
初期設定に戻す
0 BOS BOS/EOS,*,*,*,*,*,*,*,* 0 0 0 0 0 0 2 1 0.000000 -8.921309 0.000000 0
7 初期 名詞,一般,*,*,*,*,初期,ショキ,ショキ 0 4 1285 1285 0 2 0 1 -3.677813 -5.247378 0.996127 3923 0:3923:0.996127
6 初 名詞,接尾,一般,*,*,*,初,ハツ,ハツ 0 2 1298 1298 0 2 0 0 -11.757188 -9.6047
9 0.000004 12541 0:12541:0.000004
5 初 接頭詞,名詞接続,*,*,*,*,初,ハツ,ハツ 0 2 560 560 0 2 0 0 -5.220000 -9.951240 0.001931 5568 0:5568:0.001931
4 初 名詞,固有名詞,地域,一般,*,*,初,ハツ,ハツ 0 2 1293 1293 0 2 0 0 -11.223750 -7.680176 0.000046 11972 0:11972:0.000046
3 初 名詞,固有名詞,人名,名,*,*,初,ハジメ,ハジメ 0 2 1291 1291 0 2 0 0 -10.920938 -9.696276 0.000008 11649 0:11649:0.000008
2 初 名詞,一般,*,*,*,*,初,ハツ,ハツ 0 2 1285 1285 0 2 0 0 -6.594375 -8.634202 0.001823 7034 0:7034:0.001823
1 初 名詞,形容動詞語幹,*,*,*,*,初,ウブ,ウブ 0 2 1287 1287 0 2 0 0 -9.427500 -9.172446 0.000063 10056 0:10056:0.000063
10 期 名詞,接尾,助数詞,*,*,*,期,キ,キ 2 4 1300 1300 0 2 0 0 -11.505858 -6.534565 0.000110 12500 :7089:0.000000 5:6932:0.000089 4:8198:0.000000 3:6888:0.0000002:7061:0.000020 1:7651:0.000001
9 期 名詞,接尾,一般,*,*,*,期,キ,キ 2 4 1298 1298 0 2 0 0 -9.102275 -5.765815 0.002614 10114 6:4140:0.000004 5:5536:0.000707 4:2056:0.000046 3:4257:0.000008 2:3080:0.001788 1:3652:0.000062
8 期 名詞,一般,*,*,*,*,期,キ,キ 2 4 1285 1285 0 2 0 0 -10.441155 -5.247378 0.001151 11152 6:9244:0.000000 5:5584:0.001135 4:7348:0.000001 3:8834:0.000000 2:8757:0.000015 1:9601:0.000000
11 設定 名詞,サ変接続,*,*,*,*,設定,セッテイ,セッテイ 4 8 1283 1283 0 2 0 1 -7.015180 -1.906128 1.000002 7487 7:3564:0.996127 10:4937:0.000110 9:4117:0.002614 8:3564:0.001151
16 に 動詞,自立,*,*,一段,連用形,にる,ニ,ニ 8 10 625 625 0 6 0 0 -17.379242 -5.441429 0.000001 18542 11:11055:0.000001
15 に 動詞,自立,*,*,一段,未然形,にる,ニ,ニ 8 10 622 622 0 6 0 0 -18.625179 -7.197900 0.000000 19871 11:12384:0.000000
14 に 助詞,副詞化,*,*,*,*,に,ニ,ニ 8 10 329 329 0 6 0 0 -9.364555 -1.667810 0.121110 9993 11:2506:0.121110
13 に 助詞,特殊,*,*,*,*,に,ニ,ニ 8 10 325 325 0 6 0 0 -13.630180 -4.835596 0.000072 14543 11:7056:0.000072
12 に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 8 10 151 151 0 6 0 1 -7.051743 -1.998743 0.878819 7526 11:39:0.878819
18 戻す 動詞,自立,*,*,五段・サ行,基本形,戻す,モドス,モドス 10 14 731 731 0 2 0 1 -9.504439 0.583125 0.999995 10280 16:6427:0.000001 15:8300:0.000000 14:2401:0.121110 13:5780:0.000072 12:2754:0.878813
17 戻 動詞,自立,*,*,五段・ラ行,体言接続特殊2,戻る,モド,モド 10 12 776 776 0 2 0 0 -13.479259 -7.411518 0.000006 14436 16:5562:0.000000 15:8731:0.000000 14:7608:0.000000 13:8394:0.000000 12:6910:0.000006
25 す 動詞,自立,*,*,サ変・スル,体言接続特殊2,する,ス,ス 12 14 601 601 0 6 0 0 -23.106445 -0.801562 0.000000 24705 17:10269:0.000000
24 す 動詞,自立,*,*,サ変・スル,文語基本形,する,ス,ス 12 14 602 602 0 6 0 0 -22.927383 -0.606562 0.000000 24514 17:10078:0.000000
23 す 動詞,自立,*,*,五段・ラ行,体言接続特殊2,する,ス,ス 12 14 777 777 0 6 0 0 -24.925196 -1.021875 0.000000 26645 17:12209:0.000000
22 す 動詞,接尾,*,*,五段・サ行,基本形,す,ス,ス 12 14 879 879 0 6 0 0 -21.9251960.827812 0.000005 23445 17:9009:0.000005
21 す 接頭詞,名詞接続,*,*,*,*,す,ス,ス 12 14 560 560 0 6 0 0 -23.553633 -2.063437 0.000000 25182 17:10746:0.000000
20 す 名詞,一般,*,*,*,*,す,ス,ス 12 14 1285 1285 0 6 0 0 -24.977695 0.510000 0.000000 26701 17:12265:0.000000
19 す 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,すい,ス,ス 12 14 11 11 0 6 0 0 -23.576134 -1.069687 0.000000 25206 17:10770:0.000000
26 EOS BOS/EOS,*,*,*,*,*,*,*,* 14 14 0 0 0 0 3 1 -8.921309 0.000000 1.000000 9658 18:-622:0.999995 25:855:0.000000 24:647:0.000000 23:1090:0.000000 22:-883:0.000005 21:2201:0.000000 20:-544:0.000000 19:1141:0.000000
^C

E:\Program Files\MeCab\bin>mecab -O wakati
初期設定に戻す
初期 設定 に 戻す
^C
 
 
8) -p 옵션
-p는 부분문자 파싱 모드로 mecab을 실행합니다. 부분문자열에 대해서는 위의 용어 설명을 참조하세요.
 
9) -F, -U, -B, -E 옵션
-F, -U, -B, -E옵션은 각각 리소스 파일에서 node-format, unk-format, bos-format, eos-format변수에 해당합니다. 즉, 기본출력형식이나 리소스파일에 정의된 값을 사용하지 않고 사용자기 mecab을 실행할때 아큐먼트로 직접 입력해서 출력 결과를 변경할때 사용하게 됩니다.
 
10) -x 옵션
미지어에 대해서 분석 결과를 어떻게 표시할 지를 지정합니다. 말을 어려운 것 같아도 단순합니다. 아래의 실행예를 보시면 그냥 아실 수 있을 겁니다.
E:\Program Files\MeCab\bin>mecab -x UNKNOWN_WORD
abc
abc     UNKNOWN_WORD
EOS
名詞
名詞    名詞,一般,*,*,*,*,名詞,メイシ,メイシ
EOS
 
11) -b 옵션
입력 버퍼의 크기를 지정합니다. 리소스 파일의 input-buffer-size를 대체합니다. 지정하지 않으면 BUF_SIZE가 기본값이라고 하는데 아마 32BIT 윈도우즈의 경우 8K에 해당되는 것 같습니다. 그런데 이값을 변경하면서 해 보았는데 별 차이를 느끼지 못 했습니다.
 
12) -C 옵션
입력문장을 위해 새로운 메모리를 할당하라는 옵션입니다.
 
13) -N 옵션
N-BEST의 결과를 출력하라는 옵션입니다. 기본값은 1을 지정한 것과 같습니다. 출력하기를 원하는 갯수를 숫자로 적어 줍니다.
다음은 실행예입니다.
E:\Program Files\MeCab\bin>mecab -N 3
初期設定に戻す
初期    名詞,一般,*,*,*,*,初期,ショキ,ショキ
設定    名詞,サ変接続,*,*,*,*,設定,セッテイ,セッテイ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
戻す    動詞,自立,*,*,五段・サ行,基本形,戻す,モドス,モドス
EOS
初期    名詞,一般,*,*,*,*,初期,ショキ,ショキ
設定    名詞,サ変接続,*,*,*,*,設定,セッテイ,セッテイ
に      助詞,副詞化,*,*,*,*,に,ニ,ニ
戻す    動詞,自立,*,*,五段・サ行,基本形,戻す,モドス,モドス
EOS
初      名詞,一般,*,*,*,*,初,ハツ,ハツ
期      名詞,接尾,一般,*,*,*,期,キ,キ
設定    名詞,サ変接続,*,*,*,*,設定,セッテイ,セッテイ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
戻す    動詞,自立,*,*,五段・サ行,基本形,戻す,モドス,モドス
EOS
 
N-BEST에 대해서는 위의 용어 설명을 참조하세요.
 
14) -t 옵션 
이 옵션의 설명으로는 "set temparature parameter theta (default 0.75)" 라고 나와 있는데 사실 뭘 하는 것인지 잘 모르겠습니다. 그래서 이 옵션은 통과합니다. (죄송 ^^;)
 
15) -o 옵션 
출력 결과를 화면에 보이지 않고 특정 파일로 저장하고 싶을 때 파일 이름과 함께 이 옵션을 사용합니다.
 
16) -v 옵션
mecab의 Version 정보를 출력합니다.
 
17) -h 옵션
사용법을 표시해 줍니다. 
 
옵션이 참으로 만네요. 뭐 사용하기에 어려운 툴은 아니지만 각 옵션을 설명하려리 말이 주저리 주저리 길어 졌네요.
이번 내용은 여기까지 입니다.


Creative Commons License
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Copyright 조희창(Nicholas Jo). Some rights reserved. http://bbs.nicklib.com