SIG-SWO-038-01
単語意味ベクトルを用いた大規模論文抄録データからの
科学技術用語シソーラス拡充手法の検討
Preliminary Report of Fertilizing Science and Technology Thesaurus
from Large-Scale Bibliographic Datasets using Word Embedding
川村 隆浩
1∗古崎 晃司
2櫛田 達矢
3木村 考宏
1渡邊 勝太郎
1松邑 勝治
1,3Takahiro Kawamura
1Kouji Kozaki
2Tatsuya Kushida
3Takahiro Kimura
1Katsutaro Watanabe
1Katsuji Matsumura
1,31
科学技術振興機構 情報分析室
1
Department of Information Planning, Japan Science and Technology Agency
2大阪大学 産業科学研究所
2
The Institute of Scientific and Industrial Research, Osaka Univ.
3バイオサイエンスデータベースセンター
3
National Bioscience Database Center
Abstract: 近年,科学計量学での活用を意図してさまざまな科学技術用語シソーラスの構築が進め られている.しかし,人手での整備には多大なコストと時間を必要とするため,自動構築・改訂手法 の研究が盛んである.そこで本論では,人手で十分に整備された情報がない新興,先端学術分野にお いても適用できるよう,文献抄録に書かれた自然文を入力として単語ベクトルを構築し,ベクトル演 算に基いて新語を既存シソーラス階層内に適切に位置づける手法を検討する.そのため,まず予備実 験として医療系論文 56.7 万編から単語ベクトルを構築し,単語間の is-a や part-of,関連語といった 関係性がベクトル空間内に表されていることを確認した.そして,単語ベクトルの加法構成性を用い て,新語に対して何らかの関係性を持つ用語を JST シソーラス内から検索する実験を行い,可能性 を示した.今後は,用語の持つ意味役割の活用や,単語ベクトルを入力した機械学習手法を検討し, 現在構築中の大規模正解データを用いた評価を行っていく.
1
はじめに
近年,複雑で多岐に渡る科学技術・学術活動の状況 把握を目的に,大規模書誌情報データベースを対象と した科学計量学の研究が盛んに行われている.その一 環において,論文や特許,研究データの分類,検索の ための科学技術用語シソーラスの重要性が増している. しかし,バイオ系や工学系,特にコンピューター科学 分野は進展が早く,さまざまな概念,用語が次々と生 まれるため,シソーラスの人手での構築,保守には限 界がある(2012 版の ACM taxonomy は作成に 14 年 の歳月を要した).科学技術振興機構(以下,JST)で は昭和 44 年より科学技術用語シソーラスの構築を開始 し,当初は 3–6 年の単位で新語(シソーラスとして登 録すべき未登録語)の追加,既存語の見直を行ってき ∗連絡先:科学技術振興機構 情報企画部 情報分析室 〒 102-8666 千代田区四番町 5-3 サイエンスプラザ E-mail: [email protected] たが,近年は 1 年単位でそれらを繰り返しており,コ スト面での問題が指摘されている.一方,Google Schlolar や Microsoft Academic Search ではシソーラスの活用を避け,キーワード検索にフォー カスしているが,セマンティック Web 研究の黎明期に 従来 Web の問題点としてしばしば指摘された 1) 同様 の意味を持つキーワードが複数存在することや,2) 前 後のコンテキストによるキーワードの意味の違い,3) キーワード同士の意味的な関係が未定義であることな どの問題点が指摘されている. そこで,シソーラスを自動的に構築,拡充する研究が 盛んに行われている.代表的な研究として,ISWC2015 で発表された Motta らの Klink-2[1] が挙げられる.し かし,Klink-2 では DBpedia や Wikipedia,Elsevier 社 の Scopus など予め人手によって整備されたデータベー スからさまざまな関係(プロパティ)を入力情報とし て取得している.科学技術情報は比較的整備されてい
SIG-SWO-038-01 ることを理由として挙げているが,結果として構築さ れたオントロジーは 88 トピック,133 関係に限られて いる. そのため,本論では DBpedia など事前に人手で十分 に整備された情報がない分野でもシソーラスを半自動 的に拡充できるよう,自然文を入力とする手法を検討 する.具体的には昨今,注目を集めている単語の分布 表現である単語ベクトルに注目し,文献抄録データか ら新語と一定の関係を持つ既存語の候補,およびその 関係性を提示する1.尚,本論ではシソーラス(あるい は Lightweight オントロジー)をスクラッチから作る のではなく,既存のシソーラスに対してインクリメン タルに用語(と既存語との関係)を追加することを目 的とする.また,最終的には人手で確認の上でシソー ラスを更新する作業を前提とし,候補用語,候補関係 を提示するシステムを目指す. 以下,本論では 2 章においては単語ベクトルを用い たシソーラス用語間関係抽出の検討状況について説明 し,3 章において関連研究を示す.最後に 4 章におい て今後の課題とまとめについて述べる.
2
単語ベクトルを用いたシソーラス
用語間関係抽出の検討
2.1
単語ベクトルとは
単語ベクトルとは,単語を数百次元の実数値ベクト ルとして表現したものであり,単語間の意味的な関係の 強さをそれぞれの単語に対応するベクトルの成す角の コサインやユークリッド距離などを用いて定量化する ことを目的としている.単語の分布表現(Distributed Representation,Word Embedding)とも呼ばれ,単語 に留まらず文を表現させる研究も盛んに行われている [2].さまざまな単語ベクトル構成手法の内,昨今,注目 されているのがニューラルネットワークに基づく学習 手法である.特に,Google の Mikolov ら [3, 4] らが提 案した手法とそれを実装したツール word2vec2は,大 規模なコーパスで学習させることでベクトル空間内でking− man + woman を計算すると queen に近い値を
出すといった(図 1),ベクトルの加算減算によって単 語の意味を捉えられる加法構成性を示し,一昨年より 高い注目を集めている. 単語ベクトルは「単語の意味はそれが出現する文脈 によって決まる」という考え方 [5] に基づいており,文 中で似たような出現の仕方をする単語は近い意味を持 つことを根拠としている.一般には,コーパス内で一定 1新語自体の洗い出しは出現回数や頻度に基づく処理を想定して いる. 2https://code.google.com/archive/p/word2vec/ 図 1: 単語ベクトルの例 [Mikolov 2013] 図 2: Skip-gram によるニューラルネットモデル 以上の頻度を持つ単語 w とその単語の前後一定のウィ ンドウ幅 c に出現する単語との共起頻度を要素とする 行列である.word2vec では,これを 2 層のニューラル ネットでモデル化し(図 2),Skip-gram with Negative Sampling と呼ばれる負例を用いた高速な学習手法(学 習自体は確率的勾配効果法)を用いて単語ベクトルを 獲得している [6].これにより,与えられたコーパスか ら特定の単語の周辺に出現する単語の分布が得られ,こ の分布から類義語などが求められる.具体的には,式 (1) の目的関数 J を最尤推定することで単語ベクトル W を求める.ここで,T はコーパス内に含まれる一定 の頻度を持つ単語数である. J (θt) = 1 T T ∑ t=1 ∑ −c≤j≤c,j̸=0 log p(wt+j|wt; θt) W (wt) = θt (1) 周辺に出現する単語を確率的に扱うことで高速化して いるが,同時に大規模コーパスを必要としている.本
SIG-SWO-038-01 手法で特筆すべきは,先の加法構成性が実現されてい る点である.加法構成性とは,ベクトルの特徴量に単 語の意味が表されており,単語間の類似語のみならず, 単語ベクトルの和・差を求めることで単語間の意味ま たは概念の差を計算できることである.単語ベクトル が加法構成性を持つ理論的な説明は [7, 8] に詳しい.
2.2
対象データの概要
1 章で述べた JST が構築,保守を行っている科学技 術用語シソーラス(以下,JST シソーラス)とは,基 本的には JST 収録文献に対してインデックス(索引) された頻度の高いキーワードをシソーラス用語として 抽出したものである.JST シソーラスは 16 のカテゴ リ,221 のサブカテゴリから成り,生物,医学系から コンピューター科学まで約 4 万語を収録している.ま た,W3C の Simple Knowledge Organization System (SKOS) に基いて,用語間の関係として広義/狭義関係 skos:broader, skos:narrower や連合関係 skos:related な どが定義されている.尚,JST シソーラスの広義/狭義 関係は包摂関係 is-a を基本とするが,一部,地理的位 置関係,体組織・器官,学問分野に関しては部分全体 part-of も含んでいる.また,同義語,類義語,異表記 語に関しては,JST シソーラスとは別に大規模辞書を 構築しており,約 100 万語が対応するシソーラス用語 に結び付けられている.これらは,科学技術総合リン クセンター J-GLOBAL3にて WebAPI を介して公開 されている.また,JST シソーラス map4として可視 化ツールも提供されている. 本論では,JST シソーラスの内,病気・病理・症状に 関するサブカテゴリ(コード LS51)に含まれる 1,606 語,広義/狭義関係(以下,BT/NT)と連合関係(以 下,RT)それぞれ 740,343 関係を対象とする.図 3 にオントロジーエディタ法造5にて一部を可視化した 例を示す.本サブカテゴリ内のいずれか 1 つ以上のシ ソーラス用語が索引された論文 約 56 万 7 千編から抄 録文 約 245 万 5 千文を抽出し,学習対象とした.ま た,前処理として形態素解析,構文解析に加えて意味 役割付与 [9] を行い,文中の Subject,Verb,Object, Time,Location に相当する名詞句や動詞句を抽出し, それ以外の単語を削除した.更に,文字列類似度に基 いてシソーラス用語 1,606 語に近いと思われる句(異表 記)はシソーラス用語に統一した(クラスタリング). 尚,句に対する word2vec の適用については [4] にて有 効性が確認されている. 3http://jglobal.jst.go.jp/ 4 http://thesaurus-map.jst.go.jp/jisho/fullIF/index. html 5http://www.hozo.jp/2.3
単語ベクトル間の関係性に関する予備
実験
本章では,まずベクトル空間内にシソーラス用語間 の関係性が表現されているかどうかを確認した.単語ベクトルの構築においては,Deep Learning for Java6を用いて word2vec 相当を実装した.次元数は多 すぎても効果が限定的であるとの知見 [2] に基いて,前 章のデータセットから 500 次元のベクトル空間を構築 した.その上で,構築したベクトル空間内でシソーラス 用語間の BT/NT(実験では is-a と part-of に分ける) と RT の関係が表現されているかどうか,言い換えれ ば用語間の関係性と相当する単語ベクトル間に相関性 があるかどうかを確認した.実験では,上述のサブカ テゴリから胃や肝臓,腎臓に関するシソーラス用語 106 語を選択し,is-a と part-of,RT に関して JST シソー ラス内で定義済みのペアを 20–30 組抽出した.そして, それぞれのペアのコサイン類似度を算出した.また,同 じ用語セットを対象にランダムなペアを作成し,それ ぞれの類似度も計算し,Welch の t 検定によって類似 度集合間に統計的に有意な差があるかどうかを検証し た.尚,事前に F 検定によって等分散であることを確 認している. 表 1: シソーラス関係毎の単語ベクトル類似度と類似 度間の t 検定による比較(%) 関係性 is-a part-of RT ランダム 標本平均 0.392 0.198 0.344 0.069 不偏分散 0.031 0.033 0.035 0.013 is-a – – – – part-of 45.80 – – – RT 0.293 2.822 – – ランダム 0.002 0.038 5.107 – 表 1 より,ランダムと is-a,ランダムと part-of はそ れぞれ p = 0.002%, p = 0.038% と明らかに有意な差が あることが認められ,is-a や part-of といった関係性が 何らかの形でベクトル空間内で表現されていることを 確認できる.RT と is-a,および RT と part-of も同様 である.また,RT は定義上,複数の関係性(例えば, contributed や resulted など)を含むため7,ランダム と RT は p = 5.1% と有意差は小さくなるものの,有意 水準 α を通常の 5%と設定すると有意傾向にあること が確認できる.一方,is-a と part-of との間には有意な 差が認められず,少なくともコサイン類似度によって 両者を区別することは難しいことが分かる. 6 http://deeplearning4j.org/ 7RT は類義語ではないことに留意.JST シソーラスにおいて類 義語は大規模辞書において別途,定義されている
SIG-SWO-038-01 図 3: 病気・病理・症状に関するサブカテゴリの一部
2.4
新語分類に対するベースライン手法
続いて,新語分類に対するベースライン手法として, 前述した word2vec の特徴である加法構成性を用いて 新語に対して is-a, part-of 関係に当たる既定義語をベ クトル空間内から検索した.リスト 1 にいくつかの例 を示す. [肝炎]−[肝臓]+[大腸] =[大腸内視鏡検査,大腸炎,内視鏡検査, crohn病,上部消 化] [肝炎]−[肝臓]+[腎臓] =[肝硬変,腎障害,ネフローゼ症候群,腎生検] [腎障害]−[腎臓]+[肝臓] =[肝障害,肝硬変,肝炎,慢性肝炎,間質性肺炎, nash, 脂肪肝,高脂血症] [小腸]−[十二指腸] =[回腸,高信号,高信号域,腸管,低信号,強調像,腹膜炎] リスト 1: ベクトル演算の例 リスト中1∼3番目の例では,左辺最後の + 項が新 語という位置づけである.1番目の例では,大腸と大 腸炎が肝臓と肝炎と同じ関係であることが示唆されて いる.また,リスト上最後の例では,小腸と回腸が小 腸と十二指腸と同じ part-of 関係にあると読むことがで きる.但し,出力単語の内,入力単語と重複するもの と動詞句は取り除いてある. 最終的には,作業者へ候補となる用語を提示するこ とを目的としているため,N-Best で評価することを前 提とすると,本結果からは新規追加語と何らかの関係 性を持つ既定義シソーラス用語の抽出が一定程度可能 であることが分かる.関係上,何ノード分離れている かは三角測量の原理で方向性を決められるのではない かと考えている.しかし,これらはいわばチャンピオ ンデータであり,意味を成さない検索結果も数多く見 られた. 現在,より大規模な評価を実施するため,新語約 1,200 語を既存シソーラスへ割り付ける作業(is-a, part-of, RT といった関係性を与える)が医療用語整備経験者の 手によって進められている.正解は,作業者 3 名の一 致度により判断し,結果が割れた場合には 1 名の専門 家によって判断する.今後,これを教師データとして 評価を行う予定である.尚,こうした正解データの作 成方法,および評価方法は前述した Klink-2 も同様で ある.SIG-SWO-038-01
2.5
提案手法の検討状況
更に,現在,より精度よく用語間の関係性を抽出す るため,単純な加算減算以外のベクトル演算を考案中 である.既に特異点分解したり,次元圧縮する方法な どが提案されているが,単語ベクトルを分類学習に掛 ける方法なども考えられるだろう. また,単語の意味を分布表現で表す際に構文情報や 意味役割情報を活用することも検討している.現在の 手法では,Bag of words の情報から単語ベクトルを構 成しているため,文中の語順や文の構造が考慮されて いない.そこで,SRL の出力である意味役割ラベルに 基いて重みを付けるなど,より文脈を意識したベクト ル表現を実現することで用語間の関係を反映できる可 能性がある.一方で,こうした手法には分布表現とし ての共通性が失われることも指摘されており,単純に 語尾に役割を付与(’-’ で繋ぐなど)では限界があるだ ろう. 今後,大規模正解データ作成後に,提案手法を用い て関係抽出の精度をベースライン手法と比較したい.3
関連研究
本論で検討している手法は,単語間の共起頻度情報を ベースにコサイン類似度を利用しているという点で,前 述した Klink-2 や,その基となっている Subsumption 手法 [10] と要素技術は類似している.しかし,Klink-2 が多くの学術情報は人手で整備されていることを理由 に入力が自然文である必要はないと主張しているのに 対して,本論では先端分野では学術情報の整備は十分 ではないことを前提に,自然文を入力とした手法を検 討している. 本論でベースとしている単語ベクトルに関しては,そ の加法構成性への注目から近年,数多くの研究が発表さ れている.しかし,シソーラスまたはオントロジーへの 適用に関しては,初期的,部分的な検討はみられるもの の,まだ緒についたばかりであり,大規模に実験したも のも少ない.もっとも検討が進んでいる研究としては, 単語ベクトルの類似性に着目したシソーラス内の類義語 や頭字語の語義曖昧性解消(Word Disambiguation)へ の適用が挙げられる [11, 12].特に,廣川らは WordNet に約 5%類義語の間違いがあることを指摘し,word2vec による誤り検出を試みているが十分な精度を得ていな い [13].これは,主に多義語の存在に因る.用語の多 義性の問題は,Klink-2 でも重要視されており,Klink から Klink-2 への発展においてもっと焦点が当たって いる問題であると言える.我々は今回,特定専門分野 の抄録を元データとしているため,用語の意味は研究 コミュニティ内において統一されていることを期待し て多義性を考慮していないが,今後,語義の違いが単 語ベクトル間でどのように表現されているのかよく調 査する必要がある. その他に,単語ベクトルのシソーラス,オントロジー への適用に関する一般的な批判としては,同じ文脈上 に反意語が現れるため,反意語と類義語が区別できな いという問題点が指摘されている.しかし,この点に 関しても JST シソーラスではそもそも反意関係を定義 していないため(RT に位置付けられる),現状では考 慮していない. 更に,単語ベクトルで表現されるのはクラスでも関 係でもなくインスタンスの集合であるため,それらに何 らかのクラス名や関係名を割りつけるための教師デー タが必要であることも指摘されている.そのため,本 論では関係性が既知のシソーラス用語をベクトル演算 の項として用い,シソーラスの新規構築ではなく,既 存シソーラスの更新への適用を検討している. また,著者らは今回の単語ベクトル化はあくまで後 に続く Deep Learning 等,機械学習への前段階として 位置づけている.単語ベクトルを入力としてより高度 または構成的な意味を獲得するため,Recursive Neural Network (RNN) で変換するモデルなども既にいくつか 提案されている [14, 15]. 一方で,Microsoft の Celikyilmaz らは,入力として 自然文に加えて,人手で整備された Freebase から得 た単語間の関係性を陽に追加する手法を提案している [16].そして,得られた単語ベクトルをクラスタリング した上で,Conditional Random Fields (CRF) の入力 として用いて,意味タグ付けにおいて離れた単語間の 関係を高精度に推定できたことを報告している.これ は 2.5 節で述べた意味役割情報の活用に近いものであ り,単語間の関係性をベクトル演算に加えることの可 能性を示唆している.4
まとめと今後の課題
本論では,科学計量学において期待される科学技術 用語シソーラスの低コストで継続的な整備,具体的に は新語と既存語との関係性の追加を目的として,シソー ラスの半自動的な拡充手法を検討した.特に,新興,先 端分野など人手で十分に整備された情報がない学術分 野においても適用できるよう,自然文を入力とし単語 ベクトルを構築する手法を検討した.そのため,まず 予備実験として 56.7 万論文から単語ベクトルを構築し, 単語間の is-a や part-of,RT といった関係性がベクト ル空間内に表されているかどうかを確認した.次に単 語ベクトルの加法構成性を用いて,新語に対して何ら かの関係性を持つ既定義語を JST シソーラス内から検 索する実験を行い,可能性を示した.今後は,関連研SIG-SWO-038-01 究の動向を踏まえて,意味役割の活用や,単語ベクト
ルを入力とした機械学習手法の検討を進め,現在構築 中の正解データを用いた評価を行っていきたい.
既に Springer 社や Elsevier 社では Klink-2 などによ るシソーラスの自動構築が進められており [1],国内お よび日本語情報に関しても科学技術用語シソーラスの 迅速な拡充が必須であると思われる.
参考文献
[1] F. Osborne and E. Motta: “Klink-2: Integrat-ing Multiple Web Sources to Generate Seman-tic Topic Networks,” In Proc. of ISWC 2015, pp.408–424, 2015.
[2] K. Hashimoto, M. Miwa, Y. Tsuruoka, and Takashi Chikayama: “Simple Customization of Recursive Neural Networks for Semantic Rela-tion ClassificaRela-tion,” In Proc. of EMNLP 2013, pp.1372–1376, 2013.
[3] T. Mikolov, K. Chen, G. Corrado, and J. Dean: “Efficient Estimation of Word Representations in Vector Space,” In Proc. of Workshop at the Inter-national Conference on Learning Representations (ICLP), 2013.
[4] T. Mikolov, I. Sutskever, K. Chen, G. S. Cor-rado, and J. Dean: “Distributed Representations of Words and Phrases and their Compositional-ity,” In Proc. of NIPS 26, pp.3111–3119, 2013. [5] J. R. Firth: “A synopsis of linguistic theory
1930-1955,” Studies in Linguistic Analysis, vol.1952-59 ,pp.1–32, 1957.
[6] 岡崎 直観: “単語の分散表現と構成性の計算モデ ルの発展”, 2015 年度人工知能学会全国大会 (第 29 回) 発表資料, 2015.
[7] O. Levy and Y. Goldberg: “Linguistic regulari-ties in sparse and explicit word representations,” In Proc. of CoNLL 2014.
[8] O. Levy and Y. Goldberg: “Neural word embed-ding as implicit matrix factorization,” In Proc. of NIPS 27, pp.2177–2185, 2014.
[9] T. Kawamura, A. Ohsuga: “Development of Web API for Triplification of Text Information,” New Generation Computing, 2016. to be published.
[10] M. Sanderson and B. Croft: “Deriving concept hierarchies from text,” In Proc. of SIGIR 1999, pp.206–213. 1999.
[11] C. Li, L. Ji, J. Yan: “Acronym Disambiguation Using Word Embedding,” In Proc. of AAAI 2015, 4178–4179, 2015. [12] 菅原 拓夢,笹野 遼平,高村 大也,奥村 学:“単 語の分散表現を用いた語義曖昧性解消”,言語処 理学会 第 21 回年次大会 発表論文集, pp.648–651, 2015. [13] 平尾 拓也,宮田 光樹,鈴木 孝彦,廣川 佐千男: “日本語 WordNet 類義語の誤り検出 : コーパス利 用の試み”,電子情報通信学会 人工知能と知識処 理研究会 (AI) 114(339), pp.13–18, 2014.
[14] R. Socher, B. Huval, C. D. Manning, and A. Y. Ng: “Semantic compositionality through recur-sive matrix-vector spaces,” In Proc. of EMNLP-CoNLL 2012, pp.1201–1211, 2012.
[15] 高瀬 翔,岡崎 直観,乾 健太郎:“構成性に基づく 関係パタンの意味計算”, 言語処理学会 第 21 回年 次大会 発表論文集, pp.640–643, 2015.
[16] A. Celikyilmaz, D. Hakkani-Tur, P. Pasupat, and R. Sarikaya: “Enriching Word Embeddings Using Knowledge Graph for Semantic Tagging in Conversational Dialog Systems,” In Proc. of AAAI Spring Symposium 2015, pp.34–42, 2015.