$Id: dic-detail.html 65 2007-01-30 00:52:53Z taku-ku $;
단어 사전의 구조를 이해하는 것으로, MeCab (을)를 범용적인 텍스트 변환 툴로서 이용할 수 있습니다. 예를 들면, 히라가나 to 카타카나 변환, 로마자 to 히라가나 변환, Auto Link 등을 MeCab 만으로 실행할 수 있습니다
단어 사전을 구축하려면, 최저 이하의 파일을 작성할 필요가 있습니다.
단어 사전입니다
엔트리는, 이하와 같은 CSV 그리고 추가합니다.
test,1223,1223,6058,foo,bar,baz
최초의4 개는 필수 엔트리로, 각각
되고 있습니다. 코스트치는 short int (16bit 정수) 의 범위에 거둘 필요가 있습니다.
5 컬럼눈 이후는, 유저 정의의 CSV 필드입니다. 기본적으로 어떤 내용이라도 CSV (이)가 허락하는 한 추가할 수 있습니다.
최초의 행에 연접표의 사이즈( 전건 사이즈, 후건사이즈) (을)를 씁니다. 그 다음은, 연접표의 전건의 문맥 ID, 후건의 문맥ID (와)과, 거기에 대응하는 코스트를 씁니다.
어느 단어 A, B 하지만 연접을 이룰 때,
됩니다. 즉, 단어 사전에 등록했다 ID 하지만 연접표를 참조할 때의 키가 됩니다. 코스트치는 short int (16bit 정수) 의 범위에 거둘 필요가 있습니다.
100 120 0 0 1 0 1 10 0 2 5
상기의 예에서는, 전건의 문맥의 사이즈가100, 후건의 문맥의 사이즈가 120 되어 있습니다. 또, 전건 문맥 0 (으)로부터 후건문맥 1 에의 천이 코스트가 10 되고 있습니다.
미지어 처리의 룰입니다. 이쪽 (을)를 봐 주세요.
이하가 최저한의 설정 (DEFAULT (와)과 SPACE) 입니다
DEFAULT 1 0 0 SPACE 0 1 0 0x0020 SPACE
미지어에 대한 품사열의 테이블입니다. 이쪽 (을)를 봐 주세요.
이하가 최저한의 설정 (DEFAULT (와)과 SPACE) 입니다
DEFAULT,0,0,0,* SPACE,0,0,0,*
다음의 커멘드를 실행하는 것으로, 해석용의 바이너리 사전을 작성합니다.
% /usr/local/libexec/mecab/mecab-dict-index
example 디렉토리에 몇개의 응용예가 있습니다.
Hatena Keyword (와)과 같은 Auto Link (을)를 실장해 보겠습니다
단어로서 키워드, 품사로서 키워드에 대응한다 URL (을)를 씁니다. 연접 상태는1 상태로 충분해서, 왼쪽 문맥/ 우문맥ID 함께 0 (으)로 합니다. 코스트치는 긴 키워드가 우선되도록(듯이) 설정합니다. 예를 들면 이하와 같은 함수를 사용하면 좋을 것입니다.
cost = (int)max(-36000, 400 * (length^1.5))url.csv
Google,0,0,-5878,http://www.google.com/ Yahoo,0,0,-4472,http://www.yahoo.com/ ChaSen,0,0,-5878,http://chasen.org/ 쿄토,0,0,-3200,http://www.city.kyoto.jp/ ...
1 상태이므로, 연접표의 사이즈는 1 x 1 됩니다. 후건 0 (으)로부터 전건 0 의 연접 코스트는 0 (으)로 합니다.
1 1 0 0 0
최저한의 설정 (DEFAULT (와)과 SPACE) 입니다
DEFAULT 1 0 0 SPACE 0 1 0 0x0020 SPACE
최저한의 설정 (DEFAULT (와)과 SPACE) 입니다
DEFAULT,0,0,0,* SPACE,0,0,0,*
autolink 그렇다고 하는 포맷을 작성해, 그것이 디폴트의 출력이 되도록(듯이) 합니다
cost-factor = 800 bos-feature = BOS/EOS output-format-type=autolink node-format-autolink = <a href="%H">%M</a> unk-format-autolink = %M eos-format-autolink = n
% /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -c euc-jp reading ./unk.def .. 2 emitting double-array: 100% |###########################################| reading ./dic.csv .. 4 emitting double-array: 100% |###########################################| emitting matrix : 100% |########################################### done! % mecab -d . 쿄토에 갔다. <a href="http://www.city.kyoto.jp/"> 쿄토</a> 에 갔다. Yahoo (와)과Google <a href="http://www.yahoo.com/">Yahoo</a> (와)과<a href="http://www.google.com/">Google</a>
단어로서 히라가나1 문자, 품사로서 각 히라가나 대응하는 카타카나1 문자를 씁니다. 연접 상태는1 상태로 충분해서, 왼쪽 문맥/ 우문맥ID 함께 0 (으)로 합니다. 애매성이 없기 때문에 코스트치는 0 (으)로 합니다
″,0,0,0, 브 아,0,0,0, 아 있어,0,0,0, 이 ,0,0,0, 우 네,0,0,0, 에 ,0,0,0, 오 ,0,0,0, ,0,0,0, ,0,0,0, ,0,0,0, ,0,0,0, 인가,0,0,0, 카 나무,0,0,0, 키 구,0,0,0, 쿠 ,0,0,0, 케 와,0,0,0, 코 하지만,0,0,0, 가 ,0,0,0, 기 ,0,0,0, 그 ,0,0,0, 게 ,0,0,0, 고 ,0,0,0, 사 해,0,0,0, 시 ,0,0,0, 스 키,0,0,0, 세 ,0,0,0, 소 자리,0,0,0, 더 글자,0,0,0, 지 두,0,0,0, 즈 ,0,0,0, 제 ,0,0,0, 조 ,0,0,0, 타 ,0,0,0, 치 개,0,0,0, 트 (이)라고,0,0,0, 테 (와)과,0,0,0, 트 (이)다,0,0,0, 다 ,0,0,0, 지 ,0,0,0, 즈 그리고,0,0,0, 데 ,0,0,0, 드 ,0,0,0, ,0,0,0, 나 에,0,0,0, 니 ,0,0,0, 누 그런데,0,0,0, 네 의,0,0,0, 노 하,0,0,0, 하 히,0,0,0, 히 ,0,0,0, 후 우와,0,0,0, 헤 ,0,0,0, 호 ,0,0,0, 바 ,0,0,0, 비 ,0,0,0, 브 ,0,0,0, 베 ,0,0,0, 보 ,0,0,0, 파 ,0,0,0, 비 ,0,0,0, 프 ,0,0,0, 페 ,0,0,0, 포 ,0,0,0, 마 봐,0,0,0, 미 ,0,0,0, 무 째,0,0,0, 메 도,0,0,0, 모 ,0,0,0, (이)나,0,0,0, 야 ,0,0,0, ,0,0,0, 유 ,0,0,0, ,0,0,0, 요 들,0,0,0, 라 ,0,0,0, 리 ,0,0,0, 르 ,0,0,0, 레 ,0,0,0, 로 ,0,0,0, 원,0,0,0, 와 ,0,0,0, ,0,0,0, (을)를,0,0,0, 응,0,0,0,
1 상태이므로, 연접표의 사이즈는 1 x 1 됩니다. 후건 0 (으)로부터 전건 0 의 연접 코스트는 0 (으)로 합니다.
1 1 0 0 0
최저한의 설정 (DEFAULT (와)과 SPACE) 입니다
DEFAULT 1 0 0 SPACE 0 1 0 0x0020 SPACE
최저한의 설정 (DEFAULT (와)과 SPACE) 입니다
DEFAULT,0,0,0,* SPACE,0,0,0,*
katakana 그렇다고 하는 포맷을 작성해, 그것이 디폴트의 출력이 되는 듯 (으)로 합니다
dictionary-charset = euc-jp cost-factor = 800 bos-feature = BOS/EOS output-format-type=katakana node-format-katakana = %H unk-format-katakana = %M eos-format-katakana = n
% /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -c euc-jp reading ./unk.def .. 2 emitting double-array: 100% |###########################################| reading ./dic.csv .. 4 emitting double-array: 100% |###########################################| emitting matrix : 100% |########################################### done! % mecab -d . 개와입니다 코레하테스트데스
$Id: dic-detail.html 65 2007-01-30 00:52:53Z taku-ku $;