# 医療用語の is-a オントロジー構築の FCA を使った効率化

黒田航 ${ }^{1}$ 相良かおる ${ }^{2}$
1 杏林大学 2 西南女学院大学
}

\begin{abstract}
本論文は，専門用語の文字列基盤の FCA で，is-a オントロジー 構築を効率化する手法を提案する. 重複した要素や不連続な 要素を用語の構成要素として認めると, 網羅性の高いオントロ ジーの雛型が FCA を用いて半自動で得られる事を示す. 構成要素を, 人手認識する方法と文字 n-gram で自動認識する方法 とを比較し，後者が期待を持てる性能を示す事が示された。
\end{abstract
## 1 はじめに

医療用語のオントロジー $[1,2,3]$ を開発したい. ただし対象を is-a 関係に限定し1)，それもなるべく人手をかけずに. その目的を実現するために Formal Concept Analysis (FCA) $[4,5,6,7,8,9,10,11,12,13,14,15]$ を利用する方法を検討する．FCA の詳細を説明している余裕はないため，その概要を付録 A に示す.

## 2 語構成解析の際の FCA の有効性

## 2.1 要素の重複, 不連続性

自然言語の文やその部分を意味のある部分に分ける課題は，NLPにとって重要な課題である. これは対象が医療文書のような専門文書であっても同じである.

解析対象が通常の日本語文の解析の場合，それを実現する作業は形態素解析 (morphological analysis) = トークン化 (tokenization) である. これを実現する高性能で実用的な解析器が幾つも存在する (Mecab, KNP, KyTea). それに較べて専門用語の解析精度は未熟である $[16,17,18]^{2}$.理由は 2 つある．第一に，専門用語の解析では POS 夕グに相当する構成概念が未定義である (それ故，可能性空間が効率的に制限できない). 第二に，構成要素の重


複と不連続性が顕著である. この帰結の一つは (1) の構成関係の解析が (2a)のような木構造にならず，(2b) のような束構造 (lattice structure) [4] になる点である (n=1, 2, ...は文字 n-gram の $\mathrm{n}$ の値).

(1) 肺動脈弁閉鎖不全症 4 )

（2） a. [[肺 $[$ 動脈 $]]$ 弁 $][[[$ 閉鎖 $][$ 不全 $]]$ 症 $]$
b. $\mathrm{n}=1$ 肺, 動, 脈, 弁, 閉, 鎖, 不, 全, 症

$\mathrm{n}=2$ 不全, 動脈, (肺脈), (脈弁), 閉鎖

$\mathrm{n}=3$ 不全症, 弁不全, 弁閉鎖, 脈不全, 肺動脈

$\mathrm{n}=4$ 閉鎖不全, 動脈不全, 弁不全症, 肺動脈症, 肺脈不全, 脈不全症, 脈弁閉鋭, 脈弁不全

$\mathrm{n}=5$ 閉鎖不全症, 動脈弁閉鎖, 弁閉鎖不全, 肺動脈弁症, 動脈不全症, 肺脈不全症, 動脈弁不全, 肺動脈不全, 肺脈弁不全, 脈弁不全症

$\mathrm{n}=6$ 肺動脈弁閉鎖, 弁閉鎖不全症, 脈弁閉鎖不全, 動脈弁不全症, 肺動脈不全症, 肺動脈弁不全, 肺脈弁不全症

$\mathrm{n}=7$ 動脈弁閉鎖不全, 脈弁閉鎖不全症, 肺動脈弁不全症

$\mathrm{n}=8$ 肺動脈弁閉鎖不全, 動脈弁閉鎖不全症, 肺動脈弁閉鎖不全症

$\mathrm{n}=9$ 肺動脈弁閉鎖不全症

（2a）に示した句構造解析は，第一筆者が適切だと考えたものであるが，これが真の構造解析だとは思っていない5). 用語の構成関係が存在するならば，それは木構造では記述できず，束構造が必要である6). Figure 1 の Hasse 図は (2b) に対応する束構造を表す.これは (1)を構成する有意味な部分文字列を前後で重複している場合と不連続な場合を含めて網羅している。


Hasse 図は，i) 対象の is-a 関係のネットワークを表わし，ii) 属性の集合の階層を表わすので，Figure 1 にある図は次のように解釈できる:

（3） a. 属性 (灰色ラベル) は束の上にある程，共有される度合いが高い，下にあるある程，共有されない度合いが高い。

b. 対象 (白色ラベル) は束の下にある程，(満足している属性の数が多いので) 複合的である. 上にある程，単純である。

なお，ここに示した FCA の結果は属性と対象が同一文字列であるという意味で，典型的ではない。

## 2.2 部分の有意味性の判定

Figure 1 の Hasse 図を医療の専門家が見た時には，有意味な部分文字列に余剩や欠落があるかも知れない。 そうだとしても，それはFCAを使った手法の難点ではない.部分文字列の有意味性の判定は経験的問題であり, これ自体がオントロジー構築の主要な部分である. ヒトは有意味性の判定は得意だが，侯補の洗い出しは苦手である. FCA は後者の作業を自動化し，構築全体を効率化する。

Figure 1: (1) の重複, 不連続性を認めた構成関係 lattice

Figure 2: 属性 (D1, E1, .., BA1) と対象 (C 列にある用語) との真偽表 (=形式文脈) を生成する Excel シート

Figure 1 の Hasse 図は Concept Explorer 1.37) に形式文

古いツールだが，後発でこれを凌駕するツールは見当たらない。
}

脈を与えて作成した。その形式文脈は，図 2 にある Excel 作業シートで自動作成した. 属性名 $X$ は $X$ を部分に持つかどうかの真偽判定である．なお，真偽判定は不連続性を認めるようにワイルドカードを用いて実装している.

補助情報: D 列以後，表の一番下の行にある数字は，属性が真になる対象 (=用語) の個数である. B 列の要素数は，C列の用語が何個の属性を真とするかを表す. 例えば，[肺動脈弁閉鎖不全症] は 45 個の属性を，[動脈弁不全症] は20 個の属性を真とする。

## 2.3 不連続構成性の効果

Figure 1 の Hasse 図では，不連続性を認める事で得られる効果がはっきりしない，それを明らかにするため比較対象として, Figure 3 に不連続な構成要素を認めない条件で構築した Hasse 図を示す.

Figure 3: (1) の不連続性を認めない構成関係 lattice

Figure 3 では 37 個の空ノードがあり，属性が合致する総数は 456 個である.これに対し, Figure 1 では 15 個の空ノードがあり, 属性が合致する総数は 549 個である. 不連続性を認めない事で，空ノードが 22 個増えている.これは属性の合致数が減っている故に起きている事である. 空ノードの増加は (属性数と対象数は同じなのだから) 認識される is-a 関係数の減少 (= 一部が体系的に見逃されている事)を意味する。

## 2.4 解析結果の合成と分解

束構造で構成関係を表す事には，i) 要素の間の重複を扱える，ii) 不連続な要素を認定できる，の二点に加えて，更に次の利点がある:

a. 複数個の用語の構成関係を同時に表現でき (理論的には何個でも)で，オントロジーの全体象を一瞥するのに使える。

b. 構成概念に相当する構成要素を半自動的に見つけられる

この点を (1)と (5) の構成関係を同時に表現した束構造を表した Figure 4 と Figure 5 で確かめる.

(5) 肺動脈弁異常症

(1) と (5) は $[$ 肺動脈弁 $\{$ 閉鎖不全, 異常 $\}$ 症 $]$ の対であり，不連続な部分文字列 [ 肺動脈弁症]を共有している点に注目されたい。

Figure 4: (1)と (5) の構成関係を表現した束構造

Figure 5: (1) と (5) の構成関係を表現した束構造

Figure 4 は(1) に対応する部分束を選択した版, Figure 5 は (5) に対応する部分束を選択した版である．2つの FCA の結果 $R_{1}, R_{2}$ を統合するには，それぞれの元になった形式文脈 $C_{1}=O_{1} \times A_{1}$ と $C_{2}=O_{2} \times A_{2}$ から, まず $O_{1}$ と $O_{2}$ の和集合 $O_{3}$ と $A_{1}$ と $A_{2}$ の和集合 $A_{3}$ を得て,これから $C_{3}=O_{3} \times A_{3}$ を作り, それを形式文脈として解析を実行すれば良い. FCA の結果の分解はこの逆の操作であるが，当然のように，その産物は一意に決まらない。

## 2.5 提案する解析法

以上の簡単な解析例から, FCA が (医療) 用語の語構成解析に有効である事は示せたはずである．ただ，上の方法では属性 (= 有意味な部分文字列) を人手で認定していた. この手順は省力化できると嬉しい。その方法として，文字 n-gram を使う事が考えられる。
また，FCAを使った解析の結果は，それ自体は意味分類ではなく，それと相関しているだけなので，用語の分類に人手で付与した意味カテゴリーを反映させる必要もあるだろう (期待されている効能は [[閉鎖不全] 症] is-a [[異常] 症] や [閉鎖不全] is-a [異常] のような部分の is-a 関係の自動的認識である).

語構成解析に FCA を利用する方法は次の 4 通りが考えられる：

（6） a. 属性構築の省力化のために，文字 n-gram を用いる方法 (A1) vs 用いない方法 (B1)

b. 意味分類と対応づけるために，人手付与した意味ラベルを追加利用する方法 (A1, B1) vs しない方法 (A2, B2)

今回の報告では $\mathrm{A} 1$ と B1 の比較に焦点を絞る.

## 3 分析: 文字列基盤の FCA

## 3.1 データ

『実践医療用語_語構成要素語彙試案表 Ver.1.0』 (GSK2020-G) [22, 23, 24] の 6,380 個のく語構成要素>から 67 事例 $(1.05 \%)$ を無作為抽出し, 解析の対象とした.形式文脈の作成法は $\$ 2.2$ で述べた方法と同じである.

## 3.2 結果 1: 属性を人手認識

Figure 6 の Hasse 図の構築では，対象となる 67 語のそれぞれについて，意味のある部分文字列を人手で認定抽出し, 属性に使った (実行したのは第一著者である).この結果からも，医療用語 (特に病名) を構成する支配的な文字とその背後にある概念が推測できる. [脈], [骨], [肺] が共通して身体部位 (i.e., 器官) 名である事や, [閉塞], [閉鎖] が共通して機能 (の不全) である事は示されていない。そのような知識を反映させるには，明示的な意味クラス付与が必要となる. そのような大分類が得られないとしても, 人手認識では見落とされがちな細分類の発見支援の目的には，有用である。

## 3.3 結果 2: 属性を文字 n-gram で自動認識

Figure 7 の Hasse 図の構築では, 対象となる 67 語のそれぞれについて, 文字 $\mathrm{n}-\operatorname{gram}(\mathrm{n}=1,2, \ldots, \max )$ を再帰的に認定抽出し, 属性に使った. この結果からも, Figure 6 の Hasse 図と同じように医療用語 (特に病名)を構成する支配的な文字とその背後にある概念が推測できる.こ

Figure 6: sample 1 の lattice [属性は人手構築した部分文字列; (1) の部分束を選択]

Figure 7: sample 1 の lattice [属性は自動構築した文字 n-gram; (1) の部分束を選択]

の解析でもっとも汎用的な語/概念は，[腿], [骨]であり， [大]がそれに続く.これはサンプルのバイアスを体現してはいるが，それでも傾向が見て取れる。

Figure 8: 文字 n-gram の異なり数の増加

Figure 6 の Hasse 図と Figure 7 の Hasse 図の最大の違いは，カタカナ語 (e.g., エンテロウィルス, ボツリ又ス, エストロジェン)の内部構造が解析されている点にある. これは不要な解析だが，用語のカタカナ部分を n-gram 抽出の対象から除外すれば解消できる問題である.

その一方，用語の文字 n-gram を属性に使った方が，可能な構成要素の取りこぼしが少ない. ただ，属性の数が余りに多くなると, FCAが実時間では終わらない. 現害的な解析に必要な文字 n-gram の規模はどれ程なのか？ 912 語句からなる別のサンプルで, 文字 n-gram の異なり数と $\mathrm{n}$ との関係を調べた. このサンプルは, 文字数の平均値: 3.82 , 中央値: 3 , 最大值: 18 [びまん性メサンギウ么増殖性系球体腎炎], 最小值: 1 [鸗], 標準偏差: 1.905 の特性を持つ. Figure 8 のグラフが示すように，異なり数の増加は $\mathrm{n}=7$ 辺りで頭打ちとなる。それ故, 文字 n-gram の利用は非効率に思えるが，悪い選択ではないと判る。

## 4 結論

本論文は, 専門用語の文字列基盤の FCA でオントロジー 構築を効率化する手法の概要を示した. 文字列 n-gram を属性に用い，それらの不連続な生起を部分として認めると, 網羅性の高いオントロジーの雛型が半自動で得られる事が示された。一方，大規模な形式文脈を大力とする FCA の実行は，それなりに計算資源を要求する。これを軽減するための工夫, 特に明らかに不要な文字 n-gram の除外は必要だろうと思われる。文字列基盤の FCA では, 意味カテゴリー(e.g., 器官名, 病名, 病原体名)を表現できないという難点はあるが，それは意味ラベルを補助情報として用いて解決可能だと考える.

最後に断っておくと，FCA はオントロジーを自動構築しない．意味のあるノードとそうでないノードの区別を行うのは人間である。

## 5 謝辞

本研究は JSPS 科研費 JP21H03777 の助成を受けたものである.

FCA の実行は Concept Explorer 1.3 (http://conexp. sourceforge.net)を使用した.

## References

[1] 大江和彦. 病名用語の標準化と臨床医学オントロジーの開発. 情報管理, Vol. 52, No. 12, pp. 701-709, 2010.

[2] Alan L. Rector. Clinical terminology: Why is it so hard? Methods of Information in Medicine, Vol. 38, No. 4, pp. 249252, 1999.

[3] 里村洋一. “用語” と “分類” からオントロジーへ. 医療情報学, Vol. 25, No. 6, pp. 377-384, 2005.

[4] B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 2nd edition, 2002.

[5] Bernhard Ganter and Rudolf Wille. Formal Concept Analysis: Mathematical Foundations. Springer-Verlag, Berlin, 1999. Translated by C. Franzke.

[6] Bernhard Ganter, G. Stumme, and R. Wille. Formal Concept Analysis: Foundations and Applications. Springer, Berlin/Heidelberg, 2005.

[7] 鈴木治, 室伏俊明. 形式概念分析 -入門・支援ソフト・応用-. 知能と情報, Vol. 19, No. 2, pp. 103-142, April 2007.

[8] 黒田航. 言語の表層語形から品詞はどの程度正確に予測できるか？：語彙獲得難度の絶対指標の提唱. 言語処理学会第 20 回年次大会発表論文集, pp. 1043-46, 2014.

[9] Kow Kuroda. Formal Concept Analysis meets grammar typology. In Proc. of the 21st Annual Meeting of the NLP Association, pp. 329-332, 2015.

[10] 黒田航. 表層語形から品詞はどれぐらい正確に予測できるか？：英語形態論とチェコ語形態論の比較から. 認知科学, Vol. 22, No. 4, pp. 621-637, 2015.

[11] Kow Kuroda. How are inflectional paradigms represented (in the mind)? - Formal Concept Analysis meets Czech declensional paradigms. In Proc. of the 22nd Annual Meeting of the NLP Association, pp. 849-852, 2016.

[12] 長田博泰. 形式概念にもとづく質的分析. 社会情報, Vol. 14, No. 1, pp. 19-37, 2004.

[13] 長田博泰. 形式概念を用いたデータ解析 : 幼児発達行動の分析. 社会情報学研究, Vol. 11, No. 2, pp. 71-81, 2006.

[14] 長田博泰. 社会情報解析への一寄与: 形式概念解析によるデータ解析. 社会情報, Vol. 15, No. 2, pp. 103-118, 2006.
[15] 長田博泰. 形式概念解析ツールとデータ解析. 社会情報, Vol. 17, No. 1, pp. 47-64, 2007.

[16] 西本尚樹, 谷川玩海, 蒋国謙, 小笠原克彦, 櫻井常太朗. 標準病名辞書による画像診断用語の形態素解析. 医療情報学, Vol. 24, No. Suppl., pp. 812-812, 2004.

[17] 西本尚樹, 寺江聡, 蒋国謙, 上杉正人, 寺下貴美, 谷川玩海,遠藤晃, 小笠原克彦, 櫻井常太朗. 複合語を構成する医学用語間の意味関係の同定における課題: CT 画像診断レポー トに出現する複合語を対象として. 医療情報学, Vol. 25, No. 6, pp. 413-420, 2005.

[18] 内山清子, 岡照晃, 東条佳奈, 小野正子, 山崎誠, 相良かおる. 実践医療用語の語構成要素抽出の試み. 言語資源活用ワークショップ発表論文集, 第 3 巻, pp. 463-467. 国立国語研究所, 2018.

[19] 大島智夫. 日本語の医学用語についてのおぼえ書き. 専門用語研究, Vol. 1, pp. 18-21, 1990.

[20] 篠原恵美子. 高精度な正規化技術の実現に向けた身体部位表現の内部構造モデル．医療情報学, Vol. 34, No. 5, pp. 211-220, 2014.

[21] 山田恵美子, 松本裕治. 文字係り受けに基づく専門用語の内部構造表現と解析. 情報処理学会研究報告,第 2009-NL191/2009-SLP-76 巻. 情報処理学会, 2009.

[22] 相良かおる, 山崎誠, 麻子軒, 東条佳奈, 小野正子, 内山清子. 実践医療用語の語構成要素: 意味を基準とした分割. じんもんこん 2019 論文集, 2019.

[23] 相良かおる, 小野正子, 高崎智子, 東条佳奈, 麻子軒, 山崎誠. 実践医療用語の語構成と意味: 語構成要素語彙表試案表の作成にむけて.じんもんこん 2020 論文集, 2020 .

[24] 相良かおる. 実践医療用語における語構成要素の意味ラベルについて. 言語処理学会第 27 回年次大会発表論文集, pp. 559-562, 2021.

[25] Kow Kuroda. Pattern lattice as a model for linguistic knowledge and performance. In Proc. of the 23rd Pacific Asia Conference on Language, Information and Computation, Vol. 1, pp. 278-287, 2009.

## A FCA の基本知識

## A. 1 FCA は何をする道具か？

簡単に言うと, FCA は属性によって定義された対象を自動分類するためのアルゴリズムの一つである．それは概念 (concept) を次のように形式化する事で実現される.

(7) a. (形式的) 概念 $c$ とは, 外延 $o$ と内包 $a$ の対である (記号で書けば, $c:=(o, a)$ ).

$\mathrm{a}^{\prime}$. ただし, 外延 $o$ と内包 $a$ はそれぞれ, 対象の全体集合 $O$ と属性の全体集合 $A$ の部分集合とする.
b. $c_{i}$ と $c_{j}$ は, [一方が他方を含む] という関係について順序構造をなし， $c_{i}, c_{j}$ を要素にもつ概念の全体集合 $C$ に束構造 (lattice) がある.

要するに，FCA は，概念を (7a)のように (数学的に) 定義した上で，概念間の関係を $(7 b)$ が定義する束構造として明示化する手順である。

もっと一般的な理解では，対象の集合 $O=\left.\{o_{1}, \ldots, o_{n}\right.\}$ があり，それらを記述する属性の集合 $A=\left.\{a_{1}, \ldots, a_{m}\right.\}$ が (暫定的に) 定められた時, $O$ と $A$ の直積 $O \times A$ に真理值を割り当てる. これが表現する状態を離散的に自動分類するためのアルゴリズムの一つが FCA である.

## A. 2 FCA の数学的定義

Table 1: 文脈=対象集合 $O$ と属性集合 $A$ の直積に真理值を割当てた状態

## A.2.1 形式文脈の定義

対象集合と属性集合の関係を統合して表現するため，(形式) 文脈 ((formal) context) を定義する.

(8) a. $n$ 個の対象 $A=\left.\{o_{1}, o_{2}, \ldots, o_{n}\right.\}$ があり，これらを $m$ 個の属性 $A=\left.\{a_{1}, a_{2}, \ldots, a_{m}\right.\}$ で記述した状態がある。 $O$ と $A$ の直積 $O \times A$ を考える.
b. $O \times A$ で，対象 $o_{i}$ が属性 $a_{j}$ をもつ時に， $(i, j)$ に ×を書き，そうでない時に何も書かないとする。

c. この処理の結果は, 対象 $o_{i}$ が属性 $a_{j}$ をもつがうかの真偽表だと見なせる. この真偽表を $O$ と $A$ の (形式) 文脈と呼ぶ. d. 二項関係 $\left(o_{i}, a_{j}\right)$ の全体集合 $R$ は，関係が真である場合の集合 $T$ と偽である場合の集合 $F$ に分割できる $(R=T \cup F)$.

e. このうち, 真である二項関係の集合 $T$ を考え, 三組 $(O, A, T)$ を定義する. これが (形式) 文脈である ${ }^{8}$.

(形式) 文脈の一例を表 1 に示す. この文脈は, 対象 $o_{1}$ が属性 $a_{2}$ と属性 $a_{m}$ を持ち, 対象 $o_{2}$ が属性 $a_{2}$ を持ち, 対象 $o_{n}$ が属性 $a_{1}$ と属性 $a_{m}$ を持っている状態を記述している. 従って, $(O, A, T)$ で,

$
T=\left.\{\left(o_{1}, a_{2}\right),\left(o_{1}, a_{m}\right),\left(o_{2}, a_{2}\right), \ldots,\left(o_{n}, a_{1}\right),\left(o_{1}, a_{m}\right)\right.\}
$

である.

## A.2.2 (形式) 概念の定義

次に対極と (形式) 概念 ((formal) context) の定義を示す.

(9) a. $O$ の部分集合 $o$ について，oの対極 (polar) を $o$ に属する対象のすべてに共有されている属性の集合と定義し, $o^{\prime}$ と表記する. 同様に, $A$ の部分集合 $a$ について，aの対極を $a$ のすべてを属性を体現している対象の集合と定義し， $a^{\prime}$ と表記する．数学的には，
b. $o^{\prime}=\{a \in A \mid(x, a) \in T$ for all $x \in o\}$ で $a^{\prime}=\{o \in$ $O \mid(o, y) \in T$ for all $y \in A\}$ である

(10) a. (形式) 文脈 $(O, A, T)$ にある (形式) 概念 $c$ とは, $a^{\prime}=o$ かつ $o^{\prime}=a$ の条件を満足する対 $(o, a)$ と定義する。

b. 概念 $c:=(o, a)$ の $o$ を $c$ の外延 (extent), $a$ を $c$ の内包 (intent) と呼ぶ.

## A.2.3 (形式) 概念束の定義

次に (形式) 概念の束 (lattice of (formal) concepts) の定義9)を示す.

a. (形式) 文脈が与えられ，それに $\left(o_{1}, a_{1}\right)$ と $\left(o_{2}, a_{2}\right)$ の二つの (形式) 概念があるとする. $o_{1} \subseteq o_{2}$ ならば (同じ事だが $a_{2} \supseteq a_{1}$ ならば $),\left(o_{1}, a_{1}\right)$ を $\left(o_{2}, a_{2}\right)$ の下位 (形式) 概念と呼ぶ. この場合, $\left(o_{2}, a_{2}\right)$ は $\left(o_{1}, a_{1}\right)$ の上位 (形式) 概念であり,これを $\left(o_{1}, a_{1}\right) \leq\left(o_{2}, a_{2}\right)$ と書き表わす。

b. பという関係を, (形式) 概念の階層的順序 (か単に順序) と呼ぶ.

c. こうして順序づけられた, 文脈 $(O, A, T)$ の全概念の集合を $\mathfrak{B}(O, A, T)$ で書き表し，これを $(O, A, T)$ の (形式) 概念束 ((formal) concept lattice) と呼ぶ.
^{8)}(O, A, F)$ は $(O, A, T)$ の真偽の指定を逆転した状態を表わす文脈である. $(O, A, T)$ と $(O, A, F)$ は同一の Hasse 図を与えない.

 }^{9)}$ Ganter and Wille [5, p. 19] の Definition 21 を元に解説した.