(57)【特許請求の範囲】
【請求項１】
入力されたテキスト中における用語に対して、意味コードを判定する用語意味コード判定装置であって、
前記用語の文字列から、用語特徴ベクトルを生成する用語特徴ベクトル生成部と、
前記用語特徴ベクトル生成部によって生成された前記用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算する用語意味確率計算部と、
前記用語の前後に記述されている文字列から、文脈特徴ベクトルを生成する文脈特徴ベクトル生成部と、
前記文脈特徴ベクトル生成部によって生成された前記文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す文脈意味確率を計算する文脈意味確率計算部と、
前記用語意味確率計算部によって計算された各意味コードに対する用語意味確率、及び前記文脈意味確率計算部によって計算された各意味コードに対する文脈意味確率に基づいて、前記用語の意味コードを判定する意味コード判定部と、
を含む用語意味コード判定装置。
【請求項２】
前記用語意味確率計算部は、前記用語特徴ベクトル生成部によって生成された前記用語特徴ベクトルと、前記用語特徴ベクトルから各意味コードに対する用語意味確率を計算するための予め学習された用語意味確率モデルとに基づいて、各意味コードに対する用語意味確率を計算し、
前記文脈意味確率計算部は、前記文脈特徴ベクトル生成部によって生成された前記文脈特徴ベクトルと、前記文脈特徴ベクトルから各意味コードに対する文脈意味確率を計算するための予め学習された文脈意味確率モデルとに基づいて、各意味コードに対する文脈意味確率を計算する請求項１に記載の用語意味コード判定装置。
【請求項３】
意味コードと、意味コードが予め付与された用語の文字列との複数組からなる第１の訓練データの各々から、用語特徴ベクトルを生成する用語特徴ベクトル生成部と、
前記用語特徴ベクトル生成部によって生成された、前記用語の前記用語特徴ベクトルと、該用語の文字列に付与された意味コードとに基づいて、前記用語特徴ベクトルから各意味コードに対する用語意味確率を計算するための用語意味確率モデルを学習する用語意味確率モデル生成部と、
意味コードと、意味コードが予め付与された用語の文脈を表す文字列との複数組からなる第２の訓練データの各々から、文脈特徴ベクトルを生成する文脈特徴ベクトル生成部と、
前記文脈特徴ベクトル生成部によって生成された、前記用語の前記文脈特徴ベクトルと、該用語の文脈を表す文字列に付与された意味コードとに基づいて、前記文脈特徴ベクトルから各意味コードに対する文脈意味確率を計算するための文脈意味確率モデルを学習する文脈意味確率モデル生成部と、を含む、
用語意味コード判定モデル学習装置。
【請求項４】
前記意味コード判定部は、前記用語意味確率計算部によって計算された各意味コードに対する用語意味確率、及び前記文脈意味確率計算部によって計算された各意味コードに対する文脈意味確率に対して重み付けを行い、該重み付けの結果に基づいて、前記用語の意味コードを判定する、
請求項１又は請求項２に記載の用語意味コード判定装置。
【請求項５】
前記第１の訓練データは、各用語に意味コードが予め付与された文書、意味コードを定義する辞書、及び意味コードを定義するのに用いられている用語と同義語及び類義語の少なくとも一方の関係が記載されている辞書の少なくとも１つに基づき作成されたものを含み、
前記第２の訓練データのうちの前記用語の文脈を表す文字列は、用語に意味コードが予め付与された文書から抽出された用語の前後に記述されている文字列、及び意味コードを定義する辞書から抽出された用語の定義文である文字列の少なくとも一方に基づき作成されたものを含む、
請求項３に記載の用語意味コード判定モデル学習装置。
【請求項６】
前記用語特徴ベクトル生成部は、前記用語について、前記用語に含まれる文字、及び前記用語の文字列に含まれる部分文字列から、各部分文字列の有無又は個数と、各文字の文字種及び該文字の前又は後の文字との各組み合わせの有無又は個数と、を表す前記用語特徴ベクトルを生成する請求項１、請求項２、又は請求項４に記載の用語意味コード判定装置。
【請求項７】
用語特徴ベクトル生成部、用語意味確率計算部、文脈特徴ベクトル生成部、文脈意味確率計算部、及び意味コード判定部を含み、入力されたテキスト中における用語に対して、意味コードを判定する用語意味コード判定装置における用語意味コード判定方法であって、
前記用語特徴ベクトル生成部が、前記用語の文字列から、用語特徴ベクトルを生成するステップと、
前記用語意味確率計算部が、前記用語特徴ベクトル生成部によって生成された前記用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算するステップと、
前記文脈特徴ベクトル生成部が、前記用語の前後に記述されている文字列から、文脈特徴ベクトルを生成するステップと、
前記文脈意味確率計算部が、前記文脈特徴ベクトル生成部によって生成された前記文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す文脈意味確率を計算するステップと、
前記意味コード判定部が、前記用語意味確率計算部によって計算された各意味コードに対する用語意味確率、及び前記文脈意味確率計算部によって計算された各意味コードに対する文脈意味確率に基づいて、前記用語の意味コードを判定するステップと、
を含む用語意味コード判定方法。
【請求項８】
用語特徴ベクトル生成部、用語意味確率モデル生成部、文脈特徴ベクトル生成部、及び文脈意味確率モデル生成部を含む用語意味コード判定モデル学習装置における用語意味コード判定モデル学習方法であって、
前記用語特徴ベクトル生成部が、意味コードと、意味コードが予め付与された用語の文字列との複数組からなる第１の訓練データの各々から、用語特徴ベクトルを生成するステップと、
前記用語意味確率モデル生成部が、前記用語特徴ベクトル生成部によって生成された、前記用語の前記用語特徴ベクトルと、該用語の文字列に付与された意味コードとに基づいて、前記用語特徴ベクトルから各意味コードに対する用語意味確率を計算するための用語意味確率モデルを学習するステップと、
前記文脈特徴ベクトル生成部が、意味コードと、意味コードが予め付与された用語の文脈を表す文字列との複数組からなる第２の訓練データの各々から、文脈特徴ベクトルを生成するステップと、
前記文脈意味確率モデル生成部が、前記文脈特徴ベクトル生成部によって生成された、前記用語の前記文脈特徴ベクトルと、該用語の文脈を表す文字列に付与された意味コードとに基づいて、前記文脈特徴ベクトルから各意味コードに対する文脈意味確率を計算するための文脈意味確率モデルを学習するステップと、を含む、
用語意味コード判定モデル学習方法。
【請求項９】
コンピュータを、請求項１、請求項２、請求項４、及び請求項６の何れか１項に記載の用語意味コード判定装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、用語意味コード判定装置、方法、及びプログラムに係り、特に、用語に対する意味コードを判定するための用語意味コード判定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
用語には、ひらがな、カタカナ、漢字などの異なる文字を用いた表記や、略語や省略などのような表記揺れがある。また、同義語、類義語などのように同じ意味を表すが異なる表現の用語がある。このような異なる表記、表現の用語に同じ意味であることを表す意味コードを付与する問題に対して、非特許文献１に記載されている、用語の文字列に含まれる部分文字列から、各部分文字列の有無または個数を表す特徴ベクトルを生成し、教師あり学習技術を用いて生成した判定ルールをもとに用語の意味コードを推定する技術を利用できる。また、非特許文献２に記載されている、用語のペアが同義語であるかどうかを文脈類似度と表記類似度を用いて推定する技術を利用することができる。あるいは、非特許文献３に記載されている、実際の文書で一緒に用いられる単語の情報をもとに用語を分類する技術を利用することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Akinori Fujino, Jun Suzuki, Tsutomu Hirao，Hisashi Kurasawa，Katsuyoshi Hayashi，“SCT-D3 at the NTCIR-11 MedNLP-2 Task”，Proceedings of the 11th NTCIR Conference, December 9-12, 2014, Tokyo, Japan
【非特許文献２】森本康嗣, 柳井孝介, 岩山真，「文脈類似度と表記類似度を用いた教師あり同義語抽出.」，言語処理学会第16 回年次大会発表論文集, p.974−977 (2010).
【非特許文献３】荒牧英治, 今井健, 梶野正幸, 美代賢吾, 大江和彦，「医学辞書を用いた用語間関係の自動抽出手法と用語の自動分類手法に関する研究」, 医療情報学, Vol.25, No.6,p.463-474, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、事前に人手で定義されている意味コードを専門用語に付与する問題において、非常に多数の意味コードの候補の中から、各用語に最も適した意味コードを１つ選択することである。
【０００５】
一般の単語と異なり、正確に内容を伝達するために、大部分の専門用語には専門分野ごとにそれぞれ唯一の意味が定義されている、と考えられる。その一方で、実際の文書では、文脈から明らかに判断できる場合、専門用語を省略して記載することも多い。
【０００６】
例えば、「胃の上部に癌がみられる」という場合、「胃癌」ではなく「癌」と省略して記載しても人間は正確に文意を理解できる。しかし、コンピュータが「癌」の用語に意味コードを付与する場合、「癌」には部位に応じて異なる意味コードが定義されているため、該当する意味コードの中から最適な候補を選択する必要が生じる。
【０００７】
したがって、文書に含まれる専門用語に意味コードを付与する問題は、専門用語に唯一の意味が定義されているという仮定のもとで、同じ意味をもつが異なる表記、表現で書かれた用語に同じ意味コードを付与すること、および、専門用語が省略して記載されることで生じる複数の意味コードの候補の中から最適な意味コードを選択して付与することに相当する。
【０００８】
従来の技術では、上記非特許文献２のように、２つの用語が同じ意味をもつかどうかを推定するか、上記非特許文献３のように、クラスタリング技術を利用して用語の集合を類似の意味をもつ用語に分けることが行われている。
【０００９】
本発明が解決しようとする課題に上記非特許文献２の技術を適用する場合、例えば、意味コードごとに用語例を１つ選択し、意味コードを付与したい用語がどの用語例に近いかを該当技術で調べることで意味コードを推定することができる。
しかし、この方法では、用語例の選択の仕方に意味コードの推定精度が大きく影響される可能性がある。
【００１０】
一方、本発明が解決しようとする課題に上記非特許文献３の技術を用いる場合、クラスタリング技術で機械的に分類された用語の集合と、人手で定義された意味コードとを一対一に対応付けることは容易ではない。
【００１１】
上記非特許文献１の技術を用いる場合、あらかじめ教師あり学習を用いて生成した判定ルールを用いて、非常に多数の意味コードの候補の中から各用語に最も適した意味コードを１つ選択することができる。
【００１２】
しかし、この技術では、文字列が同一の用語に対して、用語が含まれる文書の内容や文脈によらずにすべて同一の意味コードを付与する。例えば「癌」の用語にはある特定の意味コードを必ず選択し、文脈に応じて異なる意味コードを付与することができない。実際の文書に記述された専門用語に対して付与すべき意味コードを推定する問題に対して、高い推定精度を達成する手法を開発することが課題である。
【００１３】
本発明は、上記問題点を解決するために成されたものであり、用語の意味コードを精度よく判定するための用語意味コード判定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、第１の発明に係る用語意味コード判定装置は、入力されたテキスト中における用語に対して、意味コードを判定する用語意味コード判定装置であって、前記用語の文字列から、用語特徴ベクトルを生成する用語特徴ベクトル生成部と、前記用語特徴ベクトル生成部によって生成された前記用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算する用語意味確率計算部と、前記用語の前後に記述されている文字列から、文脈特徴ベクトルを生成する文脈特徴ベクトル生成部と、前記文脈特徴ベクトル生成部によって生成された前記文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す文脈意味確率を計算する文脈意味確率計算部と、前記用語意味確率計算部によって計算された各意味コードに対する用語意味確率、及び前記文脈意味確率計算部によって計算された各意味コードに対する文脈意味確率に基づいて、前記用語の意味コードを判定する意味コード判定部と、を含んで構成されている。
【００１５】
また、第１の発明に係る用語意味コード判定装置において、前記用語意味確率計算部は、前記用語特徴ベクトル生成部によって生成された前記用語特徴ベクトルと、前記用語特徴ベクトルから各意味コードに対する用語意味確率を計算するための予め学習された用語意味確率モデルとに基づいて、各意味コードに対する用語意味確率を計算し、前記文脈意味確率計算部は、前記文脈特徴ベクトル生成部によって生成された前記文脈特徴ベクトルと、前記文脈特徴ベクトルから各意味コードに対する文脈意味確率を計算するための予め学習された文脈意味確率モデルとに基づいて、各意味コードに対する文脈意味確率を計算するようにしてもよい。
【００１６】
また、第１の発明に係る用語意味コード判定装置において、意味コードが予め付与された複数の用語の文字列の各々について生成された前記用語特徴ベクトルと、前記複数の用語の文字列の各々に付与された意味コードとに基づいて、前記用語意味確率モデルを学習する用語意味確率モデル生成部と、意味コードが予め付与された、用語の前後に記述される文字列の各々について、前記用語の前後に記述される文字列から生成された前記文脈特徴ベクトルと、前記用語の前後に記述される文字列の各々に付与された意味コードとに基づいて、前記文脈意味確率モデルを学習する文脈意味確率モデル生成部とを更に含むようにしてもよい。
【００１７】
また、第１の発明に係る用語意味コード判定装置において、前記用語特徴ベクトル生成部は、前記用語について、前記用語に含まれる文字、及び前記用語の文字列に含まれる部分文字列から、各部分文字列の有無又は個数と、文字の種類及び該文字の前又は後の文字との各組み合わせの有無又は個数と、を表す前記用語特徴ベクトルを生成するようにしてもよい。
【００１８】
第２の発明に係る用語意味コード判定方法は、用語特徴ベクトル生成部、用語意味確率計算部、文脈特徴ベクトル生成部、文脈意味確率計算部、及び意味コード判定部を含み、入力されたテキスト中における用語に対して、意味コードを判定する用語意味コード判定装置における用語意味コード判定方法であって、前記用語特徴ベクトル生成部が、前記用語の文字列から、用語特徴ベクトルを生成するステップと、前記用語意味確率計算部が、前記用語特徴ベクトル生成部によって生成された前記用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算するステップと、前記文脈特徴ベクトル生成部が、前記用語の前後に記述されている文字列から、文脈特徴ベクトルを生成するステップと、前記文脈意味確率計算部が、前記文脈特徴ベクトル生成部によって生成された前記文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す文脈意味確率を計算するステップと、前記意味コード判定部が、前記用語意味確率計算部によって計算された各意味コードに対する用語意味確率、及び前記文脈意味確率計算部によって計算された各意味コードに対する文脈意味確率に基づいて、前記用語の意味コードを判定するステップと、を含む。
【００１９】
また、第２の発明に係る用語意味コード判定方法において、前記用語特徴ベクトル生成部が用語特徴ベクトルを生成するステップは、前記用語について、前記用語に含まれる文字、及び前記用語の文字列に含まれる部分文字列から、各部分文字列の有無又は個数と、文字の種類及び該文字の前又は後の文字との各組み合わせの有無又は個数と、を表す前記用語特徴ベクトルを生成するようにしてもよい。
【００２０】
第３の発明に係るプログラムは、コンピュータを、上記第１の発明に係る用語意味コード判定装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明の用語意味コード判定装置、方法、及びプログラムによれば、用語の文字列から生成された用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算し、用語の前後に記述されている文字列から生成された文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す文脈意味確率を計算し、各意味コードに対する用語意味確率、及び各意味コードに対する文脈意味確率に基づいて、用語の意味コードを判定することにより、用語の意味コードを精度よく判定するができる、という効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態に係る用語意味コード判定装置の機能的構成を示すブロック図である。
【図２】特徴量のインデックスを示す概念図である。
【図３】特徴量のインデックスを示す概念図である。
【図４】本発明の実施の形態に係る用語意味コード判定装置の確率モデル生成部３２の詳細な構成例を示すブロック図である。
【図５】本発明の実施の形態に係る用語意味コード判定装置における用語意味確率モデル生成処理ルーチンのフローチャート図である。
【図６】本発明の実施の形態に係る用語意味コード判定装置における文脈意味確率モデル生成処理ルーチンのフローチャート図である。
【図７】本発明の実施の形態に係る用語意味コード判定装置における意味コード判定処理ルーチンのフローチャート図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２４】
＜本発明の実施の形態に係る用語意味コード判定装置の構成＞
【００２５】
まず、本発明の実施の形態に係る用語意味コード判定装置の構成について説明する。
【００２６】
図１に示すように、本発明の実施の形態に係る用語意味コード判定装置１００は、ＣＰＵと、ＲＡＭと、後述する各処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この用語意味コード判定装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部４０を備えている。本発明の実施の形態に係る用語意味コード判定装置１００は、入力されたテキスト中における用語に対して、意味コードを判定する。
【００２７】
また、本発明の実施の形態は、電子カルテ文書、医療文書、技術文書などの専門文書の内容を機械的に解析したり、特定の内容を含む専門文書を検索することを可能にするために、文書に出現する医療用語、技術用語などの専門用語に対して、意味やカテゴリを表すコードを機械的に付与する技術に関する。
【００２８】
入力部１０は、テキスト入力部１１と、用語入力部１２と、文脈入力部１４と、訓練データ入力部１６とを備えている。
【００２９】
テキスト入力部１１は、意味コードを推定する対象である用語を含むテキストを受け付ける。そして、テキスト入力部１１は、受け付けたテキスト中における、意味コード推定対象の用語と、当該用語の前後に記述されている文字列とを出力する。
【００３０】
用語入力部１２は、テキスト入力部１１によって出力された、意味コード推定対象の用語の文字列を受け付ける。用語入力部１２は、意味コードを推定する対象である用語を入力する際のインターフェースとなる。
【００３１】
文脈入力部１４は、テキスト入力部１１によって出力された、意味コード推定対象の用語の前後に記述されている文字列を受け付ける。文脈入力部１４は、用語の前後に記述されている文字列を入力する際のインターフェースとなる。
【００３２】
訓練データ入力部１６は、意味コードが予め付与された用語の文字列と、意味コードが予め付与された、用語の前後に記述される文字列とを、訓練データとして受け付ける。意味コードが予め付与された用語の文字列は、用語の文字列と意味コードとの組を表す訓練データである。また、意味コードが予め付与された、用語の前後に記述される文字列は、文脈を表す文字列と意味コードとの組を表す訓練データである。訓練データは、後述する確率モデル生成部３２によって用いられる。
【００３３】
演算部２０は、用語特徴ベクトル生成部２２と、用語意味確率計算部２４と、文脈特徴ベクトル生成部２６と、文脈意味確率計算部２８と、意味コード判定部３０と、確率モデル生成部３２とを備えている。
【００３４】
用語特徴ベクトル生成部２２は、用語入力部１２によって受け付けられた用語の文字列から、用語特徴ベクトルを生成する。
【００３５】
例えば、用語特徴ベクトル生成部２２は、用語入力部１２によって受け付けられた用語について、当該用語に含まれる文字、及び当該用語の文字列に含まれる部分文字列から、各部分文字列の個数を表す用語特徴ベクトルを生成する。なお、各部分文字列の有無を表す特徴ベクトルを生成してもよい。
【００３６】
例えば、用語特徴ベクトル生成部２２は、各部分文字列の個数を表す用語特徴ベクトルとして、文字ベースのｕｎｉ‐ｇｒａｍ，ｂｉ‐ｇｒａｍ，ｔｒｉ‐ｇｒａｍなど、用語を構成する文字列を特徴量とし、用語に含まれる各特徴量の個数を表す用語特徴ベクトルを生成する。
【００３７】
また、用語特徴ベクトル生成部２２は、文字の種類及び該文字の前又は後の文字との各組み合わせの個数を追加で用いて用語特徴ベクトルを生成してもよい。なお、文字の種類及び該文字の前又は後の文字との各組み合わせの有無を表す特徴ベクトルを生成してもよい。
【００３８】
例えば、用語特徴ベクトル生成部２２は、文字の種類及び該文字の前又は後の文字との各組み合わせとして、ひらがな、カタカナ、アルファベットなど、用語に含まれる文字の種類とその前後の文字の組み合わせで定義される特徴量を追加で用いてもよい。
【００３９】
図２及び図３に、用語から生成される用語特徴ベクトルを説明するための図を示す。
【００４０】
例えば、「ピロリ菌」という用語に含まれる文字列の特徴量のインデックスが、図２に示すようなものであるとする。「_」が先頭に付いているものは用語を構成する部分文字列の先端を表し、末尾に付いているものは用語を構成する部分文字列の終端を表す。
【００４１】
また、カタカナをＴｋ、漢字をＴｃで表し、「ピロリ菌」という用語に含まれる文字の種類と前後の文字の組合せのインデックスが、図３に示すようなものであるとする。
【００４２】
このとき、用語「ピロリ菌」は、ｉ∈｛ｕ１，ｕ２，ｕ３，ｕ４，ｂ１，ｂ２，ｂ３，ｂ４，ｂ５，ｔ１，ｔ２，ｔ３，ｔ４，ｃ１，ｃ２，ｃ３，ｃ４，ｃ５，ｃ６，ｃ７，ｃ８｝のときにｘｉ＝１、ｉがそれ以外の文字列の特徴量のときにｘｉ＝０の要素からなる用語特徴ベクトルｘｓ＝（ｘ１，．．．，ｘｉ，．．．，ｘＩ）で表すことができる。
【００４３】
用語意味確率計算部２４は、用語特徴ベクトル生成部２２によって生成された用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算する。
【００４４】
具体的には、用語意味確率計算部２４は、用語特徴ベクトル生成部２２によって生成された用語特徴ベクトルと、当該用語特徴ベクトルから各意味コードに対する用語意味確率を計算するための予め学習された用語意味確率モデルとに基づいて、各意味コードに対する用語意味確率を計算する。用語意味確率モデルは、後述する確率モデル生成部３２によって予め生成される。
【００４５】
用語意味確率の計算には、例えば、統計的機械学習技術の一種であるサポートベクトルマシン（ＳＶＭ）、あるいはロジスティック回帰モデルのような２値分類器に基づいて生成される用語意味確率モデルを用いることで実現できる。これらの技術では、用語特徴ベクトルｘｓで表される用語が意味コードｋに関連する度合を表すスコア関数ｆｋｓ（ｘｓ；ｗｋｓ）を定義し、スコア関数のモデルパラメータｗｋｓの値を事前に機械的に学習しておく。用語意味確率モデルのモデルパラメータｗｋｓの値は、後述する確率モデル生成部３２によって予め学習される。
【００４６】
そして、意味コードを判定したい用語の用語特徴ベクトルｘ（ｍ）ｓに対して、意味コードｋごとに用語意味確率を
【００４７】
【数１】
0006495124.tif 000002
【００４８】
のように算出する。ここで、ｒｋは、ｒｋ＝＋１の場合に意味コードｋに関連することを表し、ｒｋ＝−１の場合に意味コードｋに関連しないことを表す２値変数である。
【００４９】
文脈特徴ベクトル生成部２６は、文脈入力部１４によって受け付けられた、用語の前後に記述されている文字列から、文脈特徴ベクトルを生成する。
【００５０】
例えば、文脈特徴ベクトル生成部２６は、用語特徴ベクトル生成部２２と同様に、用語の前後に記述されている文字列の各部分文字列の個数を表す特徴ベクトルとして、ｕｎｉ‐ｇｒａｍ，ｂｉ‐ｇｒａｍ，ｔｒｉ‐ｇｒａｍなど、当該文字列を構成する部分文字列を特徴量とし、当該文字列に含まれる各特徴量の個数を表す文脈特徴ベクトルを生成する。
【００５１】
文脈意味確率計算部２８は、文脈特徴ベクトル生成部２６によって生成された文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算する。
具体的には、文脈意味確率計算部２８は、文脈特徴ベクトル生成部２６によって生成された文脈特徴ベクトルと、文脈特徴ベクトルから各意味コードに対する文脈意味確率を計算するための予め学習された文脈意味確率モデルとに基づいて、各意味コードに対する文脈意味確率を計算する。文脈意味確率モデルは、後述する確率モデル生成部３２によって予め生成される。
【００５２】
文脈意味確率の計算においても、用語意味確率と同様に、例えば、サポートベクトルマシン（ＳＶＭ）、あるいはロジスティック回帰モデルのような２値分類器を用いて、前後の文字列が文脈特徴ベクトルｘｃで表される用語が意味コードｋに関連する度合を表すスコア関数ｆｋｃ（ｘｃ；ｗｋｃ）を定義し、スコア関数のモデルパラメータｗｋｃの値を事前に機械的に学習しておく。文脈意味確率モデルのモデルパラメータｗｋｃの値は、後述する確率モデル生成部３２によって予め学習される。
【００５３】
そして、意味コードを判定したい用語の文脈特徴ベクトルｘ（ｍ）ｃに対して、意味コードｋごとに文脈意味確率を
【００５４】
【数２】
0006495124.tif 000003
【００５５】
のように算出する。
【００５６】
意味コード判定部３０は、用語意味確率計算部２４によって計算された各意味コードに対する用語意味確率、及び文脈意味確率計算部２８によって計算された各意味コードに対する文脈意味確率に基づいて、当該用語の意味コードを判定する。
【００５７】
具体的には、意味コード判定部３０では、用語意味確率計算部２４で算出した用語意味確率と、文脈意味確率計算部２８で算出した文脈意味確率とを用いて、用語特徴ベクトルがｘ（ｍ）ｓであり、文脈特徴ベクトルがｘ（ｍ）ｃである用語ｘ（ｍ）＝（ｘ（ｍ）ｓ，ｘ（ｍ）ｃ）に対して最も適した意味コードを１つ選択する。
【００５８】
例えば、以下の式（１）で表されるスコア関数Ｓｃｏｒｅ（ｋ，ｘ（ｍ））の値が最大になるｋを、当該用語に適した意味コードとして選択する。
【００５９】
【数３】
0006495124.tif 000004
【００６０】
なお、上記式（１）中のβは、用語意味確率と文脈意味確率との間に重みを与えるパラメータであり、装置の設計者が事前にβの値を調整する。
【００６１】
確率モデル生成部３２は、訓練データ入力部１６によって受け付けた訓練データの集合に基づいて、用語意味確率モデルと文脈意味確率モデルとを学習する。
【００６２】
確率モデル生成部３２は、図４に示すように、訓練データ集合データベース３２０と、用語特徴ベクトル生成部３２２と、用語意味確率モデル生成部３２４と、用語意味確率モデル記憶部３２６と、文脈特徴ベクトル生成部３２８と、文脈意味確率モデル生成部３３０と、文脈意味確率モデル記憶部３３２とを備えている。
【００６３】
訓練データ集合データベース３２０には、訓練データ入力部１６によって受け付けられた訓練データの集合が格納される。訓練データは、人手で意味コードを付与した実際の文書から抽出した用語の他に、意味コードを定義する辞書に記載されている用語や、同義語・類義語の関係が記載されている任意の辞書から抽出した用語を加えてもよい。
【００６４】
なお、辞書から抽出した用語を用いる場合、用語の文字列と意味コードの組が訓練データ集合データベース３２０に格納される。任意の辞書に含まれている用語には、通常、意味コードが付与されていないため、意味コードを定義するのに用いられている用語と、辞書に記載の同義語・類義語の関係とを利用して意味コードを付与する。
【００６５】
例えば、意味コードを定義するのに用いられている用語と同義語・類義語の関係にある用語に対して同一の意味コードを付与する。また、意味コードの定義を説明している定義文を、文脈を表す文字列と意味コードとの組として、訓練データ集合データベース３２０に加えてもよい。
【００６６】
用語特徴ベクトル生成部３２２は、訓練データ集合データベース３２０に格納された複数の訓練データの各々について、用語特徴ベクトル生成部２２と同様に、当該訓練データに含まれる用語の文字列について用語特徴ベクトルを生成する。
【００６７】
用語意味確率モデル生成部３２４は、訓練データ集合データベース３２０に格納された複数の訓練データの各々に対する、用語特徴ベクトル生成部３２２によって生成された用語特徴ベクトルと、当該訓練データに含まれる意味コードとに基づいて、用語意味確率モデルを学習する。
【００６８】
具体的には、用語意味確率モデル生成部３２４は、用語特徴ベクトルと意味コードとの組から構成されるデータ集合を用いて、任意の用語特徴ベクトルｘ（ｍ）ｓの用語意味確率
【００６９】
【数４】
0006495124.tif 000005
【００７０】
を算出するためのモデルパラメータｗｋｓの値を計算することで用語意味確率モデルを生成し、用語意味確率モデル記憶部３２６に格納する。
【００７１】
用語意味確率モデル記憶部３２６には、用語意味確率モデル生成部３２４によって生成された用語意味確率モデルが格納される。
【００７２】
文脈特徴ベクトル生成部３２８は、訓練データ集合データベース３２０に格納された複数の訓練データの各々について、文脈特徴ベクトル生成部２６と同様に、当該訓練データに含まれる、用語の前後に記述される文字列について文脈特徴ベクトルを生成する。
【００７３】
文脈意味確率モデル生成部３３０は、訓練データ集合データベース３２０に格納された複数の訓練データの各々に対する、文脈特徴ベクトル生成部３２８によって生成された文脈特徴ベクトルと、当該訓練データに含まれる意味コードとに基づいて、文脈意味確率モデルを学習する。
【００７４】
具体的には、文脈意味確率モデル生成部３３０は、文脈特徴ベクトルと意味コードとの組から構成されるデータ集合を用いて、任意の文脈特徴ベクトルｘ（ｍ）ｃの文脈意味確率
【００７５】
【数５】
0006495124.tif 000006
【００７６】
を算出するためのモデルパラメータｗｋｃの値を計算することで文脈意味確率モデルを生成し、文脈意味確率モデル記憶部３３２に格納する。
【００７７】
文脈意味確率モデル記憶部３３２には、文脈意味確率モデル生成部３３０によって生成された文脈意味確率モデルが格納される。
【００７８】
出力部４０は、意味コード判定部３０によって判定された、当該用語の意味コードを結果として出力する。出力部４０は、意味コードの判定結果を表示、保存する際のインターフェースとなる。
【００７９】
＜本発明の実施の形態に係る用語意味コード判定装置の作用＞
【００８０】
次に、本発明の実施の形態に係る用語意味コード判定装置１００の作用について説明する。訓練データの集合が用語意味コード判定装置１００に入力されると、訓練データ入力部１６によって訓練データの集合を受け付け、訓練データ集合データベース３２０に格納される。そして、用語意味コード判定装置１００は、図５に示す用語意味確率モデル生成処理ルーチンと、図６に示す文脈意味確率モデル生成処理ルーチンとを実行する。
【００８１】
＜用語意味確率モデル生成処理ルーチン＞
ステップＳ１００において、用語特徴ベクトル生成部３２２は、訓練データ集合データベース３２０に格納されている訓練データの集合のうち、意味コードと用語の文字列との組である訓練データの各々を取得する。
【００８２】
次に、ステップＳ１０２において、用語特徴ベクトル生成部３２２は、上記ステップＳ１００で取得した複数の訓練データの各々について、当該訓練データに含まれる用語の文字列について用語特徴ベクトルを生成する。
【００８３】
ステップＳ１０４において、用語意味確率モデル生成部３２４は、上記ステップＳ１０２で生成された用語特徴ベクトルの各々と、訓練データに含まれる意味コードの各々とに基づいて、用語意味確率モデルを生成し、用語意味確率モデル記憶部３２６に記憶して、用語意味確率モデル生成処理ルーチンを終了する。
【００８４】
＜文脈意味確率モデル生成処理ルーチン＞
ステップＳ２００において、文脈特徴ベクトル生成部３２８は、訓練データ集合データベース３２０に格納されている訓練データの集合のうち、意味コードと、用語の前後に記述される文字列との組である訓練データの各々を取得する。
【００８５】
ステップＳ２０２において、文脈特徴ベクトル生成部３２８は、上記ステップＳ２００で取得した複数の訓練データの各々について、当該訓練データに含まれる、用語の前後に記述される文字列について文脈特徴ベクトルを生成する。
【００８６】
ステップＳ２０４において、文脈意味確率モデル生成部３３０は、上記ステップＳ２０２で生成された文脈特徴ベクトルの各々と、訓練データに含まれる意味コードの各々とに基づいて、文脈意味確率モデルを生成し、文脈意味確率モデル記憶部３３２に記憶して、文脈意味確率モデル生成処理ルーチンを終了する。
【００８７】
用語意味確率モデルが用語意味確率モデル記憶部３２６に格納され、文脈意味確率モデルが文脈意味確率モデル記憶部３３２に格納され、意味コードを推定する対象である用語を含むテキストが用語意味コード判定装置１００に入力されると、用語意味コード判定装置１００は、図７に示す意味コード判定処理ルーチンを実行する。
【００８８】
まず、テキスト入力部１１が、意味コードを推定する対象である用語を含むテキストを受け付ける。そして、受け付けたテキスト中における、意味コード推定対象の用語と、当該用語の前後に記述されている文字列とがテキスト入力部１１によって出力されると、用語意味コード判定装置１００は、図７に示す意味コード判定処理ルーチンを実行する。
【００８９】
ステップＳ３００において、用語入力部１２は、テキスト入力部１１によって出力された、意味コード推定対象の用語の文字列を受け付ける。また、文脈入力部１４は、テキスト入力部１１によって出力された、意味コード推定対象の用語の前後に記述されている文字列を受け付ける。
【００９０】
ステップＳ３０２において、用語特徴ベクトル生成部２２は、上記ステップＳ３００で受け付けられた用語の文字列から、用語特徴ベクトルを生成する。
【００９１】
ステップＳ３０４において、用語意味確率計算部２４は、上記ステップＳ３０２で生成された用語特徴ベクトルと、用語意味確率モデル記憶部３２６に格納された用語意味確率モデルとに基づいて、各意味コードに対する適合度を表す用語意味確率を計算する。
【００９２】
ステップＳ３０６において、文脈特徴ベクトル生成部２６は、上記ステップＳ３００で受け付けられた、用語の前後に記述されている文字列から、文脈特徴ベクトルを生成する。
【００９３】
ステップＳ３０８において、文脈意味確率計算部２８は、上記ステップＳ３０６で生成された文脈特徴ベクトルと、文脈意味確率モデル記憶部３３２に格納された文脈意味確率モデルとに基づいて、各意味コードに対する文脈意味確率を計算する。
【００９４】
ステップＳ３１０において、意味コード判定部３０は、上記ステップＳ３０４で計算された各意味コードに対する用語意味確率、及び上記ステップＳ３０８で計算された各意味コードに対する文脈意味確率に基づいて、当該用語の意味コードを判定する。
【００９５】
ステップＳ３１２において、意味コード判定部３０によって判定された、当該用語の意味コードを結果として出力して、意味コード判定処理ルーチンを終了する。
【００９６】
以上説明したように、本発明の実施の形態に係る用語意味コード判定装置によれば、用語の文字列から生成された用語特徴ベクトルに基づいて、各意味コードに対する適合度を表す用語意味確率を計算し、用語の前後に記述されている文字列から生成された文脈特徴ベクトルに基づいて、各意味コードに対する適合度を表す文脈意味確率を計算し、各意味コードに対する用語意味確率、及び各意味コードに対する文脈意味確率に基づいて、用語の意味コードを判定することにより、用語の意味コードを精度よく判定するができる。
【００９７】
また、本発明の実施の形態に係る用語意味コード判定装置によれば、意味コードが予め付与された複数の用語の文字列の各々について生成された用語特徴ベクトルと、複数の用語の文字列の各々に付与された意味コードとに基づいて、用語意味確率モデルを学習し、意味コードが予め付与された、用語の前後に記述される文字列の各々について、用語の前後に記述される文字列から生成された文脈特徴ベクトルと、用語の前後に記述される文字列の各々に付与された意味コードとに基づいて、文脈意味確率モデルを学習することにより、用語の意味コードを精度よく判定するための確率モデルを得ることができる。
【００９８】
また、本実施の形態では、用語を表す用語特徴ベクトルと、用語が含まれる文書の文脈を表す文脈特徴ベクトルとから意味コードを推定するための判別ルールを統計的機械学習技術で獲得し、特徴ベクトルと意味コードの対応関係を明示的に与える。この対応関係を用いることで、学習に用いるデータに同一の用語が含まれない場合でも用語の意味コードを推定するとともに、同一の文字列で表現される用語に対して文脈に応じて異なる意味コードを付与することを可能にする。
【００９９】
また、人手で意味コードを付与した実際の文書から抽出した用語を学習に用いることで、実際によく行われる方法で省略された用語や、意味コードの定義に用いられた用語例と大きく異なる用語に対して意味コードの推定精度を高めるとともに、用語の前後に出現する文字列を学習することで異なる文脈で用いられる用語の省略形に対する意味コードの推定精度を高めることが期待できる。
【０１００】
また、同義語・類義語の関係が記載されている辞書から抽出した用語を学習に利用することで、異なる言語やアルファベットによる略記などを含む異表記で書かれた用語に対して意味コードの推定精度を高めることが期待できる。
【０１０１】
さらに、意味コードの定義文を文脈の学習に利用することで、意味コードを説明するのに用いられる関連語が実際の文書で該当の用語の前後で用いられている場合に意味コードの推定精度を高めることが期待できる。
【０１０２】
＜実験例＞
【０１０３】
次に、国立情報学研究所（ＮＩＩ）主催の評価型ワークショップＮＴＣＩＲ−１１のＭｅｄＮＬＰ２タスク(http://mednlp.jp/ntcir11/)で配布された疑似医療文書のベンチマークセットに、本発明の実施の形態に係る用語意味コード判定装置を適用した場合の結果を示す。
【０１０４】
疑似医療文書のベンチマークセットには、訓練データとテストデータが含まれており、それぞれのデータには、病名・症状を表す用語にＩＣＤコードが付与された疑似医療文書が含まれている。ＩＣＤコードは、病態管理および情報共有のためのコードであり、医療用語の標準化のために開発されたコードである。ＩＣＤコードを利用することで、様々な省略形や漢字かな表記の違いなど、同一の意味をもつ異表現の用語を把握、管理することができる。ＩＣＤ１０対応標準病名マスター(http://www2.medis.or.jp/stdcd/byomei/)には5000種類以上のＩＣＤコードが定義されている。
【０１０５】
性能評価では、ＩＣＤコードを意味コードとし、疑似医療文書に含まれる病名・症状を表す用語にＩＣＤコードを付与する問題に適用した場合に得られる精度を調べた。上記実施の形態の用語意味確率計算部２４で確率値を算出するための用語意味確率モデルを、ロジスティック回帰モデルを用いて設計し、ベンチマークセットの訓練データに含まれる用語とＩＣＤ１０対応標準病名マスターに含まれる病名基本テーブルに含まれる用語を訓練データ集合データベース３２０に格納した。また、ＩＣＤ１０対応標準病名マスターの検索テーブルに含まれる用語も訓練データ集合データベース３２０に格納した。ＩＣＤ１０対応標準病名マスターの病名基本テーブルに含まれる用語と同義・類義の用語に該当ＩＣＤコードを付与した。さらに、ライフサイエンス辞書(LSD,http://lsd.pharm.kyoto-u.ac.jp/ja/index.html)、T辞書(http://www.tdic.co.jp/)、ＵＭＬＳメタシソーラス(http://www.nlm.nih.gov/research/umls/) から取り出した辞書ＭｅｄＤＲＡから、ＩＣＤ１０対応標準病名マスターに含まれる用語と同義・類義の用語を抽出し、該当ＩＣＤコードを付与して訓練データ集合データベース３２０に格納した。
【０１０６】
文脈意味確率計算部２８で確率値を算出するための文脈意味確率モデルもロジスティック回帰モデルを用いて設計し、ベンチマークセットの訓練データ中に出現する用語を含む行に記載されている文字列のすべてを、用語の前後に記述される文字列として訓練データ集合データベース３２０に格納した。また、ＩＣＤ１０国際疾病分類第１０版(http://www.dis.h.u-tokyo.ac.jp/byomei/icd10/)に記載されている各ＩＣＤコードの分類見出しを文脈意味確率モデルのモデルパラメータの値を推定するのに用いるため、分類見出しの文字列と対応するＩＣＤコードの組も訓練データ集合データベース３２０に格納した。
【０１０７】
表１は、上記の手法で判定ルールを生成して、ベンチマークセットのテストデータに含まれる２１３４個の病名・症状用語に適用した場合の意味コードの正解率と、正しく意味コードが推定された用語の個数（正解数）を表す。表には意味コード判定部による推定結果の正解率の他に、用語意味確率を最大にする意味コードを選択した場合の正解率を用語意味確率計算部の欄に、文脈意味確率を最大にする意味コードを選択した場合の正解率を文脈意味確率計算部の欄にあわせて記す。表より、用語の文字列に含まれる部分文字列から算出する用語意味確率と、用語の前後に記載されている文字列から算出する文脈意味確
率と、を組み合わせて用いることで意味コードの推定精度が向上することがわかる。
【０１０８】
【表１】
0006495124.tif 000007
【０１０９】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１１０】
例えば、本実施の形態では、用語の意味コードを判定する処理と、用語意味確率モデル及び文脈意味確率モデルを生成する処理とを、１つの装置で行う場合を例に説明したが、意味コードを判定する処理と、用語意味確率モデル及び文脈意味確率モデルを生成する処理とを、別々の装置で実行してもよい。その場合には、用語の意味コードを判定する用語意味コード判定装置は、用語特徴ベクトル生成部２２と、用語意味確率計算部２４と、文脈特徴ベクトル生成部２６と、文脈意味確率計算部２８と、意味コード判定部３０とを含んで構成され、用語意味確率モデル及び文脈意味確率モデルを生成する確率モデル生成装置は、確率モデル生成部３２を含んで構成される。
【０１１１】
また、本実施の形態では、意味コードが予め付与された用語の文字列と、意味コードが予め付与された、用語の前後に記述される文字列とを、訓練データとして用いる場合を例に説明したが、これに限定されるものではなく、用語の文字列と用語の前後に記述される文字列と意味コードとの組み合わせを表すデータを訓練データとして用いてもよい。
【０１１２】
また、上述の用語意味コード判定装置は、内部にコンピュータシステムを有しているが、コンピュータシステムは、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１１３】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１１４】
１０   入力部
１１   テキスト入力部
１２   用語入力部
１４   文脈入力部
１６   訓練データ入力部
２０   演算部
２２   用語特徴ベクトル生成部
２６   文脈特徴ベクトル生成部
２４   用語意味確率計算部
２８   文脈意味確率計算部
３２   確率モデル生成部
３０   意味コード判定部
４０   出力部
１００ 用語意味コード判定装置
３２０ 訓練データ集合データベース
３２２ 用語特徴ベクトル生成部
３２４ 用語意味確率モデル生成部
３２６ 用語意味確率モデル記憶部
３２８ 文脈特徴ベクトル生成部
３３０ 文脈意味確率モデル生成部
３３２ 文脈意味確率モデル記憶部
【図１】
0006495124.tif 000008
【図２】
0006495124.tif 000009
【図３】
0006495124.tif 000010
【図４】
0006495124.tif 000011
【図５】
0006495124.tif 000012
【図６】
0006495124.tif 000013
【図７】
0006495124.tif 000014