s_childを使ったcabocha使用例

「s_childを使ったcabocha使用例」の編集履歴(バックアップ)一覧はこちら

s_childを使ったcabocha使用例」(2014/05/07 (水) 16:42:51) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

2014.05.07 現在 64bit版windows&Linux両方ともcabocha組み込み述語が無いので、 代用としてs_child述語を使用して対応しています。 test:- kanji_mode(_,on),s_child(cabocha,['-f1','-d','/unidic'],A,B,C), see('test.txt',S), repeat,gets(S,D,N),f(A,B,D,E),write(E),N=:=1, seen(S),seen(B),told(A),told,s_kill(C,15). f(A,B,[],[]):-!. f(A,B,T,F):-puts(A,T),gets2(B,[0,0,0,0],D-D,E-E,F). %%util gets(S,L,N):-get0(S,X),gets(S,X,L,N). gets(S,4,[],1):-!. gets(S,26,[],1):-!. gets(S,10,[],0):-!. gets(S,13,[],0):-!. gets(S,31,[],0):-!. gets(S,14909570,[14909570],0):-!. gets(S,14909569,[14909569],0):-!. gets(S,X,[X|L],N):-gets(S,L,N). gets2(S,[A,B,C,D],L,L2,E):-!,get0(S,X),gets2a(S,[A,B,C,X],L,L2,E). gets2a(S,[69,79,83,31],_ ,_ ,[] ):-!. %EOS\n gets2a(S,[_,_,_,31] ,T-[] ,X-[U] ,[A|E]):-!,name(U,T),nativ_cabocha_formattype(X,A),gets2(S,[0,0,0,0],Y-Y,Z-Z,E). gets2a(S,[_,_,_,9] ,T-[] ,X-[U|Z] ,E ):-!,name(U,T),gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[_,_,_,32] ,T-[] ,X-[U|Z] ,E ):-!,name(U,T),gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[_,_,_,44] ,[]-[] ,X-['*'|Z],E ):-!,gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[_,_,_,44] ,T-[] ,X-[U|Z] ,E ):-!,name(U,T),gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[A,B,C,D] ,T-[D|L],X ,E ):-!,gets2(S,[B,C,D,0],T-L,X,E). puts(I,[]):-!,nl(I). puts(I,[A|L]):-put(I,A),puts(I,L). %%% nativ_cabocha_formattype([],[]):-!. nativ_cabocha_formattype(['*'|L],['*'|L]):-!. nativ_cabocha_formattype([A|L],B):-!,nativ_mecab_formattype([A,L],B). nativ_mecab_formattype([ %unk A,[ %00.被形態素単語 B, %01.品詞大分類 ;pos1 C, %02.品詞中分類 ;pos2 D, %03.品詞小分類 ;pos3 E, %04.品詞細分類 ;pos4 F, %05.活用型 ;cType G %06.活用形 ;cForm ]],[A,B,C,D,E,F,G,'*',"*",'*','*']) :-!,name(A,A2). nativ_mecab_formattype([ %nativ-mecab function A,[ %00.被形態素単語 '名詞', %01.品詞大分類 ;pos1 C, %02.品詞中分類 ;pos2 D, %03.品詞小分類 ;pos3 E, %04.品詞細分類 ;pos4 F, %05.活用型 ;cType G, %06.活用形 ;cForm H, %07.語彙素読み ;lForm I, %08.語彙素(語彙素表記+語彙素細分類);lemma J, %09.書字形出現形 ;orth K, %10.発音形出現形 ;pron L, %11.書字形基本形 ;orthBase M, %12.発音形基本形 ;pronBase N, %13.語種 ;goshu O, %14.語頭変化型 ;iType P, %15.語頭変化形 ;iForm Q, %16.語末変化型 ;fType R, %17.語末変化形 ;fForm S, %18.仮名 ;kana T, %19.仮名形基本形 ;kanaBase U, %20.語形 ;form V, %21.語形基本形 ;formBase W, %22.語頭変化結合型 ;iConType X, %23.語末変化結合型 ;fConType Y, %24.アクセント型 ;aType Z, %25.アクセント結合型 ;aConType AA, %26.アクセント修飾型 ;aModType AB %27.AI-TALK用中間言語 %XXX %素性構造パラメータ |_]],[A,'名詞',C,D,E,F,G,L,AB2,Z,AA]):-!,name(AB,AB2). nativ_mecab_formattype([ %nativ-mecab function A,[ %00.被形態素単語 B, %01.品詞大分類 ;pos1 C, %02.品詞中分類 ;pos2 D, %03.品詞小分類 ;pos3 E, %04.品詞細分類 ;pos4 F, %05.活用型 ;cType G, %06.活用形 ;cForm H, %07.語彙素読み ;lForm I, %08.語彙素(語彙素表記+語彙素細分類);lemma J, %09.書字形出現形 ;orth K, %10.発音形出現形 ;pron L, %11.書字形基本形 ;orthBase M, %12.発音形基本形 ;pronBase N, %13.語種 ;goshu O, %14.語頭変化型 ;iType P, %15.語頭変化形 ;iForm Q, %16.語末変化型 ;fType R, %17.語末変化形 ;fForm S, %18.仮名 ;kana T, %19.仮名形基本形 ;kanaBase U, %20.語形 ;form V, %21.語形基本形 ;formBase W, %22.語頭変化結合型 ;iConType X, %23.語末変化結合型 ;fConType Y, %24.アクセント型 ;aType Z, %25.アクセント結合型 ;aConType AA, %26.アクセント修飾型 ;aModType AB %27.AI-TALK用中間言語 %XXX %素性構造パラメータ |_]],[A,B,C,D,E,F,G,I,AB2,Z,AA]):-!,name(AB,AB2).
2014.05.07 現在 64bit版windows&Linux両方ともcabocha組み込み述語が無いので、 代用としてs_child述語を使用して対応しています。 test:- kanji_mode(_,on),s_child(cabocha,['-f1','-d','/unidic'],A,B,C), see('test.txt',S), repeat,gets(S,D,N),f(A,B,D,E),write(E),N=:=1, seen(S),seen(B),told(A),told,s_kill(C,15). f(A,B,[],[]):-!. f(A,B,T,F):-puts(A,T),gets2(B,[0,0,0,0],D-D,E-E,F). %%util gets(S,L,N):-get0(S,X),gets(S,X,L,N). gets(S,4,[],1):-!. gets(S,26,[],1):-!. gets(S,10,[],0):-!. gets(S,13,[],0):-!. gets(S,31,[],0):-!. gets(S,14909570,[14909570],0):-!. gets(S,14909569,[14909569],0):-!. gets(S,X,[X|L],N):-gets(S,L,N). gets2(S,[A,B,C,D],L,L2,E):-!,get0(S,X),gets2a(S,[A,B,C,X],L,L2,E). gets2a(S,[69,79,83,31],_ ,_ ,[] ):-!. %EOS\n gets2a(S,[_,_,_,31] ,T-[] ,X-[U] ,[A|E]):-!,name(U,T),nativ_cabocha_formattype(X,A),gets2(S,[0,0,0,0],Y-Y,Z-Z,E). gets2a(S,[_,_,_,9] ,T-[] ,X-[U|Z] ,E ):-!,name(U,T),gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[_,_,_,32] ,T-[] ,X-[U|Z] ,E ):-!,name(U,T),gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[_,_,_,44] ,[]-[] ,X-['*'|Z],E ):-!,gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[_,_,_,44] ,T-[] ,X-[U|Z] ,E ):-!,name(U,T),gets2(S,[0,0,0,0],Y-Y,X-Z,E). gets2a(S,[A,B,C,D] ,T-[D|L],X ,E ):-!,gets2(S,[B,C,D,0],T-L,X,E). puts(I,[]):-!,nl(I). puts(I,[A|L]):-put(I,A),puts(I,L). %%% nativ_cabocha_formattype([],[]):-!. nativ_cabocha_formattype(['*'|L],['*'|L]):-!. nativ_cabocha_formattype([A|L],B):-!,nativ_mecab_formattype([A,L],B). nativ_mecab_formattype([ %unk A,[ %00.被形態素単語 B, %01.品詞大分類 ;pos1 C, %02.品詞中分類 ;pos2 D, %03.品詞小分類 ;pos3 E, %04.品詞細分類 ;pos4 F, %05.活用型 ;cType G %06.活用形 ;cForm ]],[A,B,C,D,E,F,G,'*',"*",'*','*']) :-!,name(A,A2). nativ_mecab_formattype([ %nativ-mecab function A,[ %00.被形態素単語 '名詞', %01.品詞大分類 ;pos1 C, %02.品詞中分類 ;pos2 D, %03.品詞小分類 ;pos3 E, %04.品詞細分類 ;pos4 F, %05.活用型 ;cType G, %06.活用形 ;cForm H, %07.語彙素読み ;lForm I, %08.語彙素(語彙素表記+語彙素細分類);lemma J, %09.書字形出現形 ;orth K, %10.発音形出現形 ;pron L, %11.書字形基本形 ;orthBase M, %12.発音形基本形 ;pronBase N, %13.語種 ;goshu O, %14.語頭変化型 ;iType P, %15.語頭変化形 ;iForm Q, %16.語末変化型 ;fType R, %17.語末変化形 ;fForm S, %18.仮名 ;kana T, %19.仮名形基本形 ;kanaBase U, %20.語形 ;form V, %21.語形基本形 ;formBase W, %22.語頭変化結合型 ;iConType X, %23.語末変化結合型 ;fConType Y, %24.アクセント型 ;aType Z, %25.アクセント結合型 ;aConType AA, %26.アクセント修飾型 ;aModType |_]],[A,'名詞',C,D,E,F,G,L,Z,AA]):-!. nativ_mecab_formattype([ %nativ-mecab function A,[ %00.被形態素単語 B, %01.品詞大分類 ;pos1 C, %02.品詞中分類 ;pos2 D, %03.品詞小分類 ;pos3 E, %04.品詞細分類 ;pos4 F, %05.活用型 ;cType G, %06.活用形 ;cForm H, %07.語彙素読み ;lForm I, %08.語彙素(語彙素表記+語彙素細分類);lemma J, %09.書字形出現形 ;orth K, %10.発音形出現形 ;pron L, %11.書字形基本形 ;orthBase M, %12.発音形基本形 ;pronBase N, %13.語種 ;goshu O, %14.語頭変化型 ;iType P, %15.語頭変化形 ;iForm Q, %16.語末変化型 ;fType R, %17.語末変化形 ;fForm S, %18.仮名 ;kana T, %19.仮名形基本形 ;kanaBase U, %20.語形 ;form V, %21.語形基本形 ;formBase W, %22.語頭変化結合型 ;iConType X, %23.語末変化結合型 ;fConType Y, %24.アクセント型 ;aType Z, %25.アクセント結合型 ;aConType AA, %26.アクセント修飾型 ;aModType |_]],[A,B,C,D,E,F,G,I,Z,AA]):-!.

表示オプション

横に並べて表示:
変化行の前後のみ表示: