(57)【特許請求の範囲】
【請求項１】
データベースのテキスト文書集合から抽出した、２つのサブスタンス間の複数種類の二項関係とその出所情報を格納した二項関係データを保持し、検索手段を有するサーバが、
特定のサブスタンス名を受信するステップ、
表示する二項関係の種類を受信するステップ、
前記検索手段によって、前記二項関係データから、前記受信したサブスタンス名のサブスタンスを起点として前記受信した二項関係を有するサブスタンスを再帰的に検索し、サブスタンスをノードとしサブスタンス間の二項関係を前記ノード間を結ぶエッジとして表示するための情報を表示装置に出力するステップ、
前記表示装置に表示されているエッジの一つが選択されたことを示す情報を受信するステップ、
前記選択されたエッジのエッジ情報をオンラインでテキスト検索するステップ、
検索結果として得られた、前記選択されたエッジが結ぶ２つのサブスタンス間の二項関係を示す文書の一覧を前記表示装置に出力するステップ、
を実行することを特徴とするサブスタンス間の二項関係表示方法。
【請求項２】
データベースのテキスト文書集合から抽出した、２つのサブスタンス間の複数種類の二項関係とその出所情報を格納した二項関係データを保持し、検索手段を有するサーバが、
特定のサブスタンス名を受信するステップ、
表示する二項関係の種類を受信するステップ、
前記検索手段によって、前記二項関係データから、前記受信したサブスタンス名のサブスタンスを起点として前記受信した二項関係を有するサブスタンスを再帰的に検索し、サブスタンスをノードとしサブスタンス間の二項関係を前記ノード間を結ぶエッジとして表示するための情報を表示装置に出力するステップ、
前記表示装置に表示されているエッジの一つが選択されたことを示す情報を受信するステップ、
前記選択されたエッジのエッジ情報をオンラインでセンテンス検索するステップ、
検索結果として得られた、前記選択されたエッジが結ぶ２つのサブスタンス間の二項関係を示す文書中の文章の一覧を前記表示装置に出力するステップ、
を実行することを特徴とするサブスタンス間の二項関係表示方法。
【請求項３】
請求項１又は２記載のサブスタンス間の二項関係表示方法において、サブスタンスの種類に応じて前記ノードの表示を異ならせ、及び／又は二項関係の種類に応じて前記エッジの表示を異ならせることを特徴とするサブスタンス間の二項関係表示方法。
【請求項４】
請求項１又は２記載のサブスタンス間の二項関係表示方法において、前記サブスタンスはタンパク質であることを特徴とするサブスタンス間の二項関係表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、既存のデータベースに蓄えられている任意の種類のサブスタンス（遺伝子やタンパク質や低分子等）に関する論文から、相互関係を有するサブスタンス名を抽出して、サブスタンス間の新たな相互関係を導出し、それを可視化する方法に関する。
【０００２】
【従来の技術】
遺伝子、タンパク質、低分子等のサブスタンスの働きについては、既に多くの研究がなされていて、その論文はデータベースに蓄えられている。遺伝子、タンパク質、低分子については、それらの間の相互作用に関する情報が重要であるが、データベースに蓄えられている論文は膨大な数にのぼり、ユーザーが個々の論文を調査して相互関係を見つけるのは困難である。そこで、データベースに蓄積された論文を自動的に検索して論文に記述されているサブスタンス名を抽出し、更に２つのサブスタンス間の関係すなわち二項関係（binary relation）を自動的に抽出しようという試みがなされている。
【０００３】
文書からサブスタンス名を抽出する例として、タンパク質名の抽出に関して述べると、従来は、分かっているタンパク質名を網羅的に登録してタンパク質名の辞書を作成し、自然言語処理（Natural  Language  Processing：NLP）によって単純にその辞書と文献を照らし合わせることで行っていた。
【０００４】
また、文献データベースから何らかの情報を抽出しようという試みは、最近多くなされている。それらの手法の多くは自然言語処理を用いるアプローチをとるものと、キーワードと表層的な規則を利用したアプローチをとるものとに分かれる。NLPを用いた手法としては、MEDLINEなどの公共データベースから得られたテキストを、NLPの手法を用いて構文解析し、文書中の各語に文法的なタグ付けを行ってから、二項関係を表す動詞の主語と目的語を探索することにより、二項関係を抽出する方法などがある。キーワードを利用する手法としては、まずサブスタンス間の相互作用を表し、頻繁に用いられるキーワードを見つけ、次にキーワード、サブスタンス名、前置詞などの文章中における並び方のパターンを解析する、そして最後にサブスタンス名の辞書とそのパターンを用いて、それらが現れる文を探す、といったことが試みられている。
【０００５】
【発明が解決しようとする課題】
分かっているサブスタンス名を登録した辞書を用いる従来のサブスタンス名抽出方法にはいくつかの問題があった。例えば、医学や生物学の分野では、新たに発見されたサブスタンスや同じ意味を表すシノニムが多く、その都度新たなタンパク質名を辞書に登録しなければならなかった。そのため、辞書の作成に非常に多くの時間がかかり、登録の間違いも少なくはなかった。また、抽出を辞書だけに頼ると複合語からなるタンパク質名を抽出することができなかった。そこで、統計学的な手法を用いて抽出する方法が提案されたが、せいぜい２、３語からなる複合語を抽出できるにすぎなかった。医学や生物学の分野では６語以上からなる複合語も多く存在するので、この手法は実用的ではなかった。更に、統計学的な手法では、論文の著者による微妙な表現の違いによって、タンパク質名を抽出できないこともあった。タンパク質名の辞書とパターンの辞書を用意して複合語の抽出を行う方法も提案されたが、これは精度がタンパク質名の辞書の質に依存する、パターンを学習するコーパスを持っていない、複合語を抽出するためには前処理が必要である、と欠点が多かった。
【０００６】
二項関係の抽出に関して云えば、従来の方法は、自然言語処理によるものもキーワードを利用するものも、計算量の多さや、ユーザーとの相補的なインタラクション性に欠けるといった問題があった。更に、従来は、サブスタンス間の二項関係は文字情報のみで表されており、複雑な二項関係を把握するには、二項関係をひとつひとつ書き出して検討する必要があり、多大な労力と時間を要した。
【０００７】
本発明は、このような従来技術の問題点に鑑み、データベースにある論文から遺伝子やタンパク質や低分子等のサブスタンス名とそれらの間の二項関係を自動的に効率よく抽出する方法を提供することを目的とする。本発明は、また、それらの二項関係をユーザに分かりやすい形で可視化して表示する方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
文書中の記述からサブスタンス名を抽出する方法として、本発明では、辞書を用いる方法と予測による方法とを併用する。辞書は、専門家によるサブスタンス名の直接入力と公共データベースからのサブスタンス名の自動抽出によって作成する。公共データベースからのサブスタンス名の自動抽出では、例えば、３つの公共データベース（SWISSPROT、PIR、CSNDB）からタンパク質名、シノニム、クロスリファレンス情報を抽出し、それらの関係よりタンパク質名の辞書を作成する。本発明では、また、文書中の記述から、辞書にないタンパク質名を予測して抽出する。
【０００９】
本発明では、公共データベースに蓄えられている文書集合から、二つのサブスタンス間にある二項関係の情報を抽出して表示する。二項関係の抽出は、まず二項関係を表す文のパターンに基づいて行い、それだけでは抽出しきれないものについては、更にテキスト文書の重みベクトル化を用いて二項関係の存在の予測を試みる。関係が抽出できたら、後でユーザーが目的とする二項関係を得るための一助とするため、その関係にいくつかの強度を定義して与える。
【００１０】
本発明では、サブスタンス間に存在する二項関係を可視化するために、Javaによって実装された動的ビューアを用いる。動的ビューアの機能としてレイアウトビュー（ノードをレイアウトする方法）があり、ノード同士の二項関係を様々な方法で可視化することができる。
【００１１】
本発明の態様を以下に列挙する。
（１）複数のデータベースから、サブスタンスの名称とそのシノニムからなる用語グループ、及び同一のサブスタンスの呼称として２以上の異なる名称が用いられていることを示すクロスリファレンス情報を収集するステップと、前記収集した用語グループ同士を比較し、同じ名称を含む用語グループ同士あるいは同じシノニムを含む用語グループ同士を結合するステップと、前記クロスリファレンス情報を用いて、同一のサブスタンスを表す用語グループ同士を結合するステップと、を含むことを特徴とするサブスタンス辞書の作成方法。
【００１２】
（２）前記（１）記載のサブスタンス辞書の作成方法において、前記サブスタンスはタンパク質であることを特徴とするサブスタンス辞書の作成方法。
【００１３】
（３）テキスト文書からサブスタンスの名称を表す複合語を抽出する方法において、前記テキスト文書をトークン化し、予め定めた造語規則に合致する前記サブスタンスに特有の造語（メインキーワード）及び前記サブスタンスの機能や特徴を表すものとして予め定めた単語リストに登録されている単語（ファンクションキーワード）を抽出するステップと、抽出されたメインキーワードを含む前記テキスト文書の文章中において、予め定めた規則に従って、前記メインキーワードにその前後に位置する１又は複数の記号、語句、他のメインキーワード又はファンクションキーワードを連結して当該メインキーワードを拡張するステップと、前記テキスト文書の文章中において、抽出されたメインキーワード、ファンクションキーワード及び／又は前記拡張されたメインキーワードを予め定めたパターンに従って連結して名詞句を得るステップと、を含むことを特徴とする方法。
【００１４】
こうして得られた名詞句は必ずしもサブスタンスの名称であるとは限らない。エラーを含む名詞句を、予め定めたエラー修正規則に従って自動的に修正可能なものは修正し、自動修正が困難なものはGUI(Graphical User Interface)に表示し、サブスタンスの名称であるかどうか専門家の判断を仰ぐ。この方法で文書から抽出されたサブスタンスの名称は、前記したサブスタンス辞書に登録して利用する。
【００１５】
（４）前記（３）記載の方法において、前記サブスタンスはタンパク質であることを特徴とする方法。
【００１６】
（５）テキスト文書中からサブスタンス間の二項関係を抽出する方法において、サブスタンスを表す名詞を登録した辞書を用意するステップと、サブスタンス間の二項関係を表す動詞を登録するステップと、前記動詞と２つの名詞を含む文型を手動又は自動で収集しオートマトンとして用意するステップと、データベースからテキスト文書を取得するステップと、取得した文書中の文を、２つの名詞が前記辞書に登録されているという条件のもとに前記オートマトンにより処理するステップと、オートマトンに前記文が受理されたとき、２つのサブスタンスを表す名詞と前記サブスタンス間の二項関係を表す動詞を出力するステップと、を含むことを特徴とする方法。
【００１７】
（６）テキスト文書中の記述をもとに２つのサブスタンス間に存在する二項関係を予測する方法において、データベースから対象となる文書集合を取得するステップと、前記文書集合中の各文書を、文書中における各サブスタンスの出現頻度と当該サブスタンスの前記文書集合中での特徴度を表す指標とを用いて、各サブスタンスにとっての相対的重要度を表す重みベクトルに変換するステップと、２つのサブスタンスに対して、当該２つのサブスタンスに対する各文書の重みベクトル成分と、各文書中での前記２つのサブスタンスの出現位置の関係とから、前記２つのサブスタンスのペアとしての重要度を表す指標を求め、それを前記文書集合の全文書にわたって加算して前記２つのサブスタンス間に存在する相互関係の予測指標を求めるステップと、予め定めた閾値より大きい前記相互関係の予測指標を有する２つのサブスタンスに対して、当該２つのサブスタンスがペアとして出現している文書中の部分を表示するステップと、を含むことを特徴とする方法。
【００１８】
（７）データベースの文書集合から抽出したサブスタンス間の二項関係を表示する方法において、表示する二項関係の種類を設定するステップと、前記設定された二項関係の種類に合致する二項関係を、サブスタンスをノードとしサブスタンス間の二項関係を前記ノード間を結ぶエッジとして表示するステップと、含むことと特徴とするサブスタンス間の二項関係の表示方法。
【００１９】
（８）データベースの文書集合から抽出したサブスタンス間の二項関係を表示する方法において、表示する二項関係の強度に関する条件を設定するステップと、２つのサブスタンス間の二項関係の出現頻度あるいは前記文書集合における２つのサブスタンス間の二項関係の特異度に基づいて算出される前記二項関係の強度が前記設定された条件を満たす２つのサブスタンス間の二項関係を、サブスタンスをノードとしサブスタンス間の二項関係を前記ノード間を結ぶエッジとして表示するステップと、を含むことと特徴とするサブスタンス間の二項関係の表示方法。
【００２０】
（９）前記（７）又は（８）記載のサブスタンス間の二項関係表示方法において、サブスタンスの種類に応じて前記ノードの表示を異ならせ、及び／又は二項関係の種類に応じて前記エッジの表示を異ならせることを特徴とするサブスタンス間の二項関係表示方法。
【００２１】
（１０）前記（７）〜（９）のいずれか１項記載のサブスタンス間の二項関係表示方法において、表示されているエッジの一つを選択するステップと、前記選択されたエッジのエッジ情報をオンラインでテキスト検索するステップと、検索結果として、選択されたエッジが結ぶ２つのサブスタンス間の二項関係を示す文書を一覧表示するステップと、を更に含むことを特徴とするサブスタンス間の二項関係表示方法。
【００２２】
（１１）前記（７）〜（９）のいずれか１項記載のサブスタンス間の二項関係表示方法において、表示されているエッジの一つを選択するステップと、前記選択されたエッジのエッジ情報をオンラインでセンテンス検索するステップと、検索結果として、選択されたエッジが結ぶ２つのサブスタンス間の二項関係を示す文書中の文章を一覧表示するステップと、を更に含むことを特徴とするサブスタンス間の二項関係表示方法。
【００２３】
（１２）前記（７）〜（１１）のいずれか１項記載のサブスタンス間の二項関係表示方法において、前記サブスタンスはタンパク質であることを特徴とするサブスタンス間の二項関係表示方法。
【００２４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。ここでは、サブスタンス名抽出の対象としてタンパク質を例に挙げて説明するが、本発明の手法は遺伝子や低分子等の他のサブスタンス名抽出にも適用可能である。
【００２５】
1 サブスタンス名抽出
本発明によるタンパク質名の辞書作成、及び作成した辞書を用いたサブスタンス名抽出の流れを図１に示す。
【００２６】
本発明では、任意の論文等からタンパク質名の抽出をするために、タンパク質名を登録した辞書を利用する。辞書へのタンパク質名の登録方法には、専門家がタンパク質名を直接入力する方法と、公共のデータベースからタンパク質名を自動的に取得して登録する方法の２種類がある。
【００２７】
しかし、辞書を用いたタンパク質名の抽出方法だけでは、論文の著者によってタンパク質の表現が違うシノニム（一般的に遺伝子やタンパク質や低分子等のサブスタンスは、ひとつのサブスタンスでも様々な呼び方をすることが多い。シノニムとは、ひとつのサブスタンスの様々な呼び方を示す同義語である。どのようなシノニムが存在するかは、1.1に詳述している。論文等では、著者によってサブスタンスの呼び方が違う即ちどのシノニムを使うかが違うので、論文等からのサブスタンス名抽出を困難にしている。）や、新たに発見されたタンパク質名や、辞書に登録されていないタンパク質名を抽出することができない。そこで、辞書に登録されていないタンパク質を抽出するためにタンパク質名の予測も行う。
【００２８】
専門家によるタンパク質名の辞書作成に関しては、ただ闇雲にタンパク質名を登録していっても効率がよくない。効率的に辞書を作成するためには、以下に示すタンパク質名の特徴を考慮する（図１の処理101）必要がある。尚、この特徴はタンパク質名の予測に際しても応用できる。
【００２９】
以上のように、サブスタンス名抽出では、まず抽出するサブスタンスの種類に関する特徴を調べる。次に、その特徴に注意して、専門家の手入力による、あるいはデータベースからの自動取得による辞書作成を行う。そして、作成した辞書を用いて文書からサブスタンス名を抽出するわけであるが、抽出しきれないサブスタンス名に関しては、その特徴から予測アルゴリズムを作成して予測による抽出を行う。
【００３０】
1.1 タンパク質名の特徴
まず、タンパク質名の主要な特徴として、次の３つが挙げられる。
(1)複数の大文字、数字、アルファベットではない文字から構成される単語
（例）Nef, p53, Akt, Vav, Rap1
(2)複数の大文字、数字、アルファベットではない文字を伴う複合語
（例）mitogen-activated protein kinase (MAPK), interleukin 2 (IL-2)-responsive kinase
(3)小文字だけで構成される単語
（例）actin, pepsin, insulin
【００３１】
上記(1)と(2)に関しては、タンパク質特有の特徴があるので比較的予測もしやすい。しかし、(3)は小文字だけで構成される単語なので、予測では絞り切れない。(3)のようなタンパク質名は、末尾が-in, -aze, -ol, -some, -polymer, -dimer, -trimer等になりやすいということが言えるが、この定義だとタンパク質以外の単語を拾う場合もありうる。また、例に挙げた酵素名等はタンパク質の命名法には従っておらず、伝統的に呼ばれてきた名前であり、このような単語は数もそれ程多くなく今後増えることもあまりないと考えられる。よって、このような予測をしにくいタンパク質名は、優先的に専門家に辞書に登録してもらい、予測は行わず辞書だけで抽出を行う。
【００３２】
更に、タンパク質名には多くのシノニムが存在し、論文の著者によって表現方法は様々である。以下にそのバリエーションを示す。
(1)省略形、大文字小文字の変更
（例）epidermal growth factor receptor | EGF receptor | EGFR
poly(ADP-ribose) polymerase | poly(ADP-Ribose) polymerase | PARP
c-Fos | c-fos | c fos
(2)名前が役割を示すもの（同じ機能を説明するだけで様々な表現方法をとる場合がある）
（例）the Ras guanine nucleotide exhange factor Sos
the Ras guanine nucleotide releasing protein Sos
the Ras exchanger Sos
the GDP-GTP exchange factor Sos
Sos(mSos), a GDP/GTP exchange protein for Ras
(3)前置詞、接続詞を含むもの（修飾関係がより複雑になる）
（例）p85 alpha subunit of PI 3-kinase
poly(C) and poly(U) homopolymer
SH2 and SH3 domains of Src
【００３３】
このようにタンパク質名のバリエーションは幅広いが、タンパク質名には大抵重要なキーワードが現れる。例えば、"c-Jun NH2-termninal kinase (JNK) and p38"のうちの"c-Jun"と"NH2"と"p38"等である。本明細書では、これらタンパク質名の略字等の重要なキーワードをタンパク質名のメインキーワードと呼ぶ。また、機能や特徴を総称するキーワードが複合語に含まれていることがある。例えば、"IL-4 receptor"のうちの"receptor"や"CREB binding protein"のうちの"protein"等である。本明細書では、これらをタンパク質名のファンクションキーワードと呼ぶ。後述する予測のアルゴリズムでは、これらのキーワードに注目して、今後新しく追加されるものも含めてタンパク質名の候補を見つけることをより簡単にしている。
【００３４】
1.2 タンパク質名の半自動的な辞書構築
上記のようなタンパク質名の特徴を考慮すると、専門家による効率的な辞書作成としては、まずメインキーワードを登録する。次に、予測がほぼ不可能である小文字のみから構成される単語のタンパク質の辞書を作成する。
【００３５】
また、辞書作成のもう一つの方法として、公共のデータベースから自動的にタンパク質名を取得してタンパク質名を登録する（図１の処理102）。データベースでは補えないタンパク質やシノニムは専門家に登録してもらう。
【００３６】
以下の方法により、３つのデータベースすなわちSWISSPROT、PIR、CSNDBからタンパク質名、シノニム、クロスリファレンス情報（データベース間で相互に関連するエントリを示す情報）を抽出し、それらの関係よりタンパク質名の辞書を作成する。
(1) 各データベースについて、タンパク質の名称(各データベースでのofficial name)とそのシノニムの関係からグループを作成する。
(2) 全データベース間で同一名称を検索し、それらのグループを結合する。
(3) クロスリファレンス情報から同一タンパク質を特定し、それらのグループを結合する。
【００３７】
以下に、それぞれのデータベースにおける抽出の方法を詳しく述べる。
▲１▼SWISSPROT
データベース内の記載形式は、次の通りである。
DE   Official-name  (Synonym1)  (Synonym2) ….
まず、データベース中の各レコードのDE(Description)フィールドから公式名称（official-name）とシノニムをタンパク質名として取り出す。
【００３８】
次に、SWISSPROTには、タンパク質の名称がすべて大文字で記載されているため、他のデータベースの単語と照合して小文字への変換を行う。他のデータベースに存在しない単語に関しては、勝手に小文字に変換すると単語と略語の区別がつかない場合があるので変換は行わず、変換候補として出力し、専門家の判断により辞書に登録するべきかどうかを決定する。
【００３９】
また、SWISSPROTでの名称の表記では、"ESTROGEN RECEPTOR ER"のような"名称省略語"といった名称を分割すべき表現があるので、それを考慮して辞書に登録する。具体的には、５文字以下の名称を省略語と見なし、その前後に省略語の各文字を頭文字に持つ単語が連続して存在しないかを検索して、もしあれば省略語として登録する。
【００４０】
▲２▼PIR
データベース内の記載形式は、次の通りである。
TITLE          Official name
ALTER_NAME     Synonym1; Synonym2 … Synonym(n)
従って、各レコードのTITLEフィールドから公式名称（Official name）を、ALTER_NAMEフィールドからシノニムをタンパク質名として取り出す。
【００４１】
▲３▼CSNDB（Cell Signaling Networks Database）
データベース内の記載形式は、次の通りである。
Signal_Molecule  ： Official name
Other_Name       ： Synonym1
Other_Name       ： Synonym2
Type             ： Types
【００４２】
CSNDBのエントリはタンパク質ではない場合もあるので、レコード中のTypeフィールドを用いてTypeがCytokine, Enzyme, Transcription_Factor, Receptor, Effector, Ion_Channelのいずれかであった場合に、エントリ名（Signal_Molecule）とシノニム（Other_Name）をタンパク質名として取り出す。
【００４３】
ところで、SWISSPROTのフィールドには、クロスリファレンス情報を示す次のような項目が存在する。
DR   PIR; B26342; B26342.
これは、対象としているたんぱく質に関連する情報がPIRのB26342にあるということを示している。このようなリファレンス情報が各データベース間でクロスリンクされている。たんぱく質を特定するとき、これらのクロスリファレンス情報を参照し、例えば3つのデータベースに同一名称のタンパク質のシノニムとしてそれぞれ異なるシノニムが登録されている場合に、参照されたタンパク質の名称と各データベースに登録されているシノニムを一つのレコードに結合して辞書に自動的に登録する。また、クロスリファレンス情報により、サブスタンスの立体構造、配列情報、機能情報、遺伝子の配列情報等を取得することができ、将来の辞書やデータベース検索の拡張の際にもクロスリファレンス情報を活用して、より正確な辞書を自動的に構築することが可能となる。
【００４４】
辞書には、公式名称（official name）とそのシノニムという形でサブスタンス名が記録される。しかし、公共のデータベースから自動構築されたタンパク質名の辞書には、登録情報に間違いがある可能性があるので、それを専門家がチェックし、間違いが存在すれば修正して辞書を更新する。
【００４５】
以下に、上記の手順によって得られる辞書の一部を示す。
--PROTEIN NAMES--
#Protein name     ESTROGEN RECEPTOR
#Synonyms<SPROT>  ER
(Alternate names<PIR>)  ESTRADIOL RECEPTOR R-ALPHA#Gene type<SPROT> ESR1 NR3A1 ESR
#Organism<PIR><SPROT>   Homo sapiens(Human) TaxID:9606#EC Number<PIR><PDB>    None
#Keywords<SPROT><PIR>   Receptor; Transcription regulation; DNA-binding...
【００４６】
1.3 辞書を用いたタンパク質名抽出
辞書に登録されたタンパク質名を基に、文献等からタンパク質名を抽出する（図１の処理103）。対象とする文献から、辞書に登録された公式名称（official name）あるいはそのシノニム（synonym）に完全に一致する語を抽出し、その結果を表形式で出力する。
【００４７】
図２に、出力表示の一例を示す。図２は、サブスタンス名の抽出とサブスタンス間の関係（二項関係）の抽出を行った結果を示しており、文献中に出てきた回数（201）、２つのタンパク質名とその公式名称（202、204）、その２つのタンパク質の二項関係を示すキーワード（203）、文献番号（205）等を表示している。
【００４８】
1.4 予測によるタンパク質名抽出
次に、タンパク質名を予測して文書から抽出するアルゴリズム（図１の処理104）を説明する。
【００４９】
本発明では、以下のものを"target"として抽出する。
・タンパク質名（kinase, receptor, ligand, enzyme, compoundを含む）
・タンパク質の domain name, motif, site, fragment, element など
以下の３つの段階において、タンパク質名が抽出される。
[1]トークン化（下記参照）されたテキストからメインキーワードとファンクションキーワードを抽出（1.4.1参照）
[2]メインキーワードとファンクションキーワードの連結（1.4.2参照）
(a)接続詞と前置詞がないメインキーワードの名詞句を構築
(b)修飾関係を構築
(c)必要のない注釈を消去
[3]予測エラーの修正（1.4.3参照）
【００５０】
ここで、トークンとは最小の意味単位を構成する文字列であり、文章をトークン単位で切り出すことをトークン化という。また、[3]で修正できないエラーはエラー候補として出力し、専門家はそれをGUI（Graphical User Interface）で表示されたものを見ることができる。更に、専門家は表示されたエラー候補を任意に選択し、公式名称（official name）とシノニム（synonym）を指定して辞書に登録することができる。
【００５１】
以下に、予測によるサブスタンス名抽出の各段階の処理について詳述する。
1.4.1 メインキーワード・ファンクションキーワードの抽出方法
予測の第一段階として、トークン化されたテキストからメインキーワードとファンクションキーワードを抽出する。メインキーワードに関しては、以下に示すアルゴリズムによって抽出を行う。ファンクションキーワードに関しては、その数がそれほど多くないことから、ファンクションキーワードのリストを作成しておいて、そのリストに合致する語を抽出する。この段階での抽出は単語レベルで行うが、1.4.2における連結のために、抽出結果は文章とする。
【００５２】
・メインキーワードの抽出アルゴリズム
(1)大文字、数字、特殊文字（特に"-"）を含む語をすべてメインキーワード候補として抽出する。
(2)参考文献表記パターンに合致する文章にある抽出語はメインキーワード候補から除外する。これは、参考文献の表記にはタイトルや人名等、大文字を多く含むと考えられるためである。参考文献の表記パターンは予め作成しておく。
(3) "-"の前後が小文字である単語はメインキーワード候補から除外する。これは、"-"の前後が小文字のみの場合は大抵一般的な語であり、タンパク質名は大文字や数字が混在していることが多いことによる。
(4)明らかに一般的な語（略語や単位等）と判断される語はメインキーワード候補から除外する。これらの語は、予め作成するリストに登録しておき、リストと合致した場合に除外を行う。例として、"Mr."、"UV"、"Mbps"等が挙げられる。
以上の方法によって、メインキーワードとファンクションキーワードが抽出できたので、次に抽出語が含まれる文章を対象にkeywordの連結を行う。
【００５３】
1.4.2 メインキーワードとファンクションキーワードの連結
連結を行うために、1.4.1で抽出されたメインキーワードを含む文章において、メインキーワードに注釈を付ける。注釈は、修飾関係が考慮され、隣接する語や他の注釈が付いた連結語に拡張される。これによって接続詞や前置詞がない名詞句が作られる。以下の方法では、まずメインキーワード同士を結び付けメインキーワード群を構築し、更に修飾関係を考慮しながら、メインキーワード群同士に注釈を拡張していく。注釈は、[ ]で示される。
【００５４】
・メインキーワード群の構築
(1)表面上の手がかりだけで構築する方法
(a)隣接するメインキーワードとファンクションキーワードを単純に注釈付けする。
（例）[p38] MAP [kinase] → [p38 MAP kinase]
(b)次のような括弧は注釈付けされる
（例）([CD45]) → [(CD45)]，([MMP-2] (and|or) [MMP-9]) → [(MMP-2 (and|or) MMP-9)]
【００５５】
(2)品詞分析を行って構築する方法
(a)隣接していない注釈同士を、その間に名詞、形容詞、あるいは数詞があるときに結合する
（例）[Ras] guanine nucleotide exchange [factor Sos]
→ [Ras guanine nucleotide exchange factor Sos]
(b)限定詞、前置詞があるときは左に注釈を拡張する
（例）the growth hormone secretagogue [receptor] ([GHS-R])
→ the [growth hormone secretagogue receptor (GHS-R)]
(c)ギリシャ文字やその文字を表す単語があるときは右に注釈を拡張する
（例）[p53] alpha → [p53 alpha], [INF] gamma → [INF gamma]
【００５６】
・修飾関係の構築
次のパターンで、注釈が付いているサブスタンス名の修飾関係を構築する。各パターンにあるメインキーワードとファンクションキーワードは、前述した本明細書での用語である。また、A,B,C,D,Eは、既に注釈が付いている抽出語とする。
(1)[A], [B], […], [C] and [D] [function keyword] → [A, B, …, C and D function keyword]
(2)[A, B, …, C] and [D] of [E] → [A, B, …, C and D of E]
(3)[A] of [B], [C] and [D] → [A of B, C and D](4)[A function keyword main keyword] and [main keyword] → [A function keyword main keyword and main keyword](5)[A] of [B] → [A of B]
(6)[A], [B] → [A, B]
【００５７】
・必要のない注釈を消去
更に2つのルールを適用して、間違った注釈を直す。第1のルールは、注釈付けされたファンクションキーワードが拡張されずに単独のままのときに適用される。これは、ファンクションキーワードがとてもありふれた単語になってしまうことによる。第2のルールは、連結語の拡張により得られた句の最後の単語が名詞ではない場合に適用される。これは、メインキーワードが常に名詞とは限らないことによる。例えば、"Jun-related"の場合等である。このように正規表現を用いたパターンマッチングによる２つのルールで、注釈は除去されたりシフトされたりする。
【００５８】
1.4.3 予測エラーの修正
1.4.1、1.4.2の方法により、targetのほとんどにメインキーワードかファンクションキーワードが含まれている。しかし、抽出したtargetの中には、タンパク質名でなかったり、修飾関係がうまく抽出されずに注釈が付けられたものも存在する可能性がある。以下では、このような予測エラーに対する修正方法を述べる。修正が困難なエラーに関してはエラー候補として出力し、後にGUI（Graphical User Interface）でそれがタンパク質名であるかどうかを専門家に判断してもらい、タンパク質名であればそのままGUIで辞書に登録してもらう（図１の処理105）。予測エラーを候補として出力し、それがタンパク質名であれば辞書に登録することにより、今後そのようなタンパク質名が予測エラー候補として出力されることはなくなる。
【００５９】
図３に、エラー候補をタンパク質名として辞書に登録する例を示す。図３では、エラー候補が表形式でリストアップされ、専門家がそのうちの一つのエラー候補を選択してそれを辞書に登録する様子を示している。一つのエラー候補301を選択すると、辞書に登録する情報を入力するダイアログ302が表示され、公式名称を入力ボックス303に、シノニムを入力ボックス304に入力し、更新ボタン305を押すことにより新たなタンパク質名を辞書に登録することができる。
【００６０】
また、1.4.1、1.4.2において抽出されないタンパク質名は、"insulin","adenylyl cyclase","pepsin" 等であるが、これらに関しては1.1で述べたように、それ程数が多くなく今後追加されることも少ないことを考慮して、予測は行わず辞書のみを用いて抽出を行う。
【００６１】
以下に間違って抽出される語句を挙げ、更にそれぞれのエラーに対する修正方法を示す。
(1)適切でない注釈
(a)タンパク質名ではない
（例）TCP（"Transmission Control Protocol"の省略形）
このようなエラーは、大文字からなる単語がタンパク質の省略形であると判断してしまうことによる。省略語の場合は、文献の冒頭にフルネームが書かれていることが多いので、この省略語より前に見つかった連結語にフルネームがないかを検索する。フルネームが存在した場合には、この省略形をタンパク質名とする。存在しない場合には、エラー候補として出力し、後に専門家に判断をしてもらい、タンパク質名であれば辞書にその名前を登録する。
(b)本手法でtargetから除外していないサブスタンス名
（例） PC6 cell, filamentous bacteriophage fuse4
このような名前は細胞名やウィルス名に多いので、周辺にそれを示す語句がないかを検索して除外する（（例）… in PC6 cell のうちのinとcell）。
【００６２】
(2)連結と拡張におけるエラー
(a)不完全な拡張
（例）interleukin [4 (IL-4)-responsive kinase]（※interleukin まで注釈を付ける必要がある）
この場合には、とりあえずタンパク質名を表すキーワードは含まれているのでタンパク質名として抽出する。後に専門家に判断してもらい、前後にある注釈が付けられなかった単語を辞書に登録する。
(b)冗長な拡張
（例）the [same proline-rich region of FAK (APPKPSR)]（※same は一般的な語で注釈に含めてはいけない）
予め一般的にサブスタンス名を形容するような語はリストに登録しておき、拡張する対象から除外する。
【００６３】
2 テキスト文書データベースからの二項関係の抽出と強度の数値化
次に、公共データベースに蓄えられた自然言語で書かれた文献を基にサブスタンス間の二項関係を探し出し、ユーザが求める関係を発見するための絞込みを行いやすいように、それらに対して何らかの基準に基づいて強度を与える手法について説明する。
【００６４】
図４に、処理の全体像を示す。まず、語の出現パターンによる二項関係の抽出（処理401）を行い、抽出し切れなかった関係を、文書の重みベクトル化を用いた新規二項関係の推定（処理402）によって探す。抽出した二項関係に対しては二項関係の強度の数値化（処理403）を行い、その数値は処理404において提示され、ユーザは提示された数値を用いて二項関係を更に絞り込む。
【００６５】
2.1二項関係の抽出
二項関係の抽出法には、関係を表す語の文型に基づくオートマトンを用いる。しかし、人間の書く文章の構造はそのような単純なパターン化が可能なものばかりとは限らず、そのようなやり方では抽出しきれない二項関係が多くあると考えられる。そこで更に二項関係の有無を推定する別の手法を併せて用いる。
【００６６】
2.1.1 語の出現パターンによる二項関係の抽出
(1) Relational Verb
語の出現パターンによる関係抽出では、二項関係を示すのに良く使われる語を見つける事が最初のステップとなる。本発明においてはこれらの語をrelation verbと呼ぶこととする。下記の表１は、蛋白質や遺伝子の間の相互作用を表す動詞の例である。公共データベースの文書を人間、あるいはコンピュータによって解析する事によってこのようなrelational verbを集める。あるいは、二項関係の抽出を必要とする分野の専門家からもこのような語の知識を得る事が出来る。
【００６７】
【表１】
0003773447.tif 000002
【００６８】
更にユーザは、これらの語に関するオントロジーの階層構造中で重要度をマッピングする事が出来る。ここでマッピングされた重要度は後で二項関係に強度を与えるときに利用され、ユーザが重要と考える二項関係を見つけるのに役立つ。
【００６９】
(2) Relation Template Automaton
どのようなrelational verbが関係を表すのかが分かったなら、次は単純な語ではなく、それらを中心とした文型を調べる。例えば“（サブスタンス名１）activates（サブスタンス名２）”、“(サブスタンス名１) interacts with (サブスタンス名２)”のようなパターンを調べ上げるのである。こうしたパターンとしては、受身形、進行形といった変形や、“interaction of (サブスタンス名１) with (サブスタンス名2)”のような動詞が名詞化したものと前置詞との組み合わせによる文型も考えられる。こうした文型を全てオートマトンとしてシステムに用意する。このようなオートマトンを本明細書ではrelation template automatonと呼ぶ。このような文型の収集は当然専門家によって行なわれるが、最近の大規模なデータベースからの関係抽出を考えた場合自動化することが望ましい。そこで本手法では、HTML文書からの情報の自動抽出を試みたbrinのDIPRE (Dual Iterative Pattern Expansion)アルゴリズムを応用する事で文型の自動収集を行なう。
【００７０】
DIPREアルゴリズム
DIPREアルゴリズムはHTML文書から、何らかの意味のある単語の組（例えば（著者、作品名）、（大学、所在地）など）を抽出する事を目的とする。簡単に説明するならば、このアルゴリズムは次の二つの操作の繰り返しである。
１．与えられた単語の組を元に、それらの単語間の関係を記述した文を文書から抽出する。二つの単語をある程度近くに含む文を抽出する事でこれを行なう。
２．与えられた単語間の関係を記述した文を元に、単語の組を抽出する。与えられた文と同じ形の文を文書中から探し出す事でこれを行なう。
【００７１】
このアルゴリズムを分子生物学に関するテキスト文書に応用し、文型を自動収集する。例えば遺伝子間の相互作用が関係抽出の目的であるとすれば、（遺伝子名、遺伝子名）という組と（遺伝子名） be located with（遺伝子名）、（遺伝子名）assembles（遺伝子名）、〜combine（遺伝子名）and（遺伝子名）のような相互作用を記述した文の抽出を交互に行なうこととなる。
【００７２】
(3) 関係の抽出
関係抽出の対象文書中の各文がrelation template automatonに受理されるかどうかでサブスタンス間の関係を調べる事が出来る。
【００７３】
図６に遺伝子間の関係についての動詞"activate"に関するrelational template automatonの一例を示す。601に示すように初期状態は円の左上に矢印を付けて表す。初期状態Ｓ0で遺伝子名を受け取ると次の状態Ｓ1に移る。Ｓ0の上のループが表すように遺伝子名が現れるまでは初期状態のままであるが、ピリオドがきたら文章は終わりであるのでエラーとなり、文章が受理されなかったことを表す602のエラー状態Ｓ5に移り処理が終わる。同様に処理が進み603の受理状態S4に達したとき、文章が遺伝子間の関係を表すと判断できる。
【００７４】
一例として図７に、"Estrogen receptor alpha rapidly activates the IGF-1 receptor pathway."という一文が、relational template automatonによって受理される様子を示す。ただし、エラー状態は省略してある。701では初期状態Ｓ0から"Estrogen receptor alpha"という遺伝子名を受け取り、状態Ｓ1に状態遷移している。702に示すように、"rapidly"が副詞であるので状態は変わらない。次の703では"activates"というrelation verbによって状態Ｓ2に遷移する。次はtheが処理されるが、この様子は図には示していない。しかしこれは限定詞であるので、図６を見ると分かるように、状態はＳ2のままである。704で"IGF-1 receptor"という二つ目の遺伝子名により、状態は受理状態となり、遺伝子間の関係が発見できたこととなる。
【００７５】
2.1.2 文書の重みベクトル化を用いた新規二項関係の推定
図５を使って概要を説明する。まず関係抽出と数値化の対象となる文書集合を、MEDLINE等の公共データベースから取得する。また、関係を抽出したいサブスタンス名の辞書を作成しておく。次にデータベースから得られたテキスト形式の文書をtf.idf法によって重みベクトルに変換する（処理501）。ベクトルの各要素は辞書中のサブスタンス名に対応しており、その出現頻度や文書集合全体にわたる分布から、サブスタンスの文書集合中での重要度が求められる。続いてこの表現を利用して、二つのサブスタンス間に何らかの関係が存在しているかどうかを予想する（処理502，503）。以上が文書の重みベクトル化を用いた関係抽出とその数値化の概略である。処理501についての詳細を下記(1)で、処理502、503については下記(2)で説明する。
【００７６】
(1) 文書の重みベクトルへの変換
本手法では、まずtf.idf法に基づき、テキスト文書diを以下のような重みベクトルWi(t)に変換する。tf.idf法とは次のようなものである。
【００７７】
tf.idf法
tf.idf法は、検索語があるテキスト中にどれだけ多く出現しているかという指標（TF）と、その検索語がデータベース内でどのくらい特徴的かという指標（IDF）の二つを使用して、検索語に対するテキストの重要度を計算する手法である。検索後の重要度W(d,t)は次式のようになる。
W(d,t)=TF(d,t)×IDF(t)
TF(d,t)：文書dにおける検索語tの出現頻度
IDF(t)：log(DB(db)/f(t,db))
DB(db)：あるデータベースdbの全テキスト数
f(t,db)：データベースdbに格納されたテキストのうち検索語tを含むものの数
【００７８】
これに基づいてWi(t)を次の式より求める。
Wi(t)=Ti(t)×log(N/f(t,T))
Ti(t)：テキストdi中におけるタンパク質名又は遺伝子名tの出現回数
N：文書集合の文書総数
f(t,T)：文書集合Tの中でtを含む文書の数
辞書に登録された全てのサブスタンス名についてこれを並べたものが、重みベクトルWi(t)である。
【００７９】
tf.idf法を用いた事によって、単純な出現頻度による重み付けと異なり、サブスタンスの相対的な重要度を重み付けに盛り込む事ができる。di中でtが頻繁に現れれば重みは大きくなる。しかし、多くの文書で使われているほどtは一般的であると考えられ、相対的重要度が下がり、重みは逆に小さくなる。
【００８０】
この重みベクトルを求めるとき、同時にサブスタンス名が発見できた場所に関する情報も記録しておき、二つのサブスタンス名の現れた文書中の位置関係を、次の(2)でサブスタンス間の関係を予測するのに利用する。ここでは、サブスタンス名の現れた文書の章、節、パラグラフを表すのにそれぞれ二桁、何行目かを表すのに三桁を与えるものとして位置を数字で表す。例えば020104031は2章1節の第4パラグラフの31行目にサブスタンス名が発見できた事を表す。文書ごとにそこに現れるサブスタンス名tに対してその発見場所を表す数値をリストとして保存する。
【００８１】
(2) 相互関係の存在予測
文書を重みベクトルに変換したなら、次はそれを基にして二つのサブスタンスt1,t2の間に関係があるのかどうかを予測する指標として、EX(t1,t2)を導入する。
【００８２】
【数１】
0003773447.tif 000003
【００８３】
Wi(t)が一つのサブスタンスの重要度を示していたのに対し、PR(t1,t2,i)は、一文書中での、t1,t2のペアとしての重要度と考えられる。PR(t1,t2,i)の分母は文書di中の全てのt1,t2の出現位置の組のうち、最も位置が近いものの間の近さを表す。分子が999であるので分母が1000以上のとき、つまりt1,t2が同一のパラグラフにない状態の時にはPR(t1,t2,i)は小さくなる。逆に同一パラグラフ内でより近い位置にあるほどPR(t1,t2,i)は大きくなる。全ての文書にわたりこの値を足し合わせる事により、t1,t2の間に関係が存在するかどうかを判断する指標とする。ユーザはこの値に対して基準となる閾値を定めて、関係の有無をコンピュータに判断させる事ができる。その結果、存在が強く疑われる関係については、位置情報を用いて記述のあると思われる部分をユーザに提示する。
【００８４】
2.2  関係強度の数値化とその利用
発見された二項関係に対して、更にいくつかの基準に基づいて、その“強度”を求める。このような強度を利用して、ユーザは二項関係を絞り込むことができる。
【００８５】
2.2.1  関係強度の数値化
(a)解析により関係が発見できた文の数をカウントし、それを関係の強度を示す指標GGR(t1,t2,r)とする。ここでt1,t2は二つのサブスタンス名を、rはある関係を表す。
【００８６】
【数２】
0003773447.tif 000004
pk=1  ある一文k中に関係rが発見できたとき
pk=0  ある一文k中に関係rが発見されなかったとき
R(r)： relational verbオントロジーの階層構造中でrにマッピングされた重要度
(b)一文書中での記述が多いほど、また記述のある文書が多いほど関係が強いと考えて、強度を表す指標として以下に定義するRTF(t1,t2,r)を導入する。
【００８７】
【数３】
0003773447.tif 000005
n：一文書中におけるサブスタンスt1,t2の間の関係rについての記述の数
TT(t1,t2,r,n)：サブスタンスt1,t2の間の関係rについての記述をn個含む文書の数
R(r)：(a)で説明した値
(c)tf.idf法を利用した指標RF(t1,t2,r)
RF(t1,t2,r) = GGR(t1,t2,r)×IDF(t1,t2,r)
GGR(t1,t2,r)：(a)で説明した指標
IDF(t1,t2,r)：log(DB(db)/f(t1,t2,r,db))
DB(db)：あるデータベースdbの全テキスト数
f(t1,t2,r,db)：データベースdbに格納されたテキストのうちt1,t2の関係rに関する記述を含むものの数
【００８８】
2.2.2   関係強度の利用
二項関係を表示するビューワについては、3 二項関係の可視化で詳しく説明するが、ここでは求めた関係の強度がどのように利用されるのか、図１２を用いて簡単に説明する。
【００８９】
図１２の表示において、白丸あるいは黒丸で示すノードが何らかのサブスタンスを示し、それらのノードを結ぶ線（エッジ）がそれらの間の関係を示している。一番下にあるEdge Slider Panelと呼ばれるインターフェイスによって、表示する二項関係を様々に変化させることができる。Interactionと書かれた部分では、知りたい二項関係に対応したチェックボックスのみチェックしておけば、その他の関係を示すエッジを非表示にすることができる。
【００９０】
その下にあるスライダーバーはRF(t1,t2,r)やGGR(t1,t2,r)などの関係の強度を表す値と対応しており、ユーザはスライダーバーでそれらの閾値を与えることができる。その閾値よりもスコアの高い関係あるいは低い関係を表すエッジのみが表示される。このような樹状グラフの形だけでなく、二つのサブスタンス名とrelation verbの組やそれらが出ている文章などを表示させる事が出来る。更に、元の文章そのものにリンクが張られていて、それらを見ることも可能である。これらの機能の詳細については以下に述べる。
【００９１】
3 二項関係の可視化
二項関係を読み込み、パスウェイをグラフィカルに表示／編集する動的ビューアについて説明する。本発明では、例えば、図２のような二項関係を示すデータを読み込み、ひとつひとつのデータから関係のあるサブスタンス同士を線で結び、各サブスタンスについて再帰的にこのようなアルゴリズムを適用していくことによって図８のように可視化する動的ビューアを提供する。図８に示すように、ビューアでは、ノード801，802のように、サブスタンスのタイプによって色の区別がなされており、サブスタンス間をエッジ（線分）803でつなぐ。
【００９２】
また、この動的ビューアは二項関係のリソースを自由に変更することができ、変更に応じて可視化された二項関係が動的に表示される。その様子を図９に示す。図９の上段に示すように、表示すべき二項関係として、前述した方法によって抽出された二項関係902、二項関係の情報を蓄積している公共のデータベースから自動的に抽出した二項関係903、両方のリソースから抽出した二項関係904のいずれかをリソース選択メニューにおいて選択することができる。すなわち、ユーザが持っている二項関係情報だけを表示したり、ユーザは持っていないが公共のデータベースにはある情報だけを表示したり、両方同時に表示したりできる。上段に示したビューア901上では、リソース選択メニューで両方のリソース904が選択され、両方のリソースから抽出した二項関係が表示された状態を示しており、メニューで選択したリソースに応じて中段に示したビューア905（抽出された二項関係902を選んだ場合）あるいは下段に示したビューア906（公共のデータベース903を選んだ場合）のように動的に表示結果が変更される。この動的ビューアはJavaで実装を行っており、アプレットとしても動作し、ローカルでも動作する。
【００９３】
3.1 ビューアの機能概要
まず、本発明の動的ビューアの機能についての概要を説明する。
【００９４】
3.1.1 レイアウトビュー
ノード（二項関係の基本となるデータ）同士の二項関係を様々な方法で可視化することができる。各レイアウトビューでは、サーバ側で新しい情報を発見したら動的にレイアウトが変更されていく。レイアウトビュー（以下ビューと呼ぶ）の例を以下に説明する。
(1)Simple
二項関係に従い、左から右へ枝分かれしていく系統樹を作成する。
(2)List
左からリスト表示をする。このとき、基本となるノードからの距離（深さ）が遠いほど右に配置される。
(3)Explorer
エクスプローラ風に、フォルダとしてノードが表示される。子供の数により、自動的にソートされて表示される。ここで「子供」とは、ノードと二項関係にあり、直接下の階層にあるノードのことをいう。また、ノードの子供の子供、そのまた子供を総称して子孫と呼ぶことがある。「Simple」「List」ビューでノードをダブルクリックすると全ての子孫を隠すが、表示するときは子供のみを表示する。全ての子孫を表示にするためにはポップアップメニューで「Show Children」を選ぶ。
(4)Animate
二項関係を使ってアニメーションをするレイアウトである。フォーカスがあるノードを固定し、ノード間の距離を一定に保とうとする。
【００９５】
3.2 レイアウトビューの詳細
レイアウトビューでは、様々な方法で二項関係データを可視化することができる。以下に、レイアウトビューについての詳細を述べる。
【００９６】
3.2.1 Simple
二項関係に従い、左から右へ枝分かれしていく系統樹を作成する。表示されたノードはマウスでドラッグして移動することが可能である。ノードの移動に応じてエッジ（ノード同士の二項関係）も移動する。「File」メニューの「Start」を選ぶと、もう一度レイアウトし直す。図１０に表示例を示す（符号1001のノードを中心とし、扇状に広がっていく）。各ノードはタイプにより色分けされて表示される。また、以下の操作が可能である。
(1)子供の表示／非表示切り替え
ノードをダブルクリックすると、ノードと二項関係にあるノードのうち階層の深いノード（右側にあるノード）の表示／非表示を切り替えることができる。
(2)ノード
ノードを右クリックすると、図１１に示すようにポップアップメニュー1101が表示される。ポップアップメニューからは以下の動作が利用できる。
【００９７】
Property
ノードのプロパティを表示する。また、自分と直接親子関係にあるノードのリストがドロップダウンリストとして表示され、リストからノードを選ぶと選んだノードのプロパティが表示される。図１１の下段にプロパティの表示例1102を示す。図中のプロパティは、上から次のような意味を示している。
・ノードの名前（図示の例の場合、"igf-I"）
・TYPE  ノードのタイプを示し、英語の頭文字3文字で表す。例えば、Nucleotide（ヌクレオチド）であれば、NUCと表す。
・Pair Node List  ノードと直接親子関係にあるノードのリストを表す。
・データベースに登録されている情報やノードの名前が含まれる文献情報の一文を示す。
【００９８】
Remove
ノードを削除する。ノードを削除すると、その子孫のノードも一緒に削除される。
Set Firstnode
現在選択しているノードをトップレベルノードにする。このメニューを選択した後、FileメニューのStartを選択すれば、選択しているノードをトップレベルノードとする系統樹に再配置される。
Hide Children
自分より階層が下にあるノードを全て非表示とする。この動作はノードをダブルクリックしてもできる。
【００９９】
Show Children
自分より階層が下にあるノードを全て表示する。この動作はノードをダブルクリックしてもできる。
Look up Papers
現在のノード情報をオンラインで調べる（アプレット動作時のみ）。
Cancel
メニューを閉じる。
【０１００】
(3)エッジ（ノード同士を結んでいる線）
エッジを右クリックすると、図１２に示すようにポップアップメニュー1201が表示される。ポップアップメニューからは以下の動作が利用できる。
【０１０１】
Property
エッジのプロパティを表示する。図１２の中段に表示例1202を示す。プロパティは上から、二項関係にあるノードの名前のボタン（２つ）、相互作用を示すキーワード、重要度を表し、ボタンを押すと各ノードのプロパティが表示される。ＯＫボタンを押すとプロパティ画面を閉じる。
Remove
両端のノードとエッジを取り除く。
【０１０２】
TEXT
エッジ情報をオンラインでテキスト検索する。エッジ情報とは、エッジが結ぶサブスタンスの関係を表すキーワードやその重要度などを表し、そのテキスト検索とは、エッジ情報のキーワードと同一のキーワードを持つ文献を検索することを表している。検索結果として、エッジが結ぶサブスタンス間の二項関係を示す文献一覧を表示する。
【０１０３】
SENTENSE
エッジ情報をオンラインでセンテンスにより検索する。センテンス検索とは、エッジ情報のキーワードと同一のキーワードを持つ文献中の文章を検索することを表す。検索結果として、エッジが結ぶサブスタンス間の二項関係を示す文献中の文章一覧を表示する。文中では、サブスタンス名やキーワードとなる動詞等はカラーで表示される。
【０１０４】
エッジスライダーパネル
画面の何も無いところで右クリックすると、ポップアップメニュー1201が表示される。そのポップアップメニュー1201から、「Edge Slider Panel」を選ぶと、図１２の下段に示すようなエッジスライダーパネル1203が開く。エッジスライダーパネル1203は、エッジの条件によって表示／非表示を切り替えることができるパネルである。また、エッジのPropertyの項で述べたように、エッジは相互作用を示すキーワード情報を持っており、そのキーワードの数に応じてエッジの本数が決まる。更に設定によって、そのキーワード1302を画面上に表示することができる。例えば、図１３のように、２つのキーワード"BIND"と"INHIBIT"を持つエッジ1301は２本線で表現される。また、BIND INHIBITの下にある数字（符号1303）は、それぞれ実施の形態2.2.1で説明した関係の重要度RF,GGRの数値である。
【０１０５】
・相互作用のキーワードによる表示切り替え
エッジスライダーパネル内の上段のチェックボックスで、チェックのついている相互作用のキーワードを持つエッジのみ表示する。図１４において例を説明する。図１４の上段に示す系統樹レイアウト画面1401上でエッジスライダーパネル1402を起動する。このエッジスライダーパネル1402のInteraction項にある相互作用を示すキーワードの中から、BINDのチェックボックスのチェックを外すと、レイアウト1403のようにBINDを持つエッジを非表示にし、更に隣接するノードがなくなったノードも表示されなくなる。
【０１０６】
・ノードの子供の数による表示切り替え
エッジスライダーパネル内の中段の Number of Children スライダーにより、ノードが持つ子供の数に応じて表示を切り替えることができる。例えば、スライダーの値を５にした場合は、子供の数が５未満あるいは５以上のノードは全て非表示になる。このとき、関係がなくなり孤立してしまったノードも非表示になる。大きさはmore（以上）とless（未満）のいずれかを選択することができる。
【０１０７】
・重要度による表示切り替え
パネル内の下段のスライダーにより、表示するエッジの重要度を設定できる。発明の実施の形態2.2.1において詳述したRF, GGR, RTFといった二項関係を重要度について設定できる。重要度の最小値は０、最大値は５である。数値が大きいほど重要度が高い。例えばスライダーの値が３である場合、３未満あるいは３以上の重要度を持つエッジのみが表示される。大きさはmore（以上）とless（未満）のいずれかを選択することができる。表示／非表示の切り替わりの様子は、図１４に示した相互作用を示すキーワードによる例と同様である。
【０１０８】
3.2.2 List
左からリスト表示をする。このとき、基本となるノードからの距離（深さ）が遠いほど右に配置される。その他は「Simple」ビューと同じである。図１５に「List」ビューの表示例を示す。
【０１０９】
3.2.3 Explorer
エクスプローラ風に、二項関係をフォルダとしてノードが表示される。各ノードの右に表示されている数字は、表示しているノードの直系に属す子供の数で、この数字によりソートされて表示される。図１６に「Explorer」ビューの表示例を示す。「Explorer」ビューでは以下の操作が可能である。
(1)子供の表示／非表示切り替え
ノードをダブルクリック、もしくはノードの左に表示されているマークをクリックするとノードの子供の表示／非表示を切り替えることができる。
(2)ポップアップメニュー
ノードを右クリックすると、ポップアップメニューを表示する。ポップアップメニューからは以下の動作が可能である。
【０１１０】
Property
ノードのプロパティを表示する。内容は「Simple」ビューと同じである。
SetFirstNode
現在選択しているノードをトップレベルノードとして再配置する。
【０１１１】
3.2.4 Animate
二項関係を使ってアニメーションをするレイアウトである。フォーカスがあるノードを固定し、ノード間の距離を一定に保とうとする。「Animate」ビューを選ぶと、トップレベルノードのみが表示される。ノードをダブルクリックすると子供が表示される。子供が隠れているノードは赤色、子供がいないノードは白色、子供を表示しているノードはオレンジ色といったように色分けされて描画される。ノードはマウスでドラッグすることができる。図１７に「Animate」ビューの表示例を示す。
(1)子供の表示／非表示切り替え
ノードをダブルクリックすると子供の表示／非表示を切り替えることができる。
(2)ポップアップメニュー
ノードを右クリックするとポップアップメニューが表示される。ポップアップメニューからできる操作は以下の通りである。
【０１１２】
Property
ノードのプロパティを表示する。内容は「Simple」ビューと同じである。
Set First Node
現在選択しているノードをトップレベルノードとし、他の全てのノードを隠す。
Show Children
子供を表示する。
Hide Children
子供を非表示にする。
【０１１３】
本発明の二項関係表示システムは、図１８に示すように、サーバ上にサブスタンス辞書やデータベースから抽出したサブスタンス間の二項関係データ（図２参照）を置き、ユーザがネットワーク経由でそれにアクセスできるようにシステム構成することも可能である。ユーザがネットワーク経由で注目しているサブスタンス名をサーバに送信すると、サーバはそのサブスタンスと二項関係を有するサブスタンスを検索し、既に説明した動的ビューアとして返す。ユーザは、動的ビューアに備わった機能を用いて、送信したサブスタンスと二項関係を有するサブスタンスについての情報を取得することができる。
【０１１４】
【発明の効果】
本発明によると、膨大な量の文献を蓄積したデータベースから必要な遺伝子やタンパク質や低分子等のサブスタンスの二項関係を得て、それを可視化することができる。これにより、これまでデータベース中に埋もれていた重要なサブスタンス間関係に関する情報を取得することが容易となり、医療や創薬に大いに貢献することができる。
【図面の簡単な説明】
【図１】サブスタンス名抽出のフローチャート。
【図２】サブスタンス名抽出結果の表示例。
【図３】  GUI（Graphical User Interface）でエラー候補を辞書に登録する様子を示す図。
【図４】二項関係の抽出の全体の流れを説明する図。
【図５】二項関係の推定の全体の流れを説明する図。
【図６】動詞activateに関するオートマトンの説明図。
【図７】オートマトンによる処理の例を示す図。
【図８】動的ビューアのレイアウト例を示す図。
【図９】リソースによる動的な表示切替の様子を示す図。
【図１０】  Simpleビューの表示例を示す図。
【図１１】  Simpleビューのプロパティ表示例を示す図。
【図１２】エッジのプロパティとエッジスライダーパネルの表示例を示す図。
【図１３】エッジ情報の詳細表示例を示す図。
【図１４】エッジスライダーパネルの切り替えによるレイアウト表示の変化を示す図。
【図１５】  Listビューの表示例を示す図。
【図１６】  Explorerビューの表示例を示す図。
【図１７】  Animateビューの表示例を示す図。
【図１８】ユーザがネットワーク経由でサーバから情報を取得している様子を示す図。
【符号の説明】
101：物質名の特徴解析
102：データベースから物質名を自動取得
103：辞書を用いた物質名抽出
104：予測アルゴリズムを用いた物質名抽出
105：予測によるエラー候補をGUIで出力
201：文献中に出てきた回数
202：物質名とその公式名称
203：物質の二項関係を示すキーワード
204：物質名とその公式名称
205：文献番号
301：抽出されたエラー候補の物質名
302：エラー候補を辞書に新規登録するダイアログ
303：辞書に登録する公式名称
304：辞書に登録するシノニム(複数登録可能)
305：入力した情報を辞書に登録する更新ボタン
401：文書の重みベクトル化を用いて新規二項関係を推定
402：語の出現パターンによって二項関係を抽出
403：いくつかの観点から関係強度を数値化
404：動的に変化するグラフィカルユーザーインターフェイスによる結果の提示
501：テキスト文書の重みベクトル化
502：重みベクトルからの二項関係の予測(1)
503：重みベクトルからの二項関係の予測(2)
601：オートマトンの初期状態
602：オートマトンによる処理の失敗を表すエラー状態
603：オートマトンによる処理が成功した事を示す受理状態
701：遺伝子名Estrogen receptor alphaによる状態変化
702：副詞rapidlyによる状態変化
703：動詞activatesによる状態変化
704：遺伝子名IGF-1 receptorによる状態変化
801，802：ノード
803：サブスタンスとサブスタンスの二項関係を示すエッジ
901：ビューアで表示する二項関係のリソースを選択
902：文献や論文等から得られた二項関係をビューアで表示
903：公共のデータベースから自動的に二項関係を取得しビューアで表示
904：両方のリソースから抽出した二項関係をビューアで表示(表示例は符号901)
905：符号902の表示結果
906：符号903の表示結果
1001：系統樹レイアウトの根
1101：Simpleレイアウトのノードのプルダウンメニュー
1102：ノードのプロパティ
1201：Simpleレイアウトのエッジのプルダウンメニュー
1202：エッジのプロパティ
1203：エッジスライダーパネル
1302：キーワードの名前
1303：重要度の数値
1401：エッジスライダーパネルの設定を変更する前のレイアウト
1402：BINDのチェックを外したエッジスライダーパネル
1403：エッジスライダーパネルの設定を変更した後のレイアウト
1501：Listビューの表示例
1601：Explorerビューの表示例
1701：Animateビューの表示例
【図１】
0003773447.tif 000006
【図２】
0003773447.tif 000007
【図３】
0003773447.tif 000008
【図４】
0003773447.tif 000009
【図５】
0003773447.tif 000010
【図６】
0003773447.tif 000011
【図７】
0003773447.tif 000012
【図８】
0003773447.tif 000013
【図９】
0003773447.tif 000014
【図１０】
0003773447.tif 000015
【図１１】
0003773447.tif 000016
【図１２】
0003773447.tif 000017
【図１３】
0003773447.tif 000018
【図１４】
0003773447.tif 000019
【図１５】
0003773447.tif 000020
【図１６】
0003773447.tif 000021
【図１７】
0003773447.tif 000022
【図１８】
0003773447.tif 000023