▲ゴト技top| 第2章 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| |
[第2章●強靱なリファレンス環境の探求] 14… 西暦年号変換辞書ファイル |
[2006.03.17登録] |
石田豊 |
「西暦ー年号変換辞書」を自作し、かな漢字変換システムに組み込んで使っている。ぼくが歴史に興味があるからかもしれないが、とても重宝している。かな漢字変換システムは「いつも立ち上がっている」から、本やWebページを読んでいる時にも、ちょこちょこっと変換という具合にも使える。文中の西暦表記を年号のそれに変えたり、その逆を行ったりで、文中の「年」を確認するわけだ。もちろん文章を書く時にも重宝するが、それ以上に「考える」という点で効果がある。 シクミはきわめて単純だ。我が国で年号システムがきちんと整備されたのは西暦701年の大宝元年以降である。それ以前にもとびとびに年号が制定されたこともあるけれど、実態がともなっていたかどうかについても現在は疑問視されているそうだし、なにより継続性がない。大宝以降は途切れることなく脈々と続いてきている。 ややこしいのは南北朝時代で、この70年間ほどはふたつの朝廷がそれぞれに年号を立てている。たとえば1373年は南朝では文中2年だが、北朝では応安6年である。この期間以外はすっきりしたものだ。 ただ、改元は年の途中で行われるため、そこんところにも注意は必要になる。ご記憶の通り、平成への改元は1月8日であった。だので、1989年は1週間だけが昭和64年で、それ以降が平成元年ということになる。だからこの年はざっくり平成元年と考えてもよいのかもしれないが、逆に昭和元年の場合は12月25日の改元であるから、1926年は昭和元年というより、最後の1週間ほどをのぞけば、大正15年とみなしてよいのである。 前に作った辞書では、改元の年は新しい年号の元年とみなしていた。つまり1926年は昭和元年とみなしていたのである。細かいことではあるが、これが気になってはいた。 そこで今回これを書くにあたって、辞書も作り変えた。今度のバージョンは(実用性の面からは若干使いづらくはなったが)改元の日付も加味して変換される。 辞書は3通りある。ひとつは西暦から年号の変換。あとのふたつは年号から西暦への変換だが、そっちの方は簡易変換とフル記述変換の2通りがある。 構造はどれもシンプルである。 西暦→年号の変換のは、「1920★大正9」というように、全角の西暦と年号が対照されている行が701年から2006年まで延々と続いているだけ。ただ改元の年は「1854★嘉永7[11.27]安政1」という具合に、真ん中に改元日を入れた。この前日までが古い年号(この例の場合は嘉永7年)で、その日以降は新年号となる。ただし、このように改元の前後で呼び変えていたのは明治以降だけであって、それ以前は、改元があれば、さかのぼってその年の新年から新年号とみなしていたという。ぼくの旧方式でよかったわけだ。 南北朝時代は非常に面倒なんだけど、「1381★天授7(南)[2.10]弘和1(南)|康暦(北)3[2.24]永徳(北)1」という具合になる。文章中で使う場合は、余分なところを消せばいいや、という考え方。ちなみに前のバージョンでは「1388★元中5」「1388★嘉慶2」というように2行にしていたんだけど、見落とすんですね。運用上では。なので、変換結果が煩雑になるのを厭わず、このようにしてみた。 年号→西暦の方は、簡易版が「えんりゃく24★805」という具合の行が延々続いている。前はこれだけだったが、使っていてミスが多かった。承和と貞和という年号がある。ともに(ふつうは)「じょうわ」と読む。じょうわ3で変換した結果が836にも1347にもなる。これをうっかり見過ごしてしまうのである。これではいかんと、今回はバージョンアップしてフル記述版を追加した。「えんりゃく24★延暦24(805)年」という具合に年号/西暦併記として変換されるようにした。こうしておけばうっかりミスは防げるに違いない。 ただ、自分で作っておきながら、不満な点もある。年号での年の表現では、「昭和1年」という言い方はない。「昭和元年」というべきである。しかし、ぼくの変換辞書では(いくつかの理由により)「昭和1」のように登録されている。不満だけど、ま、文中で使うときは「1」を「元」に書き換えることにしている。 年号の読みだが、前回は「ぼくはこう読む」というものだけで作成した。「享保」は「きょうほう」。でもこれを「きょうほ」と言ってもいいらしい。そこで、今回は大辞林と広辞苑に記載されている「異訓」もすべて採用した。「明暦」は「めいれき」「みょうりゃく」「めいりゃく」どれでもOK。 改元の日付は参考書によってさまざまに異なっているのだが、今回は大辞林に記載されているのを使った。理由は「デジタル版を持っている」から。カット&ペーストで取り込めますからね。 大化から平成まで、元号は235個存在する。この235個の年号の「表記、読み(複数可)、改元年月日、終了年」を記した表をExcelでこしらえて、それをスクリプト言語で加工した。具体的には前回はPerlを使い、今回はPHPを使った。ま、これはなんでもいいのである。 スクリプト言語を使うことで、たとえば「安政★あんせい★1854★11★27★1860」という行から安政1から安政7までのレコードがいっぺんに作れる。もちろん同じソースから3通りの辞書への加工もできる。らくちんだ。Excelの表さえできてしまえば、言語側の作業は1辞書あたり10分程度でOKである。 ただ、言語を使わなくても、所詮1300行程度の表を作るだけだから、Excelだけでシコシコやっても、そう負担ではないだろう。 こうして作ったファイルをかな漢字変換システムの辞書登録機能を使って、ユーザ辞書に一括登録する。今回のような場合、つまり、ひとつの用途をもつ多数のレコードの登録の場合、既存のユーザ辞書ではなく、あたらに専用のユーザ辞書を作ってそこに登録するほうがいい。不要になれば一瞬ではずしてしまえるからだ。 システムによって、登録するデータの形式は異なっている。たいていの場合は、品詞の情報も付記しなければならないはずだ。こういうのは正規表現(「そろそろ正規表現はいかがですか」参照)でもって、一気に追記すればよい。項目の順序の並べ替えなどは(正規表現でやってもいいけど)表計算で行う方が気軽だと思う。 こうやって作った年号変換システム。ぼくは重宝しているけれど、世間一般的にはどのようなもんだろうか。いささかギモン。はたしてどれほどの一般性を持ちうるのか。 最近、自分が面白いと思うことが、人には通用しないんじゃないか、と、少々自信喪失気味なんです。 そうは思うものの、中には便利だと言ってくれる人がいるかもしれない。そこで作ったファイルを公開することにする。著作権がどうのこうのなどということは申しません。フリーウエアってやつです。もともとオリジナリティなんてどこにもないしね。 ファイルは3種類あって、nengo1.txtは「702★大宝1」から「2006★平成18」までの1306行。nengo2.txtは「あんえい1★1772」から「わどう8★715」までの2292行。nengo3.txtは「あんえい1★安永1(1772)年」から「わどう8★和銅8(715)年」までのこれも2292行(ともに読みの重複分があるため)である。漢字コードはShiftJIS、改行コードはCR+LFにしてある。「★」は必要に応じてタブやコンマなどに置き換えて使用していただきたい。 辞書への登録の方法はご使用のかな漢字変換システムによってことなる。Macのことえりなんかは、タブ区切りで各行末にtab無品詞と追加するだけでそのまま読み込めてしまうが、WinのIMEではヘッダを追加しないとならない。ヘッダは現在ご使用中のユーザ辞書をテキスト書き出しして、そこについているヘッダをまるまるコピペすればよいだろう。 ダウンロードは下のリンクを右クリックしていただくといいと思う。 お使いいただけたら、ご感想とか、教えていただくとありがたい。 nengo1.txt nengo2.txt nengo3.txt 従来、年号だけがわかっていて、その西暦が知りたい場合、あるいはその逆のニーズでは、年号が一覧になっている表(各種辞書の巻末付録によくついている)をもとに暗算(元年の西暦が記されているだけだから)するか、歴史年表を繰るしかなかったのだが、これを搭載してからは、キーボードから変換一発で知れるようになった。ぼくとしてはうれしいんですけどねえ……。 |
この記事は
|
お読みになっての印象を5段階評価のボタンを選び「投票」ボタンをクリックしてください。 |
投票の集計 |
投票[ 6 ]人、平均面白度[ 5 ] ※「投票」は24時間以内に反映されます※ |
たけながさんより [2006-05-25] |
ありがたく頂戴しました 俺はエクセルは持ってないので桐をつかって必要なかたちに変換して、Japanist(富士通)というIMEってんですか、それの辞書に組み込みました。 japanistは携帯電話とかでもあるんですかね(今はほかのIMEにもあるのかしら)、予測変換ができますので「えんりゃ」あたりまでいれるとずばばっと候補が出るので、元亀って何年ごろだっけ、とか知りたいときなどに便利につかわせてもらっています。 |
ゆびでるさんより [2006-06-25] |
貴重なデータのご提供に感謝します 貴重なデータをご提供いただき、ありがとうございます。 わたしが常用しているWinのIMEにも無事登録でき、便利に使っております。 改元日まで書いてある親切さには感服しました。 ユーザー辞書へ登録するため、石田様のデータをテキストエディタで編集しています。 マイクロソフト製日本語入力システムは、タブ区切りで各行末にtab名詞と追加。 ジャストシステム製日本語入力システムは、さらにバージョンに応じたヘッダを追加。 最近のジャストシステム製日本語入力システムは予測変換ができます。 そこで予測変換用のデータにも登録しましたところ、なかなか快適です。 石田様のデータにヘッダを追加するだけでユーザーデータに登録可能になります。 品詞の指定は不要で、登録の手間が一番かかりません。 石田様のアドバイスに従い、いずれも西暦年号変換専用のファイルに登録しています。 ちなみにわたしの場合、読みの末尾を「ねん」、表記の末尾を「年」で統一しました。 西暦・年号よりもそれ以外の数字を変換する機会が多いためです。 末筆ながら、とても役に立つテキストデータの無償公開に感謝いたします。 |
ゆびでるさんより [2006-06-25] |
一部訂正(予測変換用データ) ジャストシステム製日本語入力システムの予測変換用データに関して 一部誤記がありました。おわびするとともに訂正いたします。 誤> 石田様のデータにヘッダを追加するだけでユーザーデータに登録可能になります。 正> 石田様のデータをタブ区切りにし、さらにヘッダを追加。 正> こうしてユーザーデータ登録可能になります。 |
ご意見をお聞かせください |
|
←デジタル/シゴト/技術topへもどる | page top ↑ |
▲ゴト技top| 第2章 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| |
|ポット出版
|ず・ぼん全文記事|石田豊が使い倒すARENAメール術・補遺|ちんまん単語DB| |
|
|