はじめに
一つの品詞情報つきデータベースがあればそれを利用して、他系の源氏物語の自動単語分割や自動品詞つ
けが容易に行える。数種類のデータベースがあれば様々の比較検討が可能になる。ここでは『大成』を利用
した『大系』の品詞情報つきデータベース作成の方法について述べる。
(原データベース)
00012980¥T1/空蝉(うつせみ) 00012990¥P109 00013000¥T1うつせみ 00013010L5△/寢(ね)られ/給(たま)はぬまゝに、 00013020L6△/「我は、かく、人に/憎(にく)まれてもならはぬを、/今宵(こよひ)なむ、はじめて 「/憂(う)し」と、 00013030L7△/世(よ)を/思(おも)ひ/知(し)りぬれば、はづかしくて、ながらふまじくこそ/思 (おも)ひなりぬれ」 00013040L8などのたまへば、涙をさへこぼして/臥(ふ)したり。「いとらうたし」とおほす。/手(て) 00013050L9さぐりの、/細(ほそ)く/小(ちひ)さき程、/髪(かみ)のいと/長(なが)からざりし けはひの、/似通(にかよ)ひたるも、/思(おも) 00013060L10ひなしにやあはれなり。「あながちに、かゝづらひたどりよらむも、人/悪(わろ)かるべ 00013070L11く、まめやかにめざまし」と/思(おぼ)し/明(あか)しつゝ、/例(れい)のやうにも、 の給ひまつはさず。 00013080L12△夜ふかく/出(い)で/給(たま)へば、この/子(こ)は、「いと、いとほしく、さう ※※し」と/思(おも)ふ。 00013090L13女も、「なみ÷÷ならず、かたはら/痛(いた)し」と思ふに、御/消息(せうそこ)も/ 絶(た)えてなし。「/思(おぼ) |
(修正データベース)
寢られ給はぬまゝに、 「我は、 かく、 人に憎まれてもならはぬを、 今宵なむ、 はしめて、 「憂し」と、 世を思ひ知りぬれは、 はつかしくて、 なからふましくこそ思ひなりぬれ」なとのたまへは、 涙をさへこほして臥したり。 「いとらうたし」とおほす。 手さくりの、 細く小さき程、 髪のいと長からさりしけはひの、 似通ひたるも、 思ひなしにやあはれなり。 「あなかちに、 かゝつらひたとりよらむも、 人悪かるへく、 まめやかにめさまし」と思し明しつゝ、 例のやうにも、 の給ひまつはさす。 |
(変換プログラム)
#ファイル中の文字及び記号等の変換・削除を行なうプログラム #henkan fname と使用
cp /dev/null temp1
set m = "head -1 $1|colrm 2 100"
if ($m == 0) then
#
cat temp2|sed 's/(.)//g'|sed 's/(..)//g'|sed 's/(...)//g'|sed 's/(....)//g'|sed 's/(.....)//g'|sed 's/(......)//g'|sed 's/(.......)//g'|sed 's/(........)//g'|sed 's/(.........)//g'|tr -d "()">> temp3
cat temp3|sed 'y/がぎぐげござじずぜぞだぢづでどばびぶべぼゞ/かきくけこさしすせそたちつてとはひふへほゝ/'>>temp4
#点と丸で改行 |
1)『大成』テキストに読点をいれる
品詞情報つき『大成』データベースは、『大系』を参考に読点、句点を入れ単語分割を行ったが、品詞
つけを行った時点で『大成』の索引による単語認定に従って読点を削除したので、再び自動的に読点を挿
入する。句読点の位置の違いを、ERR.FILとして出してみると、以下のようになる。『大成』の自動単語分割
の時には、分割用に45000余語の辞書を使ったが、今回は『大系』のテキストと『大成』のテキストを
読点と句点で改行し、行毎に『大成』の単語で『大系』の同一単語を探して自動単語分割することにした。
ERR tmp1 line 1245:いまひときさみ[連語] tmp2 line 42:、いま、ひとき --------------------------------------- ERR tmp1 line 1377:むねあく[動詞] tmp2 line 50:むね、あ --------------------------------------- ERR tmp1 line 2733:大液芙蓉未央柳[連語] tmp2 line 106:大液芙蓉、未央 --------------------------------------- ERR tmp1 line 2773:はねをならへ枝をかはさむ[連語] tmp2 line 107:、はねをならへ、枝をかは |
ERR tmp1 line 684:をしつけ[動詞] tmp2 line 37:をし、つ ---------------------------------- ERR tmp1 line 724:もてつけ[動詞] tmp2 line 39:もて、つ ---------------------------------- |
2)『大成』テキストから一時的に品詞を抜いたテキストと『大系』テキストの双方の読点と句点の位置を
比較し、『大系』の解釈に添った単語分割を行うため『大系』の位置どおりに『大成』の読点や句点の位置
を修正する。『大系』テキストを単語分割プログラムにかける。
(分割プログラム)
#源氏物語の分割 #末分割のテキスト(file1) 分割済みのテキスト(file2)を使用 #各行の対比は類似し行合わせがしてあること #gsplit_1 file1 file2 と使用。結果はsplitfileに出力 cat $1| sed 's/(.)//g' | sed 's/(..)//g' | sed 's/(...)//g'| sed 's/(.*)//g' >t1file cat t1file|sed 'y/がぎぐげござじずぜぞだぢづでどばびぶべぼゞ/かきくけこさしすせそたちつてとはひふへほゝ/'>t2file cat t2file|sed -f commandf >t3file cp t3file tfile rm t1file t2file t3file echo "" > splitfile1 set 1 = 'cat tfile|wc -1' @ i = 1 @ a = 1 while($1 >= $i) cat tfile|tail +$a|head -1 > sfile1 cat $2|tail +$a|head -1 > sfile2 cat sfile1 cat sfile2|tr "/" '\012' > sfile3 @ k = 1 set m = 'cat sfile2|tr "/" " " ' set n = 'cat sfile3|wc -1 ' @ a++ while($n > $k) echo -n "/"<=. ->$/\!' >cmf echo "s/$m[$k]/<=$m[$k]->/" >>cmf cat sfile1|sed -f cmf >yy cat yy|sed 's/< / < /g' |sed 's/ > / > /g'|tr " " '\012'|sed '/'$/d' > xx rm sfile1 yy cmf mv xx sfile1 @ k++ end cat sfile1|tr '\012' " " >> splitfile1 echo "" >>splitfile1 cat sfile|tr '\012' " " echo "" echo $i 'date' rm sfile1 sfile2 sfile3 @ 1++ end cat splitfile1|tai1 +2 >splitfile rm tfile splitfile1 |
成 1:/ね/られ/たまは/ぬ/ままに/は/、 系 1:/寢/られ/給は/ぬ/まゝに/、 成 2:/我/は/、 系 2:/我/は/、 成 3:/かく/、 系 3:/かく/、 成 4:/人/に/にくま/れ/て/も/ならは/ぬ/を/、 系 4:/人/に/憎ま/れ/て/も/ならは/ぬ/を/、 |
成 13:/てさくり/の/、 系 13:/手さくり/の/、 成 14:/ほそく/ちいさき/ほと/、 系 14:/細く小さき程/、 成 15:/かみ/の/いと/なかから/さり/し/けはひ/の/、 系 15:/髪/の/いと/長から/さり/し/けはひ/の/、 成 16:/さま/かよひ/たる/も/、 系 16:/似通ひ/たる/も/、 |
F 1:/ね/られ/たまは/ぬ/ままに/は/、 S 1:/寢/られ/給は/ぬ/まゝに//、 F 14:/ほそく/ちいさき/ほと/、 S 14:/細く/小さき/程/、 F 16:/さま/かよひ/たる/も/、 S 16://似通ひ/たる/も/、 F 21:/まめやかに/めさまし/と/おほしあかし/つつ/、 S 21:/まめやかに/めさまし/と/思し明し/つゝ/、 F 24:/夜ふかう/いて/たまへ/は/、 S 24:/夜ふかく/出て/給へ/は/、 F 33:/おほしこり/に/ける/と/思/に/も/、 S 33:/思し懲り/に/ける/と/思ふ/に/も/、 |
F 41:/よき/ほと/に//、 S 41:/よき/程/に/て/、 F 42:/かくて/とちめ/て/ん/と/おもふ/ものから/、 S 42:/かくて/閉ちめ/て/む/と/思ふ/物から/、 F 54:/しゐて/おもひかへせ/と/、 S 54:/強ひて/思ひかへせ/と/、 F 55:/心/に/し/も/したかは/す/くるしき/を/、 S 55:/心/に//も/したかは/す/苦しき/を/、 F 56:/さりぬへき/おり///み/て/、 S 56:/さりぬへき/折/を/も/見/て/、 F 60:/かかる/かた/に/て/も/、 S 60:/かゝる/方/に/て/も/、 |
/寢[動詞]/られ[助動]/給は[動敬]/ぬ[助動]/まゝに[副詞]/、 /我[代名]/は[助詞]/、 /かく[副詞]/、 /人[名詞]/に[助動]/憎ま[動詞]/れ[助動]/て[助詞]/も[助詞]/ならは[動詞]/ぬ[助動]/を[助詞]/、 /今宵[名副]/なむ[助詞]/、 /はしめて[副詞]/、 /憂し[形容]/と[助詞]/、 /世[名詞]/を[助詞]/思ひ知り[動詞]/ぬれ[助動]/は[助詞]/、 /はつかしく[形容]/て[助詞]/、 /なからふ[動詞]/ましく[助動]/こそ[助詞]/思ひなり[動詞]/ぬれ[助動]/なと[助詞]/のたまへ[動詞]/は [助詞]/、 /涙[名詞]/を[助詞]/さへ[助詞]/こほし[動詞]/て[助詞]/臥し[動詞]/たり[助動]/。 /いと[副詞]/らうたし[形容]/と[助詞]/おほす[動詞]/。 /手さくり[名詞]/の[助詞]/、 /細く[形容]/小さき[形容]/程[名詞]/、 /髪[名詞]/の[助詞]/いと[副詞]/長から[形容]/さり[助動]/し[助動]/けはひ[名詞]/の[助詞]/、 /似通ひ[動詞]/たる[助動]/も[助詞]/、 /思ひなし[名詞]/に[助動]/や[助詞]/あはれなり[形動]/。 /あなかちに[形動]/、 /かゝつらひ[動詞]/たとりよら[動詞]/む[助動]/も[助詞]/、 /人悪かる[形容]/へく[助動]/、 /まめやかに[形動]/めさまし[形容]/と[助詞]/思し明し[動詞]/つゝ[助詞]/、 /例の[連語]/やう[名詞]/に[助動]/も[助詞]/、 /の給ひまつはさ[動詞]/す[助動]/。 /夜ふかく[形容]/出て[動詞]/給へ[動敬]/は[助詞]/、 /この[連体]/子[名詞]/は[助詞]、 |