소프트원 이겨 쓰기

$Id: soft.html 65 2007-01-30 00:52:53Z taku-ku $;

개요

MeCab 0.90 보다 소프트원승리 쓰기의 기능이 붙었습니다. 소프트원승리 쓰기는 입력문에 대해서 가능한 모든 형태소열을 주변 확률 첨부로 출력하는 기능입니다. 풀텍스트 검색의 인데키싱에 사용하는 것으로, 복합어의 단어 분할의 애매성등을 해결할 수 있습니다.

소프트원승리 쓰기의 상세한 것에 대하여는 논문 (을)를 참조해 주세요.

전형태소의 출력

MeCab (은)는 디폴트로 최적해만을 출력합니다. -a 옵션을 지정하면 최적해는 아니고, 라티스중의 전형태소를 출력합니다.

% mecab -a

도쿄도청

도쿄    
명사,
고유 명사,
지역,
일반,*,*,
도쿄,
트우쿄우,
토쿄

동      
명사,
고유 명사,
일반,*,*,*,
동,
히가시,
히가시

동      
명사,
고유 명사,
지역,
일반,*,*,
동,
히가시,
히가시

동      
명사,
고유 명사,
인명,
명,*,*,
동,
히가시,
히가시

동      
명사,
고유 명사,
인명,
성,*,*,
동,
아즈마,
아즈마

동      
명사,
일반,*,*,*,*,
동,
히가시,
히가시

쿄토    
명사,
고유 명사,
일반,*,*,*,
쿄토,
쿄우트,
쿄트

쿄토    
명사,
고유 명사,
지역,
일반,*,*,
쿄토,
쿄우트,
쿄트

경      
명사,
고유 명사,
지역,
일반,*,*,
경,
쿄우,
쿄

경      
명사,
고유 명사,
인명,
명,*,*,
경,
미야코,
미야코

경      
명사,
고유 명사,
인명,
성,*,*,
경,
쿄우,
쿄

도청    
명사,
일반,*,*,*,*,
도청,
트쵸우,
트쵸

도      
명사,
접미,
지역,*,*,*,
도,
트,
트

도      
명사,
고유 명사,
지역,
일반,*,*,
도,
미야코,
미야코

도      
명사,
고유 명사,
인명,
성,*,*,
도,
미야코,
미야코

도      
명사,
고유 명사,
인명,
명,*,*,
도,
미야코,
미야코

도      
명사,
일반,*,*,*,*,
도,
트,
트

청      
명사,
접미,
일반,*,*,*,
청,
나비,
조-

청      
명사,
고유 명사,
지역,
일반,*,*,
청,
나비,
조-

청      
명사,
일반,*,*,*,*,
청,
나비,
조-
EOS

주변 확률의 계산과 출력

각 형태소의 주변 확률( 그 형태소가 입력문 중(안)에서 어느 정도의 확률로 출현한다 의 것인지) 의 계산을 실시하려면, -a (와)과 -l 2 옵션을 동시에 사용합니다. -l 옵션은 어느 정도의 라티스 정보를 해석시에 구축하는지를 지정하는 옵션입니다. -l2 (와)과 지정하는 것으로 forwardbackward 알고리즘을 사용해 주변 확률의 계산을 실시합니다.-l 옵션은 이하의 레벨이 있습니다.

-l2 옵션을 사용하면 부동 소수점 연산이 들어가기 위해 -l 0 에 비해 8 배정도 늦어집니다.

각 형태소의 주변 확률을 출력하려면, -F 옵션을 사용해 출력 포맷을 개별적으로 출력 필요가 있습니다. 통상 %pP %pb (을)를 사용합니다. 출력 포맷의 지정 방법은 이쪽 (을)를 람하 재산.

% mecab -l2 -a -F"%m %H %pP %pbn" -E"EOSn"

쿄토 대학

쿄토 대학 
명사,
고유 명사,
조직,*,*,*,
쿄토 대학,
쿄우트다이가크,
쿄트다이가크 0.559944 *

쿄토대 
명사,
고유 명사,
조직,*,*,*,
쿄토대,
쿄우트다이,
쿄트다이 0.073824  

쿄토 
명사,
고유 명사,
일반,*,*,*,
쿄토,
쿄우트,
쿄트 0.004990  

쿄토 
명사,
고유 명사,
지역,
일반,*,*,
쿄토,
쿄우트,
쿄트 0.360982  

경 
명사,
고유 명사,
지역,
일반,*,*,
경,
쿄우,
쿄 0.000161  

경 
명사,
고유 명사,
인명,
명,*,*,
경,
미야코,
미야코 0.000003  

경 
명사,
고유 명사,
인명,
성,*,*,
경,
쿄우,
쿄 0.000096  

도 
명사,
접미,
지역,*,*,*,
도,
트,
트 0.000166  

도 
명사,
고유 명사,
지역,
일반,*,*,
도,
미야코,
미야코 0.000001  

도 
명사,
고유 명사,
인명,
성,*,*,
도,
미야코,
미야코 0.000006  

도 
명사,
고유 명사,
인명,
명,*,*,
도,
미야코,
미야코 0.000072  

도 
명사,
일반,*,*,*,*,
도,
트,
트 0.000015  

대학 
명사,
고유 명사,
지역,
일반,*,*,
대학,
다이가크,
다이가크 0.004919  

대학 
명사,
고유 명사,
인명,
명,*,*,
대학,
다이가크,
다이가크 0.004441  

대학 
명사,
일반,*,*,*,*,
대학,
다이가크,
다이가크 0.350523  

대 
명사,
접미,
일반,*,*,*,
대,
다이,
다이 0.003603  

대 
접두사,
명사 접속,*,*,*,*,
대,
다이,
다이 0.001123  

대 
접두사,
동사 접속,*,*,*,*,
대,
오오,
오 0.000011  

대 
명사,
고유 명사,
지역,
일반,*,*,
대,
오오,
오 0.000171  

대 
명사,
고유 명사,
인명,
명,*,*,
대,
마살,
마살 0.000016  

대 
명사,
일반,*,*,*,*,
대,
다이,
다이 0.001424  

학 
명사,
접미,
일반,*,*,*,
학,
가크,
가크 0.067828  

학 
명사,
고유 명사,
지역,
일반,*,*,
학,
가크,
가크 0.001092  

학 
명사,
고유 명사,
인명,
명,*,*,
학,
마나브,
마나브 0.004203  

학 
명사,
일반,*,*,*,*,
학,
가크,
가크 0.007051
EOS

-t 수치 옵션을 사용해 확률치의 「매끈함」을 변경할 수 있습니다. 수치를 소오면, 확률치가 매끈하게 되어, 단보람 형태소가 큰 확률치를 가지게 됩니다. 수치를 크게 하면 최적해의 확률이 커집니다. 디폴트는 0.75 입니다.

% mecab -l2 -a -F"%m %H %pP %pbn" -t0.1 -E"EOSn"

쿄토 대학

쿄토 대학 
명사,
고유 명사,
조직,*,*,*,
쿄토 대학,
쿄우트다이가크,
쿄트다이가크 0.023617 *

쿄토대 
명사,
고유 명사,
조직,*,*,*,
쿄토대,
쿄우트다이,
쿄트다이 0.052790  

쿄토 
명사,
고유 명사,
일반,*,*,*,
쿄토,
쿄우트,
쿄트 0.113576  

쿄토 
명사,
고유 명사,
지역,
일반,*,*,
쿄토,
쿄우트,
쿄트 0.200919  

경 
명사,
고유 명사,
지역,
일반,*,*,
경,
쿄우,
쿄 0.206514  

경 
명사,
고유 명사,
인명,
명,*,*,
경,
미야코,
미야코 0.157030  

경 
명사,
고유 명사,
인명,
성,*,*,
경,
쿄우,
쿄 0.245554  

도 
명사,
접미,
지역,*,*,*,
도,
트,
트 0.168921  

도 
명사,
고유 명사,
지역,
일반,*,*,
도,
미야코,
미야코 0.090030  

도 
명사,
고유 명사,
인명,
성,*,*,
도,
미야코,
미야코 0.098721  

도 
명사,
고유 명사,
인명,
명,*,*,
도,
미야코,
미야코 0.120077  

도 
명사,
일반,*,*,*,*,
도,
트,
트 0.131348  

대학 
명사,
고유 명사,
지역,
일반,*,*,
대학,
다이가크,
다이가크 0.056029  

대학 
명사,
고유 명사,
인명,
명,*,*,
대학,
다이가크,
다이가크 0.063926  

대학 
명사,
일반,*,*,*,*,
대학,
다이가크,
다이가크 0.097919  

대 
명사,
접미,
일반,*,*,*,
대,
다이,
다이 0.150510  

대 
접두사,
명사 접속,*,*,*,*,
대,
다이,
다이 0.151888  

대 
접두사,
동사 접속,*,*,*,*,
대,
오오,
오 0.083163  

대 
명사,
고유 명사,
지역,
일반,*,*,
대,
오오,
오 0.101090  

대 
명사,
고유 명사,
인명,
명,*,*,
대,
마살,
마살 0.090363  

대 
명사,
일반,*,*,*,*,
대,
다이,
다이 0.128706  

학 
명사,
접미,
일반,*,*,*,
학,
가크,
가크 0.233658  

학 
명사,
고유 명사,
지역,
일반,*,*,
학,
가크,
가크 0.150100  

학 
명사,
고유 명사,
인명,
명,*,*,
학,
마나브,
마나브 0.174424  

학 
명사,
일반,*,*,*,*,
학,
가크,
가크 0.200327 
EOS

라이브러리로부터의 이용

-a 옵션을 지정했을 경우, mecab_sparse_tonode 하지만 돌려준다 node 하 전형태소를 더듬을 수 있는 상대자향리스트가 됩니다. -l2 (을)를 지정하면 mecab_node_t::prob 에 주변 확률이 대입됩니다.

mecab_t *mecab;
mecab_node_t *node;

mecab = mecab_new2("-l2 -a");

node = mecab_sparse_tonode(mecab, input);
for (; node; node = node->next) {
  /* 
최적해 혹은 확률이 0.05 
이상 때 출력 */
  if (node->isbest || node->prob >= 0.05)  {
    fwrite (node->surface, sizeof(char), node->length, stdout);
    printf("t%st%fn", node->feature, node->prob);
  }
}

$Id: soft.html 65 2007-01-30 00:52:53Z taku-ku $;