(57)【特許請求の範囲】
【請求項１】
対の階層入れ子タグでくるまれた複数の内容要素を含む構造化文書を作成する構造化文書作成装置であって、
内容を含む特定のタイプの文書を記憶する記憶手段と、
対応付けされたＤＴＤを有するＸＭＬ文書からなる構造化されたサンプル文書の形態で、タグのツリーパターンｔｉを含むサンプルデータを入力する入力手段と、
を備え、
前記記憶手段に記憶された前記文書を複数の内容要素に構文解析し、
選択した内容要素に対して、タグ提案手順にしたがって最適タグを提案すると共に、
前記タグ提案手順が、
（１）前記入力手段により入力されたサンプルデータから、前記選択された内容要素に対応するタグの複数のツリーパターンｔｉを抽出し、抽出した複数のツリーパターンｔｉをタグ提案の１セットＴとし、
（２）前記タグ提案の１セットＴの前記複数のツリーパターンｔｉから、ツリー接頭辞を複数抽出し、複数抽出したツリー接頭辞を、前記選択した内容要素に対して提案される前記最適タグの複数の候補のタグｃである候補タグの１セットＣとし、
（３）前記候補タグの１セットＣの複数の候補のタグｃ各々のノード数、複数のツリーパターンｔｉ各々のノード数、及び複数のツリーパターンｔｉ各々の前記選択された内容要素に対する見込み確率に基づいて、前記複数の候補のタグｃ各々について、当該候補タグｃの該ノード数とツリーパターンｔｉの該ノード数との比と、当該ツリーパターンｔｉの当該見込み確率との乗算値をツリーパターンｔｉ毎に求め、求めた乗算値を合計し、
（４）前記複数の候補のタグｃ各々について求められた前記乗算値の合計の値の最大値に対応する候補のタグｃを、前記最適タグとして決定する、
構造化文書作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を生成するシステム及び方法に関し、より具体的には、基準文書を構造化文書に変換するためのシステム及び方法に関する。また、本発明は、構造化文書のオーサリング中において、構造及びコンテンツを予想するためのシステム及び方法にも関する。
【背景技術】
【０００２】
多くのシステムやデータベースには、データが互換性のない形式で保存されている。開発者が最も多くの時間を費やす課題のひとつに、インターネット上で行う互換性のないシステム間でのデータのやりとりがある。ＸＭＬが、互換性のないシステム間でのデータの交換を可能にしている。データをＸＭＬ形式に変換することにより、この複雑性が大幅に緩和し、多数の異なるアプリケーションで読み込めるデータを作成することができる。このため、ＸＭＬは、ＩＴアプリケーション及びシステムにおいて情報交換をするための標準的な形式となっている。しかし、ＸＭＬ形式で利用可能な又はＸＭＬ形式で生成された文書の数は、他の形式の文書と比べると、依然としてかなり少ない。第１に、大抵の場合、文書を他の形式からＸＭＬ形式に変換することは難しく、時間もかかる。第２に、ＸＭＬ文書がとりわけ冗長的で非常に長いために、新たなＸＭＬ文書の作成処理には時間を要する。ＸＭＬ文書を作成するには、文書型定義、すなわち、ＤＴＤ（ＤＴＤはＸＭＬ文書の法的要素及び構造を定義する）に基づき、文書内容（テキスト・データ）を意味タグや意味属性によって永続的に綴じ込んで置く必要があり、多くの場合その生成作業は退屈でエラーを起こしやすいものである。
【０００３】
便利な様々なＸＭＬ編集ソフトの出現は、支援要素／属性のメニュー方式選択を有する新型グラフィック・インターフェースと、全ファイル又はその断片を有効にして文書生成を対応するＤＴＤに一致させる可能性とを提供することにより、設計者が文書生成の間接費を部分的に減少させるのを支援する。ＤＴＤは文書の有効性確認には非常に役立つものであるが、文書の編集中又は作成中にはほとんど役立たない。その主な理由は、妥当なＸＭＬ文書が作成される前に、人間によりほとんどのＤＴＤが設計されるからである。その結果、多数のＤＴＤはエラーを含むか又は範囲が広すぎてしまうことになる。つまり、ＤＴＤはあいまい性を、実際の文書において見られるものよりも遙かに高いものとしている。その上、ＤＴＤでツリー状パターンを提案することは、単純に不可能である。それは、ほとんどの要素定義が無限数のセットの可能要素内容を表す正規表現である一方で、文書オーサリングは要素定義に関する一連の実証であるからである。必要なのは、ある形式の文書をＸＭＬ文書等の構造化文書に簡単に変換する方法である。
【０００４】
なお、関連する文献を下記に示す。
【非特許文献１】ハーブ  デジーン  「ＸＭＬを用いた統語論構造の学習」（CoNLL-200会報、リスボン、ポルトガル、2000年第133-135頁）（HERVE DEJEAN, "learning Syntactic Structures with XML", in Proceedings of CoNLL-2000, Lisbon, Portugal, 2000,p.133-135）
【非特許文献２】ハーブ  デジーン  「ルールとルールの例外の学習」（マシーン・ラーニング・リサーチ  ジャーナル2002年２（Ｍａｒ）第669-6935頁）（HERVE DEJEAN, "learning Rules and their Exceptions", Journal of Machine Learning Research, 20002, 2(Mar):p.133-135）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しっかりと構造化された文書の必要性は、新たなソフトウェア・アプリケーション（意味ウェブ等）や新たな規格ＳＧＭＬ，ＸＭＬ等の開発に伴って高まる。二つのコンポーネント、つまり、内容部分と（ツリー状）構造部分との二つで構成されたものとして、構造化文書を見ることができる。オーサリング・アシスタントが進展し、特に作者の文書への構造的マーク付けを支援するために、ＸＭＬ文書検査用ＤＴＤ又はＸＭＬスキーマ・チェッカが最も広く使用されている。また、タグ付け／構文解析技法を用いて半自動的にテキスト・コンポーネントのタグ付けを可能にするツールもある。多くの構造化文書では、文書全体にわたっていろいろな箇所で同じ内容コンポーネントが繰り返される。必要なのは、文書オーサリングの間、繰り返される構造コンポーネント及び内容コンポーネントの両方を予測する方法である。
【課題を解決するための手段】
【０００６】
本発明の実施の形態による、対の階層入れ子タグでくるまれた（かこまれた）複数の内容要素を含む構造化文書を作成する方法は、特定のタイプの内容を含む文書を複数の内容要素に構文解析するステップと、選択した内容要素に対して、タグ提案手順にしたがって最適タグを提案するステップとから構成される。このタグ提案手順は、構造化されたサンプル文書の形態でサンプルデータを提供するステップと、このタグ提案の１セットを抽出するためにサンプルデータ内のパターンを分析するステップと、タグ提案のセットから、選択した内容要素のための候補タグのセットを抽出するステップと、タグ提案基準に基づいて候補タグの１セットを評価し、選択した内容要素のための最適タグを判断するステップとから構成される。この最適タグは単一のタグ又は複数のタグのパターンでよく、サンプルデータ内に見つかったパターンで類似関数を最大にする。
【０００７】
上記方法は、ＸＭＬ文書をオーサリングするための構造アドバイザ・コンポーネントとして用いることもできる。タグ提案手順は、既存の構造化文書の形態でサンプルデータを使うことができる。即ち、このタグ提案手順は、オーサリング中の文書の先行部分を使うことができる。上記方法は利用可能なサンプルデータを分析することにより、ユーザが次に利用する最も可能性の高いタグとツリーパターンとを提案する。サンプルデータを分析し、提案候補を判定し、オーサリング中の文書内の任意の位置の最適提案を評価するアーキテクチャと方法とを提供する。
【０００８】
ＸＭＬ形式は事実上構造化文書の業界標準化して以来、ＩＴ研究やＩＴ産業は、多数の商業用ＸＭＬエディタ（ＸＭＬ  Ｓｐｙ、Ｘｅｅｎａ，ＥｌｆＤａｔａ，Ｍｏｒｐｈｏｎｅ等）及び個人向けＸＭＬエディタを開発し、ＸＭＬ形式で構造化文書を作成するユーザを支援してきた。構造化文書生成のためのシステムと方法は、文書編集／オーサリングプロセスの間介入して、ユーザが次に一番使いそうなひとつのタグ又はツリー状ＸＭＬパターン全体を提案する。アドバイザ提案は、現在編集中のフラグメントとサンプルデータとの類似点の発見に基づいており、サンプルデータとは以前に生成した文書の集まり又は編集している現在の文書の歴史のいずれかである。構造アドバイザが有益となるのは、例えば、ＸＭＬ文書のためのＤＴＤがない場合、文書に対応付けしたＤＴＤがあいまい又は一般的過ぎるかする場合、及び、サンプルデータがＤＴＤに取り込まれていない特別なパターンを含んでいる場合である。最適な提案を探す方法は、新しい構造化文書を生成するプロセス、又は、非構造化形式の文書を構造化文書に変換するプロセスの任意のステップで用いてよい。
【０００９】
本発明の別の特徴によれば、構造化文書をオーサリングする方法において、この構造化文書は対の階層入れ子タグでくるまれた（かこまれた）複数の内容要素からなり、この方法は、対のタグでくるまれた内容要素を生成するステップと、選択したタグに対して、内容提案手順にしたがって最適内容フラグメントを提案するステップとを含む。内容提案手順は、サンプルの構造化文書を提供するステップと、サンプル構造化文書から内容フラグメントの１セットを抽出するステップと、内容フラグメント提案基準に基づいて内容フラグメントのセットを評価しタグのために最適内容フラグメント提案を判断するステップとを備え、最適内容フラグメント提案は前記選択したタグに最も可能性のある内容フラグメントである。
【００１０】
構造化文書をオーサリングする方法は機械学習技法を利用して、トレーニングデータとして、既存の構造化文書及び現在の文書の少なくとも一方を用いてテキスト提案を生成する。これら提案は類似文書の集積で発生する規則性に基づく。オーサリング・ステップで、新しいタグが文書に挿入される毎に、内容提案（もしあれば）が作者に対して提案され、作者はそのうちひとつを承認するか、またはすべてを拒否する。この方法では類別化問題として内容のアドバイスをみなす。即ち、この方法は、機械学習アルゴリズムと文書構造とを一体化することにより、オーサリング・ステップでのテキストの塊を予測する。この方法は、提案を計算するために文脈上（構造と内容）の情報を使う。適切な文脈が検出されると、計算された提案は作者に自動的に提案される。
【発明の効果】
【００１１】
本発明は、文書オーサリングの間、繰り返される構造コンポーネント及び内容コンポーネントの両方を予測することができる。
【発明を実施するための最良の形態】
【００１２】
本発明の方法は、ＸＭＬ文書等のような構造化文書の生成及びオーサリング時に用いることができる。便宜上、本発明の方法は、ＸＭＬ文書の生成及びオーサリングに関して述べる。
【００１３】
全てのＸＭＬ文書は、要素、タグ、属性、エンティティ、ＰＣＤＡＴＡ及びＣＤＡＴＡの構成要素で構成される。要素とは、ＸＭＬ文書及びＨＴＭＬ文書の双方の主要構成要素である。ＸＭＬ要素の例としては、「メモ」や「メッセージ」がある。要素はテキストやその他の要素を含むこともできるが、空でもよい。タグは、要素にマーク付けするために用いる。＜要素 名称＞のような開始タグは、要素の冒頭に書き込まれ、＜／要素 名称＞のような終了タグは、要素の末尾に書き込まれる。属性は、要素の別の情報を示す。属性は、常に、要素の開始タグ内に置かれる。常時、属性は名／値対という形で表される。エンティティは、共通テキストを定義するための変数である。エンティティ参照とは、エンティティを参照することである。ＰＣＤＡＴＡは、ＸＭＬ要素の開始タグと終了タグとの間にある解析文字データ、つまり、テキストを意味する。ＰＣＤＡＴＡは、構文解析系が解析するテキストである。テキスト内のタグはマーク付けとして扱われ、エンティティは拡張されることになる。ＣＤＡＴＡも文字データつまりテキストを意味するが、構文解析系によって解析されることはない。テキスト内のタグはマーク付けとして扱われず、エンティティも拡張されない。
【００１４】
ＸＭＬ文書は、その文書に対応付けされた１つ以上のＤＴＤを有してもよい。ＤＴＤは、ＸＭＬ文書の法的構成群、すなわち、文書構造を法的要素のリストによって定義する。ＸＭＬ文書がＤＴＤを含んでいる場合、そのＸＭＬ文書はその文書自体の形式の記述を伴うことができる。アプリケーション・プログラムは、標準ＤＴＤを用いて、受信したデータが有効か確認することができる。ＤＴＤを、ＸＭＬ文書に書き込まれたデータを確認するために用いてもよい。しかし、本発明の方法は、ＸＭＬ文書がＤＴＤを備えていない場合、文書に対応付けされたＤＴＤが不正確過ぎたり概略的過ぎたりする場合、及びサンプルデータがＤＴＤに取り込まれていない特定パターンを含んでいる場合にも利用できる。
【００１５】
本発明の方法を用いて構造アドバイザを実現するシステムを図１に示す。本発明の本実施の形態において、内容を含む基準文書（構造化文書の形式になっていない文書）が、ＸＭＬ文書に変換される。このプロセスには、元の文書から内容情報を取り出し開タグと閉タグとの間に埋め込む過程を含む。図１において、作者１００は文書１０の編集を始める。つまり、作者１００は文書１０を様々な内容要素に構文解析するようにし、内容要素毎に開閉タグの選択を始める。編集プロセスの間、作者１００が特定の内容要素を選択すると、アドバイザ１２は最適タグを提案する。提案されたタグは、開タグ、閉タグ又は他のタグパターンでよい。作者はこの提案を受け入れても無視してもよい。
【００１６】
アドバイザ１２は、タグ提案プロセス（手順）を使って最適タグを選択し作者に示す。タグ提案プロセスではサンプルデータ１６を取得する。この例では、サンプルデータ１６はＤＴＤを有するＸＭＬ文書である。これらＸＭＬ文書は、同様な基準文書から作成されたという点において、変換される文書１０と似ている。サンプルデータ１６を、ブロック１４において分析し評価することにより、一組のタグ提案とタグ提案ルールを作成する。サンプルデータ１６は既にＤＴＤを有しているので、一組のタグ提案はＤＴＤに追加されたことになる。サンプル文書がＤＴＤを有していない場合も、タグ提案はやはり生成される。アドバイザ１２は、構文解析系１８で文書を解析した結果とタグ提案ルールとを用い、この一組のタグ提案から、上記選択した内容要素のための一組の候補タグを抽出する。次いでアドバイザ１２は、作者に表示するために、この一組の候補タグから最適タグを選択するためのタグ提案条件を使う。作者１００は文書１０の編集を続行しながら、作者が選択したタグを使ってアドバイザ１２を修正変更及び更新することができる。
【００１７】
文書構造の編集を行う場合、つまり作者がタグを開閉する度に、アドバイザは介在する。なお、文書の任意の位置においてユーザは任意のタグを追加することはできないが、対応付けしたＤＴＤ（少なくとも、または基本ＸＭＬルール）により容認されたタグだけは追加することができる。例えば、要素定義＜！要素Ａ（Ｂ｜Ｃ）*＞は、要素（タグ）Ｂ、Ｃのいずれにも優先順位を付けることなく、要素Ａ内の任意の位置で要素（タグ）Ｂ又はＣを容認する。通例、文書と対応付けたＤＴＤは厳密だったり柔軟だったりするかもしれない。厳密なＤＴＤは、非常に融通性なく規則正しい構造を定義するもので、文書のほとんどの位置で１つのタグだけを容認する。これらのＤＴＤはデータベースのような文書収集でよく見受けられる。しかし、厳密なＤＴＤはむしろ例外である。より頻繁に使われるのは柔軟なＤＴＤのものであり、文書のほとんどの位置において多数のタグが使用可能である。
【００１８】
アドバイザは、一組の提案ルールを中核にして構成される。このルールの学習は、利用可能なサンプルデータからの学習コンポーネントによって行われる。サンプルデータからの学習は、オンライン又はオフラインで行うことができる。オフラインで学習するのは、サンプルデータがユーザにより予め入力又は以前に生成された文書の集まりである場合である。サンプル収集が新しい文書によって拡張し、システムが更新した収集から提案ルールを再度学習できるまで、文書を編集する全プロセスの間、システムがオフラインで学習した提案ルールは変更されることはない。
【００１９】
あるいは、その時の構造化文書を編集するプロセスの間、ルールをオンラインで学習することができる。学習に利用可能なサンプルデータは、最初は空だが、ユーザが文書を編集している間中増え続ける。提案ルールは段階的に増えるように学習され、各基本版は複数の提案ルールを（即座に又は多少遅れて）変更することができる。これは、新しいタグの追加がタグ／パターンの回数を変え、アドバイザによる提案を出来る限り変更できるからである。
【００２０】
例１
対応付けされたＤＴＤを有するＸＭＬ文書の集まりはオフライン学習のために備えられ、学習コンポーネントがこの文書の集まりを分析し、新しい文書をオーサリング（編集等）するためのパターンを推論したと仮定する。次に、ユーザが同じＤＴＤで新しい文書の編集を行い、タグ＜Ａ＞の開／閉をある時点で行うものとする。下記において、ＤＴＤが課す要素Ａの構造の４つの異なる例について考察し、アドバイザが最も可能性のあるタグ又はパターンを提案してユーザを支援できる方法を示す。下記の表１に、タグパターン及びサンプルデータにおけるタグパターンの出現回数を詳細に示す。
【００２１】
ケース１
ＤＴＤはＡの要素定義＜！要素Ａ（Ｂ＋）＞を含む。すなわち、要素Ａは副要素Ｂだけを含むことができる。あいまいさはなく、システムは唯一の選択としてタグＢを提案するか、又は自動的に拡大する。一方、システムは最も可能性のあるものとしてパターンＢＢを提案することもできる。（なお、Ｘ＝Ａ（ＢＢ）は、ＸＭＬフラグメント＜Ｘ＞＜Ａ＞＜Ｂ＞…＜／Ｂ＞＜Ｂ＞…＜／Ｂ＞＜／Ａ＞＜／Ｘ＞の省略形である。）
ケース２
ＤＴＤは定義＜！要素Ａ（Ｂ＋｜Ｃ＋｜ＰＣＤＡＴＡ）＞を含むので、Ａ又はＰＣＤＡＴＡの第１副要素としてＢ又はＣのいずれかを容認する。サンプルデータの分析から、見込み確率Ｐｒ＝０．８（Ｐｒ〜０．８は、所定提案の見込み確率がほぼ０．８であるということを意味する）で、アドバイザは最も可能性のある最初の要素Ｃを提案することができる。つまり、アドバイザは、サンプルデータから、＜Ａ＞の後に＜Ｃ＞がくることが８回発生し、＜Ａ＞＜Ｂ＞というのが２回発生し、＜Ａ＞の後ろにＰＣＤＡＴＡがくることはなかったと判断する。また、システムはパターンＡ＝ＣＣを提案してもよい。
【００２２】
ケース３
ＤＴＤが含む定義は、＜！要素Ａ（ＰＣＤＡＴＡ）＞及び＜！要素Ｘ（Ａ*）＞の２つであり、ここで一度タグＡが開けば、ユーザはＤＴＤが一意的に容認したものとしてＰＣＤＡＴＡだけをタイプ入力できるが、Ｘ内において第２タグＡを閉じると、アドバイザはタグＸも閉じることを提案する。
【００２３】
ケース４
提案用サンプルデータの分析は、要素の相互発生に関する単純な統計値にととまらず、それ以上のものである。ＤＴＤが＜！要素Ｘ（Ａ＋）＞、＜！要素Ｙ（Ａ＋）＞、＜要素Ａ（Ｂ＋｜Ｃ＋）＞を含み、ユーザが要素＜Ａ＞を開くとする。すると、学習コンポーネントは、要素Ｂと要素Ｃとが同じ確率で要素Ａの後に続くものの、ＸがＡに（構造的に）先行する時にはＢがＡの後ろに続き、一方ＹがＡに先行する時にはＣがＡの後に続くということを、発見する。したがって、システムのアドバイスは、タグＡの文脈、すなわち、タグＡの前にくるタグによって違ってくることになる。
【００２４】
全体的に、文書構造に開タグ又は閉タグのいずれか等を追加するために、構造アドバイザは最も可能性のある変形を提案する。これらの変形及びその見込み確率はサンプルデータから導き出す。アドバイザの成果は好提案の割合で判断でき、文書生成の過負担を減らす。好提案ルールの導入はサンプルデータの構造的パターンの深い分析を必要とする。以下に、サンプルデータと、パターン表現及び検索のためのデータ構造とから最適パターンを判断する方法を述べる。
【００２５】
文書生成の任意のステップで、構造アドバイザは、１タグ及びパターン提案（すなわち、タグのパターンであり、通常はツリーパターンの形で）の両方のための一組の候補を検討し、どちらの場合でも最適なものを検出する。最適候補とは、次の文書の編集段階に最も有望なものである。これが、サンプルデータ内で見つかったパターンとのある一定の類似性（この類似関数は後述する）を最大化させる。ツリーパターンの提案は、１つのタグを提案するよりも難しいことである。これは、パターン提案が、大きさの異なる候補の中からの選択という困難な問題の処理を必要とするからである。確かに、サンプルデータにおいて出現する回数はサイズが小さいパターンの方が大きいパターンよりも多い。一方、大きいサイズのパターンを提案する方が有利かもしれない。なぜなら、もし容認されれば、大きいパターンは編集の間接費(overhead)をより減らすことになるからである。この方法の意図は、大きさや出現回数の異なる候補のいずれを採るかの最適な調整を見つけることである。以下では、主に留意したことは、１タグの提案はパターンのサイズが１に限定されている特別の場合としてみなされるので、最適パターンを見つけることである。
【００２６】
ツリーパターンｔは、構造化文書の連結フラグメント（連結された小部分）である。ｔの深さはｄ（ｔ）で示す（ツリーの葉の深さはゼロ）。ｔのサイズは｜ｔ｜で示し、ツリーのノード数として測定する。ゼロ又はそれ以上のノードを語尾に追加することにより、パターンツリーｔ１がツリーパターンｔから得ることができる場合、ツリーパターンｔはパターンツリーｔ１の接頭辞である。
【００２７】
文書生成の次の段階のための最適な提案を検出するために、提案のための一組の候補を検討し、所定の文脈で容認されたツリーパターンのセットＴと候補パターンｃとの間の類似性を測定する。良好な類似関数が満たすべき３つの要件を以下に記す。他の必要条件を満たす他の類似関数を用いてもよい。
【００２８】
１．  候補ｃとパターンセットとの類似度は、候補のサイズと出現頻度との間の調整を良好なものとする。
【００２９】
２．  類似度は、簡単に算出されるべきである。
【００３０】
３．  類似性の評価について、文書生成の新しいステップ毎に、計算しなおすことはない。（編集の進展により）文脈が変わることは、候補セットを変更又は減らすかもしれないが、類似値を変えることがあってはならない。
【００３１】
文脈自由提案。開タグＸの深さｄのパターンに関する考察。まず、タグＸが開きつつある文脈は無視する。文脈依存ケースについては後述するように考察される。パターンセットＴ（Ｘ）＝｛ｔi｝は、サンプルデータより得られると仮定する。ここで、各パターンｔiは、Σｐｒi＝１のとき、確率（正規化頻度）ｐｒiで深さｄのＸで根付く構造化サブツリーである。ユーザが文書Ｄをオーサリングしている時、編集プロセスは文書構造に対する一連の初期アクション、つまりＤ0、Ｄ1＝Ｄ0＋ａｃｔｉｏｎ0．．．として見られる。オーサリングプロセスのステップｊでは、ユーザはタグＸの開閉を行い、アドバイザは深さｄの最も可能性があるタグ又は最も可能性あるパターンを持つＤjの現在の状態を拡張する方法を提案すべきである。
【００３２】
次に、上述した３つの要件を満たす類似性の測定を定義する。まず、所定パターンセットＴについて、すべてに接頭辞の付くＴに、候補のセットＣを全パターンのセットとして構築する。つまり、
【００３３】
【数１】
0004656868.tif 000002
【００３４】
次に、候補
【００３５】
【数２】
0004656868.tif 000003
【００３６】
とツリーパターン
【００３７】
【数３】
0004656868.tif 000004
【００３８】
との類似関数は以下のようになる。
【００３９】
１．ｃがｔiのツリー接頭辞である場合、ｓｉｍ（ｃ，ｔi）＝｜ｃ｜／｜ｔi｜
２．それ以外では、ｓｉｍ（ｃ，ｔi）＝０
ただし、ｃ＝ｔiの場合には、ｓｉｍ（ｃ，ｔi）＝１である。最適候補は、総計類似度ＳＩＭ（ｃ、Ｔ）を最大にする候補
【００４０】
【数４】
0004656868.tif 000005
【００４１】
である。総計類似度ＳＩＭ（ｃ、Ｔ）は以下のように求める。
【００４２】
【数５】
0004656868.tif 000006
【００４３】
例２
要素ＸをＤＴＤに＜！要素  Ｘ  （ＡＢ*｜Ｃ*）＞として定義し、以下の表がサンプルデータ（ただし、すべてＤＴＤ定義に適合する）内の要素Ｘの全内容の出現を示すものと仮定する。
【００４４】
【表１】
0004656868.tif 000007
【００４５】
タグＸを開くためのパターン候補のセットは、パターンセットＴ（Ｘ）と合致する。すなわち、Ｃ＝Ｔ（Ｘ）＝｛Ｃ，Ａ，ＡＢ，ＡＢＢ，ＡＢＢＢ｝。候補Ａに対して、ｓｉｍ（Ａ，Ｃ）＝０，ｓｉｍ（Ａ，Ａ）＝１，ｓｉｍ（Ａ，ＡＢ）＝０．５，ｓｉｍ（Ａ，ＡＢＢ）＝０．３３，ｓｉｍ（Ａ，ＡＢＢＢ）＝０．２５がある。また、候補Ａの総計類似関数値を、ＳＩＭ（Ａ，Ｔ）＝０．４２５として得る。同様に、Ｃにおける他の候補として、ＳＩＭ（Ｃ，Ｔ）＝０．２，ＳＩＭ（ＡＢ，Ｔ）＝０．４５，ＳＩＭ（ＡＢＢ，Ｔ）＝０，３７５，ＳＩＭ＝（ＡＢＢＢ，Ｔ）＝０．１がある。したがって、パターンＡＢがタグＸを開くための最適（文脈自由）提案である。
【００４６】
１タグの提案を考えると、候補セットＣを１タグのパターンのみに限定する。つまり、
【００４７】
【数６】
0004656868.tif 000008
【００４８】
そして、同じ方法で最適候補を判定する。上記の例では、Ｃ1はふたつの１タグの候補を含む。つまり、Ｃ1＝｛Ａ，Ｃ｝。Ａは最適な１タグの提案である。
【００４９】
文脈認識提案。例２では、タグを開くケースの文脈自由提案を説明した。次にタグを閉じるケース、及び、タグを開くケースとの違いを考察する。この違いは、閉じたタグと多分先行するいくつかのタグとがこの次の提案のための文脈を表すこと、及び、文脈を考慮にいれると提案がさらに正確になるということである。
【００５０】
例２を再び考察し、ユーザがパターンＡＢＢを選択し、要素Ａ，Ｂ及びＢを埋めて、閉じたと仮定する。アドバイザは次に何を提案すべきか？文脈を考慮にいれることにより、最適候補の計算を変更しないままで候補のセットを限定できる。文脈ｔcxtの候補セットは、
【００５１】
【数７】
0004656868.tif 000009
【００５２】
と定義される。同様に、
【００５３】
【数８】
0004656868.tif 000010
【００５４】
は、１タグの候補のセットである。例えば、ｔcxt＝ＡＢＢ、Ｃ（ｔctx）＝｛ＡＢＢ，ＡＢＢＢ｝、及び、Ｃ1（ｔctx）＝｛ＡＢＢＢ｝がある。候補の評価は、候補セットを縮小するために、再度重み付けされるパターンの確率を除いて、変更されないままである。しかし、パターンの確率の正規化は、総計関数の絶対値を増やすだろうが、その相関順位を変えない。これにより、最適提案の評価を変更しないままにすることが可能となる。ＡＢＢが最適なパターン候補であるので、アドバイザは、文脈ＡＢＢにおいてタグＸを閉じるように提案するであろう。同様に、タグＢは１タグ（だけ）の提案である。
【００５５】
タグを閉じるための文脈認識提案は、タグを開くための文脈自由提案を修正することを可能にしてくれる。実際、例２では、先に考察したタグＢを閉じるための文脈ＡＢＢと同じ方法でタグＸを開く文脈について考察することができた。次に、タグＡを開く最適提案がＡの直前のタグに非常に依存する表１のケース４を考察する。この文書のひとつ高いレベルから始まるタグＡのため候補セットを作成する。すなわち、Ｔ+1（Ａ）＝｛Ｘ（Ａ（ＢＢ）），Ｘ（Ａ（ＢＢＢ）），Ｙ（Ａ（ＣＣ））｝。ひとたび要素Ａの文脈を拡張してしまえば、候補セットの構築と、前のように各文脈の最適提案の判定とを続けて行える。
【００５６】
この文脈認識提案の適用範囲を任意の深さの文脈までにも広げることができる。タグＡのｄ文脈は、文書構造（ｅ1，ｅ2，…ｅd）内のＡの一連の先祖である。ここで、要素ｅiは、ｅi+1の直接の先祖であり、要素ｅdはＡの直接の先祖である。サンプルデータにおける要素Ａｎのためのｄ文脈パターンセットＴ+d（Ａ）は、Ａの全内容で構成されており、各パターンはＡの先頭のｄ文脈に連結される。ひとたびｄ文脈パターンセットが作成されると、候補セット及び最適提案は上述したように判断される。アドバイザが開タグＡのパターンを提案しようとする時、アドバイザは編集する文書からＡのｄ文脈を用いて、最適候補を識別する。
【００５７】
効率的データ構造。アドバイザの仕事は、すべての候補が素早く効率よく識別されることを想定する。つまり、いずれかの編集ステップにおいて、アドバイザは最適候補を迅速に検索できる。ここで、文脈自由提案及び文脈認識提案の両方のための最適候補の表示及び検索のための効率的なデータ構造を提案する。所定の候補セットＴのために、接頭辞オートマトン（automaton）ＰＡの形で、（対応付けした総計関数値と共に）候補セットＣを表す。このオートマトンには複数の状態があり、実線と点線の円弧で示す２つのタイプの遷移を含む。オートマトンにはサイクルはなく、どの状態も実線円弧を介する初期状態からの一意的な一連の遷移に対応し、またＣの候補ｃに対応する。この状態には、ｃの総計関数値ＳＩＭ（ｃ，Ｔ）のタグが付けられ、オートマタ(automata)の最後の状態はＴのパターンに対応する。さらに、各状態ｃは、その時点での文脈である限り、最適パターンを含む。図２，３は、例２と表１のケース４の接頭辞オートマタを示す。オートマタの最後の状態を二重丸で示す。全最適提案はオートマタの再度の状態であるので、状態ｃのための最適提案は対応する状態に対して（点線円弧の）識別リンク付け状態ｃとして示される。
【００５８】
文脈ｔctxの最適な候補は以下のようにして探す。ただし、文脈自由評価は空の文脈
【００５９】
【数９】
0004656868.tif 000011
【００６０】
に相当する。文脈ｔctxはＣの候補ｃと一致すれば、文脈ｔctxはＰＡの状態である。文脈ｔcxtにおける候補セット、つまり、Ｃ（ｔctx）は、状態ｔctxからの到達可能の状態のセットであり、文脈ｔctx用の最適候補は状態ｃ＝ｔctxからの点線円弧を追跡して行くと見つかる。例えば、図２に示すＰＡの初期状態
【００６１】
【数１０】
0004656868.tif 000012
【００６２】
は、状態ＡＢを最適パターンとし、状態ｔctx＝ＡＢＢは、「このタグを閉じる」提案を意味するそのものを指す。
【００６３】
ここで提案する構造アドバイザのアーキテクチャ及び方法は、編集するＸＭＬ文書内の要素の最も可能性のある構造的パターンを探すことに対処している。明らかに、その時に編集している文書とサンプルデータとの類似性を探すという考えは、要素だけに限るものではなく、ＸＭＬ文書の他のコンポーネント、例えば、要素属性、キー従属性等にまでおよぶことができる。
【００６４】
上述した方法は、オフライン学習用の効率的なデータ構造及び最適パターンを探す処理をする。（接頭辞オートマタの形態で）これら構造をサンプルデータからいったん作成すると、文書を編集するプロセスの間、これら構造は変わることがない。もしオフライン学習がオンライン学習で拡張されると、オフライン学習はさらに必要条件をデータ構造に課すことになろう。これは、オートマタの状態、変遷及び対応した総計値の更新が、どの編集ステップの後でも可能だからである。これは最適提案の表示及び検索用データ構造の増分ダイナミック・バージョンの設計を必要とする。
【００６５】
このシステムと方法は、構造化文書をオーサリングしている間の急な(on-the-fly)タグ付けの退屈なプロセスでユーザを助ける。アドバイザは、学習プロセスにおいて統計分析を行い、その動作を使用文書に合うように適応させる。このシステム及び方法は、様々なやり方で実現してもよい。例えば、このシステム及び方法はソフトウェア製品にパッケージされてもよく、あるいは、利用可能なＸＭＬエディタ用のソフトウェア・コンポーネントやプラグインとしてパッケージされてもよく、又は、顧客用に大量のタグを付けて作成する等と同じようなサービスで生産性を高める内部ツールとしてパッケージされてもよい。
【００６６】
本発明の他の特徴によれば、本発明の方法を、構造化文書をオーサリングしている時に、テキスト等のような内容を提案するために用いてよい（つまり、内容アドバイザ）。例えば、一組の文書を導入する際に発生する一覧が、タグ“ヘッド（ｈｅａｄ）”の下にある所定のひとつの内容（「ツールリスト（Ｌｉｓｔ  ｏｆ  ｔｏｏｌｓ：」）（図４参照）を常時用いると想定する。すると、内容アドバイザは、作者にタグ「ｈｅａｄ」の後ろに内容部分「ツールリスト（Ｌｉｓｔ  ｏｆ  ｔｏｏｌｓ）：」を挿入することを提案する。作者はこの提案を有効にも無効にもできる。１文書のすべての内容部分を予測できるわけではないが、所定位置に頻繁に出現し、多くの場合（項目タイトル、リストの見出し、表題等のような）文書を構成する部分を非常に高い精度で予測できる。内容アドバイザは、二面的な利点を用いて、構造化文書、特に、技術文書のオーサリングを容易にしている。その利点とは、オーサリング時間の短縮（少ないタイピング）と、内容に対する増大した制御（既存文書から得られるために提案内容が適切にフォーマットされる）である。
【００６７】
内容アドバイザは、既に構造化された文書の一組を用いることにより、文書のオーサリングの間にテキスト提案を自動的に生成する。構造化文書（例えば、ＸＭＬ文書）はツリーとして表すことができる（図４参照）。文書のルートからその文書にまでの部分的経路を用いて（例えば、ＸＰＡＴＨ形式を用いて）、ひとつの内容を文書に資料として載せてもよい。例えば、ドック／導入／リスト／ヘッド／内容（ｄｏｃ／ｉｎｔｒｏｄｕｃｔｉｏｎ／ｌｉｓｔ／ｈｅａｄ／ＣＯＮＴＥＮＴ）（全経路）及び リスト／ヘッド／内容（ｌｉｓｔ／ｈｅａｄ／ＣＯＮＴＥＮＴ）（部分経路）の経路は、文書内の数カ所で発生する内容を示す。
【００６８】
本発明の方法を用いて内容アドバイザを実現するためのシステムを図５に示す。本発明の本実施の形態では、作者はＸＭＬ文書２０等のような新しい構造化文書を作成する。作者はドック（ｄｏｃ），導入（ｉｎｔｒｏｄｕｃｔｉｏｎ），リスト（ｌｉｓｔ），ヘッド（ｈｅａｄ）等のような様々なＸＭＬタグを選択する。作者が「ヘッド（ｈｅａｄ）」のタグを開くと、テキスト・アドバイザ２２は、「ツールリスト（Ｌｉｓｔ  ｏｆ  Ｔｏｏｌｓ）：」のテキスト・フラグメントを提案する。ユーザがこのテキスト・フラグメントの有効とすると、文書２０に挿入される。ユーザがこのテキスト・フラグメントを有効としなければ、アクションは起きない。できる限り、テキスト・アドバイザは、他の内容フラグメント、つまり、作者が選択又は無視できるテキスト・フラグメントの選択を提案する。
【００６９】
一組のトレーニング文書２６を分析することにより、機械学習技法を用いて、内容提案を生成しテキスト・アドバイザ２２に送る。トレーニング文書２６は、作者がこの時草稿中のタイプと似ているフォーマットされたＸＭＬ文書である。トレーニング文書は特定のタグと対応付けした共通内容フラグメントのために分析される。例えば、図５において、内容フラグメント「ツールリスト（Ｌｉｓｔ  ｏｆ  Ｔｏｏｌｓ）：」は、タグ「ヘッド（ｈｅａｄ）」の使用のたびに出現する。内容フラグメントの一覧が生成され、内容フラグメントはその関連性及び重要性に基づき評価される。内容フラグメントに関連性を割り当てるいくつかの方法を使ってもよい。この問題を処置する手段のひとつに、スコア（例えば、確率）を、テキストが生じるタグに基づいて、ひとつの内容に割り当てるという手段がある。つまり、スコア（テキスト、タグ）。このようなスコアを計算する最も簡単な方法は、このタグ下にある内容の発生数と、トレーニング文書内の同じタグの発生数との比率を計算することである。他のさらに高度な関数を用いることもできる（ラプラス精度等）。最適内容提案はそのタグの最高スコアを有するテキストである。
【００７０】
このスコアが、通常、テキスト・フラグメント提案の良い指標となる一方で、たびたび追加される情報を、内容フラグメントをさらに評価するために必要としてもよい。文脈情報等のような追加情報は、さらに高品質の予測を生成するためでも、必要であることもある。もしシステムが低い確率のものを提案すると、作者の拒絶する割合は高くなり、システムは支援するどころか、弊害となることの方が多くなるかもしれない。
【００７１】
作者が内容フラグメント提案を承認する可能性を高くするために、学習技法は、内容をひとつ含むタグの文脈を考慮にいれるように変更してもよい。タグの構造的文脈は、通常、タグを中核にした構造的ツリーで構成される。同じ内容フラグメントが、タグの同じツリーパターンの後に発生した場合には、作者はこの提案された内容フラグメントを承認する可能性はさらに高い。他の方法を用いて文脈を推定してもよい。所定の内容ひとつ（内容フラグメント）を含むタグ毎に、内容アドバイザは、このタグの構造的文脈に鑑みて、この所定の内容がタグの下に出現する確率を予測する。もしこの確率が十分に高いものならば、内容フラグメントを提案することができる。その上、システムの構成を、システムが、所定のタグに割り当てる所定の内容のスコアが所定閾値よりも高くなるように文脈を作成するようにしてもよい。これにより、学習済み提案の品質はシステムを有用にするに十分な高さであることが確実となる。
【００７２】
タグの構造的文脈は内容情報で拡充され得る。例えば、ｄｏｃ／（区分名／“章の概要”，区分／内容）のツリーは、タグ「区分」用混合内容（構造と内容）と呼ばれる（図６参照）。この文脈は、内容「ＴＥＸＴ」で拡充された構造ｄｏｃ／（区分名／“章の概要”，区分）を含む。通常、問題は類別化問題（カテゴリとして表すことができるひとつのテキストを所定タグに割り当てる）として様式化されるので、この問題を解決するために開発された既存の機械学習技法のすべてを、内容フラグメント提案を生成するために使うことができる。
【００７３】
申し分ないスコアが特定の内容フラグメントに対して計算することができない場合、複数の精密な選択がなされてもよい。例えば、ひとつの内容全部ではなく、単語、節又は文等のような小さな言語単位でスコアを付けるようにシステムを変更することもできる。スコアを小さい言語単位に割り当てる。このとき、スコアは、例えば、選択したタグの下にある言語単位の発生数と、トレーニング文書内の選択したタグの発生数との割合である。学習の出力形式は、文脈ツリー内の内容にスコアを対応付けした３つ組み＜ツリー，内容，スコア＞の一覧に相当する。複数の内容を同じ環境の候補とすることもできる。３つ組の例を挙げる。
【００７４】
＜*／区分／（区分名／“章の概要”，リスト，リスト／ヘッド／，“区分のリスト”，０．８＞
ツリーコンポーネントは可能な内容要素を有する文書のサブツリーに相当する。要素内容を挿入すべきタグが、既に何らかの内容を有している場合には、要素内容をこの既存の内容に連結する。
【００７５】
このような一覧を文書に添付するために、標準の構文解析技法を適用することもできる（ルール・エンジン、有限状態オートマトン等）。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態によるアドバイザ・システムのブロック図である。
【図２】例２の接頭辞ツリー図である。
【図３】接頭辞ツリー・オートマトンを示す図である。
【図４】構造化文書の一部を示す図である。
【図５】本発明の他の実施の形態によるテキスト・アドバイザ・システムのブロック図である。
【図６】区分（Ｓｅｃｔｉｏｎ）：ドック（ｄｏｃ）／（区分名／“章の概要”，区分／テキスト）のタグのためのひとつの混合内容を示す図である。
【符号の説明】
【００７７】
１０    作者
１２    アドバイザ
１４    提案ルール
１６    アンプル・データ
１８    構文解析系
【図１】
0004656868.tif 000013
【図２】
0004656868.tif 000014
【図３】
0004656868.tif 000015
【図４】
0004656868.tif 000016
【図５】
0004656868.tif 000017
【図６】
0004656868.tif 000018