Title: JUMAN/KNP???? ?????
1JUMAN/KNP????????????? - ?? -
???????????????? ???????????????????????
(2005/8/30)
2??
- ????????
- ????
- JUMAN/KNP???????
- JUMAN/KNP???/??????(??????)
- ??
- Perl???
- JUMAN/KNP?Perl?????????????????
3??????????
- C\juman-knp-20050830
- Install
- juman-5.1.exe, knp-2.0.exe, Perl??
- src (Perl?????)
- cut.pl, grep.pl, phrase.pl, sort.pl, uniq.pl
- text (????????)
- ??cook_small.txt, cook_middle.txt,
cook_large.txt - Webweb_small.txt, web_middle.txt, web_large.txt
- small 1,000?, middle 5,000?, large 20,000?
41.????????
- ???????
- C\juman-knp-20050830
- JUMAN
- C\Program Files\juman
- KNP
- C\Program Files\knp
- Perl(ActivePerl)
- Perl?????
5JUMAN/KNP?????????
- ?????Linux??
- ?????????EUC
- ????????????EUC
- ??????Windows
- ?????????SJIS
- ????????????EUC
- ?????????????
- Linux ???EUC
- Windows ???SJIS
62.????
- PATH???
- ????????????????????????
(Windows XP???)
72.????
82.????
92.????
- PATH???
- Path????????????????
102.????
- PATH???
- Path????????????????
- ??????????????????(?????????????????????)
C\Program Files\jumanC\Program Files\knp
113.1 JUMAN???????
- ???? ????????
- ????????????????????????? ?????
123.1 JUMAN???????
133.1 JUMAN???????
143.1 JUMAN???????
153.1 JUMAN???????
Tips
Alt??/???IME????? ?????????
163.1 JUMAN???????
Tips
???????????????????????? ? ?????????????????????
? ?????????
173.1 JUMAN???????
183.1 JUMAN???????
Tips
?????????????? ????????
19juman B e2 ??????
??
??
??
??
?????
????
? ?? ? ?? 6 ???? 10 0 0 "????? ?????" ??
??? ?? ?? 2 0 ?????? 9 ????? 7 "??????" ? ? ?
?? 9 ??? 2 0 0 NIL _at_ ? ? ? ?? 9 ???? 3 0
0 NIL ?? ??? ?? ?? 6 ???? 10 0 0 "??????" _at_
?? ?? ?? ?? 6 ???? 10 0 0 "??????" ? ? ? ??
9 ??? 1 0 0 NIL ?? ??? ?? ?? 6 ???? 1 0 0
"??????" ?? ?? ? ??? 4 0 ??? 25 ?????? 24
NIL ? ? ? ?? 1 ?? 1 0 0 NIL EOS
???
???
????????????
203.2 KNP???????
213.2 KNP???????
22knp tab ??????
0?????
????????
S-ID1 KNP2005/08/30 2D lt??gtlt?gtlt??gtlt??gtlt???gt
lt???ST2.5?gtlt??1-4gtltRID1238gtlt???gt ? ?? ?
?? 6 ???? 10 0 0 "????? ?????"
lt?????gtlt?????gtlt??gt ?? ??? ?? ?? 6 ???? 1 0
0 "??????" lt??????gtlt????gt ? ? ? ?? 9 ??? 2 0
0 NIL lt??gtltALT-?-?-?-9-3-0-0-NILgtlt??-???gtlt??-???
gt 2D lt??gtlt???gtlt????gtlt?gtlt?gtlt??gtlt??gtlt???gtlt??0-
0gtltRID1200gtlt???gt ?? ??? ?? ?? 6 ???? 10 0 0
?????? lt??????gtlt??gt ? ? ? ?? 9 ??? 1 0 0
NIL lt????gtlt????gtlt??gt -1D lt??gtlt??gtlt??gtlt???gtlt???
Cgtlt??5-5gtltID(??)gtltRID112gtlt???30gt ?? ??? ?? ??
6 ???? 1 0 0 "??????" lt??????gtlt??gtlt????gt ??
?? ? ??? 4 0 ??? 25 ?????? 24 NIL
lt????gtlt????gtlt????gtlt???gtlt??gt ? ? ? ?? 1 ?? 1 0
0 NIL lt??gtlt???gtlt??gtlt??gt EOS
1?????
2?????
23????????????
- cd c\juman-knp-20050830\text
- juman B e2 lt cook_small.txt gt cook_small.jmn
- knp tab lt cook_small.jmn gt cook_small.knp
Tips
???????????? Tab???????
244.1 JUMAN?????
25??????
????(??????????????)
(????????????)
??
?
??
??
??
? ? ?
26????
27ContentW.dic(?????)
-
- (?? (???? ((?? ????)(???? ?? (??? 1.6) (????
1.6))(???? "??????")))) - (?? (???? ((?? ????)(???? ?? (??? 1.6) (????
1.6))(???? "??????")))) - (?? ((?? ????)(???? ??? ????)(???? "???????")))
- (?? (???? ((?? ????)(???? ????)(????
"????????")))) - (?? ((?? ???)(???? ??? ???)(??? ??????)(????
"???????"))) - (?? (???? ((?? ???)(???? ? ??? (??? 1.6))(????
"?????")))) - (?? (???? ((?? ???)(???? ?? ? (??? 1.6))(????
"??????")))) - (?? (???? ((?? ?????)(???? ??? ?? ??? (?????
1.6))(???? "???????")))) - (?? (???? ((?? ?????)(???? ??? (????? 1.6))(????
"???????")))) - (?? ((?? ?????)(???? ?????)(???? "?????????")))
28JUMAN.connect.c(??????)
-
- ((BunsetsuEndSentenceEnd
- BunsetsuEnd
- (?? ???? ?))
- ((??))
- 4 )
- ((VerbBasicForm
- IAdjBasicForm
- NaAdjAllBasicForm
- AuxBasicForm
- NaAdjGuessForm
- ( ?????)
- (?? ??????)
- (??? ?????? ??????))
- ((?? ???? ??)))
294.2 KNP??????
30?????
0. JUMAN B e2 ???????
- ????????(mrph_home.rule60) ? ??????????
- ?????feature??(mrph_basic.rule300) ? ??????
- ????feature??(bnst_.rule200,650)
- ??????
- ??????(kakari_uke.rule40)
- ???
31?????(bnst_type.rule)
? 30?? ??? ??????????????
( ( ? ) ( lt ( ? ?? ? ) ((??)) gt ) ( lt
( ?? (? ? ?) ? ) gt ? ) ?? )
32??????
30?? ?? ??? ??? ??????
33JUMAN???????
- ?????????
- ?????????????????
- ??????????????????
- C\Program Files\juman\dic???usr.dic??????????????
??????? - C\Program Files\juman\dic???makedic.bat?????
- ??????
(?? (???? ((?? ??????) (???? ?????? ??????
????))))
34??
35??
- ????????
- ????
- JUMAN/KNP???????
- JUMAN/KNP???/??????(??????)
- ??
- Perl???
- JUMAN/KNP?Perl?????????????????
366.Perl???
???????????????100??4??????? ?????????????????????
??????? ??????????? ??????????????50? ?????????C?
???????????? ??????? ?????????????????????????????
?
636 ?597 ? 583 ?45 ?42 ??42 ??? 39 ? 38
?? 37 ?
????
?????????
376.Perl???
- ?????????????????????(?????)???
- C\juman-knp-20050830\src\test.pl???
- cd C\juman-knp-20050830\src
- ???? ???????perl test.pl???
?????
use encoding shiftjisprint ??????\n
??????????
???????
386.Perl???
- ?????????????????????(src\grep.pl)
use encoding shiftjisARGV0
Encodedecode(shiftjis, ARGV0)while
(ltSTDINgt) print if (/ARGV0/)
????????????
1?????
??
?//????????????
396.Perl???
while (ltSTDINgt) push(_at_buffer, _)if
(rflag) print reverse sort _at_buffer else
print sort _at_buffer
baa aa cccc aa
aa aa baa cccc
_at_...???
??????????
???????
406.Perl???
- ???????????????????????????(src\uniq.pl)
use encoding shiftjispre ltSTDINgtcount
1while (ltSTDINgt) if (pre eq _)
count else printf 6d
pre, count pre _ count
1 printf 6d pre, count
aa aa baa cccc
2 aa 1 baa 1 cccc
416.Perl???
- ?????????????????????(src\cut.pl)
? ?? ? ?? 6 ???? 10 0 0 "????? ?????" ??
??? ?? ?? 2 0 ?????? 9 ????? 7 "??????" ? ? ?
?? 9 ??? 2 0 0 NIL ?? ??? ?? ?? 6 ???? 10 0
0 "??????" ? ? ? ?? 9 ??? 1 0 0 NIL ?? ???
?? ?? 6 ???? 1 0 0 "??????" ?? ?? ? ??? 4
0 ??? 25 ?????? 24 NIL ? ? ? ?? 1 ?? 1 0 0
NIL EOS
use encoding shiftjisif (ARGV0
/\-(\d)/ 1 gt 0) cnum 1 1
else die Usage cut.pl n\nwhile
(ltSTDINgt) _at_data split print
datacnum, \n if (data gt cnum)
1?????????????
426.Perl???
- ?????????????????????(src\cut.pl -3)
? ?? ? ?? 6 ???? 10 0 0 "????? ?????" ??
??? ?? ?? 2 0 ?????? 9 ????? 7 "??????" ? ? ?
?? 9 ??? 2 0 0 NIL ?? ??? ?? ?? 6 ???? 10 0
0 "??????" ? ? ? ?? 9 ??? 1 0 0 NIL ?? ???
?? ?? 6 ???? 1 0 0 "??????" ?? ?? ? ??? 4
0 ??? 25 ?????? 24 NIL ? ? ? ?? 1 ?? 1 0 0
NIL EOS
use encoding shiftjisif (ARGV0
/\-(\d)/ 1 gt 0) cnum 1 1
else die Usage cut.pl n\nwhile
(ltSTDINgt) _at_data split print
datacnum, \n if (data gt cnum)
1?????????????
436.Perl???
- ?????????????????????(src\cut.pl)
use encoding shiftjisif (ARGV0
/\-(\d)/ 1 gt 0) cnum 1 1
else die Usage cut.pl n\nwhile
(ltSTDINgt) _at_data split print
datacnum, \n if (data gt cnum)
1?????????????
44??
- ????????
- ????
- JUMAN/KNP???????
- JUMAN/KNP???/??????(??????)
- ??
- Perl???
- JUMAN/KNP?Perl?????????????????
457.1 ?????????
- cd c\juman-knp-20050830\text
- ?????????cook_small.txt????
???????????????100??4??????? ?????????????????????
??????? ??????????? ??????????????50? ?????????C?
???????????? ??????? ?????????????????????????????
????????????????? ????????????????????????????????
?????
467.1 ?????????
- ?????
- juman B e2 lt cook_small.txt gt cook_small.jmn
- ??????????
- perl ..\src\cut.pl -3 lt cook_small.jmn more
3???????
???????????????100??4???????
477.1 ?????????
- ?????????????
- perl ..\src\cut.pl -3 lt cook_small.jmn perl
..\src\sort.pl perl ..\src\uniq.pl perl
..\src\sort.pl r more
636 ?597 ? 583 ?45 ?42 ??42 ??? 39 ? 38
?? 37 ?
?? ?? ?? ???? ?? ?? ?? ??
1 ?????52 ??1 ????1 ???? 1 ???? 1 ??? 6 ?? 1
???? 1 ????
48src\phrase.pl
- ?????????????????
- ?????phrase.pl -1
- ???????phrase.pl -2
- cook_large.knp??????
- perl ..\src\phrase.pl -1 knp\cook_large.knp gt
cook_large.dat1 - perl ..\src\phrase.pl -2 knp\cook_large.knp gt
cook_large.dat2
!/usr/bin/perl ???????????????????
UNIX?OS???????????????????????????????????? use
KNP KNP new KNP while (ltSTDINgt)
result KNP-gtparse(_) for my bnst
(result-gtbnst) ... use
KNPFile use encoding 'shiftjis' if (ARGV0
/\-(12)/ -f ARGV1) type 1
????????????? KNP new
KNPFile(ARGV1) die else
497.2 ?????????
- ?????????????
- perl ..\src\sort.pl lt cook_large.dat1 perl
..\src\uniq.pl perl ..\src\sort.pl -r more
1618 ??1001 ??? 518 ???511 ?315 ?296 ??292
?? 284 ??? 269 ???
507.3 ???????????
- ???????????????
- perl ..\src\sort.pl lt cook_large.dat2 perl
..\src\uniq.pl perl ..\src\sort.pl r more
188 ??? ??? 188 ???? NTT?????? 97 ?? ??? 77 1???
?? 59 ?? ?? 59 ?????? ?? 57 ?? ??? 56 ?? ?? 53
???? ??
51?????
- ???????
- perl ..\src\sort.pl lt cook_large.dat2 perl
..\src\uniq.pl perl ..\src\sort.pl r perl
..\src\grep.pl ?? more
53 ???? ?? 33 ??? ?? 31 ???? ?? 29 ??? ?? 16 ???
?? 12 ?? ?? 11 ???? ?? 10 ??? ?? 10 ?? ??
52?????
- ?? ??????
- perl ..\src\sort.pl lt cook_large.dat2 perl
..\src\uniq.pl perl ..\src\sort.pl r perl
..\src\grep.pl ? ?? more
16 ??? ?? 7 ?? ?? 5 ??? ?? 4 ??? ?? 3 ????? ?? 3
??? ?? 3 ?? ?? 3 ?? ?? 2 ?? ??
53??????
- ????????????
- ????????????????