説明

検索システム、データ生成方法、プログラムおよびプログラムを記録した記録媒体

【課題】大規模かつ構造化された知識ベースをプログラムによって構築するシステムを搭載した検索システムを提供する。
【解決手段】検索システム1は、書籍に含まれる所定の単語をトップレベルに持ち、所定の単語に関連する情報がトップレベルの下に格納されたツリー構造の知識ブロックを有する知識ベース2と、入力部から入力された単語に基づいて知識ベース2に格納された知識ブロックを検索する知識ベース検索システム4と、書籍のテキストデータを読み込むデータ読込手段30から読み込みこまれたテキストデータに基づいて、知識ベース2に格納される知識ブロックを構築する知識ベース構築システム3と、から構成されている。知識ベース構築システム3は、データ読込手段30から読み込んだテキストデータから、自然言語処理手段31および構造化体裁整理処理手段32を実行することで知識ブロックを生成し、知識ベース2に格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、書籍の文書データを格納したデータベースから、検索語句に基づいて目的の情報を検索して提示する検索システム、データベースに格納する文書データを生成するデータ生成方法、データ生成に伴う各手段の機能をコンピュータで実現するためのプログラム、同プログラムを記録した記録媒体に関する。
【背景技術】
【0002】
書籍のような膨大な量の文書データを格納したデータベースから、目的の情報(知識)を的確に見つけ出すために、体系的に情報を集約した知識ベースを搭載した検索システムや、単なるテキスト検索ではなく質問者の質問に回答する質問回答システムが開発されている。
【0003】
このような検索システムの一例として、ユーザからの質問に対話的に答えるシステムであって、ユーザが質問文を入力するユーザインターフェイスと、ユーザによって入力されて言語を構文解析する入力解析部と、語句の説明文である知識ユニットを格納した知識ベースと、ユーザから入力された質問文と前記知識ユニットとのマッチングを行う対話管理部と、から構成され、前記知識ベースは、固有名詞などの語句をツリー構造のトップレベルに持ち、その下に定義となる知識ユニットと、それ以外のカテゴライズされていない知識ユニットと、のいずれかを、少なくとも1つ持っている構造を有する対話的ヘルプシステムが知られている(非特許文献1参照)。
【0004】
このような対話的ヘルプシステムでは、知識ベースに格納される知識ユニットの増加に伴って、ユーザからの質問に対する回答の選択肢も増加し適切な回答の提示ができるため、質問に対する回答率が上昇する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】京都大学総合メディアセンターの対話的ヘルプシステムと京都大学付属図書館の自動レファレンス・サービス・システム.情報処理学会研究報告.自然言語処理研究会報告,Vol.2000,No.53,p.92,2000
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1に記載された対話的ヘルプシステムでは、作業者がテキストデータから該当する文章を抜き出して知識ユニットを作成するため、大規模な知識ベースの構築には多くの手間と時間がかかる不都合がある。また、手作業で知識ユニットを構築しているため、知識ベースに格納する知識ユニットの数が少なくなり、質問に対する回答率が低くなる不都合がある。
【0007】
本発明は、上記問題に鑑みてなされたものであり、大規模かつ構造化された知識ベースをプログラムによって構築するシステムを搭載した検索システムを提供することを主たる目的とする。
【課題を解決するための手段】
【0008】
本発明の検索システムは、書籍に含まれる所定の単語をトップレベルに持ち、前記所定の単語に関連する情報がトップレベルの下に格納されたツリー構造の知識ブロックを有する知識ベースと、入力部を有したユーザインターフェイスを備え、前記入力部から入力された単語に基づいて前記知識ベースに格納された知識ブロックを検索する知識ベース検索システムと、書籍のテキストデータを読み込むデータ読込手段を有し、該データ読込手段から読み込みこまれたテキストデータに基づいて前記知識ベースに格納される知識ブロックを構築する知識ベース構築システムと、を備えた検索システムであって、前記知識ベース構築システムは、前記読込手段から読み込まれたテキストデータに対して形態素解析を行い、該形態素解析の結果を利用して構文解析を行う自然言語処理手段と、前記自然言語処理手段の構文解析に基づいて文章を抽出し、該抽出した文書に対して予め定めたカテゴリに分類する構造化体裁処理手段と、を有することを特徴としている(請求項1)。
【0009】
これにより、知識ブロックの生成過程を自動化することができるため、知識ベースに格納する知識ブロックの量の増加を図ることができ、質問に対する回答率の向上を図ることが可能となる。
また、文章の形態および構造に基づいて知識ブロックの構築を行うため、予め指定したカテゴリに分類することができ、検索速度の向上を図ることが可能となる。
【0010】
また、前記知識ブロックは、予め定めた8種類のカテゴリに分類された文章のうち少なくとも1つを有して構成されることが望ましい(請求項2)。
【0011】
また、テキストデータから前記知識ブロックを生成するデータ生成方法であって、前記テキストデータに対して形態素解析を行い、該形態素解析の結果を利用して構文解析を行う自然言語処理工程と、前記自然言語処理工程の処理結果に基づいて文章を抽出し、予め定めたカテゴリに分類する構造化体裁処理工程と、を有することが望ましい(請求項3)。
【0012】
また、本発明は、コンピュータを、前記自然言語処理手段、前記構造化体裁処理手段として機能させることを特徴とするプログラムである(請求項4)。
【0013】
また、本発明は、請求項4に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である(請求項5)。
【発明の効果】
【0014】
以上本発明によれば、知識ブロックの生成過程を自動化することにより、知識ベースに格納する知識ブロックの量の増加を図ることができ、回答率が向上した検索システムを提供することが可能となる。
また、文章の形態および構造に基づいて知識ブロックの構築を行うため、予め指定したカテゴリに分類することができ、作業者による作業量を減らすことが可能となる。
【図面の簡単な説明】
【0015】
【図1】図1は、検索システムの構成を示した構成図である。
【図2】図2は、知識ブロックの構成について示したものであり、(a)は、知識ブロックの構成を示した構成図である。(b)は、知識ブロックのカテゴリの分類を示した図である。
【図3】図3は、ユーザインターフェイスの例を示したイメージ図である。
【図4】図4は、知識ベース構築システム3における書籍のテキストデータから知識ブロックを生成する処理フロー図である。
【図5】図5は、形態素解析の実行結果例を示したイメージ図である。
【図6】図6は、構文解析の実行結果例を示したイメージ図である。
【図7】図7は、キーワードによる文の抽出例を示したイメージ図である。
【発明を実施するための形態】
【0016】
以下、本発明の検索システムについて図面を参照して説明する。
【実施例1】
【0017】
図1に示すように、本発明の検索システム1は、書籍の文書データを格納した知識ベース2と、知識ベース2に格納された文書データを検索する知識ベース検索システム4と、知識ベース2に格納される文書データを構築する知識ベース構築システム3と、これらの知識ベース検索システム4と知識ベース構築システム3とを管理する知識ベース管理システム5から構成されている。
【0018】
知識ベース2は、図2(a)および(b)に示すようなツリー構造をもつ知識ブロック21を形成して書籍の文書データを格納している。
【0019】
知識ブロック21のツリー構造は、所定の単語をツリー構造のトップに持ち、その下に、たとえば、定義(単語の意味や定義の説明の文章)、方法(手法や用法に関する文章)、例示(例示や種類に関する文章)、可能(可能や不可能に関する文章)、兆候(「〜ができない」などの兆候に関する文章)、理由(理由に関する文章)、比較(複数の事柄の比較に関する文章)、その他(これらのカテゴリに分類することができない文章)の8種類にカテゴリ分けされたタグを有している。以後、このタグに格納される文章を知識とする。
【0020】
このようなツリー構造の知識ブロック21を格納する知識ベース2は、XML(Extensible Markup Language)データベースが採用されることが好ましく、特に、ツリー構造、メタ情報管理という優位性を最大限活用することができるXML文書をその構造のまま格納・操作を行うことができるネイティブXMLデータベースであることが望ましい。
【0021】
知識ベース構築システム3は、PDF(Portable Document Format)(登録商標)形式などの書籍データを読み込むデータ読込手段30、読み込んだ書籍データをたとえば、OCR(Optical Character Reader)などの処理によりテキスト化するテキスト化処理手段33、テキスト化された書籍データに対して形態素解析を実行し、形態素解析の結果を利用して構文解析する自然言語処理手段31と、構文解析された書籍データから所定の語句を含む文章を抽出し、抽出した文章を上記した8つのカテゴリに分類して知識ブロック21を生成する構造化体裁処理手段32を有して構成される。
ここで、本検索システム1では、書籍データの一例としてPDF形式を扱うが、PDF形式のみに限定されることはなく、他の形式の書籍データにおいても扱うことができる。
【0022】
知識ベース検索システム4は、知識ベース2に格納された知識ブロック21を検索して回答を返すシステムであり、ユーザからの質問入力が行われるユーザインターフェイス41を備え、質問入力された検索文から形態素解析および構文解析を行う自然言語処理手段42と、知識ブロック21の検索をする検索アルゴリズム43と、ユーザに表示する返答文を作成する回答文生成処理手段44と、を有して構成される。また、知識ベース検索システム4は、サーバ上で動作し、特にWebアクセスに特化したJava(登録商標)EEアプリケーションサーバであることが望ましい。
なお、図3に示すように、ユーザインターフェイス41は、画面上に検索文を入力することができる入力部を備えている。
【0023】
知識ベース管理システム5は、知識ベース構築システム3の動作を管理するためのWebシステムであり、書籍データを知識ベース構築システム3に受け渡しを行うアップロード処理手段51を有して構成される。
【0024】
なお、上記又は、後述する自然言語処理手段31、構造化体裁処理手段32、テキスト化処理手段33、自然言語処理手段42、検索アルゴリズム43、回答文生成処理手段44、アップロード処理手段51、単体知識追加処理手段53、全文検索手段55、回答率他解析手段57は、一般的には、CPU、ROM、RAM、などを有して構成される単数又は複数のコンピュータを、所定のプログラムによって機能させることにより構成されるものである。
【0025】
また、そのプログラムはコンピュータ読み取り可能な記録媒体に記録して、ユーザに提供することができる。記録媒体としては、フレキシブルディスク、CD−ROM、DVD−ROM、あるいはハードディスクや半導体メモリなどの記録可能なタイプの媒体が含まれる。
【0026】
以上の構成の検索システム1において、書籍のテキストデータから知識ブロック21を生成する処理について説明する。
【0027】
知識ベース管理システム5のアップロード処理手段51は、PDF形式の書籍データを読み込んだ後、知識ベース構築システム3に書籍データの受け渡すアップロード処理を行う。
【0028】
知識ベース構築システム3のデータ読込手段30は、図4に示すように、PDFデータを受信すると(S101:YES)、図示しないサーバにPDFデータを保存する(S102)。
【0029】
次いで、テキスト化処理手段33は、知識ベース管理システム5からの構築開始信号を受信すると(S103:YES)、サーバからPDFデータを読み出してテキスト化(文章の抽出)処理(104)を行う。
【0030】
また、自然言語処理手段31は、テキスト化処理された書籍データに対して単語ごとに係り受けなどの構造を解析する自然言語処理を行う(S105)。
【0031】
さらに、構造化体裁整理処理手段32は、自然言語処理の結果に基づいて、予め定めた所定の単語が含まれている文を抽出してカテゴリ毎に分類する構造化体裁整理処理により(S106)知識ブロック21を作成し、この知識ブロック21を知識ベース2に格納する(S107)。
【0032】
ここで、ステップS104におけるテキスト化処理は、PDFデータからテキストを抽出しただけでは、ページヘッダやページ数、プログラムリストなどのノイズが所々に入ってしまい、そのままでは後の解析で用いる場合に不都合がある。そこで、テキスト化を行った後、後述する自然言語処理による解析での支障を最低限に抑えるために、プログラムによって、できる限りテキスト文書の整形を加えた方が好ましい。
【0033】
具体的なテキスト文書の整形としては、知識ベース構築システム3の書籍データの読み込み時には、受け渡されたた書籍データに対して、ノイズの原因となるページ数及びページヘッダを削除し、ノイズなどにより繋がっていなかったり文章の途中で改行されていたりする文章を結合して読点毎にテキストデータを抽出し、また、注釈の知識自体は、知識ベース構築に際して使用できる知識であるため、注釈の抜き出しも行う。
【0034】
また、ステップS105における自然言語処理は、まず、図5に示すように、テキスト化された書籍データに対して、文中に使用される単語ごとに名詞や格助詞などの形態を解析する形態素解析を行う。次いで、図6に示すように、形態素解析によって読点毎に区切られたテキストデータに対して、文節ごとの係り受けを示した文章の構文解析を行う。
【0035】
ここで、形態素解析ツールとしては、たとえば、奈良先端科学技術大学院大学松本研究室で開発されたChaSen(茶筌)(http://chasen.naist.jp/hiki/ChaSen/)を用いることができる。また、構文解析ツールとしては、たとえば、GNU Lesser Public License(LGPL)に従ったCaboChaを用いることができる。
なお、自然言語処理は、処理速度を高めるために可能な限り複雑な処理を行わせずに実行することが望ましい。
【0036】
さらに、ステップS106における構造化体裁整理処理は、図7に示すように、自然言語処理によって形態解析が行われたテキストに対して、まず、所定の単語(キーワード)が含まれる文章を抽出し、次いで、抽出した文に対してカテゴリ分類を行い、キーワードに関する知識ブロック21を構築する。
【0037】
ここで、文章を抽出する際のキーワードは、たとえば、書籍の巻末に載っている索引一つ一つを用いることができる。なお、索引には、キーワードとしてそのまま使用するには不適当な表現記法を用いているものがあるため、それらを除外・整理して用いることが望ましい。具体的には、索引には「Courier(フォント名)」などのように括弧が追加されて2重に単語が表記されている場合があり、このような複数の単語を含んだ状態で抽出を実行すると、片方の単語のみが記載された目的とする文章が抽出されない虞があるので、このような括弧を除外して文の抽出を行う。
【0038】
また、カテゴリの分類は、カテゴリごとの文の特徴をまとめ、分類するルールが格納された設定ファイルを知識ベース管理システム5の操作により予め作成しておき、その設定ファイルを参照することで行われる。
具体的には、兆候のカテゴリに分類される文では、「〜ができない」といった否定形の文の形態を含む特徴があるので、このような文の形態の特徴を利用して予め抽出文とカテゴリの関係を設定したファイルを作成し、抽出した文に対してカテゴリ分けが行われる。
【0039】
以上のように、知識ブロック21の生成過程を自動化することにより、知識ベース2に格納する知識ブロック21の量の増加を図ることができ、回答率の向上を図ることが可能となる。
また、文章の形態および構造に基づいて知識ブロック21の構築を行うため、予め指定したカテゴリに分類することができ、作業者による作業量を減らすことが可能となる。
【0040】
本検索システム1における知識ブロック21の検索について説明する。
【0041】
知識ベース検索システム4のユーザインターフェイス41に質問文が入力されると、まず、自然言語処理手段42により質問の対象となるキーワードや主節などの構造が解析される。次いで、検索アルゴリズム43は、質問の対象となるキーワードと質問文のカテゴリを抽出すると、知識ベース2におけるそのキーワードの知識ブロック下にある同じカテゴリを抜き出し、さらに、質問の対象キーワード以外の単語(固有名詞や形容詞など)と構文解析結果であるツリー構造から、一致度の高い回答に対して回答文生成処理手段44によって形成された回答文をユーザインターフェイス41に提示する。
【0042】
なお、知識ベース管理システム5に、知識ベース2に格納されているデータを表示する閲覧手段52と、単体の知識のみを個別に知識ブロック21に追加する単体知識追加処理手段53と、保存手段58と、を備えることで、管理者は、たとえば、ユーザの質問に答えられなかった質問に対し、新たに知識ブロック21を作成することで、単独で知識を追加することができる。
【0043】
具体的には、保存手段58は、知識ベース2には格納されていない知識について質問されたときに、その質問の保存を行う。一方で、単体知識追加処理手段53は、自然言語処理手段54と全文検索手段55と、を有しており、管理者が入力した検索文に基づいて知識ブロック21の検索を行い、格納されていない知識があった場合に知識を追加する。さらに、構築ルールシミュレート処理手段56を有することによって、構造化体裁処理手段32がカテゴリ分類の際に参照するファイルの更新を行うことができ、抽出時に起きた不具合を取り除くことが可能となる。
【0044】
さらに、知識ベース管理システム5に、知識ベース検索システム4を管理する手段として、質問履歴および回答履歴の管理をする回答率他解析手段57を備えることで、質問履歴の管理をすることができる。さらにまた、回答率他解析手段57にユーザから理解度に関する評価の収集および集計を行うことで、評価の低い知識に対して管理者が言葉を付け足してより解りやすくすることが可能となる。
【0045】
なお、本実施例で説明した検索システムは、日本語以外の外国語の言語においても利用できることは、いうまでもない。
【符号の説明】
【0046】
1 検索システム
2 知識ベース
3 知識ベース構築システム
4 知識ベース検索システム
5 知識ベース管理システム
21 知識ブロック
30 データ読込手段
31 自然言語処理手段
32 構造化体裁処理手段
33 テキスト化処理手段
41 ユーザインターフェイス
42 自然言語処理手段
43 検索アルゴリズム
44 回答文生成手段
51 アップロード手段
52 閲覧手段
53 単体知識追加処理手段
54 自然言語処理手段
55 前文検索手段
56 構築ルールシミュレート手段
57 回答率他解析手段
58 保存手段

【特許請求の範囲】
【請求項1】
書籍に含まれる所定の単語をトップレベルに持ち、前記所定の単語に関連する情報がトップレベルの下に格納されたツリー構造の知識ブロックを有する知識ベースと、
入力部を有したユーザインターフェイスを備え、前記入力部から入力された単語に基づいて前記知識ベースに格納された知識ブロックを検索する知識ベース検索システムと、
書籍のテキストデータを読み込むデータ読込手段を有し、該データ読込手段から読み込みこまれたテキストデータに基づいて前記知識ベースに格納される知識ブロックを構築する知識ベース構築システムと、を備えた検索システムであって、
前記知識ベース構築システムは、前記読込手段から読み込まれたテキストデータに対して形態素解析を行い、該形態素解析の結果を利用して構文解析を行う自然言語処理手段と、前記自然言語処理手段の構文解析に基づいて文章を抽出し、該抽出した文書に対して予め定めたカテゴリに分類する構造化体裁処理手段と、を有することを特徴とする検索システム。
【請求項2】
前記知識ブロックは、予め定めた8種類のカテゴリに分類された文章のうち少なくとも1つを有して構成されることを特徴とする請求項1に記載の検索システム。
【請求項3】
テキストデータから前記知識ブロックを生成するデータ生成方法であって、前記テキストデータに対して形態素解析を行い、該形態素解析の結果を利用して構文解析を行う自然言語処理工程と、前記自然言語処理工程の処理結果に基づいて文章を抽出し、予め定めたカテゴリに分類する構造化体裁処理工程と、を有することを特徴とするデータ生成方法。
【請求項4】
請求項1または2に記載の検索システムにおいて、コンピュータを、前記自然言語処理手段、前記構造化体裁処理手段として機能させるためのプログラム。
【請求項5】
請求項4に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−250439(P2010−250439A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−97178(P2009−97178)
【出願日】平成21年4月13日(2009.4.13)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成20年10月17日 社団法人日本経営工学会発行の「平成20年度秋季研究大会予稿集」に発表
【出願人】(592218300)学校法人神奈川大学 (243)
【Fターム(参考)】