XMLを用いた論文検索システム

藤本 圭, 杉木 健二, 清水 敏之
名古屋大学 情報科学研究科
{fujimoto, sugiki, shimizu}@dl.itc.nagoya-u.ac.jp

松原 茂樹
名古屋大学 情報連携基盤センター
matubara@itc.nagoya-u.ac.jp

天笠 俊之
筑波大学 計算科学研究センター
amagasa@cs.tsukuba.ac.jp

波多野 賢治
奈良先端科学技術大学院大学 情報科学研究科
hatano@is.naist.jp

吉川 正俊
名古屋大学 情報連携基盤センター
yosikawa@itc.nagoya-u.ac.jp

概要

近年,大量の学術論文が出版されるようになった.研究者が論文を精読できる時間は限られているため, 大量の学術論文の中から,あるトピックに関連する章や節などの部分文書のみを拾い読みしたいという 要求は高いと考えられる.精読するための論文を選択するためにもこのような機能は重要である. しかし,現在の論文検索システムにおいては論文全体を検索単位としたものが基本である. そこで本研究では章や節といった部分文書を単位とした論文検索システムKikoriを構築する. 論文検索システムKikoriは論文構造化部, XMLデータベース部,利用者インタフェース部から構成されている. PDF形式で記述された論文ファイルを論文構造化部においてXML形式に構造化し, 構造化した文書をXMLデータベースに格納する. 利用者は検索語入力によって論文検索を行うことができる. 利用者から受け取った検索語は利用者インタフェース部にてデータベース問合せ言語へ変換され, XMLデータベース部に問合せを行う. XMLデータベース部からは順位付けされた部分文書が返され, 利用者インタフェース部にて結果が見やすい形で出力される.

キーワード

論文検索エンジン,論文の構造化,XML,XMLデータベース,利用者インタフェース

1. はじめに

学術論文には,その背景や基礎的知識,関連研究,提案手法の詳細, 実験手法や実験結果など多くのことが記述されている. 研究者が必要とする情報は,そのうちのいくつかの章や節といった一部分であることが多い. しかし,Google Scholar[3]やCiteSeer[4]といった 現在の論文検索システムにおいては論文全体を検索単位としたものが基本である. そこで本研究では学術論文全体ではなく,章や節といった部分文書を単位とした 論文検索システムKikoriを構築する. 本稿ではシステムを構成する各要素と,その手法や特徴について述べる.

実際に論文検索システムKikoriのプロトタイプを作成した. 論文検索システムKikoriは論文構造化部, XMLデータベース部,利用者インタフェース部から構成されている. システム全体の概要を図1に示す.


図1 論文検索システムKikoriの概要

まず論文構造化部について述べる. 現在,多くの学術論文がPDF形式で電子的に配布されている. しかし,PDF形式の論文は構造化がなされておらず, 高度な機能付加には限界がある. そこで,こうしたPDF形式の論文データを自動的にXML形式に構造化する. 論文のレイアウト情報とテキスト情報をもとにした 構造化ルールを用いて論文構造タグを付与する.

次にXMLデータベース部について述べる. 論文構造化部でXML化した学術論文データをXMLデータベースにて管理する. XMLデータベースは我々が開発しているXMLデータベースシステムである XRel[1,2]を使用する. XRelは関係データベースの構造にXMLの文書構造を写像するアプローチを取っている.

最後に利用者インタフェース部について述べる. 今回の論文検索エンジンでは複数の検索語を入力し, 検索語によって順位付けされた論文群を出力する. 各論文ごとに章や節の目次とスコアが表示され, さらにスコアの高い段落が表示される. スコアの高い部分文書ほど大きい文字で表示されるようになっており, 論文のどの部分が検索語と関連が深いかが ひと目で分かるようになっている.

以下, 第2節ではPDF形式の論文をXML形式に変換する手法について述べる. 第3節ではXMLデータベースシステムXRelについて述べる. 第4節では利用者インタフェースの特徴について詳しく述べる. 第5節では本研究のまとめと今後の課題について述べる.

2. 学術論文の構造化

本節では論文検索システムKikoriの論文構造化部について,学術論文の構造化手法を述べる. 本手法では,PDF文書を,構造情報が付与されたXML文書に変換することにより,学術論文の構造化を実現する. 図2の原稿の変換により生成されるXML文書の例を図3に示す.


図2 変換前の原稿

本手法の流れは以下の通りである.


図3 図2の原稿を変換した結果の例

2.1. レイアウト情報とテキスト情報

レイアウト情報とは,論文におけるそれぞれのテキスト位置やフォントサイズであり, テキスト情報とは,それぞれのテキスト中に含まれる特定のパターンや正規表現である. 本研究では,これらの情報を組み合わせてルールを作成する. ルールの例を以下に示す.

2.2. タグ付け

作成したルールを用いて,論文にタグを付与する. 本研究では,表題,著者,所属,Eメール,抄録,節,段落,引用,リスト,表,図,注釈,文献をタグ付けの対象とした.

本手法によるXML変換の性能を評価するために、学術論文の構造化実験を行った. 実験データとしてVLDB 2004[5]の論文30文書を用いた. テストデータへのタグ付けには人手で作成した30個のヒューリスティックルールを使用した. PDFファイルのテキストデータへの変換には,pdftohtml[6]のXML出力機能を用いた. 正解のXML文書を作成し,各タグの精度および再現率により評価を行ったところ, 精度:98.0%, 再現率:82.8%という性能が得られている[7]. 精度,再現率ともに高く,PDF形式の論文の構造化によるXML文書への変換可能性を確認した.

3. XMLデータベースXRel

論文検索システムKikoriのXMLデータベース部には我々が開発しているXMLデータベースシステムである XRel[1,2]を使用している. この節ではXRelの概要について述べる.

3.1. XRelの概要

XRelは我々が開発しているXMLデータベースシステムである. XRelは関係データベースの構造にXMLの文書構造を写像するアプローチを取っており, XML文書を分解して固定した関係スキーマを持つ4個の表に格納する. 関係スキーマはDTDや文書の論理構造に現れる要素型に依存しないため, 文書の論理構造の変化が関係スキーマに影響を及ぼすことはない. XML文書の各要素は順序を表すラベルとXML木における根からの経路によって管理される. システム側は利用者やアプリケーションに対して XML文書が表の形で管理されていることを隠す. 利用者から検索語による問合せが行われた場合, システム側が自動的に検索語からSQL文を生成し,SQL問合せを実行する.

3.2. XML文書を格納する表

XML文書を格納するための表としてElement, Attribute, Text, Pathの4個を定義する. また文書中に存在する各単語のtf-idf値を格納するための表Tokenを定義する.

Element (documentID, nodeID, pathID, start, end)
    キーは (documentID, nodeID)
Attribute (documentID, nodeID, pathID, start, end, value)
    キーは (documentID, nodeID)
Text (documentID, nodeID, pathID, start, end, value)
    キーは (documentID, nodeID)
Path (pathID, pathexp)
    キーは (pathID)
Token (documentID, nodeID, token, tfidf)
    キーは (documentID, nodeID, token)

Element, Attribute, Text, Pathはそれぞれ要素ノード,属性ノード,テキストノード, XML文書に現れる全ての経路を格納する表である. Tokenは各部分文書中に登場する各単語のtf-idf値を格納するための表である. tf-idf値は部分文書の順位付けに利用される. 表の各属性について説明する.

documentID  XML文書を識別するためのID.
nodeID      ノードを一意に識別するために付与した通し番号.
pathID      経路を識別するためのID.
start       各ノードの開始タグのバイト位置.
end         各ノードの終了タグのバイト位置.
value       Attributeでは属性値を,Textでは要素内の文字列をそれぞれ格納する.
pathexp     実際の経路表現を格納する.
token       部分文書内に登場する単語をステミングして格納する.
tfidf       部分文書内に登場する各単語のtf-idf値を格納する.

次にXML文書の格納例を挙げる. 図3のXML文書を格納すると図4のようになる.


図4 XML文書の格納例

4. 利用者インタフェース

この節では論文検索システムKikoriの利用者インタフェース部について述べる.

論文検索システムKikoriでは検索語を入力とし,検索を行うことができる. 従来の検索エンジンと同じように直感的に利用することが可能である. データベースから検索語と関連の高い論文を順位付けして取得する. 順位付けのためのスコアの計算はtoken表に格納されているtf-idf値で行っている. 検索語をもとにシステムが自動的にSQL文を生成し, XMLデータベース部に対して問合せを行う. 入力した検索語から自動的に生成したSQL文の一部を図5に示す. このSQL文について説明する.各部分文書はdocumentIDとelementIDによって一意に識別される. token表から検索語を含むような部分文書を取り出し, 事前に計算した各検索語のtf-idf値の合計を部分文書のスコアとしている. 各部分文書の開始位置と終了位置を取り出し, 後述する論文の表示に使用している.

検索結果として取得する部分文書は論文の章,節,段落単位としている. 検索結果の部分文書は属する論文単位でまとめて表示される. 検索結果の表示例を図6に示す. スコアに関係なく論文に属する全ての章や節を文書出現順で表示しており, 論文全体の流れが把握できるようになっている. 段落はスコアの高いもののみを表示するようにしている. スコアの高い部分文書ほど大きく目立つ文字で表示しており, 関連度の高い部分文書がひと目で分かるようになっている.

論文や各部分文書のタイトルはアンカーとなっている. 各アンカーをクリックすると論文全体が表示される. 部分文書のアンカーをクリックした場合, 部分文書全体をハイライトして表示するようにしており, 部分文書の前後の流れを見ながら 該当する部分文書を読むことができるようになっている. 論文中に存在する検索語とマッチする語をハイライトして表示しており, 検索語と関連の高い部分をわかりやすくしている. 論文の表示例を図7に示す.


図5 検索語から自動生成したSQL文の例

5. おわりに

本稿では論文検索システムKikoriの特徴と, 各構成要素について説明した. Kikoriは論文の部分文書を検索単位としているという特徴を持つ.

今後の課題には次のようなものが挙げられる. 今回提案したシステムでは部分文書を検索対象としているが, 一つの文書は複数の部分文書から構成されているため, 検索対象が膨大となる. 大量の部分文書を高速に検索できるようなアルゴリズムが必要となる.

学術論文の構造化を行う際に背景や関連研究,実験手法といった 意味情報を付与することにより,高度な検索要求を満たすこと目標としている. 意味情報を付与する手法の開発を課題としている.

利用者の多様な検索要求を満たすため, 検索語以外の入力方法,順位付けされた文書群以外の出力方法など, 複数の入出力インタフェースの搭載を検討している.

参考文献

[1] Masatoshi Yoshikawa, Toshiyuki Amagasa, Takeyuki Shimura, and Shunsuke Uemura. XRel: A Path-Base Approach to Storage and Retrieval of XML Documents Using Relational Database. In ACM Transactions on Internet Technology, Vol. 1, No. 1, pp.110-141 (2001).

[2] Takeyuki Shimura, Masatoshi Yoshikawa, and Shunsuke Uemura. Storage and Retrieval of XML Documents using Object-Relational Databases. In Proc. of the 10th International Conference on Database and Expert Systems Applications (DEXA'99), volume 1677 of Lecture Notes in Comuputer Science, pp. 206-217, Springer-Verlag (1999).

[3] Google Scholar. http://scholar.google.com/

[4] CiteSeer. http://citeseer.ist.psu.edu/

[5] VLDB. http://www.informatik.uni-trier.de/‾ley/db/conf/vldb/

[6] pdftohtml http://pdftohtml.sourceforge.net/

[7]杉木 健二, 松原 茂樹, 吉川 正俊. レイアウト情報とテキスト情報を用いた学術論文の構造化. 平成17年度電気関係学会東海支部連合大会, (2005).


図6 検索結果一覧表示の例


図7 論文表示の例