宋本廣韻の音韻データをHDICやDHSJRにつなぐ方法(1)

宋本廣韻の音韻データをHDICやDHSJRにつなぐ方法(1)

June 8, 2026
デジタル人文学, 日本古辞書
廣韻, 音韻学, 漢字データベース, Python, 宋本廣韻, HDIC, DHSJR, KRM, データ統合

はじめに #

前回の宋本廣韻の音韻データをAIエージェントで整備する の記事で、現在、誰でも入手できる宋本廣韻の音韻データを紹介して、 それを日本古辞書研究や日本漢字音研究に利用するための準備を行いました。 ここでは日本古辞書としてHDICに収録されている観智院本類聚名義抄(KRM)を取り上げて、 宋本廣韻の音韻データをつなぐ方法を示します。 KRMの漢字音データは、資料横断的な漢字音・漢語音データベース(以下、DHSJR)にもほぼそのまま収録されているので、 DHSJRに収録の各種の漢字音データベースにもつなげることができるように 説明します。

本稿は連載の**(1)** です。ここでは接続の基本(キー列・gy_dhsjr_link.py・出力の読み方)に絞り、異体字などによる未収録問題は (2) で扱います。

使用する廣韻関係のデータ #

前回の記事では、 次の三つを紹介しました。

  • 廣韻.csv
  • sbgy.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 #

今回は最初の 廣韻.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.tsvkrm_notes.tsvkrm_wakun.tsvkrm_headword_chars.tsvkrm_ndl.tsv などを同梱しています
  • 主な列: pronunciation_iddefinition_seq_idmaterial_idmaterial_namematerial_character_indexmaterial_word_indexcharacter_headwordcharacter_formword_headwordword_formtone_markstone_patternkana_noteskana_patternfanqiesimilar_soundfushi_hakaseother_phonetic_annotationsmaterial_locationannotation_formatremarks_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.tsvBibliography.md
  • 主な列: 資料番号資料名資料内漢字番号資料内漢語番号単字_見出し単字_出現形漢語_見出し漢語_出現形漢語_alphabet語種漢語内位置単字長声点声点型仮名注仮名型反切類音節博士その他出現位置備考

krm_pronunciations.tsv30-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.tsv30-048-02_RMK.tsv とはデータ量が大きいので、 比較的規模の小さい資料で試してみるのもよいでしょう。

キーとなるカラム #

宋本廣韻データである 廣韻.csv とHDICやDHSJRのデータをつなぐためには、 キーとなるカラムが必要です。各データの見出しの漢字は次のカラム名を持ちます。

  • 廣韻.csv字頭
  • krm_pronunciations.tsvcharacter_headword
  • 30-048-02_RMK.tsv単字_見出し
  • SGY_fanqie.csvhanzi(ただし、小韻字のみ収録されています)

これらのデータは、エクセルや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 の使い方を説明します。

ワークフロー #

workflow

基本的な使い方 #

最小構成(廣韻のみ、単一ファイル)

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,82856.6%
複数音6,52223.3%
未収録5,62820.1%

約8割の行には廣韻の音韻地位が付与されます。残る約2割の「未収録」には、俗字・略字・異体字・廣韻非収録字が混在します(dhsjr_gy_unmatched.tsv⿰亻胃 などが現れます)。

次回 (2) 予告 #

(2) では、この異体字問題を主題として扱う予定です。 NIHU 異体字対応表などを用いた正規化(--itaiji オプション)による照合率の改善と、未収録字の分類・対処を解説します。複数音字の精査や --sgy オプションの活用も (2) 以降の課題です。

スクリプトは sbgy-data-tools リポジトリから入手できます。廣韻データの整備全般については前回記事を参照してください。