(57)【要約】【課題】幾通りもある複雑な構造パターンの候補を自動生成し、目的に合った構造パターンの選択を容易にする構造パターン候補生成システムを提供する。【解決手段】ユーザにより指示された、構造化文書の文書論理構造中の要素または要素群を指す構造パターンがシステムに与えられると、編集対象階項決定手段は、当該構造パターンを構成する項のうち、編集対象となる編集対象項を決定する。構造パターン候補生成手段は、構造化文書の文書論理構造情報を基に、編集対象項を異なる表現の項に編集し、構造パターン候補を生成する。構造パターン候補一覧生成手段は、ユーザに選択基準を与えるための表示指標に従って、生成された構造パターン候補を並び替え、構造パターン候補一覧を生成する。構造パターンについてユーザにより指定された編集希望項がシステムに与えられる場合、編集対象項決定手段は、当該編集希望項を編集対象項として決定する。【選択図】  図２
2004234354.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書内の要素または要素群を指す構造パターンの候補を生成する方法であって、
構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を用意するステップと、
ユーザにより指示された、前記構造化文書内の要素または要素群を指す構造パターンを受付けるステップと、
前記構造パターンを構成する項のうち編集対象となる編集対象項を決定するステップと、
前記文書論理構造情報を基に、前記編集対象項を異なる表現の項に編集することにより構造パターン候補を生成するステップと、
前記表示指標にしたがって、生成された前記構造パターン候補を並び替え、構造パターン候補一覧を生成するステップと、
を含む構造パターン候補を生成する方法。
【請求項２】
前記編集対象項を決定するステップは、前記構造パターンについてユーザにより指示された編集希望項を受付けるステップと、当該編集希望項を編集対象項として決定するステップとを含む、請求項１記載の構造パターン候補を生成する方法。
【請求項３】
前記表示指標は、前記構造化文書において、前記生成された構造パターン候補が指す要素群とユーザにより指示された前記構造パターンが指す要素群との包含関係を示す指標を含む、請求項１または２いずれかの請求項記載の構造パターン候補を生成する方法。
【請求項４】
前記表示指標は、生成された前記構造パターン候補の特徴を示すカウント可能な特徴量を含む、請求項１乃至３いずれかの請求項記載の構造パターン候補を生成する方法。
【請求項５】
前記文書論理構造情報を用意するステップは、前記構造化文書および当該構造化文書の文書型定義の少なくとも一方を用意するステップを含む、請求項１乃至４いずれかの請求項記載の構造パターン候補を生成する方法。
【請求項６】
構造化文書内の要素または要素群を指す構造パターンの候補を生成するシステムであって、
構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を記憶する記憶装置と、
ユーザにより指示された、前記構造化文書内の要素または要素群を指す構造パターンを受付ける手段と、
前記構造パターンを構成する項のうち編集対象となる編集対象項を決定する手段と、
前記文書論理構造情報を基に、前記編集対象項を異なる表現の項に編集することにより構造パターン候補を生成する手段と、
前記表示指標にしたがって、生成された前記構造パターン候補を並べ替え、構造パターン候補一覧を生成する手段と、
を含む構造パターン候補を生成するシステム。
【請求項７】
前記編集対象項を決定する手段は、前記構造パターンについてユーザにより指示された編集希望項を受付ける手段と、当該編集希望項を編集対象項として決定する手段とを含む、請求項６記載の構造パターン候補を生成するシステム。
【請求項８】
前記表示指標は、前記構造化文書において、前記生成された構造パターン候補が指す要素群とユーザにより指示された前記構造パターンが指す要素群との包含関係を示す指標を含む、請求項６または７いずれかの請求項記載の構造パターン候補を生成するシステム。
【請求項９】
前記表示指標は、生成された前記構造パターン候補の特徴を示すカウント可能な特徴量を含む、請求項６乃至８いずれかの請求項記載の構造パターン候補を生成するシステム。
【請求項１０】
前記記憶装置は、前記文書論理構造情報として、前記構造化文書および当該構造化文書の文書型定義の少なくとも一方を記憶する、請求項６乃至９いずれかの請求項記載の構造パターン候補を生成するシステム。
【請求項１１】
構造化文書内の要素または要素群を指す構造パターンの候補を生成するためのプログラムであって、該プログラムがコンピュータに、
構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を用意する機能、
ユーザにより指示された、前記構造化文書内の要素または要素群を指す構造パターンを受付ける機能、
前記構造パターンを構成する項のうち編集対象となる編集対象項を決定する機能、
前記文書論理構造情報を基に、前記編集対象項を異なる表現の項に編集することにより構造パターン候補を生成する機能、および
前記表示指標にしたがって、生成された前記構造パターン候補を並べ替え、構造パターン候補一覧を生成する機能を実現させる構造パターン候補生成プログラム。
【請求項１２】
ＸＭＬ文書内の要素または要素群を指すＸＰａｔｈの候補を生成する方法であって、
ＸＭＬ文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を用意するステップと、
ユーザにより指示された、前記ＸＭＬ文書内の要素または要素群を指すＸＰａｔｈを受付けるステップと、
前記ＸＰａｔｈを構成するロケーションステップのうち編集対象となるロケーションステップを決定するステップと、
前記文書論理構造情報を基に、決定された前記ロケーションステップを異なる表現のロケーションステップに編集することによりＸＰａｔｈ候補を生成するステップと、
前記表示指標にしたがって、生成された前記ＸＰａｔｈ候補を並び替え、ＸＰａｔｈ候補一覧を生成するステップと、
を含むＸＰａｔｈ候補を生成する方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、構造化文書内の要素または要素群を指す構造パターンの候補を生成する方法、システムおよびプログラムに関する。
【０００２】
【従来の技術】構造化文書とは、文書要素と要素間の論理的な関係（文書論理構造）を伴う文書である。構造化文書としては、例えばＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書あるいはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書がある。ＳＧＭＬはＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  Ｏｒｇａｎｉｚａｔｉｏｎ）で定められた規格である。一方、ＸＭＬは、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）で定められた規格である。ＸＭＬは、ＳＧＭＬの一部の機能を継承しつつインターネットにおける文書フォーマットの実質的な標準であるＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）による運用の問題を踏まえて制定されものである。
【０００３】ところで、このような構造化文書では、文書の変換・加工処理が重要である。例えば、近年、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）や携帯電話にもウェブ・ブラウザが搭載されるようになったが、これら小型携帯端末には、一般に、表示領域の限られた画面や低速な通信手段しか装備されない。そのため、ＸＭＬ準拠のアノテーション（注釈）言語を使用して、デスクトップＰＣ用ＨＴＭＬ文書から小型ディスプレイでの表示に適した内容だけを抽出する加工処理が行われる。また、ＸＭＬで記述されたコンテンツをＨＴＭＬ対応のブラウザに表示し、あるいは企業間で異なるフォーマットのデータを容易に交換することが強く望まれている。そのため、ＸＳＬＴ（ＸＳＬ  Ｔｒａｎｓｆｏｍａｔｉｏｎｓ）を用いて、ＸＭＬで記述されたコンテンツをＨＴＭＬやＰＤＦによる表示形式へ変換する処理や、ＸＭＬ文書の変形が行われる。なお、ＸＭＬ文書用のスタイルシート言語であるＸＳＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅｓｈｅｅｔ  Ｌａｎｇｕａｇｅ）は、書式化の対象であるＸＭＬ文書の構造変換と、得られる書式の意味を記述するための語彙から構成されているが、上述したＸＳＬＴは、このうち構造変換の部分を実現する技術を指す。
【０００４】このような構造化文書の変換・加工処理において、変換・加工処理の対象となる要素は、構造パターンにより指示される。ここで、構造パターンとは、構造化文書の文書論理構造中の要素を指し示す表現を意味するが、本明細書において用いられる用語「構造パターン」とは、対象とする構造の階層／階層群を指定する階層指定子と、当該階層において選択されるべき要素／要素群を指示する要素パターンとからなる階層指示項の、列からなる表現である。なお、これ以後は、階層指示項を単に「項」と呼ぶ。例えば、ＸＭＬの構造パターンとしてＷ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）により定められたＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）が挙げられる。ＸＰａｔｈでは、項は、ロケーションステップと呼ばれる。なお、ＸＰａｔｈについては、構造パターンの具体例として、後に詳述する。
【０００５】しかしながら、構造パターンによる処理対象の指示には次の問題がある。すなわち、対象となる構造化文書が変更されると、構造パターンは元の要素を指さなくなることが起こり得るという問題である。そのため、元の構造化文書の変更にあわせて、構造パターンを変更する必要がある。しかしながら、かかるメンテナンスは人手によって行われるため、多大な労力を要する。対象となる構造化文書が、インターネットを介してアクセスされるＨＴＭＬ文書等の場合、その内容は日々変更され変化していくため、この問題による影響は大きい。
【０００６】かかる問題を回避する従来技術として、指示対象となる各要素に一意の識別子を付与する方法がある。例えば、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）によって開発されたＷｅｂオーサリングツールであるＡｍａｙａでは、ＩＤ属性を用いて要素を指定する（非特許文献１参照）。このＩＤ属性による要素指定は、その要素自身が削除されない限り、文書の変更等の影響を受けない。しかしながら、ＩＤを利用した要素指定は編集コストがかかり、現実的な解決方法とはいえない。
【０００７】また、別の従来技術として、文書変更後に構造パターンを当該変更に適応させる方法がある（非特許文献２参照）。この方法では、元の要素は、当該要素の名前を手掛かりとして、文書の階層構造を所定の方針に従い辿ることにより検索される。しかしながら、所定の方針、すなわち、検索範囲や検索順序を指示する所定の方針を、どのように決定するかについて問題が残る。
【０００８】ところで、構造化文書内の特定の要素を指す構造パターンは１つとは限らない。具体例を挙げて以下に説明する。図１５（ａ）は、ある構造化文書の階層構造をツリー形式で表したものである。ドキュメント順、すなわち文書中の出現順位は、要素Ｒ１３０、要素Ａ１３１、要素Ｂ１３２、要素Ｃ１３３、要素Ｄ１３４である。図１５（ａ）中に示される要素Ｄ１３４を指し示す構造パターンは、１つには、親から子へと順次辿っていくものが考えられる。すなわち、「Ｒという名前の要素の、Ａという名前の子要素の、更に、Ｂという名前の子要素の、Ｄという名前の子要素」と表現される構造パターンである。後に詳述するＸＰａｔｈの表記法に従えば、「／ｃｈｉｌｄ：：Ｒ［１］／ｃｈｉｌｄ：：Ａ［１］／ｃｈｉｌｄ：：Ｂ［１］／ｃｈｉｌｄ：：Ｄ［１］」と表せる（第１の構造パターン）。また、要素Ｄ１３４を指し示す他の構造パターンとして、要素Ｒ１３０から一足飛びに要素Ｄ１３４を指示することもできる。この場合、要素Ｒ１３０から見た要素Ｄ１３４はその子孫にあたるため、「Ｒという名前の要素の、Ｄという名前の孫要素」と表現できる。ＸＰａｔｈの表記法に従えば「／ｃｈｉｌｄ：：Ｒ［１］／ｄｅｓｃｅｎｄａｎｔ：：Ｄ［１］」と表せる（第２の構造パターン）。同様に、要素Ｂ１３２のみを飛び越した場合は、「Ｒという名前の要素の、Ａという名前の子要素の、Ｄという名前の孫要素」と表現できる。ＸＰａｔｈの表記法に従えば「／ｃｈｉｌｄ：：Ｒ［１］／ｃｈｉｌｄ：：Ａ［１］／ｄｅｓｃｅｎｄａｎｔ：：Ｄ［１］」と表せる（第３の構造パターン）。
【０００９】上記３つの構造パターンは、何れも要素Ｄ１３４を指し示すが、後者２つの構造パターンは、上述した文書の変更に対して耐久性を有する。例えば、文書の変更により要素Ｂ１３２が削除され、その結果、要素Ｃ１３３、要素Ｄ１３４が要素Ａ１３１の子要素になったとする（図１５（ｂ）参照）。この場合、第１の構造パターンは、文書内に存在しない要素を指すこととなる。一方、後者２つの構造パターンは、依然として要素Ｄ１３４を指し続ける。更に、後者２つの構造パターンについても、その耐久性の内容に違いがある。例えば、要素Ｄ１３４と同じ名前の要素Ｄ１３５を、要素Ｒ１３０の真下に出現順が要素Ａ１３１よりも先となるように追加したとする（図１５（ｃ）参照）。この場合、第２の構造パターンは、要素Ｒ１３０の、Ｄという名前の最初の孫要素を指すため、新たに追加された要素Ｄ１３５を指してしまう。これに対し、第３の構造パターンは、要素Ｒ１３０の、要素Ａ１３１の、Ｄという名前の最初の孫要素を指すため、元の要素Ｄ１３４を正確に指し続ける。
【００１０】このように、耐久性ある構造パターンを用いることにより、上述の文書の変更の問題を解決することができる。しかしながら、耐久性ある構造パターンは、親から子へと順次辿っていく構造パターン（以下「固定パス」と呼ぶ）のように単純なものではなく、その作成は困難を要する。また、耐久性ある構造パターンは幾通りも存在するため、将来起こり得る文書の変更に最も適した構造パターンを選択することは難しい。
【００１１】それにもかかわらず、従来技術では、耐久性のある構造パターンを作成するための編集環境は提供されていない。例えば、ＸＳＬＴ編集システムとして、ｅＸｃｅｌｏｎ社の「ｅＸｃｅｌｏｎ  Ｓｔｙｌｕｓ」（ｈｔｔｐ：／／ｗｗｗ．ｅｘｃｅｌｏｎｃｏｒｐ．ｃｏｍ）、Ａｌｔｏｖａ社の「ＸＭＬ  Ｓｐｙ」（ｈｔｔｐ：／／ｗｗｗ．ｘｍｌｓｐｙ．ｃｏｍ）、ＩＢＭ社の「ＩＢＭ  ＸＳＬ  Ｅｄｉｔｏｒ」（ｈｔｔｐ：／／ｗｗｗ．ａｌｐｈａｗｏｒｋｓ．ｉｂｍ．ｃｏｍ／ｔｅｃｈ／ｘｓｌｅｄｉｔｏｒ）等がある。これら編集環境では、ＸＰａｔｈを自動生成する機能はあるものの、生成されるＸＰａｔｈは、親から子へと順次辿っていく単純な固定パスに限定されている。したがって、耐久性ある構造パターンを生成するためには、ユーザは、直接文字列を入力し、あるいは、メニューによる補助的なツールを利用して、固定パスを編集する必要がある。そのため、幾通りもある複雑な構造パターンを生成することは難しい。また、ユーザには構造パターンに関する詳しい知識が要求される。
【００１２】また、ユーザに検索結果の１例を例示させ、ユーザの例示によって得られた構造化文書の部分構造が検索結果に含まれるような構造パターンを自動作成する技術がある（特許文献１参照）。しかしながら、当該技術は、例示によって得られた構造化文書の部分構造を単に含むか含まないかだけで構造パターンが正しい、正しくないとしており、耐久性のある構造パターンの作成を積極的に支援するものではない。これは、当該技術が構造化文書の内部構造や構造パターンの文法を知らないユーザでも意図した構造パターンを容易に得ることのみを目的としているからである。したがって、自動作成される構造パターンは、耐久性ある構造パターンであるとは限らない。また、自動作成された構造パターンが耐久性を有するか否かを知るために、ユーザに構造パターンに関する詳しい知識が要求される点に変わりはない。
【００１３】更に、構造化文書の内容によっては、将来変更が行われる部分をある程度予測することができる。したがって、構造パターンのうち、将来変更が行われると予測される部分を編集希望項として指定し、当該部分を耐久性ある表現で補完できれば、ユーザは幾通りもある構造パターンから、目的に適った構造パターンのみを迅速に取得することができる。
【００１４】この点、ツリー構造を有するＵＮＩＸ（Ｒ）のファイルシステムを扱うユーザ・インターフェース（シェルなど）では、ファイルパス補完機能を提供する。ＵＮＩＸ（Ｒ）のファイルパスは各ファイル階層を「／」で区切り、各ディレクトリ、ファイルを文字列として表示する。そして、ｂａｓｈ（Ｂｏｕｒｎｅ  Ａｇａｉｎ  ＳＨｅｌｌ）を使用する環境下では、例えば、ｌｓ  ／ｈｏｍｅ／ｕｓｅｒと入力した後、続けてＴａｂキーを押すと、／ｈｏｍｅ／ｕｓｅｒ１  、ｈｏｍｅ／ｕｓｅｒ２、…といった具合に、／ｈｏｍｅ／以下のディレクトリやファイルが表示され、ファイルパスが自動的に補完される。しかしながら、このファイルパス補完機能は、ファイルパスを前から後ろへ補完するものであり、ユーザは、パス内の基点となる階層から欲しい情報の存在する階層まで全て辿らなければならなく、パス内のある階層を指定し、当該階層のみを自動的に補完することはできない。
【００１５】
【特許文献１】
特開平７−２２５７７１号公報
【非特許文献１】イレネ  ヴァトン（Ｉｒｅｎｅ  Ｖａｔｔｏｎ）、外７名、“アノテーション  イン  アマヤ（Ａｎｎｏｔａｔｉｏｎｓ  ｉｎ  Ａｍａｙａ）”、［ｏｎｌｉｎｅ］、平成１４年１２月、Ｗ３Ｃ、［平成１５年１月１４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／Ａｍａｙａ／Ｕｓｅｒ／Ａｎｎｏｔａｔｉｏｎｓ．ｈｔｍｌ＞
【非特許文献２】トーマス・エー・フェルプス（Ｔｏｍａｓ  Ａ．  Ｐｈｅｌｐｓ）およびロバート・ウィレンスキー（Ｒｏｂｅｒｔ  Ｗｉｌｅｎｓｋｙ）、“ロバスト  イントラ・ドキュメント  ロケーションズ（Ｒｏｂｕｓｔ  ｉｎｔｒａ−ｄｏｃｕｍｅｎｔ  ｌｏｃａｔｉｏｎｓ）”、［ｏｎｌｉｎｅ］、平成１２年  第９回ワールド・ワイド・ウェブ・カンファレンス（ｔｈｅ  ９ｔｈ  Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｆｅｒｅｎｃｅ）、［平成１５年１月１４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ９．ｏｒｇ／ｗ９ｃｄｒｏｍ／３１２／３１２．ｈｔｍｌ＞
【００１６】
【発明が解決しようとする課題】よって、幾通りもある複雑な構造パターンが自動的に生成されるシステムの実現が望まれる。特に、生成された構造パターンの中から、最適な構造パターンを容易に選択することができる、構造パターン自動生成システムの実現が望まれる。このようなシステムでは、ユーザには構造パターンに関する詳細な知識が要求されず、また、編集ミスや入力ミスといった誤りを防ぐことができる。また、幾通りもの構造パターンを自動生成し、その中から、ユーザが最適な構造パターンを容易に選択することができれば、構造化文書の様々な変更に対処することが可能となり、ユーザにとって柔軟性の高いシステムが提供される。更に、構造パターンの任意の項を指定し、当該項のみを耐久性のある表現に自動編集する機能の実現が望まれる。このような機能があれば、ユーザは、編集したい項から指したい要素のある項まで全てをたどる手間が省け、目的に適った構造パターンを迅速に取得することができる。
【００１７】
【課題を解決するための手段】本願の発明の概略を説明すれば、以下の通りである。なお、本願発明により生成される構造パターンは、上述の通り、階層指定子および要素パターンとからなる階層指示項を繰り返すことにより、構造化文書内の要素あるいは要素群を指し示す表現である。
【００１８】本願発明のシステムには、編集対象項決定手段、構造パターン候補生成手段、構造パターン候補一覧生成手段が含まれる。また、当該システムは、構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を記憶する記憶装置を含む。本願発明のシステムに、ユーザにより指示された、上記構造化文書内の要素または要素群を指す構造パターンが与えられると、編集対象項決定手段により、当該構造パターンの項のうち編集対象となる編集対象項が決定される。次に、構造パターン候補生成手段により、構造化文書の文書論理構造情報を基に、編集対象項は異なる表現の項に編集され、構造パターン候補が生成される。そして、構造パターン候補一覧生成手段により、表示指標にしたがって、生成された構造パターン候補が並び替えられ、構造パターン候補一覧が生成される。最後に当該構造パターン候補一覧が表示され、ユーザに提供される。
【００１９】また、本発明の他のシステムでは、編集対象である構造パターンの項のうち、編集を希望する編集希望項をユーザから受付け、当該編集希望項を編集対象項とすることができる。
【００２０】また、本発明では、ユーザに選択基準を与えるための表示指標として、構造化文書において、生成された構造パターン候補が指す要素群と指示された構造パターンが指す要素群との包含関係を示す指標、生成された構造パターン候補の特徴を示すカウント可能な特徴量を例示できる。
【００２１】また、本発明では、構造化文書の文書論理構造情報として、構造化文書それ自体、または当該構造化文書の文書型定義を例示できる。
【００２２】本発明によれば、ユーザは構造化文書内の特定の要素または要素群を指す構造パターンをシステムに対して指示するだけで、幾通りもある複雑な構造パターンの構造パターン候補一覧を得ることができる。したがって、ユーザは入力の手間が省け、入力ミスや編集ミスといった誤りも防ぐことができる。また、構造パターン候補は表示指標にしたがって並び替えられ、構造パターン候補一覧として提供されるため、ユーザは構造パターンに関する特別な知識がなくとも構造パターンを選択する判断基準を得ることができ、目的に合った構造パターンの選択が容易になる。
【００２３】また、本発明によれば、ユーザは編集対象とする構造パターンに対して編集を希望する編集希望項を指定することができる。したがって、対象とする構造化文書の内容から将来変更が行われる部分を予測することができる場合には、当該部分を編集希望項として指定することにより、ユーザは幾通りも考え得る構造パターンから、目的に適った構造パターンのみを迅速に取得することができる。
【００２４】
【発明の実施の形態】以下、本発明の実施の形態を図面に基づいて説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【００２５】以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明は方法、システムの他、コンピュータ読取可能なプログラムとしても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。
【００２６】１．システムのハードウェア構成
図１は、本発明の方法を実現するシステムの概要を示した概念図である。本発明のシステムは、スタンドアロンのコンピュータシステムまたは複数のコンピュータシステムで構成されたコンピュータネットワークで実現できる。図１（ａ）はスタンドアロンのコンピュータ構成の概略を示し、図１（ｂ）は、コンピュータネットワークの場合を示す。
【００２７】コンピュータシステムには、中央演算慮視装置１（ＣＰＵ）、主記憶装置２（メインメモリ：ＲＡＭ）、不揮発性記憶装置３（ＲＯＭ）等を有し、バス４で相互に接続される。バス４には、その他コプロセッサ、画像アクセサレータ、キャッシュメモリ、入出力制御装置（Ｉ／Ｏ）等が接続されてもよい。また、バス４には、適当なインターフェースを介して外部記憶装置５、入力装置６、出力装置７、通信制御装置８等が接続される。その他、一般的にコンピュータシステムに備えられるハードウェア資源を備えることが可能なことは言うまでもない。
【００２８】外部記憶装置５は代表的にはハードディスク装置が例示できるが、これに限られず、光磁気記憶装置、光記憶装置、フラッシュメモリ等半導体記憶装置も含まれる。なお、データの読み出しのみに利用し得るＣＤ−ＲＯＭ等の読み出し専用記憶装置もデータあるいはプログラム読み出しにのみ適用する場合には外部記憶装置に含まれる。
【００２９】入力装置６は、キーボード等の入力装置、マウス等ポインティングデバイスを備えることができる。入力装置６には音声入力装置も含む。出力装置７としては、ＣＲＴ、液晶表示装置、プラズマ表示装置が例示できる。
【００３０】複数のコンピュータシステムで本発明を実現する場合、図１（ｂ）に示すように、各コンピュータシステムは、ＬＡＮ，ＷＡＮ等で接続されてもよく、また、インターネットを介して接続されても良い。これら接続に用いられる通信回線は、専用線、公衆回線の何れでも良い。コンピュータシステムには、パーソナルコンピュータ９、ワークステーション１０、メインフレームコンピュータ１１等各種のコンピュータが含まれる。
【００３１】コンピュータシステムが複数接続されたコンピュータネットワークにおいては、一部のプログラムをユーザのコンピュータで、一部のプログラムをリモートコンピュータで分散的に処理を実行できる。またプログラムで利用されるデータは、それがどのコンピュータに記憶されているかは問われない。つまり、データの所在に関する情報（アドレス）が明らかである限り、データあるいはプログラムの格納場所はコンピュータ上の任意の場所とすることができる。各ネットワークコンピュータ間の通信には公知の通信技術を適用でき、たとえばＴＣＰ／ＩＰ、ＨＴＴＰ等のプロトコルを用いることができる。また、各記憶装置に記録された各ファイル（データあるいはプログラム）の存在箇所（アドレス）は、ＤＮＳ、ＵＲＬ等を用いて特定できる。なお、本明細書においてインターネットという用語には、イントラネットおよびエクストラネットも含むものとする。インターネットへのアクセスという場合、イントラネットやエクストラネットへのアクセスをも意味する。コンピュータネットワークという用語には、公的にアクセス可能なコンピュータネットワークと私的なアクセスしか許可されないコンピュータネットワークとの両方が含まれるものとする。
【００３２】２．構造パターン候補生成システム
図２は、本実施形態の構造パターン候補生成システムの概略構成を示す図である。図２に示すように、本実施形態の構造パターン候補生成システムは、編集対象項決定手段２０、構造パターン候補生成手段２１、構造パターン候補一覧生成手段２２とを有している。また、本実施形態の構造パターン候補生成システムは、外部記憶装置５、入力装置６、出力装置７とを有している。
【００３３】外部記憶装置５は、ユーザにより指示される構造パターンの基となる構造化文書の文書論理構造情報、およびユーザに選択基準を与えるための表示指標２５を格納する記憶装置である。本発明では、文書論理構造情報として、構造化文書２３および当該構造化文書の文書型定義２４の少なくとも一方を利用する。構造化文書２３および文書型定義２４の両方が存在する場合、文書型定義２４は構造化文書２３内に記述されてもよい。あるいは、文書型定義２４を別の文書ファイルとして記録し、構造化文書２３内でその文書型定義ファイルを参照してもよい。この場合、図２では、構造化文書２３と文書型定義２４とが同一の記憶装置に格納されているが、必ずしも同一の記憶装置に格納する必要はない。また、表示指標２５についても、構造化文書２３または文書型定義２４と同一の記憶装置に格納する必要はない。
【００３４】入力装置６は、編集対象とする構造パターンおよび当該構造パターンの編集希望項の指定がなされる装置である。出力装置７は、生成される構造パターン候補一覧の表示がなされる装置である。
【００３５】入力装置６は、上述したように、キーボード等の入力装置、マウス等ポインティングデバイスを備えることができる。編集対象とする構造パターンを指示するために、ユーザは、キーボード等を用いて構造パターンを直接入力してもよい。また、ユーザは、出力装置７の画面上に表示される構造化文書等に対し、マウス等を用いて対象とする要素を指示してもよい。この場合、当該要素を指し示す構造パターンは、その固定パス表現が周知の技術により自動生成され、出力装置７の画面上に表示される。
【００３６】編集対象項決定手段２０は、前記したハードディスク等外部記憶装置５に記憶されたプログラムコードの実行によりその機能が実現され、主に、前記外部記憶装置５と前記中央演算処理装置１および主記憶装置２等のハードウェア資源が利用される。編集対象項決定手段２０は、上記入力装置６を介したユーザの指示によりシステムに与えられた構造パターンについて、構造パターンの項のうち編集対象とする編集対象項を決定する機能を有する。なお、編集対象とすることのできる項の位置および範囲に制限はないため、構造パターンを構成する項のあらゆる組合せ（１項のみの場合も含む）が編集対象項となる。一方、ユーザにより指定された編集希望項を受付ける場合、編集対象項決定手段２０は、当該編集希望項を編集対象項として決定する。
【００３７】構造パターン候補生成手段２１は、上記ハードディスク等外部記憶装置５に記憶されたプログラムコードの実行によりその機能が実現され、主に、前記外部記憶装置５と前記中央演算処理装置１および主記憶装置２等のハードウェア資源が利用される。構造パターン候補生成手段２１は、編集対象項決定手段２０により決定された各編集対象項について、構造化文書の文書論理構造情報、すなわち、構造化文書２３および当該構造化文書の文書型定義２４の少なくとも一方を基に、当該編集対象項を異なる表現の項に順次編集することにより構造パターン候補を生成する機能を有する。したがって、構造パターン候補生成手段２１により生成される構造パターン候補の数は、編集対象項と置換可能な異なる表現の項の数となる。なお、当該編集方法については後に詳述する。
【００３８】構造化文書２３は、文書の要素が要素名、要素の内容（コンテンツ）、要素の属性、属性名、属性値等で構造化された文書であり、たとえばＸＭＬ、ＳＧＭＬ、ＨＴＭＬ等の文書を例示できる。また、文書型定義２４は、構造化文書２３の文書型あるいは文法を定義するデータであり、前記要素の名前、構造、要素内容の形式等を定義し、要素に関する属性を宣言して属性名、属性値の形式、デフォルトの属性値等を定義する。たとえば、ＸＭＬ文書の場合にはＤＴＤ、ＸＭＬスキーマを例示でき、ＳＧＭＬ文書の場合にはＤＴＤを例示できる。
【００３９】構造パターン候補一覧生成手段２２は、前記したハードディスク等外部記憶装置５に記憶されたプログラムコードの実行によりその機能が実現され、主に、前記外部記憶装置５と前記中央演算処理装置１および主記憶装置２等のハードウェア資源が利用される。構造パターン候補一覧生成手段２２は、ユーザに選択基準を与えるための表示指標２５にしたがって、生成された構造パターン候補を並び替え、構造パターン候補一覧を生成する機能を有する。生成された構造パターン候補一覧は、上述したように出力装置７に表示され、ユーザに提供される。
【００４０】本願では、ユーザに選択基準を与える表示指標２５として、構造化文書２３において、生成された構造パターン候補が指す要素群と指示された構造パターンが指す要素群との包含関係を示す指標、およびまたは生成された構造パターン候補の特徴を示すカウント可能な特徴量を利用する。包含関係を示す指標および特徴を示すカウント可能な特徴量については後に詳述する。
【００４１】３．構造パターン候補生成方法
図３は、本発明の構造パターン候補生成システムの全体の動作を示すフローチャートである。ステップ３０において、ユーザにより指示された構造パターンについて、構造パターン候補の項のうち編集対象とする編集対象項を決定する。次に、ステップ３１において、ステップ３０で決定された編集対象項について、構造化文書２３および当該構造化文書の文書型定義２４の少なくとも一方を基に、当該編集対象項を異なる表現の項に編集することにより構造パターン候補を生成する。最後に、ステップ３２において、表示指標２５にしたがって、ステップ３１で生成された構造パターン候補を並び替え、構造パターン候補一覧を生成し、当該構造パターン候補一覧を表示する。以下、各ステップについて、より詳細に説明する。
【００４２】図４は、編集対象項を決定する方法の一例を説明するフローチャートである。ステップ４０において、ユーザにより指示された構造パターンについて、更に、ユーザにより編集希望項が指定されているか否かを判断する。編集希望項が指定されていない場合、ステップ４１において、編集対象項を求める。本発明は、幾通りもある複雑な構造パターンの自動生成を目的としており、編集対象項の位置および範囲に制限はない。したがって、指示された構造パターンについて、当該構造パターンの項のあらゆる組合せを求め、各々編集対象項として決定する。なお、ステップ４１において、一度に全ての項の組合せを求めてもよく、あるいは、項の組合せが求まる毎に図３のステップ３１に進み、その処理の終了後、再度ステップ４１に戻るようにしてもよい。編集希望項が指定されている場合、ステップ４２において、当該編集希望項を編集対象項として決定する。したがって、構造化文書の内容から将来変更される部分が予測できる場合、編集希望項を指定することにより編集対象項を１つに特定し、必要な情報だけを迅速かつ的確に取得することが可能となる。
【００４３】図５乃至図７は、構造パターン候補を生成する方法の一例を説明するフローチャートである。図５のステップ５０において、外部記憶装置５に、ユーザにより指示された構造パターンの基となる構造化文書２３が記憶されているか否かを判断する。構造化文書２３が記憶されている場合、ステップ５１において、構造化文書２３を基に、構造パターン候補が生成される。構造化文書２３が記憶されていない場合、ステップ５２において、外部記憶装置５に上記構造化文書の文書型定義２４が記憶されているか否かを判断する。文書型定義２４が記憶されている場合、ステップ５３において、文書型定義２４を基に、構造パターン候補が生成される。外部記憶装置５に構造化文書２３および文書型定義２４のいずれも記憶されていない場合、ステップ５４において、エラーが検出され処理が終了する。ステップ５１またはステップ５３において構造パターン候補が生成された後、ステップ５４において、未処理の編集対象項が残っているか否か判断する。編集対象項が残っている場合、ステップ５０に戻って一連の処理（ステップ５０〜ステップ５４）を繰り返す。編集対象項が残っていない場合、処理は終了する。
【００４４】図６は、構造化文書２３を用いて構造パターン候補を生成する方法の一例を説明するフローチャートである。構造パターン候補は、編集対象項を異なる表現の項に編集することにより生成される。上述したように、構造パターンの項は、階層指定子と要素パターンからなる。したがって、編集対象項を異なる表現の項に編集することは、この異なる表現の項の階層指定子、および要素パターンを決定することに他ならない。なお、以下の説明では呼称を簡単にするため、異なる表現の項を「補完候補項」と呼ぶこととする。
【００４５】まず、ステップ６０において、編集対象項決定手段２０により決定された編集対象項に基づいて、ユーザにより指示された構造パターンを、編集対象項より前の前項、編集対象項、編集対象項より後の後項の３つに分割する。次に、ステップ６１において、ステップ６０における分割処理の結果、指示された構造パターンについて前項が存在するか否か判断する。前項が存在する場合、処理はそのままステップ６３へ進む。前項が存在しない場合、ステップ６２において、前項をルートに設定する。これは、編集対象項として構造パターンの最上位の項が選択されたことを意味するためである。ステップ６３において、指示された構造パターンについて、後項が存在するか否か判断する。後項が存在する場合、ステップ６５において、当該後項および構造化文書２３を基に、補完候補項の要素パターンを決定する。後項が存在しない場合、ステップ６４において、構造化文書２３内に存在する全ての要素パターンを抽出し、各々補完候補項の要素パターンとして決定する。なお、ステップ６４または６５において、決定された要素パターンが複数存在する場合、各要素パターンについて以下に説明するステップ６６乃至７２を繰り返し実行する。ステップ６４または６５からステップ６６へ進み、有限数ある階層指示子の１つを補完候補項の階層指示子として決定する。なお、全種類の階層指示子について以下に説明するステップ６７乃至７１を繰り返し実行する。ステップ６７において、ステップ６６において決定された階層指示子をステップ６４または６５において決定された要素パターンと連結し、補完候補項を生成する。ステップ６８において、前項、生成された補完候補項、後項を順次連結して構成される構造パターンを、構造化文書２３に対して適用する。ステップ６９において、適用の結果、当該構造パターンが指し示す要素が当該構造化文書２３内に存在するか否か判断する。存在すると判断された場合、ステップ７０において、当該構造パターンを構造パターン候補として登録する。構造パターンが指し示す要素が構造化文書２３内に存在しない場合またはステップ７０から、ステップ７１に進み、全種類の階層指示子についてステップ６６乃至７１の一連の処理が実行されたかどうか判断する。未処理の階層指示子がある場合、ステップ６７へ戻る。全種類の階層指示子について処理が終了している場合、ステップ７２において、更に、ステップ６４または６５において決定された全要素パターンについて、ステップ６６乃至７２の一連の処理が実行されたか否か判断する。未処理の要素パターンが残っている場合、ステップ６６へ戻る。そうでなければ処理は終了する。
【００４６】図７は、文書型定義２４を用いて構造パターン候補を生成する方法の一例を説明するフローチャートである。その内容は、構造化文書２３を用いた構造パターン候補生成の処理の方法とほぼ同様である。但し、文書型定義２４を利用する場合、生成された構造パターンを構造パターン候補として登録するか否かの判断は、文書型定義２４に照らして当該構造パターンが妥当であるか否か、すなわち、生成された構造パターンが文書型定義２４に定義された構造化文書２３の文書型あるいは文法にそったものであるか否かによって行う（ステップ８８）。
【００４７】４．構造パターン候補提供方法の具体例
本発明の構造パターン候補提供システムの具体的な動作を説明する前に、構造化文書２３、文書型定義２４、および構造パターンを具体例を挙げて以下に説明する。
【００４８】図８（ａ）に、本発明において利用する構造化文書２３の１例としてＸＭＬ文書ｐｅｒｓｏｎｎｅｌ．ｘｍｌを示す。ＸＭＬ文書の内容は、ＸＭＬ宣言、文書型定義、ＸＭＬ文書の本体の３つから成り立つ。ＸＭＬ宣言は、ＸＭＬのバージョンやその文書で使う文字コードを記述するためのものであり、ＸＭＬ文書の先頭に記述される。図８（ａ）に示すｐｅｒｓｏｎｎｅｌ．ｘｍｌのＸＭＬ宣言は、ＸＭＬ勧告のバージョンは１．０であり、文書内で使用する文字符号化方式はＵＴＦ−８であることを示している（ｐｅｒｓｏｎｎｅｌ．ｘｍｌの１行目）。文書型定義２４は、上述したように、別の文書ファイルとして記録し、構造化文書２３内でその文書型定義ファイルを参照してもよい。図８（ａ）に示すｐｅｒｓｏｎｎｅｌ．ｘｍｌは、ｐｅｒｓｏｎｎｅｌ．ｘｍｌ内で文書型定義ｐｅｒｓｏｎｎｅｌ．ｄｔｄ（図８（ｂ））を参照する（ｐｅｒｓｏｎｎｅｌ．ｘｍｌの２行目）。ＸＭＬ文書の本体は、タグで区切られた複数の要素から成り立つ（ｐｅｒｓｏｎｎｅｌ．ｘｍｌの３〜１３行目）。ＸＭＬ文書では、ＸＭＬ文書の論理構造を構成する基本単位である要素は、開始タグ、内容、終了タグで構成される。開始タグは、要素の開始を示すマークアップであり、小なり記号「＜」に続けて要素型名（タグ名）、大なり記号「＞」から構成される。終了タグは、要素の終了を示すマークアップであり、小なり記号とスラッシュ「＜／」に続けて、要素型名、大なり記号「＞」から構成される。内容は、開始タグと終了タグで囲まれた中身となる部分であり、文字データで構成される。内容に、更に、子要素を埋め込むことにより、入れ子の構造、すなわち階層構造を作ることができる。図８（ａ）に示されるｐｅｒｓｏｎｎｅｌ．ｘｍｌは、要素「ｐｅｒｓｏｎｎｅｌ」の内容に子要素「ｐｅｒｓｏｎ」を埋め込み、更に、その子要素「ｐｅｒｓｏｎ」の内容に子要素「ｎａｍｅ」を埋め込むことにより３階層構造を作っている。この階層全体はツリー構造をなす。図８（ｃ）にこのツリー構造を図示する。
【００４９】構造パターンは、このようなツリー構造をなす構造化文書内の要素を、階層指示子および要素パターンから構成される項を繰り返すことにより指し示す。上述したように、ＸＭＬ文書における構造パターンはＸＰａｔｈである。そこで、ＸＰａｔｈを例に、構造パターンの具体的な表現方法を以下に説明する。
【００５０】ＸＰａｔｈでは、項はロケーションステップと呼ばれ、ロケーションステップは区切り子「／」によって区切られる。すなわち、ＸＰａｔｈは、区切り子「／」で区切られた１つ以上のロケーションステップ（以下「ステップ」という）を並べたものであり、このステップは左から右に結合される。そして、各ステップは、コンテキストノード（その時点で処理中のノードのこと）に対して相対的なノード（ＸＭＬ文書を構成するツリーの各要素をいい、厳密には、属性、名前空間名、要素内の文字列等も含む）の集合を順次選択する。例えば、「ｃｈｉｌｄ：：ｄｉｖ／ｃｈｉｌｄ：：ｐａｒａ」は、コンテキストノードが持つｄｉｖという名前の子要素のｐａｒａという名前の子要素を選択する。
【００５１】ロケーションステップは、基準点、ノードテスト、ゼロ個以上の述語、の３つの部分からなる。その表記は、基準点とノードテストとが二重コロンで区切られ、その後に角括弧で囲まれた式がゼロ個以上続く。基準点は、ロケーションステップを使用して選択するノードとコンテキストノードとの間のツリー関係を指定する。すなわち、基準点はＸＰａｔｈにおける階層指示子である。ノードテストは、ロケーションステップを使用して選択するノードのノード型と展開された名前を指定する。述語は、ロケーションステップを使用して選択するノードの集合を、任意の式を使用して更に細かく選別する。すなわち、ノードテストおよび述語はＸＰａｔｈにおける要素パターンである。例えば、「ｃｈｉｌｄ：：ｄａｔａ［２］」は、コンテキストノードの子である要素ｄａｔａのうち、２番目のｄａｔａを選択する。
【００５２】ＸＰａｔｈでは、階層指示子として１３種類の基準点を利用できる。以下、各基準点について説明する。ｃｈｉｌｄ基準点はコンテキストノードの子ノードを選択する。ｐａｒｅｎｔ基準点はコンテキストノードの親ノードを選択する。ｄｅｓｃｅｎｄａｎｔ基準点はコンテキストノードの子孫ノードを選択する。子孫ノードとは、子ノードまたは子ノードの子ノード等である。ａｎｃｅｓｔｏｒ基準点は、コンテキストノードの祖先ノードを選択する。祖先ノードとは、親ノードまたは親ノードの親ノード等である。ｆｏｌｌｏｗｉｎｇ−ｓｉｂｌｉｎｇ基準点は、コンテキストノードの後ろにある全ての兄弟ノードを選択する。ｐｒｅｃｅｄｉｎｇ−ｓｉｂｌｉｎｇ基準点は、コンテキストノードの前にある全ての兄弟ノードを選択する。ｆｏｌｌｏｗｉｎｇ基準点は、コンテキストノードと同じドキュメント内にあり、ドキュメント順でコンテキストノード以降にある全てのノードを選択する。但し子孫ノードは除く。ｐｒｅｃｅｄｉｎｇ基準点は、コンテキストノードと同じドキュメント内にあり、ドキュメント順でコンテキストノードより前にある全てのノードを選択する。但し祖先ノードは除く。ｓｅｌｆ基準点は、コンテキストノード自身のみを選択する。ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ基準点は、コンテキストノードとそのコンテキストノードの子孫ノードを選択する。ａｎｃｅｓｔｏｒ−ｏｒ−ｓｅｌｆ基準点は、コンテキストノードとそのコンテキストノードの祖先ノードを選択する。ａｔｔｒｉｂｕｔｅ基準点はコンテキストノードの属性を選択する。ｎａｍｅｓｐａｃｅ基準点は、コンテキストノードの名前空間を選択する。
【００５３】図８を用いて、本発明の構造パターン候補提供システムの具体的な動作を説明する。外部記憶装置５には構造化文書２３として図８（ａ）に示すｐｅｒｓｏｎｎｅｌ．ｘｍｌが格納されているものとする。編集対象として、図８（ｃ）の要素ｎａｍｅ１００を指し示す構造パターンがユーザにより指示された場合を考える。上記ＸＰａｔｈによれば、要素ｎａｍｅ１００を指し示す固定パスは、／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］である。
【００５４】第１実施例として、編集希望項として、ユーザにより構造パターンの途中の１項が指定される場合を説明する。ユーザにより指示された構造パターン／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］に対し、更に、／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］がユーザにより編集希望項として指定される。編集対象項決定手段２０は／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］を編集対象項として決定する（ステップ４０、４２）。
【００５５】次に、構造パターン候補生成手段２１は、外部記憶装置５に構造化文書ｐｅｒｓｏｎｎｅｌ．ｘｍｌが格納されていることを確認する（ステップ５０）。確認ができると、構造パターン候補生成手段２１は、編集対象項決定手段２０から受け取った編集対象項情報を基に、構造パターン、／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］を分割し、前項に／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］を、後項に／ｃｈｉｌｄ：：ｎａｍｅ［１］を設定する（ステップ６０）。次に、後項が存在することから、構造パターン候補生成手段２１は、後項／ｃｈｉｌｄ：：ｎａｍｅ［１］およびｐｅｒｓｏｎｎｅｌ．ｘｍｌを基に、補完候補項の要素パターン、すなわちタグ名を決定する（ステップ６３、６５）。図８（ｃ）に示すｐｅｒｓｏｎｎｅｌ．ｘｍｌのツリー構造からも明らかなように、要素ｎａｍｅ［１］を子にもつ親要素はｐｅｒｓｏｎのみである。そこで構造パターン候補生成手段２１は、補完候補項のタグ名をｐｅｒｓｏｎに決定する。次に、決定されたタグ名ｐｅｒｓｏｎと全種類の階層指示子、すなわち１３種類の基準点を組合せ、補完候補項を求める（ステップ６６、６７）。例えば、／ｄｅｓｃｅｎｄａｎｔ：：ｐｅｒｓｏｎ、／ａｎｃｅｓｔｏｒ：：ｐｅｒｓｏｎ、…という具合である。そして、先程の前項、求められた補完候補項、後項を順次連結し得られる構造パターンを、構造化文書ｐｅｒｓｏｎｎｅｌ．ｘｍｌに適用する（ステップ６８）。適用の結果、構造パターンが指し示す要素が構造化文書ｐｅｒｓｏｎｎｅｌ．ｘｍｌ内に存在すれば、当該構造パターンを構造パターン候補として登録する（ステップ７０）。タグ名ｐｅｒｓｏｎを基準点ｄｅｓｃｅｎｄａｎｔと組み合わせた補完候補項／ｄｅｓｃｅｎｄａｎｔ：：ｐｅｒｓｏｎを例にとると、得られる構造パターンは／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］である。この構造パターンは、図８（ｃ）の要素ｎａｍｅ１００〜１０２を指し示す。したがって、構造パターン／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］は、構造パターン候補として登録される。一方、タグ名ｐｅｒｓｏｎを基準点ａｎｃｅｓｔｏｒと組み合わせた補完候補項／ａｎｃｅｓｔｏｒ：：ｐｅｒｓｏｎを例にとると、得られる構造パターンは／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ａｎｃｅｓｔｏｒ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］である。この構造パターンが指し示す要素は、構造化文書ｐｅｒｓｏｎｎｅｌ．ｘｍｌに存在しない。したがって、構造パターン／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ａｎｃｅｓｔｏｒ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］は、構造パターン候補として登録されない。このように１３種類の全ての基準点についてその組合せを検討すると、最終的に以下の３つの構造パターンが、構造パターン候補として登録される。
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ／ｃｈｉｌｄ：：ｎａｍｅ［１］
これら構造パターンは、何れも要素ｎａｍｅ１００〜１０２からなる要素群を指し示す。
【００５６】第２実施例として、編集希望項として、ユーザにより構造パターンの連続する２項が指示される場合を説明する。２項が１項として表現される、いわゆる縮退の場合である。編集対象として指示された構造パターン／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］に対し、更に、ユーザにより、編集希望項として／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］が指示される。編集対象項決定手段２０は／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］を編集対象項として決定する（ステップ４０、４２）。
【００５７】次に、構造パターン候補生成手段２１は、外部記憶装置５に構造化文書ｐｅｒｓｏｎｎｅｌ．ｘｍｌが格納されていることを確認する（ステップ５０）。確認ができると、構造パターン候補生成手段２１は、編集対象項決定手段２０から受け取った編集対象項情報を基に、構造パターン／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］を分割し、前項に／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］を設定する（ステップ６０）。今度は、後項が存在しないことから、構造パターン候補生成手段２１は、ｐｅｒｓｏｎｎｅｌ．ｘｍｌから起こりえる全ての要素パターン、すなわちタグ名を抽出し、補完候補項のタグ名として決定する（ステップ６３、６４）。図８（ｃ）から明らかなように、抽出されるタグ名はｐｅｒｓｏｎｎｅｌ、ｐｅｒｓｏｎ、ｎａｍｅの３つである。タグ名が決定された後の処理、すなわち、各タグ名に対して構造パターン候補生成手段２１が行う処理は、第１実施例に対して上述したタグ名決定以後の処理と同様である。最終的に以下の構造パターンが構造パターン候補として登録される。
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ：：ｐｅｒｓｏｎ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ：：ｐｅｒｓｏｎ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ：：ｎａｍｅ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ：：ｎａｍｅ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ：：ｐｅｒｓｏｎｎｅｌ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｓｅｌｆ：：ｐｅｒｓｏｎｎｅｌ
／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ａｎｃｅｓｔｏｒ：：ｐｅｒｓｏｎｎｅｌ
なお、上記構造パターンのうち、／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ：：ｎａｍｅおよび／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ：：ｎａｍｅ以外の構造パターン候補は、元の構造パターンが指す要素ｎａｍｅ１００を指さない。このように元の要素を指さない構造パターン候補をユーザに提供するか否かについては、以下に説明する表示指標２５の内容による。
【００５８】上記２つの実施例は、いずれも編集希望項がユーザにより指定される場合であった。編集希望項がユーザにより指定されない場合、プログラムにより擬似的に編集希望項を選択する。すなわち、編集対象項決定手段２０は、指示された構造パターンの項のあらゆる組合せを、各々、編集対象項として決定する。具体例を挙げて説明すると、指示された構造パターンが／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］である場合、編集対象項決定手段２０は／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］、／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］、／ｃｈｉｌｄ：：ｎａｍｅ［１］、／ｃｈｉｌｄ：：ｐｅｒｓｏｎｎｅｌ［１］／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］、／ｃｈｉｌｄ：：ｐｅｒｓｏｎ［１］／ｃｈｉｌｄ：：ｎａｍｅ［１］の５つの組合せを求め、各々編集対象項として決定する。
【００５９】５．構造パターン候補一覧生成および表示方法
図９は、構造パターン候補一覧を生成する方法の一例を説明するフローチャートである。構造パターン候補一覧生成手段２２は、ステップ１１０において、外部記憶装置５に包含関係を示す表示指標が記憶されているか否か判断する。包含関係を示す表示指標が記憶されている場合、ステップ１１１において、当該表示指標にしたがって、構造パターン候補生成手段２１によって登録された構造パターン候補を並び替える。なお、表示指標に示される包含関係の何れにも属さない構造パターン候補は、構造パターン候補一覧生成の対象から外される。次に、ステップ１１２において、特徴量に関する表示指標が記憶されているか否かを判断する。特徴量に関する表示指標が記憶されている場合、ステップ１１３において、当該特徴量にしたがって構造パターン候補を並び替える。なお、ステップ１１１で並び替えられた構造パターン候補については、表示指標に示される包含関係ごと、更に並び替えを行う。ステップ１１４において、並び替えを実行された構造パターン候補を基に、構造パターン候補一覧を生成する。なお、いずれの表示指標も存在しない場合、構造パターン候補一覧生成手段２２は、登録された構造パターン候補全てを単純列挙することにより、構造パターン一覧を作成する。
【００６０】図１０乃至図１３に、構造パターン候補を表示するユーザ・インターフェースの例を示す。外部記憶装置５には、構造化文書２３としてあるＨＴＭＬ文書が格納されているとする。図１０乃至図１３に示す現在のＸＰａｔｈ欄１２０は、編集対象としてユーザに指示された構造パターンを表示する。また、構造パターンの一部の項の反転表示は、当該項がユーザによって指示された編集希望項であることを示す。更に、図中に示されるチェックボックス１２１〜１２４は、自動生成される構造パターン候補のうち、表示することを希望する構造パターン候補を指示する際に利用されるものである。
【００６１】図１０は、構造パターン候補が指す要素群と元の構造パターン（現在のＸＰａｔｈ）が指す要素群との包含関係を示す表示指標２５にしたがって生成された構造パターン候補一覧を表示する画面の１例を示す。当該表示指標２５にしたがって、構造パターン候補生成手段２１によって登録された構造パターン候補は４つに並び替えられる。現在選択されている要素を含む欄１２５には、構造パターン候補の指す要素群が元の構造パターンが指す要素群を含むような構造パターン候補が表示される。なお、表示領域の制限から、構造パターンの全体でなく、該当する構造パターン候補の補完候補項部分のみを表示してもよい。図１０には２つの補完候補項、／ｄｅｓｃｅｎｄａｎｔ：：ＴＤおよび／ｄｅｓｃｅｎｄａｎｔ−ｏｒ−ｓｅｌｆ：：ＴＤが表示されている。現在選択されている要素と同じ要素を指す欄１２６には、構造パターン候補の指す要素群が、元の構造パターンが指す要素群と同じになるような構造パターン候補が表示される。本実施例では該当する構造パターン候補は存在しない。現在選択されている要素を一部含む欄１２７には、構造パターン候補の指す要素群が、元の構造パターンが指す要素群と一部重なるような構造パターン候補が表示される。本実施例では該当する構造パターン候補は存在しない。現在選択されている要素を含まない欄１２８には、構造パターン候補の指す要素群が、元の構造パターンが指す要素群を全く含まないような構造パターン候補が表示される。図１０に示すように当該欄に分類される構造パターン候補は６つ存在する。
【００６２】図１１は、上述した図１０に示すユーザ・インターフェースの下、現在のＸＰａｔｈとして異なるＸＰａｔｈを指示した例を示す。図１１に示すように、構造パターン候補生成手段２１によって登録された６つの構造パターン候補は、現在選択されている要素と同じ要素を指す欄１２６および現在選択されている要素を一部含む欄１２７に分類される。
【００６３】図１０および図１１に示す実施例によれば、自動生成された複数の構造パターン候補は、包含関係を示す表示指標にしたがって並び替えられ、ユーザに提供される。ユーザは、構造パターン候補と現在のＸＰａｔｈとの関係を、自ら解析することなく知ることができる。したがって、当該並び替えを基に、幾通りもある構造パターン候補の中から、対象とする構造化文書の変更特性等に最も適した構造パターンを、ユーザは容易に選択することができる。
【００６４】図１２は、更に、特徴量に関する表示指標にしたがって生成された構造パターン候補一覧を表示する画面の１例を示す。ここで、特徴量とは、構造パターン候補の特徴を示すカウント可能な量を意味する。図１２に示すユーザ・インターフェースでは、ロケーションステップの数、すなわち、項の数を特徴量として構造パターン候補を並び替える。項の数は情報量を示し、項の数が多いと厳密なＸＰａｔｈ、項の数が少ないと曖昧なＸＰａｔｈといえる。それゆえ、項の数は構造パターン候補の耐久性の強度を示す指標ともなる。ここではロケーションステップの数を特徴量として前述の表示指標に加え、ユーザの構造パターン候補の選択を助ける。なお、本実施例ではユーザによる編集希望項の指示はない。また、包含関係に関する表示指標は、現在のＸＰａｔｈが指す要素群と同じ要素群を指す構造パターン候補のみを表示するよう指示する。当該指示は、好ましくは、上述したチェックボックス１２２の選択によりなされる。このように、ユーザは必要な情報のみを表示するようにできる。
【００６５】図１３は、ノード（要素）の数を特徴量とする表示指標にしたがって生成された構造パターン候補一覧を表示する画面の１例を示す。本実施例においても、ユーザによる編集希望項の指示はない。ただし、包含関係に関する表示指標は、現在のＸＰａｔｈが指す要素群を含む要素群を指す構造パターン候補のみを表示するよう指示する。したがって、表示される構造パターン候補が指す要素群は、いずれも現在のＸＰａｔｈが指す要素群を含んでいる。しかしながら、表示される構造パターン候補が指す要素の数は各々異なり、指し示す要素数が多いほど、現在のＸＰａｔｈに対して曖昧なＸＰａｔｈであるといえる。それゆえ、構造パターン候補が指す要素の数は、構造パターン候補の耐久性の強度を示す指標ともなる。ここではノードの数を特徴量として前述の表示指標に加え、ユーザの構造パターン候補の選択を助ける。
【００６６】図１２および図１３に示す実施例では、包含関係を示す表示指標と特徴量に関する表示指標を同時に利用したが、特徴量に関する表示指標のみを利用できることはいうまでもない。また、図１２および図１３に示すように、項の数／ノードの数を構造パターン候補と共に表示することにより、よりユーザ・フレンドリーな構造パターン候補提供システムを提供することができる。
【００６７】図１４は、編集希望項をユーザが選択する際の支援機能を示す図である。原則として、編集を希望する項の位置と項の数は任意でよい。しかしながら、図１４に示すように、表示指標が現在のＸＰａｔｈが指す要素群と同じ要素群を示す構造パターン候補のみを表示するよう指示する場合、選択できる編集希望項は制限される。そこで、本実施例では、表示指標の指示にしたがって選択可能な編集希望項を長方形の枠で囲み、ユーザの選択を支援する。
【００６８】以上のように、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００６９】また、前記実施の形態では、主にシステムおよび方法について説明したが、これらシステムの機能、方法はコンピュータに可読なプログラムにより実現されるため、このようなコンピュータ可読なプログラムが記録された媒体が前記実施の形態において開示されていることは明らかである。なお、媒体には、たとえばハードディスク等記憶装置に内蔵された媒体のみならず、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ，フラッシュメモリ、フレキシブル・ディスク等、記憶装置とは別個に取り引きされるものを含むことは勿論である。
【００７０】まとめとして、本発明の構成に関して以下の事項を開示する。
（１）構造化文書内の要素または要素群を指す構造パターンの候補を生成する方法であって、構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を用意するステップと、ユーザにより指示された、構造化文書内の要素または要素群を指す構造パターンを受付けるステップと、構造パターンを構成する項のうち編集対象となる編集対象項を決定するステップと、文書論理構造情報を基に、編集対象項を異なる表現の項に編集することにより構造パターン候補を生成するステップと、表示指標にしたがって、生成された構造パターン候補を並び替え、構造パターン候補一覧を生成するステップと、を含む構造パターン候補を生成する方法。
（２）前記編集対象項を決定するステップは、構造パターンについてユーザにより指示された編集希望項を受付けるステップと、当該編集希望項を編集対象項として決定するステップとを含む、（１）記載の構造パターン候補を生成する方法。
（３）前記表示指標は、構造化文書において、生成された構造パターン候補が指す要素群とユーザにより指示された構造パターンが指す要素群との包含関係を示す指標を含む、（１）または（２）いずれか記載の構造パターン候補を生成する方法。
（４）前記表示指標は、生成された構造パターン候補の特徴を示すカウント可能な特徴量を含む、（１）乃至（３）いずれか記載の構造パターン候補を生成する方法。
（５）前記文書論理構造情報を用意するステップは、構造化文書および当該構造化文書の文書型定義の少なくとも一方を用意するステップを含む、（１）乃至（４）いずれか記載の構造パターン候補を生成する方法。
（６）構造化文書内の要素または要素群を指す構造パターンの候補を生成するシステムであって、構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を記憶する記憶装置と、ユーザにより指示された、構造化文書内の要素または要素群を指す構造パターンを受付ける手段と、構造パターンを構成する項のうち編集対象となる編集対象項を決定する手段と、文書論理構造情報を基に、編集対象項を異なる表現の項に編集することにより構造パターン候補を生成する手段と、表示指標にしたがって、生成された構造パターン候補を並べ替え、構造パターン候補一覧を生成する手段と、を含む構造パターン候補を生成するシステム。
（７）編集対象項を決定する手段は、構造パターンについてユーザにより指示された編集希望項を受付ける手段と、当該編集希望項を編集対象項として決定する手段とを含む、（６）記載の構造パターン候補を生成するシステム。
（８）表示指標は、構造化文書において、生成された構造パターン候補が指す要素群とユーザにより指示された構造パターンが指す要素群との包含関係を示す指標を含む、（６）または（７）いずれか記載の構造パターン候補を生成するシステム。
（９）表示指標は、生成された構造パターン候補の特徴を示すカウント可能な特徴量を含む、（６）乃至（８）いずれか記載の構造パターン候補を生成するシステム。
（１０）記憶装置は、文書論理構造情報として、構造化文書および当該構造化文書の文書型定義の少なくとも一方を記憶する、（６）乃至（９）いずれかの請求項記載の構造パターン候補を生成するシステム。
（１１）  構造化文書内の要素または要素群を指す構造パターンの候補を生成するためのプログラムであって、該プログラムがコンピュータに、構造化文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を用意する機能、ユーザにより指示された、構造化文書内の要素または要素群を指す構造パターンを受付ける機能、構造パターンを構成する項のうち編集対象となる編集対象項を決定する機能、文書論理構造情報を基に、編集対象項を異なる表現の項に編集することにより構造パターン候補を生成する機能、および表示指標にしたがって、生成された前記構造パターン候補を並べ替え、構造パターン候補一覧を生成する機能を実現させる構造パターン候補生成プログラム。
（１２）ＸＭＬ文書内の要素または要素群を指すＸＰａｔｈの候補を生成する方法であって、ＸＭＬ文書の文書論理構造情報およびユーザに選択基準を与えるための表示指標を用意するステップと、ユーザにより指示された、ＸＭＬ文書内の要素または要素群を指すＸＰａｔｈを受付けるステップと、ＸＰａｔｈを構成するロケーションステップのうち編集対象となるロケーションステップを決定するステップと、文書論理構造情報を基に、決定されたロケーションステップを異なる表現のロケーションステップに編集することによりＸＰａｔｈ候補を生成するステップと、表示指標にしたがって、生成されたＸＰａｔｈ候補を並び替え、ＸＰａｔｈ候補一覧を生成するステップと、を含むＸＰａｔｈ候補を生成する方法。
【図面の簡単な説明】
【図１】本発明の方法を実現するシステムの概要を示した概念図であり、（ａ）はスタンドアロンのコンピュータの概略を示し、（ｂ）は、コンピュータネットワークの構成の概略を示す。
【図２】本発明の構造パターン候補生成システムの一例を示したブロック図である。
【図３】本発明の構造パターン候補を生成する方法の一例を示す全体フローチャートである。
【図４】編集対象項を決定する方法の一例を示すフローチャートである。
【図５】構造パターン候補を生成する方法の一例を示すフローチャートである。
【図６】構造化文書により構造パターン候補を生成する方法の一例を示すフローチャートである。
【図７】文書型定義により構造パターン候補を生成する方法の一例を示すフローチャートである。
【図８】（ａ）は、構造化文書の一例を示す図である。（ｂ）は、（ａ）の構造化文書の文書型定義を示す図である。（ｃ）は、（ａ）の構造化文書のツリー構造を示す図である。
【図９】構造パターン候補を表示する方法の一例を示すフローチャートである。
【図１０】包含関係を示す表示指標にしたがって生成された構造パターン候補一覧を表示する画面の一例を示した図である。
【図１１】包含関係を示す表示指標にしたがって生成された構造パターン候補一覧を表示する画面の一例を示した図である。
【図１２】ロケーションステップ数を特徴量とする表示指標にしたがって生成された構造パターン候補一覧を表示する画面の一例を示した図である。
【図１３】ノード数を特徴量とする表示指標にしたがって生成された構造パターン候補一覧を表示する画面の一例を示した図である。
【図１４】編集希望項選択を支援する画面の一例を示した図である。
【図１５】（ａ）は、ある構造化文書のツリー構造を示した図である。（ｂ）および（Ｃ）は、各々、（ａ）のある構造化文書が変更された後の、当該構造化文書のツリー構造を示した図である。
【図１】
2004234354.tif 000003
【図２】
2004234354.tif 000004
【図３】
2004234354.tif 000005
【図４】
2004234354.tif 000006
【図５】
2004234354.tif 000007
【図６】
2004234354.tif 000008
【図７】
2004234354.tif 000009
【図８】
2004234354.tif 000010
【図９】
2004234354.tif 000011
【図１０】
2004234354.tif 000012
【図１１】
2004234354.tif 000013
【図１２】
2004234354.tif 000014
【図１３】
2004234354.tif 000015
【図１４】
2004234354.tif 000016
【図１５】
2004234354.tif 000017