(57)【要約】  本発明は、未知の文書構造を持つ構造化文書に対して、機械的な処理を可能とする。  第１の記憶部１１は、構造化文書に含まれる情報に関するスキーマ情報およびシェイプ情報を関連付けて記憶する。第２の記憶部１２は、スキーマ情報と、具体クエリと、抽象クエリとを関連付けて記憶する。推論部１３は、対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合、第１の記憶部１１において該情報に適用されたシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、関連スキーマ情報として決定する。クエリ決定部１４は、第２の記憶部１２において、入力された抽象クエリと、関連スキーマ情報とに関連付けられた具体クエリを、処理対象の構造化文書に対する具体クエリとして決定する。
2017099059.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、前記情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶する第１の記憶手段と、
前記スキーマ情報と、前記スキーマ情報が表す構造を持つ情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、前記具体クエリを抽象的に表した抽象クエリとを関連付けて記憶する第２の記憶手段と、
処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、前記第１の記憶手段において、前記情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、前記未知のスキーマ情報に関連性のある関連スキーマ情報として決定する推論手段と、
前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定するクエリ決定手段と、
を備えた文書処理装置。
【請求項２】
前記推論手段は、前記処理対象の構造化文書に含まれる情報に適用されているシェイプ情報と、該情報に適用されているスキーマ情報とを関連付けて、前記第１の記憶手段に登録することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記推論手段は、前記処理対象の構造化文書に含まれる情報に適用されているシェイプ情報と、前記関連スキーマ情報とを関連付けて、前記第１の記憶手段に登録することを特徴とする請求項１または請求項２に記載の文書処理装置。
【請求項４】
前記クエリ決定手段は、前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを取得できない場合、外部から入力された具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定することを特徴とする請求項１から請求項３のいずれか１項に記載の文書処理装置。
【請求項５】
前記クエリ決定手段は、前記処理対象の構造化文書に対して決定した具体クエリと、該情報に適用されているスキーマ情報と、該情報について入力された抽象クエリとを関連付けて、前記第２の記憶手段に登録することを特徴とする請求項１から請求項４のいずれか１項に記載の文書処理装置。
【請求項６】
前記構造化文書としてＲＤＦ（Resource Description Framework）文書を適用することを特徴とする請求項１から請求項５のいずれか１項に記載の文書処理装置。
【請求項７】
コンピュータ装置が、
構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、前記情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶する第１の記憶手段と、
前記スキーマ情報と、前記スキーマ情報が表す構造を持つ情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、前記具体クエリを抽象的に表した抽象クエリとを関連付けて記憶する第２の記憶手段とを用いて、
処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、前記第１の記憶手段において、前記情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、前記未知のスキーマ情報に関連性のある関連スキーマ情報として決定し、
前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定する方法。
【請求項８】
構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、前記情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶する第１の記憶手段と、
前記スキーマ情報と、前記スキーマ情報が表す構造を持つ情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、前記具体クエリを抽象的に表した抽象クエリとを関連付けて記憶する第２の記憶手段とを用いて、
処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、前記第１の記憶手段において、前記情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、前記未知のスキーマ情報に関連性のある関連スキーマ情報として決定する継承関係推論ステップと、
前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定するクエリ決定ステップと、
をコンピュータ装置に実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書を処理する技術に関する。
【背景技術】
【０００２】
組織内または組織間でやりとりされる文書は、一般に、共通化された書式で記述されていることが望ましい。特に、そのような文書が機械的に処理される場合、その文書のコンテンツから必要な情報を抽出するためには、文書の構造を知ることが重要となる。文書を機械的に処理するためのソフトウェアでは、どのような構造の文書が入力されるかが設計時に特定され、特定された構造に適したロジックが構築される。【０００３】
機械的処理に適した文書構造としては、さまざまなものが提案されている。その最たるものとして、ＸＭＬ（Extensible Markup Language）文書がある。ＸＭＬ文書の構造が既知であれば、その読み書きを機械的に処理することは容易である。また、近年、リンクドデータ（Ｌｉｎｋｅｄ  ｄａｔａ）の活用が盛んになっている。リンクドデータは、ＲＤＦ（Resource Description Framework）構造で記述されていることが多い。ＸＭＬ文書やリンクドデータは、いずれもシンタックスとして矛盾しない限り、利用者によって自由な構造に拡張されることが許されている。しかし、既存の構造を持つ文書に対する処理を行うソフトウェアは、利用者により自由に拡張された構造を持つ文書を正しく処理できないことがある。これは、当該ソフトウェアが設計された段階では、そのような拡張された構造が入力されることは想定されていないためである。そこで、利用者による拡張を制限することが考えられる。しかし、標準化団体で提唱される基本的な構造を用いて、様々な組織文化や様々なビジネスプロセスにおいて用いられる情報を表す場合、表現能力が不足する。【０００４】
このような問題に対応するため、標準化団体で提唱される標準を拡張して組織毎に独自に文書処理の標準化を行うことが、往々にして行なわれる。この組織標準というべき標準を逸脱しない範囲において、ソフトウェアによる機械的文書処理は十全に機能する。すなわち、組織標準によって、組織内における文書の相互運用が可能となる。【０００５】
また、このような問題に関連する技術の一例が、特許文献１に記載されている。特許文献１に記載された関連技術は、データベースに記憶されている複数の構造化文書の中から、キーワードに関連する文書構造を検索して出力する。構造化文書の作成者は、この関連技術を用いて、自身が作成する文書に対して内容的に類似する文書構造を検索し、検索した文書構造を利用して構造化文書を作成することができる。その結果、この関連技術は、様々な文書構造の氾濫を抑える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１２６６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した組織標準および関連技術には、以下の課題がある。【０００８】
組織標準は、組織内における文書の相互運用を可能とするが、組織間での文書の相互運用性を確保することは難しい。これは、通常、組織によって異なる組織標準が存在すると考えられるためである。このため、ある組織における組織標準に基づく文書構造を処理するソフトウェアは、他の組織で用いられる組織標準に基づく未知の文書構造に対して、機械的処理を行うことができない。特に、相互運用が必要となる対象組織が変わることを考慮したとき、この問題は顕著となる。【０００９】
また、特許文献１に記載された関連技術は、構造化文書の作成者が、同一のデータベースから所望の文書構造を検索することを想定している。しかしながら、異なる組織における構造化文書の作成者は、作成したい文書の文書構造を同一のデータベースから検索するとは限らない。このため、ある組織においてこの関連技術を用いて作成された文書構造を処理するソフトウェアは、他の組織において作成された未知の文書構造に対して、機械的処理を行うことができない。特に、相互運用が必要となる対象組織が変わることを考慮したとき、この問題は顕著となる。【００１０】
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、未知の文書構造を持つ構造化文書に対して、機械的な処理を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の文書処理装置は、構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、前記情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶する第１の記憶手段と、前記スキーマ情報と、前記スキーマ情報が表す構造を持つ情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、前記具体クエリを抽象的に表した抽象クエリとを関連付けて記憶する第２の記憶手段と、処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、前記第１の記憶手段において、前記情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、前記未知のスキーマ情報に関連性のある関連スキーマ情報として決定する推論手段と、前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定するクエリ決定手段と、を備える。【００１２】
また、本発明の方法は、コンピュータ装置が、構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、前記情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶する第１の記憶手段と、前記スキーマ情報と、前記スキーマ情報が表す構造を持つ情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、前記具体クエリを抽象的に表した抽象クエリとを関連付けて記憶する第２の記憶手段とを用いて、処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、前記第１の記憶手段において、前記情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、前記未知のスキーマ情報に関連性のある関連スキーマ情報として決定し、前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定する。【００１３】
また、本発明の記憶媒体は、構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、前記情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶する第１の記憶手段と、前記スキーマ情報と、前記スキーマ情報が表す構造を持つ情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、前記具体クエリを抽象的に表した抽象クエリとを関連付けて記憶する第２の記憶手段とを用いて、処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、前記第１の記憶手段において、前記情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、前記未知のスキーマ情報に関連性のある関連スキーマ情報として決定する継承関係推論ステップと、前記第２の記憶手段において、前記処理対象の構造化文書について入力された抽象クエリと、前記関連スキーマ情報とに関連付けられた具体クエリを、前記処理対象の構造化文書に対して発行する具体クエリとして決定するクエリ決定ステップと、をコンピュータ装置に実行させるプログラムを記憶している。
【発明の効果】
【００１４】
本発明は、未知の文書構造を持つ構造化文書に対して、機械的な処理を可能とする技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態としての文書処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態としての文書処理装置のハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施の形態としての文書処理装置の動作を説明するフローチャートである。
【図４】本発明の第２の実施の形態としての文書処理装置の構成を示すブロック図である。
【図５】本発明の第２の実施の形態としての文書処理装置の動作を説明するフローチャートである。
【図６】本発明の第２の実施の形態において第２の記憶部に記憶される情報の一例を示す図である。
【図７】本発明の第２の実施の形態において既知のスキーマ情報が適用された情報を含む構造化文書の一例を示す図である。
【図８】本発明の第２の実施の形態において第１の記憶部に記憶される情報の一例を示す図である。
【図９】本発明の第２の実施の形態において未知のスキーマ情報が適用された情報を含む構造化文書の一例を示す図である。
【図１０】本発明の第２の実施の形態におけるシェイプの定義内容の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１７】
（第１の実施の形態）
本発明の第１の実施の形態としての文書処理装置１の機能ブロック構成を図１に示す。図１において、文書処理装置１は、第１の記憶部１１と、第２の記憶部１２と、推論部１３と、クエリ決定部１４とを備える。
【００１８】
ここで、文書処理装置１は、構造化文書を処理することができる情報処理装置であり、図２に示すようなハードウェア要素によって構成可能である。図２において、文書処理装置１は、ＣＰＵ（Central Processing Unit）１００１、メモリ１００２、出力装置１００３、入力装置１００４、および、ネットワークインタフェース１００５を含む。メモリ１００２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）等によって構成される。出力装置１００３は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置１００４は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。ネットワークインタフェース１００５は、インターネット、有線ＬＡＮ（Local Area Network）、無線ＬＡＮ、公衆回線網、モバイルデータ通信網またはこれらの組合せ等によって構成されるネットワークに接続するインタフェースである。この場合、第１の記憶部１１および第２の記憶部１２は、メモリ１００２によって構成される。また、推論部１３は、ネットワークインタフェース１００５と、メモリ１００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ１００１とによって構成される。また、クエリ決定部１４は、入力装置１００４と、メモリ１００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ１００１とによって構成される。なお、文書処理装置１およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００１９】
次に、各機能ブロックについて説明する。
【００２０】
第１の記憶部１１は、スキーマ情報およびシェイプ情報を関連付けて記憶している。
【００２１】
ここで、スキーマとは、構造化文書に含まれる情報の構造を表す。また、スキーマ情報とは、そのようなスキーマを識別する情報である。例えば、ＲＤＦ構造化文書の場合、スキーマを識別するスキーマ情報は、ＵＲＩ（Uniform Resource Identifier）で表される。また、このＵＲＩには、スキーマの定義内容が格納される。以降、ある情報の構造を表すスキーマを識別するスキーマ情報を、その情報に適用されているスキーマ情報、とも記載する。
【００２２】
また、シェイプとは、構造化文書に含まれる情報に関する制約を表す。また、シェイプ情報とは、そのようなシェイプを識別する情報である。例えば、ＲＤＦ構造化文書の場合、シェイプを識別するシェイプ情報は、ＵＲＩで表される。また、このＵＲＩには、シェイプの定義内容が格納される。以降、ある情報の制約を表すシェイプを識別するシェイプ情報を、その情報に適用されているシェイプ情報、とも記載する。
【００２３】
ここで、シェイプは、そのシェイプ情報が適用される情報の構成要素に対して定義される。したがって、シェイプ情報と、そのシェイプ情報が適用される情報に適用されるスキーマ情報との間は、関連付けが可能である。なお、第１の記憶部１１は、例えば、あらかじめ管理者等によって入力装置１００４を介して入力されたシェイプ情報およびスキーマ情報の組を、関連付けて記憶してもよい。
【００２４】
第２の記憶部１２は、スキーマ情報と、具体クエリと、抽象クエリとを関連付けて記憶している。ここで、具体クエリとは、構造化文書に対して発行可能なクエリを表す。例えば、具体クエリは、構造化文書から所望の情報を抽出する処理を表すものであってもよい。また、具体クエリは、構造化文書に所望の情報を登録・更新する処理を表すものであってもよい。また、抽象クエリとは、具体クエリを抽象的に表したクエリである。
【００２５】
ここで、構造化文書では、スキーマ情報が表すスキーマに応じて、そのスキーマ情報が適用された情報に対して発行可能な具体クエリが表現される。したがって、スキーマ情報と、そのスキーマ情報が適用された情報に対して発行可能な具体クエリと、その抽象クエリとの間は、関連付けが可能である。なお、第２の記憶部１２は、例えば、あらかじめ管理者等によって入力装置１００４を介して入力されたスキーマ情報、具体クエリおよび抽象クエリの組を、関連付けて記憶してもよい。
【００２６】
推論部１３は、処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、該情報に適用されているシェイプ情報の継承関係に基づいて、未知のスキーマ情報に対する関連スキーマ情報を決定する。
【００２７】
ここで、未知のスキーマ情報とは、そのスキーマ情報が適用されている情報に対する具体クエリが不明であることをいう。また、関連スキーマ情報とは、未知のスキーマ情報に対して少なくとも部分的に構造が一致する可能性があるスキーマ情報をいうものとする。関連スキーマ情報に対して発行可能な具体クエリは、未知のスキーマ情報に対して発行可能である可能性が高い。
【００２８】
詳細には、推論部１３は、処理対象の構造化文書に含まれる情報に適用されているスキーマ情報が未知であるか既知であるかを判断する。本実施の形態では、スキーマ情報が未知であるか既知であるかは、そのスキーマ情報が、第１の記憶部１１または第２の記憶部１２に記憶されているか否かによって判断可能である。なお、処理対象の構造化文書に含まれる情報に適用されているスキーマ情報は、処理対象の構造化文書の内容を解析することにより取得可能である。
【００２９】
また、詳細には、推論部１３は、処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報を特定する。なお、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報は、処理対象の構造化文書の内容を解析することにより取得可能である。
【００３０】
また、推論部１３は、特定したシェイプ情報に対して継承関係を持つシェイプ情報を取得する。ここで、継承関係を持つとは、例えば、該当するシェイプ情報の定義において親または先祖として用いられていることをいう。構造化文書に含まれる情報に関するシェイプ情報の継承関係は、そのシェイプ情報の定義内容に基づき取得可能である。また、そのようなシェイプ情報の定義内容の格納場所は、構造化文書の内容を解析することにより取得可能である。もし、該当するシェイプ情報の定義内容の格納場所がネットワーク上の場所を示す場合、推論部１３は、ネットワークインタフェース１００５を介してその格納場所にアクセスすればよい。
【００３１】
また、推論部１３は、第１の記憶部１１において、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、関連スキーマ情報として決定する。なお、該当するシェイプ情報の親となるシェイプ情報が、第１の記憶部１１に記憶されていないケースも考えられる。この場合、推論部１３は、第１の記憶部１１に記憶されたシェイプ情報が得られるまで、さらにその親となるシェイプ情報を取得する処理を繰り返せばよい。
【００３２】
クエリ決定部１４は、処理対象の構造化文書に含まれる情報に対する抽象クエリを入力として取得する。例えば、抽象クエリは、入力装置１００４を介して入力されてもよい。そして、クエリ決定部１４は、第２の記憶部１２において、入力された抽象クエリと、関連スキーマ情報とに関連付けられた具体クエリを取得する。そして、クエリ決定部１４は、取得した具体クエリを、処理対象の構造化文書に対して発行する具体クエリとして決定する。そして、クエリ決定部１４は、処理対象の構造化文書に対して、決定した具体クエリを発行してもよい。
【００３３】
以上のように構成された文書処理装置１の動作について、図３を参照して説明する。
【００３４】
図３では、まず、推論部１３は、処理対象の構造化文書を取得する（ステップＳ１）。
【００３５】
次に、推論部１３は、処理対象の構造化文書に含まれる情報に、未知のスキーマ情報が適用されているか否かを判断する（ステップＳ２）。前述のように、推論部１３は、該当するスキーマ情報が、第１の記憶部１１または第２の記憶部１２に記憶されていなければ未知であると判断し、記憶されていれば未知でない（既知である）と判断すればよい。
【００３６】
ここで、該当するスキーマ情報が未知でない（既知である）場合、文書処理装置１の動作は、ステップＳ６に進む。
【００３７】
一方、該当するスキーマ情報が未知である場合、推論部１３は、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報を特定する（ステップＳ３）。
【００３８】
次に、推論部１３は、第１の記憶部１１において、ステップＳ３で特定されたシェイプ情報に対して継承関係を持つシェイプ情報を検索する（ステップＳ４）。
【００３９】
例えば、前述のように、推論部１３は、取得されたシェイプ情報の定義内容を参照することにより、その親となるシェイプ情報を特定する。そして、推論部１３は、第１の記憶部１１において、親となるシェイプ情報を検索する。このとき、親となるシェイプ情報が第１の記憶部１１に記憶されていなければ、推論部１３は、親となるシェイプ情報の定義内容を参照することにより、さらにその親となるシェイプ情報を取得する。このように、推論部１３は、第１の記憶部１１に記憶されているシェイプ情報が得られるまで、親となるシェイプ情報を取得することを繰り返す。
【００４０】
次に、推論部１３は、第１の記憶部１１において、継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、未知のスキーマ情報の関連スキーマ情報として決定する（ステップＳ５）。
【００４１】
次に、クエリ決定部１４は、処理対象の構造化文書に含まれる情報に対する抽象クエリを、入力として取得する（ステップＳ６）。
【００４２】
次に、クエリ決定部１４は、第２の記憶部１２において、入力された抽象クエリと、関連スキーマ情報または既知のスキーマ情報とに関連付けられた具体クエリを検索する（ステップＳ７）。ここで、関連スキーマ情報は、ステップＳ５で決定された関連スキーマ情報である。また、既知のスキーマ情報は、ステップＳ２で既知であると判断された場合のスキーマ情報である。
【００４３】
ここで、第２の記憶部１２から該当する具体クエリが検索できなかった場合（ステップＳ８でＮｏ）、クエリ決定部１４は、エラー情報を出力する（ステップＳ９）。
【００４４】
一方、第２の記憶部１２から該当する具体クエリが検索された場合（ステップＳ８でＹｅｓ）、クエリ決定部１４は、検索された具体クエリを、処理対象の構造化文書に対して発行する具体クエリとして決定する（ステップＳ１０）。
【００４５】
以上で、文書処理装置１は動作を終了する。
【００４６】
次に、本発明の第１の実施の形態の効果について述べる。
【００４７】
本発明の第１の実施の形態としての文書処理装置は、未知の文書構造を持つ構造化文書に対して、機械的な処理を可能とする。
【００４８】
その理由について説明する。本実施の形態では、第１の記憶部が、構造化文書に含まれる情報の構造を表すスキーマを識別するスキーマ情報、および、情報に関する制約を表すシェイプを識別するシェイプ情報を関連付けて記憶している。また、第２の記憶部が、スキーマ情報と、スキーマ情報に基づく情報を含む構造化文書に対して発行可能なクエリを表す具体クエリと、その具体クエリを抽象的に表した抽象クエリとを関連付けて記憶している。そして、推論部が、処理対象の構造化文書に含まれる情報に未知のスキーマ情報が適用されている場合に、その情報に適用されているシェイプ情報を特定する。そして、推論部が、第１の記憶部において、その情報に適用されているシェイプ情報に対して継承関係を持つシェイプ情報に関連付けられたスキーマ情報を、関連スキーマ情報として決定する。そして、クエリ決定部には、処理対象の構造化文書に対する抽象クエリが入力される。すると、クエリ決定部が、第２の記憶部において、入力された抽象クエリと関連スキーマ情報とに関連付けられた具体クエリを、処理対象の構造化文書に対して発行する具体クエリとして決定するからである。
【００４９】
このように、本実施の形態では、シェイプ情報の継承関係を用いて、未知のスキーマ情報に対して関連性がある既知のスキーマ情報を決定することができる。関連性があるとして決定された既知のスキーマ情報は、未知のスキーマ情報に対して部分的に一致する構造を有する可能性が高い。このため、本実施の形態は、未知のスキーマ情報が適用された情報を含む構造化文書に対して、関連性がある既知のスキーマ情報に関連付けて蓄積された具体クエリを発行することができる。その結果、本実施の形態は、未知のスキーマ情報が適用された情報を含む構造化文書に対して、データの抽出や登録といった処理を、新たにソフトウェアを設計することなく、行うことができる。
【００５０】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００５１】
まず、本発明の第２の実施の形態としての文書処理装置２の構成を図４に示す。図４において、文書処理装置２は、本発明の第１の実施の形態としての文書処理装置１に対して、推論部１３に替えて推論部２３と、クエリ決定部１４に替えてクエリ決定部２４とを備える点が異なる。
【００５２】
ここで、文書処理装置２およびその各機能ブロックは、図２を参照して説明した本発明の第１の実施の形態のハードウェア要素によって構成可能である。ただし、文書処理装置２およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００５３】
推論部２３は、本発明の第１の実施の形態における推論部１３と同様に構成されることに加えて、次のように構成される。すなわち、推論部２３は、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報と、該情報に適用されているスキーマ情報とを関連付けて、第１の記憶部１１に登録する。なお、登録するとは、第１の記憶部１１に記憶させることをいう。これにより、処理対象の構造化文書において未知だったスキーマ情報は、シェイプ情報と関連付けられた既知のスキーマ情報となる。
【００５４】
また、推論部２３は、関連スキーマ情報が決定された処理対象の構造化文書に含まれる情報に適用されているシェイプ情報と、関連スキーマ情報とを関連付けて、第１の記憶部１１に登録する。これにより、推論部２３は、以降の処理対象の構造化文書において未知のスキーマ情報が適用されている情報に、今回のシェイプ情報を継承したシェイプ情報が適用されていれば、迅速に関連スキーマ情報を取得可能となる。
【００５５】
なお、この場合、第１の記憶部１１には、同一のシェイプ情報について、異なるスキーマ情報が関連付けられた複数の登録が記憶されるケースが発生する。すなわち、異なるスキーマ情報の一方は、今回の処理対象の構造化文書に含まれる情報に適用されていた未知だったスキーマ情報であり、他方は、未知だったスキーマ情報に対する関連スキーマ情報として決定されたスキーマ情報である。このような場合、推論部２３は、以降の処理対象の構造化文書に含まれる情報に、該当するシェイプ情報が適用されている場合、その関連スキーマ情報として、複数のスキーマ情報のいずれかを決定してもよい。あるいは、推論部２３は、以降の処理対象の構造化文書に含まれる情報に、該当するシェイプ情報が適用されている場合、その関連スキーマ情報として、複数のスキーマ情報を決定してもよい。そして、その場合、クエリ決定部２４は、関連スキーマ情報のそれぞれを用いて、第２の記憶部１２から具体クエリを検索し、そのうち適切な具体クエリを選択すればよい。
【００５６】
クエリ決定部２４は、本発明の第１の実施の形態におけるクエリ決定部１４と同様に構成されることに加えて、次のように構成される。ここで、第２の記憶部１２において、処理対象の構造化文書に含まれる情報について入力された抽象クエリと、関連スキーマ情報とに関連付けられた具体クエリが記憶されていない場合がある。このような場合に、クエリ決定部２４は、外部から入力された具体クエリを、処理対象の構造化文書に対して発行する具体クエリとして決定する。この場合、具体クエリは、例えば、入力装置１００４を介して入力される。
【００５７】
また、クエリ決定部２４は、処理対象の構造化文書に含まれる情報に対して決定した具体クエリと、該情報に適用されているスキーマ情報と、該情報について入力された抽象クエリとを、関連付けて第２の記憶部１２に登録する。なお、登録するとは、第２の記憶部１２に記憶させることをいう。これにより、もし、該情報に未知のスキーマ情報が適用されていた場合には、クエリ決定部２４は、未知だったスキーマ情報を既知として、抽象クエリおよび具体クエリを蓄積できる。また、もし、該情報に既知のスキーマ情報が適用されていた場合には、クエリ決定部２４は、既知のスキーマ情報に対して、それまで蓄積されていなかった抽象クエリおよび具体クエリを、追加して蓄積できる。
【００５８】
以上のように構成された文書処理装置２の動作について、図５を参照して説明する。
【００５９】
図５では、まず、文書処理装置２は、ステップＳ１〜Ｓ５まで、本発明の第１の実施の形態と同様に動作して、未知のスキーマ情報の関連スキーマ情報を決定する。
【００６０】
次に、推論部２３は、処理対象の構造化文書に含まれる情報について、該情報に適用されているシェイプ情報と、該情報に適用されているスキーマ情報とを関連付けて、第１の記憶部１１に登録する。また、推論部２３は、該情報に適用されているシェイプ情報と、決定された関連スキーマ情報とを関連付けて、第１の記憶部１１に登録する（ステップＳ１１）。
【００６１】
次に、文書処理装置２は、ステップＳ６〜Ｓ７まで、本発明の第１の実施の形態と同様に動作して、入力された抽象クエリと、関連スキーマ情報または既知のスキーマ情報とに関連付けられた具体クエリを検索する。
【００６２】
ここで、そのような具体クエリが得られなかった場合（ステップＳ８でＮｏ）、クエリ決定部２４は、処理対象の構造化文書に含まれる情報に対する具体クエリを、入力として取得する（ステップＳ１３）。
【００６３】
そして、クエリ決定部２４は、入力された具体クエリと、該情報に適用されているスキーマ情報と、ステップＳ６で入力された抽象クエリとを関連付けて、第２の記憶部１２に登録する（ステップＳ１４）。
【００６４】
一方、該当する具体クエリが得られた場合（ステップＳ８でＹｅｓ）、クエリ決定部２４は、ステップＳ１４を実行する。すなわち、クエリ決定部２４は、得られた具体クエリと、該情報に適用されているスキーマ情報と、ステップＳ６で入力された抽象クエリとを関連付けて、第２の記憶部１２に登録する（ステップＳ１４）。
【００６５】
次に、クエリ決定部２４は、ステップＳ７で得られた具体クエリまたはステップＳ１３で入力された具体クエリを、処理対象の構造化文書に対して発行する具体クエリとして決定する（ステップＳ１５）。
【００６６】
以上で、文書処理装置２は、動作を終了する。
【００６７】
次に、文書処理装置２の動作を具体例で示す。
【００６８】
この具体例では、第２の記憶部１２に、図６に示すように、スキーマ情報と、抽象クエリと、具体クエリとが関連付けられて記憶されている。
【００６９】
なお、図６以降の図面および以下の説明において、「ｘｘｘｘ（ｈｔｔｐ：／／ｙｙｙｙ）」は、（）内に記述されたＵＲＩによりスキーマまたはシェイプを識別するスキーマ情報またはシェイプ情報を表す。また、このＵＲＩは、スキーマまたはシェイプを識別することに加えて、その定義内容の格納場所を表している。また、「ｘｘｘｘ」は、そのＵＲＩの一部をプレフィックスの定義により簡略化した表記である。また、スキーマ情報またはシェイプ情報「ｘｘｘｘ（ｈｔｔｐ：／／ｙｙｙｙ）」を、単に「ｘｘｘｘ」とも記載する。
【００７０】
図６に示す具体クエリは、スキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」が適用された情報を含むＲＤＦ構造化文書に対して発行可能なクエリである。この具体クエリの対象となるＲＤＦ構造化文書の具体例を図７に示す。
【００７１】
図７のＲＤＦ構造化文書について説明する。このＲＤＦ構造化文書は、Ｔｕｒｔｌｅ言語で記述されている。図７では、リソース「＜ａｌｉｃｅ＞」が、スキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」を用いて表現されている。また、リソース「＜ａｌｉｃｅ＞」には、シェイプ情報「ｆｏａｆ＿ｓｈａｐｅ」が適用されている。なお、あるリソースに適用されているスキーマ情報は、そのリソースのタイプを指定しているＲＤＦトリプルの目的語によって示されている。また、あるリソースに適用されているシェイプ情報は、そのリソースの「ｉｎｓｔａｎｃｅＳｈａｐｅ」属性の値によって示されている。
【００７２】
図６の具体クエリについて説明する。この具体クエリは、図７においてスキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」が適用されたリソースの「ｈｏｌｄｓＡｃｃｏｕｎｔ」属性の値に指定されたリソースのうち、スキーマ情報「ｆｏａｆ：ＯｎｌｉｎｅＡｃｃｏｕｎｔ」が適用されたリソースを検索する。そして、この具体クエリは、検索したリソースのうち、「ａｃｃｏｕｎｔＳｅｒｖｉｃｅＨｏｍｅｐａｇｅ」属性の値が「ｈｔｔｐ：／／ｔｗｉｔｔｅｒ．ｃｏｍ」であるものについて、「ａｃｃｏｕｎｔＰｒｏｆｉｌｅＰａｇｅ」属性の値を抽出する。なお、図６の具体クエリは、ＲＤＦ構造化文書に対するクエリ言語の１つであるＤｉｅｓｅｌ言語によって記述されている。Ｄｉｅｓｅｌ言語は、ＲＤＦ構造化文書に対する標準化されたクエリ言語ＳＰＡＲＱＬ（SPARQL Protocol and RDF query Language）について、簡易な記述方法を提供するＤＳＬ（domain-specific language）の１つである。
【００７３】
また、図６の抽象クエリについて説明する。この抽象クエリ「＜？ｔｗｉｔｔｅｒ＞」は、上述した具体クエリを抽象的に表している。つまり、この抽象クエリは、構造化文書から、ｔｗｉｔｔｅｒ（登録商標）のアカウントを抽出する処理を抽象的に表している。
【００７４】
また、この具体例では、第１の記憶部１１に、図８に示すように、シェイプ情報「ｆｏａｆ＿ｓｈａｐｅ」およびスキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」が関連付けられて記憶されている。
【００７５】
このように、図７のＲＤＦ構造化文書は、既知のスキーマ情報が適用された情報を含んでいる。
【００７６】
上述した情報が、第１の記憶部１１および第２の記憶部１２に記憶されている状態で、推論部２３は、処理対象の構造化文書として、図９に示すＲＤＦ構造化文書を取得したとする（ステップＳ１）。
【００７７】
図９では、リソース「＜ｂｏｂ＞」が、スキーマ情報「ｍｙ＿ｆｏａｆ：Ｐｅｒｓｏｎ」を用いて表現されている。前述したように、あるリソースに適用されているスキーマ情報は、そのリソースのタイプを指定しているＲＤＦトリプルの目的語から取得可能である。ここで、スキーマ情報「ｍｙ＿ｆｏａｆ：Ｐｅｒｓｏｎ」は、図８の第１の記憶部１１にも図６の第２の記憶部１２にも記憶されておらず、未知のスキーマ情報である（ステップＳ２でＹｅｓ）。
【００７８】
ここで、この未知のスキーマ情報「ｍｙ＿ｆｏａｆ：Ｐｅｒｓｏｎ」は、実際には、既知のスキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」を拡張して定義されたものである。ところが、スキーマ情報「ｍｙ＿ｆｏａｆ：Ｐｅｒｓｏｎ」の定義内容からは、「ｆｏａｆ：Ｐｅｒｓｏｎ」を拡張して作成されたものであることを知ることはできない。
【００７９】
そこで、推論部２３は、未知のスキーマ情報が適用されたリソース「＜ｂｏｂ＞」に適用されているシェイプ情報「ｆｏａｆ＿ｍｙ＿ｓｈａｐｅ」を取得する（ステップＳ３）。前述したように、あるリソースに適用されているシェイプ情報は、そのリソースの「ｉｎｓｔａｎｃｅＳｈａｐｅ」属性の値から取得可能である。
【００８０】
次に、推論部２３は、このシェイプ情報「ｆｏａｆ＿ｍｙ＿ｓｈａｐｅ」に対して、継承関係を持つシェイプ情報を検索する。具体的には、推論部２３は、このシェイプ情報のＵＲＩ「ｈｔｔｐ：／／ｓｏｍｅｕｒｌ．ｃｏｍ／ｎａｍｅ＃ｆｏａｆ＿ｍｙ＿ｓｈａｐｅ」にアクセスすることにより、図１０に示すようなシェイプの定義内容を取得したとする。
【００８１】
図１０によれば、シェイプ情報「ｓｈａｐｅ＿ｍｙ＿ｆｏａｆ」は、シェイプ情報「ｆｏａｆ＿ｓｈａｐｅ」を継承して定義されていることがわかる。このことは、シェイプの定義内容における「ｅｘｔｅｎｄｓＳｈａｐｅ」属性の値を参照することにより解析可能である。また、このシェイプ情報「ｆｏａｆ＿ｓｈａｐｅ」は、第１の記憶部１１に記憶されている。
【００８２】
そこで、推論部２３は、第１の記憶部１１において、このシェイプ情報「ｆｏａｆ＿ｓｈａｐｅ」に関連付けられたスキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」を取得する（ステップＳ４）。
【００８３】
そして、推論部２３は、未知のスキーマ情報「ｆｏａｆ＿ｍｙ＿ｓｈａｐｅ」に対する関連スキーマ情報として「ｆｏａｆ：Ｐｅｒｓｏｎ」を決定する（ステップＳ５）。
【００８４】
次に、推論部２３は、第１の記憶部１１に、シェイプ情報「ｆｏａｆ＿ｍｙ＿ｓｈａｐｅ」と、スキーマ情報「ｍｙ＿ｆｏａｆ：Ｐｅｒｓｏｎ」とを関連付けて登録する。また、推論部２３は、第１の記憶部１１に、シェイプ情報「ｆｏａｆ＿ｍｙ＿ｓｈａｐｅ」と、関連スキーマ情報「ｆｏａｆ：Ｐｅｒｓｏｎ」とを関連付けて登録する（ステップＳ１１）。
【００８５】
次に、クエリ決定部２４は、抽象クエリとして、ｔｗｉｔｔｅｒのアカウントを抽出することを表す「＜？ｔｗｉｔｔｅｒ＞」を取得する（ステップＳ６）。
【００８６】
次に、クエリ決定部２４は、第２の記憶部１２において、抽象クエリ「＜？ｔｗｉｔｔｅｒ＞」と、関連スキーマ情報「ｆｏａｆ＿ｓｈａｐｅ」とに関連付けられた具体クエリを検索する（ステップＳ７）。
【００８７】
ここで、第２の記憶部１２には、図６に示した情報が記憶されている。そこで、クエリ決定部２４は、該当する具体クエリとして、図６に示した具体クエリを得る（ステップＳ８でＹｅｓ）。
【００８８】
そして、クエリ決定部２４は、スキーマ情報「ｍｙ＿ｆｏａｆ：Ｐｅｒｓｏｎ」と、抽象クエリ「＜？ｔｗｉｔｔｅｒ＞」と、図６に示した具体クエリとを関連付けて第２の記憶部１２に登録する（ステップＳ１４）。
【００８９】
最後に、クエリ決定部２４は、検索した具体クエリを、図９のＲＤＦ構造化文書に対する具体クエリとして決定し、発行する（ステップＳ１５）。
【００９０】
以上で、文書処理装置２の具体的な動作の説明を終了する。
【００９１】
次に、本発明の第２の実施の形態の効果について述べる。
【００９２】
本発明の第２の実施の形態としての文書処理装置は、未知の文書構造について具体クエリを決定することができ、さらに、未知であった文書構造を、以降、既知の文書構造として、その具体クエリを迅速に決定することができる。
【００９３】
その理由について説明する。本実施の形態では、本発明の第１の実施の形態と同様の構成に加えて、推論部が、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報およびスキーマ情報を関連付けて、第１の記憶部に登録する。また、推論部が、処理対象の構造化文書に含まれる情報に適用されているシェイプ情報と、決定した関連スキーマ情報とを関連付けて、第１の記憶部に登録する。また、第２の記憶部に、入力された抽象クエリと、関連スキーマ情報とに関連付けられた具体クエリが記憶されていない場合には、クエリ決定部が、処理対象の構造化文書に対して発行する具体クエリを、入力として取得する。そして、クエリ決定部が、処理対象の構造化文書に含まれる情報に適用されているスキーマ情報と、入力された抽象クエリおよび決定された具体クエリとを関連付けて、第２の記憶部に登録するからである。
【００９４】
これにより、本実施の形態は、未知だったスキーマ情報が適用された情報を含む以降の処理対象の構造化文書について、既知のスキーマ情報が適用された情報を含むものとして処理できる。その結果、本実施の形態は、そのような以降の処理対象の構造化文書について、より迅速に具体クエリを決定できる。
【００９５】
また、本実施の形態は、未知だったスキーマ情報に対応して適用されていたシェイプ情報を継承したシェイプ情報が適用された情報を含む以降の処理対象の構造化文書について、関連スキーマ情報を迅速に決定できる。その結果、本実施の形態は、そのような以降の処理対象の構造化文書について、より迅速に具体クエリを決定できる。
【００９６】
また、本実施の形態は、処理対象の構造化文書において未知だったスキーマ情報についてその具体クエリを関連付けて登録するとともに、既知のスキーマ情報についても新たな具体クエリを関連付けて追加登録することになる。このように、本実施の形態は、処理対象の構造化文書について具体クエリを決定しながら、スキーマ情報およびクエリの組を追加して蓄積していく。その結果、本実施の形態は、未知のスキーマ情報が適用された情報を含む以降の処理対象の構造化文書に対して発行可能な具体クエリとして、より適切なクエリを決定できる。
【００９７】
なお、上述した本発明の各実施の形態において、構造化文書に含まれる情報に適用されるスキーマ情報が１つである例を中心に説明した。これに限らず、本実施の形態は、構造化文書に含まれる情報に複数のスキーマ情報が適用される場合や、異なるスキーマ情報が適用された複数の情報が含まれる場合にも実施可能である。その場合、本実施の形態は、複数のスキーマ情報のそれぞれについて、本実施の形態と同様に動作すればよい。
【００９８】
また、上述した本発明の各実施の形態において、構造化文書がＲＤＦ構造化文書である例について説明した。これに限らず、構造化文書は、その他の形式の構造化文書であってもよい。なお、本実施の形態は、スキーマ情報の継承関係を得ることは難しいが、シェイプ情報の継承関係を得ることが可能な形式の構造化文書を処理対象とする場合に、特に上述の効果を奏する。
【００９９】
また、上述した本発明の各実施の形態において、ＲＤＦ構造化文書およびその具体クエリが、特定の言語により記述された例を示した。これに限らず、構造化文書として、他の言語により記述されたＲＤＦ構造化文書および具体クエリを採用してもよい。
【０１００】
また、上述した本発明の各実施の形態において、文書処理装置およびその各機能ブロックは、複数の装置に分散されて実現されてもよい。
【０１０１】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した文書処理装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータの記憶装置（記憶媒体）に格納しておいてもよい。そして、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【０１０２】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０１０３】
以上、上述した各実施の形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した各実施の形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１０４】
この出願は、２０１５年１２月８日に出願された日本出願特願２０１５−２３９０８９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１０５】
１、２    文書処理装置
１１    第１の記憶部
１２    第２の記憶部
１３、２３    推論部
１４、２４    クエリ決定部
１００１    ＣＰＵ
１００２    メモリ
１００３    出力装置
１００４    入力装置
１００５    ネットワークインタフェース
【図１】
2017099059.tif 000003
【図２】
2017099059.tif 000004
【図３】
2017099059.tif 000005
【図４】
2017099059.tif 000006
【図５】
2017099059.tif 000007
【図６】
2017099059.tif 000008
【図７】
2017099059.tif 000009
【図８】
2017099059.tif 000010
【図９】
2017099059.tif 000011
【図１０】
2017099059.tif 000012
【国際調査報告】
2017099059.tif 000013
2017099059.tif 000014