宋本廣韻の音韻データをHDICやDHSJRにつなぐ方法(1)
June 8, 2026
はじめに #
前回の宋本廣韻の音韻データをAIエージェントで整備する の記事で、現在、誰でも入手できる宋本廣韻の音韻データを紹介して、 それを日本古辞書研究や日本漢字音研究に利用するための準備を行いました。 ここでは日本古辞書としてHDICに収録されている観智院本類聚名義抄(KRM)を取り上げて、 宋本廣韻の音韻データをつなぐ方法を示します。 KRMの漢字音データは、資料横断的な漢字音・漢語音データベース(以下、DHSJR)にもほぼそのまま収録されているので、 DHSJRに収録の各種の漢字音データベースにもつなげることができるように 説明します。
本稿は連載の**(1)** です。ここでは接続の基本(キー列・gy_dhsjr_link.py・出力の読み方)に絞り、異体字などによる未収録問題は (2) で扱います。
使用する廣韻関係のデータ #
前回の記事では、 次の三つを紹介しました。
廣韻.csvsbgy.xml宋本廣韻データ.html
以下にやや詳しい情報を記します。
廣韻.csv
#
- リポジトリ: https://github.com/nk2028/tshet-uinh-data
- ライセンス: MIT
- 主なファイル:
韻書/廣韻.csv— 廣韻全字(25,336 行・10 列)韻書/王一.csv/韻書/王三.csv— 切韻残巻韻圖/韻鏡(嘉吉本).csv/韻圖/韻鏡(古逸叢書本).csv反切音韻地位/廣韻反切音韻地位表.csv/反切音韻地位/王三反切音韻地位表.csv
廣韻.csvの列:小韻號・小韻字號・韻目原貌・音韻地位・反切・直音・字頭・字頭說明・釋義・釋義參照- 特徴: 「音韻地位」(例:
端一東平)が正規化済みで整備されています
sbgy.xml
#
- リポジトリ: https://github.com/cjkvi/cjkvi-dict
- ライセンス: GPLv2
- 内容: 宋本廣韻(澤存堂本)を XML マークアップしたデータです
- 規模: 63,384 行、親字 25,551 字、3,874 小韻
- 特徴: 各小韻に IPA 再構音(例:
tuŋ˥˩)と日本語音読みを付与しています - 同梱の他辞書:
swjz.xml(說文解字注)・lsyj.xml(龍龕手鑑)・dkw2ucs.txt(大漢和 ↔ UCS)等も含みます - 主な列:
宋本廣韻データ.html
#
- 出典: https://kanji-database.sourceforge.net/dict/sbgy/index.html
- 用途:
sbgy.xmlの IPA と声母・韻母の対応表を記載した仕様書として使用します
今回は最初の 廣韻.csv を利用します。
また、私が控えとして作成してきた独自データがあるので、これも利用できるようにします。 次が入手先です。
SGY_fanqie.csv
#
- リポジトリ: https://github.com/shikeda/sbgy-data-tools
- 内容: 廣韻 3,874 小韻の首字について音韻・校勘情報を収録しています(3,964 行・20 列)
- ライセンス: CC BY-SA 4.0
- 見出し漢字 ID の出典:
工藤祐嗣「『大宋重修広韻』データベースの設計」(北海道大学大学院文学研究科博士課程研究論文. Ⅱ添付 CD-R、2002)
(「『大宋重修広韻』データベース(大漢和包摂方式)」として web 公開、現在の公開情報不明) - 参照資料:
- 上田正『切韻諸本反切総覧』(均社単刊第一、1975)
- 岡島昭浩「広韻反切一覧」(https://www.let.osaka-u.ac.jp/okajima/ingaku/fanqie.lzh、1994)
- 主な列:
word_id:sbgy.xml親字 ID(wプレフィックスなし 8 桁)shengmu: 三十六字母体系の声母(照三・審三 等)she_kaihe_deng: 攝・開合・等(通中1・山開3形式)fanqie_note: 切韻・王韻等との校勘注
使用する古辞書・漢字音関係のデータ #
手始めにHDICに収録の類聚名義抄(KRM)の字音データを試してみます。
krm_pronunciations.tsv
#
- リポジトリ: https://github.com/shikeda/krm
- ライセンス: CC BY-SA 4.0
- 内容: 観智院本『類聚名義抄』の音注・声点・反切等の発音注記データ
- 規模: 約4.44MB・25列・約3.5万行規模
- 特徴:
pronunciation_id単位で発音注記を整理し、definition_seq_idを通じて本文項目と対応しています。声点、反切、類音、仮名注、 注記形式、所在情報などを分けて記録しています - 同梱のデータ: 他辞書データそのものは同梱されていません。関連データとして
krm_main.tsv、krm_notes.tsv、krm_wakun.tsv、krm_headword_chars.tsv、krm_ndl.tsvなどを同梱しています - 主な列:
pronunciation_id・definition_seq_id・material_id・material_name・material_character_index・material_word_index・character_headword・character_form・word_headword・word_form・tone_marks・tone_pattern・kana_notes・kana_pattern・fanqie・similar_sound・fushi_hakase・other_phonetic_annotations・material_location・annotation_format・remarks_pronunciation
30-048-02_RMK.tsv
#
- リポジトリ: https://github.com/daikaku/DHSJR
- ライセンス: CC BY-NC-SA 4.0
- 規模: DHSJR全体では74文献・387,265字を収録しています
- 規模:
30-048-02_RMK.tsvは『類聚名義抄』天理図書館・観智院本の個別TSVです。行数は数万行規模と見られます - 特徴: DHSJR(Database of Historical Sino-Japanese Readings)の個別資料ファイルです。観智院本『類聚名義抄』に見える漢字音・漢語音の注記を、単字・漢語単位で整理し、声点・仮名注・反切・類音・その他音注・出現位置などを記録します
- 同梱のデータ:
DHSJR_data_all.tsv(統合TSV)、data/*.tsv(文献別個別TSV)、FilenameTable.tsv、Bibliography.md - 主な列:
資料番号・資料名・資料内漢字番号・資料内漢語番号・単字_見出し・単字_出現形・漢語_見出し・漢語_出現形・漢語_alphabet・語種・漢語内位置・単字長・声点・声点型・仮名注・仮名型・反切・類音・節博士・その他・出現位置・備考
krm_pronunciations.tsv と 30-048-02_RMK.tsv との違いは次のとおりです。
krm_pronunciations.tsv はKRMリポジトリ側で観智院本『類聚名義抄』の発音注記を整理した派生・編集用データで、英語カラム名や pronunciation_id / definition_seq_id による管理を行います。
一方、30-048-02_RMK.tsv はDHSJR側の文献別データで、DHSJR共通の日本語列名・文献横断形式に従い、他の歴史的漢字音資料と同じ枠組みで扱うためのものです。
なお、DHSJRには、多数の資料が収録されており、たとえば、
呉音系として大般若波羅蜜多経(DHN)、保延本法華経単字(HTK)、守護国界主陀羅尼経(SDI)、仮名書き法華経(KHM)、西方指南抄(SHS)、
漢音系として医心方(IST)、和漢朗詠集(WRS)、
混態資料として色葉字類抄(IRS)などにも
宋本廣韻データを付与できれば分析の幅が広がると予想されます。
krm_pronunciations.tsv と 30-048-02_RMK.tsv とはデータ量が大きいので、
比較的規模の小さい資料で試してみるのもよいでしょう。
キーとなるカラム #
宋本廣韻データである 廣韻.csv とHDICやDHSJRのデータをつなぐためには、
キーとなるカラムが必要です。各データの見出しの漢字は次のカラム名を持ちます。
廣韻.csvの字頭krm_pronunciations.tsvのcharacter_headword30-048-02_RMK.tsvの単字_見出しSGY_fanqie.csvのhanzi(ただし、小韻字のみ収録されています)
これらのデータは、エクセルやGoogleスプレッドシートのような表計算ソフトに読み込んで利用することができます。たとえば、各表の「見出し漢字カラム」(例: character_headword や 単字_見出し など)をキーとして、XLOOKUP 関数を用いて他の表から該当するデータを参照・抽出したり、必要な情報を照合する作業が可能です。
ただし、これらのデータセットは数万行規模以上となるため、扱うデータ量によってはエクセルやGoogleスプレッドシートが遅くなったり、動作が不安定となるケースも少なくありません。また、複雑な比較や大量の条件付きの照合を安定して繰り返し行う場合には制限もあります。
そのため、数万行規模のデータを安定的に処理するには、Python スクリプトが有効です。表計算ソフトや単純な merge だけでは、多音字の声点絞り込み、複数音・未収録の別出力、漢音・呉音予測形の付与までを一括で行うのは困難です。以下では、この目的のために sbgy-data-tools リポジトリに用意した gy_dhsjr_link.py を紹介します。
呉音と漢音(予測仮名形) #
たとえば「人」は呉音「ニン」、漢音「ジン」、「物」は呉音「モツ」、漢音「ブツ」です。名義抄(KRM)や DHSJR 各資料は、呉音系・漢音系・混在のいずれかと想定されます。
gy_dhsjr_link.py は、廣韻から付与した音韻地位(声母・韻・等・開合・声調)に基づき、高松政雄『日本漢字音概論』(風間書房、1986)および沼本克明『日本漢字音の歴史』(東京堂出版、1986)の音韻対応表から、各行に 漢音・呉音それぞれの予測仮名形(GY_漢音行・GY_呉音行・GY_漢音韻母形・GY_呉音韻母形)を自動付与します。
たとえば 人(真韻・次濁声母)の行では、呉音側 ニ/ザ と韻母形から「ニン」系、漢音側 ザ と韻母形から「ジン」系が候補として示されます。この予測形と 仮名注 列を照合することで、資料ごとの音層判定が可能になります。音韻対応表の全文は研究ノートに譲り、本稿では出力列の読み方に焦点を当てます。
gy_dhsjr_link.py の使い方
#
sbgy-data-tools リポジトリに含まれる gy_dhsjr_link.py の使い方を説明します。
ワークフロー #
基本的な使い方 #
最小構成(廣韻のみ、単一ファイル)
python gy_dhsjr_link.py \
--dhsjr 30-017-01_IRS.tsv \
--gy 廣韻.csv \
--outdir ./linked_out/
SGYも加えた標準構成
python gy_dhsjr_link.py \
--dhsjr 30-017-01_IRS.tsv \
--gy 廣韻.csv \
--sgy SGY_fanqie.csv \
--outdir ./linked_out/
ディレクトリ一括処理(DHSJR全体を処理する際の推奨形式)
python gy_dhsjr_link.py \
--dhsjr-dir DHSJR/data/ \
--gy 廣韻.csv \
--sgy SGY_fanqie.csv \
--outdir ./linked_out/
出力ファイルの読み方 #
{stem}_gy_linked.tsv ——主出力
#
元のDHSJR TSVにそのまま列が追加されます。既存の22列は一切変更されず、末尾に GY_ 接頭辞の列が追加されます。
重要なのは次の4列の組み合わせです。
GY_漢音行 と GY_呉音行 が声母から予測される仮名行(ハ行・タ行・サ行など)で、GY_漢音韻母形 と GY_呉音韻母形 が韻・等・開合から予測される韻母仮名形(aウ・eイ・iン など)です。たとえば 大 という字は GY_漢音行=タ・GY_漢音韻母形=aイ で漢音予測形は タイ、GY_呉音行=ダ・GY_呉音韻母形=aイ で呉音予測形は ダイ と読むことができます。この予測形と 仮名注 列の実際の音形を目視または次のスクリプトで照合するのが、音層判定の主作業です。
GY_マッチ状況 が 複数音(n) の行は、声点で絞り込みを試みた上で先頭エントリが採用されています。GY_韻目原貌 列に [候補:東平/東去] のような全候補記録が入っているので、個別に確認できます。
注意: GY_漢音韻母形 / GY_呉音韻母形 は概略的な候補形です。現行実装では、入声字でも非入声韻の形で表示される場合があります。入声字は GY_声調=入 と GY_韻目原貌 を確認し、適宜 フ・ツ/チ・ク/キ 系に読み替えてください。
dhsjr_gy_multi.tsv ——複数音字リスト
#
廣韻に複数エントリがある字の一覧です。多音字の処理が正しいかを資料ごとに確認するための参照リストです。声点情報がある行では自動絞り込みが働いていますが、声点がない行(西方指南抄など)では絞り込みができていません。
dhsjr_gy_unmatched.tsv ——未収録字リスト
#
廣韻.csv に見出し字が見当たらなかった字の一覧です。俗字・略字・異体字が主な原因です。未収録率が高い資料は、字頭の正規化方針を確認する必要があります。サンプル10資料では未収録率が約3〜4%でした。
出力のサンプル #
30-048-02_RMK_gy_linked.tsv の例
#
実際の TSV には DHSJR 原本の全列に加え、末尾に GY_・SGY_ 接頭辞の列が追加されます。以下は音韻地位の付与結果が分かる列だけを抜粋したものです。
| 単字_見出し | 声点 | 仮名注 | GY_声母 | GY_清濁 | GY_韻 | GY_声調 | GY_漢音行 | GY_呉音行 | GY_漢音韻母形 | GY_呉音韻母形 | GY_反切 | GY_マッチ状況 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 人 | 平濁 | ニン | 日 | 次濁 | 真 | 平 | ザ | ニ/ザ | iン/iユン/uン | iン/iユン/uン/oン | 如鄰 | 一意 |
| 仁 | 平濁 | ニン | 日 | 次濁 | 真 | 平 | ザ | ニ/ザ | iン/iユン/uン | iン/iユン/uン/oン | 如鄰 | 一意 |
| 佛 | 去 | ヒ | 並 | 全濁 | 文 | 入 | ハ | バ | iン/iユン/uン | iン/iユン/uン/oン | 符弗 | 一意 |
dhsjr_gy_multi.tsv の例
#
廣韻に複数エントリがある字の例です。列数は少ないため、そのまま表に示します(同一字が複数行に現れる場合があります)。
| 資料番号 | 単字_見出し | 候補数 | GY_韻目原貌 |
|---|---|---|---|
| 30-048-02 | 費 | 複数音(3) | 至[候補:脂去/微去/微去] |
| 30-048-02 | 曾 | 複数音(2) | 登[候補:登平/登平] |
| 30-048-02 | 倡 | 複数音(2) | 陽[候補:陽平/陽去] |
| 30-048-02 | 伿 | 複数音(2) | 寘[候補:支去/支去] |
| 30-048-02 | 佋 | 複数音(2) | 宵[候補:宵平/宵上] |
| 30-048-02 | 侃 | 複数音(2) | 旱[候補:寒上/寒去] |
| 30-048-02 | 住 | 複数音(2) | 遇[候補:虞去/虞去] |
dhsjr_gy_unmatched.tsv の例
#
廣韻.csv に見出し字が見当たらなかった字の例です。
| 資料番号 | 単字_見出し |
|---|---|
| 30-048-02 | 㐻 |
| 30-048-02 | 内 |
| 30-048-02 | ⿰亻胃 |
| 30-048-02 | 偣 |
| 30-048-02 | 𡔟 |
| 30-048-02 | 䋕 |
| 30-048-02 | 傡 |
おわりに #
本稿 (1) では、廣韻.csv を DHSJR/KRM の音注データに接続する基本手順として gy_dhsjr_link.py を紹介しました。観智院本類聚名義抄(30-048-02_RMK.tsv、27,978行)に適用した結果の概略は次のとおりです。
| 状況 | 行数 | 比率 |
|---|---|---|
| 一意 | 15,828 | 56.6% |
| 複数音 | 6,522 | 23.3% |
| 未収録 | 5,628 | 20.1% |
約8割の行には廣韻の音韻地位が付与されます。残る約2割の「未収録」には、俗字・略字・異体字・廣韻非収録字が混在します(dhsjr_gy_unmatched.tsv に 㐻・⿰亻胃 などが現れます)。
次回 (2) 予告 #
(2) では、この異体字問題を主題として扱う予定です。 NIHU 異体字対応表などを用いた正規化(--itaiji オプション)による照合率の改善と、未収録字の分類・対処を解説します。複数音字の精査や --sgy オプションの活用も (2) 以降の課題です。
スクリプトは sbgy-data-tools リポジトリから入手できます。廣韻データの整備全般については前回記事を参照してください。