(57)【要約】ここに呈示されるのは、オーサリングされたメッセージから構造化データを提供する方法である。また、ここに呈示されるのは、処理システムのプロセッサによって実行されたときにメッセージをオーサリングするための諸方法を実行するコンピュータ可読命令を担持する担体媒体の形などのソフトウェア・プロダクトと、そうした諸方法およびソフトウェア・プロダクトを利用するシステムである。該諸方法は特に、人間の協働事業の計画、執行、コントロール、評価および報告に関係してオーサリングされるメッセージに適用可能である。ここで、オーサリングとは、ワードプロセシング、電子メールおよびその他の自由テキスト・オーサリング・ソフトウェア・システムを含む従来技術の諸方法からなじみのある仕方でユーザーが実行できる。オーサリング・プロセスから構造化データが与えられ、このデータはいくつかの実装では、活動管理システムに、該システムが管理しているレコードを更新する目的のために与えられる。
2009501370.tif 000002
【特許請求の範囲】
【請求項１】
一または複数の受信者に送信するための自由テキスト・メッセージから構造化データを提供する方法であって：
（ａ）前記メッセージのテキスト断片を示す入力を受け付ける段階と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析する段階と；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する段階と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける段階と；
（ｅ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析されるまで、段階（ａ）ないし（ｄ）を繰り返す段階とを含んでおり、
前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方が一または複数の受信者に送信可能となる、方法。
【請求項２】
（ｆ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方を一または複数の受信者に送信する段階を含む、請求項１記載の方法。
【請求項３】
段階（ｆ）における送信が、ユーザーによって与えられる明示的な送信コマンドに応答してである、請求項２記載の方法。
【請求項４】
段階（ｆ）における送信が、すべてのテキストおよび構造化データが承認されるという明示的なコマンドに応答してである、請求項２記載の方法。
【請求項５】
前記メッセージが前記ユーザーによって作成される、請求項１記載の方法。
【請求項６】
前記メッセージが前記ユーザーとは異なる別のユーザーによって作成される、請求項１記載の方法。
【請求項７】
前記テキスト断片が自由テキストとして与えられる、請求項１記載の方法。
【請求項８】
（ｂ）の解析する段階が、前記テキスト断片に対応する受け付けられた入力を解析することと、テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対する前記テキスト断片の関係を解析することとのうち一方または両方を含む、請求項７記載の方法。
【請求項９】
（ｂ）の解析する段階は、前記テキスト断片に対応する受け付けられた入力を解析することと、テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対応する承認された構造化データを解析することとのうち一方または両方を含む、請求項７記載の方法。
【請求項１０】
前記自由テキストが、電子メッセージのオーサリングの際に与えられる、請求項７記載の方法。
【請求項１１】
一つまたは複数の所定のテキスト条件は一つまたは複数の構造化データ型に関連付けられており、前記提案される構造化データは、満たされたテキスト条件に関連付けられている構造化データ型のうちの一つまたは複数を含む、請求項１記載の方法。
【請求項１２】
テキスト条件を構造化データ型に関連付けるための枠組みを提供する段階を含む、請求項１１記載の方法。
【請求項１３】
当該方法がある環境において実装され、テキスト条件の構造化データ型への関連付けが環境固有である、請求項１１記載の方法。
【請求項１４】
満たされたテキスト条件に関連付けられている一つまたは複数の構造化データ型を識別する段階を含む、請求項１１記載の方法。
【請求項１５】
前記の一つまたは複数の識別された構造化データ型を解析して、構造化データ型の好ましい選択を識別する段階を含む、請求項１４記載の方法。
【請求項１６】
構造化データ型の前記好ましい選択は、前記識別された構造化データ型の一つまたは複数または全部を含む、請求項１５記載の方法。
【請求項１７】
前記の一つまたは複数の識別された構造化データ型を解析する段階は、マッピング・プロトコルを適用することを含む、請求項１５記載の方法。
【請求項１８】
前記マッピング・プロトコルが信頼水準評価を含む、請求項１７記載の方法。
【請求項１９】
前記マッピング・プロトコルが以前に承認された構造化データの評価を含む、請求項１７記載の方法。
【請求項２０】
前記マッピング・プロトコルが前記ユーザーに関連する一つまたは複数の属性の解析を含む、請求項１７記載の方法。
【請求項２１】
前記マッピング・プロトコルが受信者のうちの一または複数に関連する一つまたは複数の属性の解析を含む、請求項１７記載の方法。
【請求項２２】
前記マッピング・プロトコルが前記ユーザーと受信者のうちの一または複数とに関係する一つまたは複数の関係属性の解析を含む、請求項１７記載の方法。
【請求項２３】
前記マッピング・プロトコルが関係したメッセージに関連する一つまたは複数の属性の解析を含む、請求項１７記載の方法。
【請求項２４】
前記マッピング・プロトコルが、前記ユーザーによって選択されたメッセージ・テンプレートの考察を含む、請求項１７記載の方法。
【請求項２５】
前記マッピング・プロトコルが一つまたは複数のデータ型に関連する一つまたは複数の属性の解析を含む、請求項１７記載の方法。
【請求項２６】
前記マッピング・プロトコルが学習アルゴリズムによって導かれるデータの適用を含む、請求項１７記載の方法。
【請求項２７】
各データ型は一つまたは複数の詳細フィールドを示す、請求項１１記載の方法。
【請求項２８】
提案される構造化データを示す前記出力は、該提案される構造化データに含まれている構造化データ型が示す詳細フィールドのうちの一つまたは複数を与える、請求項２７記載の方法。
【請求項２９】
前記提案された構造化データの選択的な修正および／または承認を示す前記追加的な入力を与えることが、前記の与えられた詳細フィールド内の情報を編集および／または承認することを含む、請求項２８記載の方法。
【請求項３０】
送信が許されるのは、前記の与えられたフィールドのそれぞれが埋められた場合のみである、請求項２９記載の方法。
【請求項３１】
前記の与えられた詳細フィールドのうち一つまたは複数が前記テキストの解析に基づいて自動的に埋められる、請求項２８記載の方法。
【請求項３２】
各データ型について、詳細フィールドはそのデータ型の諸側面に関係する、請求項２７記載の方法。
【請求項３３】
詳細フィールドは、締め切りまたはその他の日時に関係する一つまたは複数の詳細フィールドを含む、請求項３２記載の方法。
【請求項３４】
詳細フィールドは、分類に関係する一つまたは複数の詳細フィールドを含む、請求項３２記載の方法。
【請求項３５】
詳細フィールドは、資源割り当てに関係する一つまたは複数の詳細フィールドを含む、請求項３２記載の方法。
【請求項３６】
詳細フィールドは、優先度ランク付けに関係する一つまたは複数の詳細フィールドを含む、請求項３２記載の方法。
【請求項３７】
詳細フィールドは、責任割り当てに関係する一つまたは複数の詳細フィールドを含む、請求項３２記載の方法。
【請求項３８】
詳細フィールドは、タスク受け容れまたは拒否に関係する一つまたは複数の詳細フィールドを含む、請求項３２記載の方法。
【請求項３９】
詳細フィールドおよびデータ型の一方または両方が、修正可能コンポーネントとしてグラフィカル・ユーザー・インターフェース内に与えられる、請求項２９記載の方法。
【請求項４０】
提案される構造化データを示す信号を与える段階が、一つまたは複数の所定の条件が満たされるのに際して実行される、請求項１記載の方法。
【請求項４１】
前記一つまたは複数の所定の条件が：
ユーザー入力；
テキストを示す前記ユーザー入力からの受信の完了を示す入力；および
テキストの離散的断片を示す前記ユーザー入力からの受信の完了を示す入力、
のうち一つまたは複数を含む、請求項４０記載の方法。
【請求項４２】
テキストの離散的なセグメントを示す入力がテキストの段落を示す入力を含む、請求項４１記載の方法。
【請求項４３】
テキストは、グラフィカル・ユーザー・インターフェースによって自由テキスト・メッセージ・フィールドにおいて前記ユーザーに対して表示され、提案される構造化データを示す信号は、前記自由テキスト・メッセージ・フィールドの中、上および／または隣に与えられる、請求項１記載の方法。
【請求項４４】
前記信号が、提案される構造化テキストを示す樹形図を含む、請求項４３記載の方法。
【請求項４５】
前記樹形図は、構造化テキスト・プレビュー・フィールドにおいて、前記自由テキスト・メッセージ・フィールドと並んで提供される、請求項４４記載の方法。
【請求項４６】
前記信号が、前記自由テキスト・メッセージ・フィールド上に定期的にスーパーインポーズされる、一つまたは複数の修正可能項目を含む、請求項４３記載の方法。
【請求項４７】
承認された構造化データを示す信号が情報管理システムに与えられる、請求項１記載の方法。
【請求項４８】
前記情報管理システムは活動管理システムである、請求項４７記載の方法。
【請求項４９】
前記情報管理システムは、前記承認された構造化データを示す信号に応じて、データベース中の一つまたは複数のレコードを更新する、請求項４７記載の方法。
【請求項５０】
前記情報管理システムは、前記承認された構造化データを示す信号に応じて、後続行動を示す信号を与える、請求項４７記載の方法。
【請求項５１】
前記承認された構造化データを示す信号が、一つまたは複数の所定の条件が満たされるのに反応して前記情報管理システムに与えられる、請求項４７記載の方法。
【請求項５２】
前記一つまたは複数の所定の条件は、前記テキストを含む電子メッセージを提供するというユーザー・コマンドを含む、請求項５１記載の方法。
【請求項５３】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定のキーワードの存在を含む、請求項１記載の方法。
【請求項５４】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定の文法構造の存在を含む、請求項１記載の方法。
【請求項５５】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定のテキスト構造の存在を含む、請求項１記載の方法。
【請求項５６】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定の識別子の存在を含む、請求項１記載の方法。
【請求項５７】
前記一つまたは複数の所定のテキスト構造が、日付またはその他の時点を指定する構造にされたテキストを含む、請求項５５記載の方法。
【請求項５８】
前記一つまたは複数の所定の識別子は、一つまたは複数の資源、項目、プロジェクト、人物または位置を示す、請求項５６記載の方法。
【請求項５９】
前記メッセージは単一のテキスト断片からなる、請求項１記載の方法。
【請求項６０】
（ｃ）で与えられる前記出力は、グラフィカル・ユーザー・インターフェース内で呈示される一つまたは複数の修正可能なコンポーネントを含む、請求項１記載の方法。
【請求項６１】
一つまたは複数のプロセッサによって実行されたときに、該一つまたは複数のプロセッサをして、一または複数の受信者に送信するためのユーザーがオーサリングしたメッセージから構造化データを提供する方法であって：
（ａ）前記ユーザーがオーサリングしたテキスト断片を示す入力を受け付ける段階と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析する段階と；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する段階と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける段階と；
（ｅ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析されるまで、段階（ａ）ないし（ｄ）を繰り返す段階とを有しており、
前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方が一または複数の受信者に送信可能となるような方法、を実行させる一組の命令を担持するコンピュータ可読担体媒体。
【請求項６２】
前記方法がさらに：
（ｆ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方を一または複数の受信者に送信する段階を含む、請求項６１記載の担体媒体。
【請求項６３】
前記担体媒体は、前記一つまたは複数のプロセッサのうち少なくとも一つのプロセッサによって検出可能で、前記一組の命令を表している伝搬される信号を担持する媒体である、請求項６１記載の担体媒体。
【請求項６４】
前記担体媒体は、前記一つまたは複数のプロセッサのうち少なくとも一つのプロセッサによって検出可能で、前記一組の命令を表している伝搬される信号を担持する搬送波である、請求項６１記載の担体媒体。
【請求項６５】
前記担体媒体は、前記一つまたは複数のプロセッサのうち少なくとも一つのプロセッサによって検出可能で、前記一組の命令を表している伝搬される信号を担持する、ネットワーク中の伝送媒体である、請求項６１記載の担体媒体。
【請求項６６】
請求項１ないし６０のうちいずれか一項記載の方法を実行するための一組の命令を有するコンピュータ・プログラム。
【請求項６７】
一または複数の受信者に送信するための自由テキスト・メッセージから構造化データを提供する装置であって：
（ａ）前記メッセージのテキスト断片を示す入力を受け付ける手段と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析する手段と；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する手段と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける手段と；
（ｅ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析されるまで、段階（ａ）ないし（ｄ）を繰り返す手段とを有しており、
前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方が一または複数の受信者に送信可能となる、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関係する特許出願
本発明は、Method  and  Apparatus  for  Authoring  Documentsという名称の2005年7月15日に出願された発明者ノヴィーへの米国仮特許出願第60/700,041号、代理人整理番号THINK102Pの切り換えであり、その優先権を主張する。米国仮特許出願第60/700,041号の内容はここに参照によって組み込まれる。
【０００２】
本発明は、電子メッセージ生成方法に、より詳細には電子的な自由テキスト・メッセージの作成の際に該メッセージから構造化データを提供するためのコンピュータ実装される方法に関する。この構造化データとは、メッセージの意図された意味――「意味論的内容」――を表現し、構造化データはデータ構造、たとえばデータベースにおいて表現される。
【背景技術】
【０００３】
さまざまな形の活動管理システム（activity  management  system）が知られている。活動管理システムとは、活動、リスクおよび／または問題に関係する情報を管理し、この情報を処理するためのコンピュータ・ベースのシステムのことである。そのようなコンピュータ・ベースの活動管理システムの例は、コンピュータ・ベースのプロジェクト管理システム、運用リスクおよび問題管理システム（operational  risks  and  issues  management  system）、バグ／欠陥追跡システム、資源スケジューリング・システム、現在の活動の要約および概観を提供する管理ダッシュボード（management  dashboard）、管理および執行報告システム（management  and  executive  reporting  system）、活動／リスク／問題／変化要求管理システム（activity/risk/issue/change  request  management  system）、標準および規制準拠システム（standards  and  regulatory  compliance  system）のような準拠システムならびに知識管理システム（knowledge  management  system）を含む。
【０００４】
活動管理システムは典型的には、人間の協働事業の計画、執行、コントロール、評価および報告に関わる活動およびプロセスにおいて支援するための電子的なインフラストラクチャーを提供する。これらは、個人のプロジェクトのような非反復事業も、通例のビジネス活動のような反復的および／または進行的な事業を含む。
【０００５】
一般的に言って、活動管理システムは、データを与えられる。たとえば、プロジェクト管理などの場合では、締め切り、時間枠、タスクおよびタスク割り当て、資源および資源割り当て、リスク、作業フローなどといったプロジェクト因子を示すデータである。そのような因子についての一般的な用語は、活動管理システムに適用されるときには、「活動因子（activity  factor）」である。プロジェクト管理の例を続けると、プロジェクト管理システムのほうは、事態の進行につれて人がエンティティまたはプロジェクトまたは活動の諸側面を見て評価できるインターフェースを提供する。あるプロジェクト管理の例では、プロジェクト管理者〔マネージャ〕がプロジェクト管理システムを使って特定のプロジェクトの進行を追跡する。それには、未完了のタスク、それらのタスクを担う人員およびプロジェクト全体についてのタスク完了時間の見通しの評価を実行することが含まれる。
【０００６】
活動管理システムの実際的な効率性はしばしば、所与の管理される活動に関わる人が、管理される因子を示す関連データをシステムに与える度合いに強く依存する。そのような関連データは、会合、電話会談および電子メールによる人間の対話の結果として急速に蓄積する。
【０００７】
人間の対話から発するデータが活動管理システムに与えられることを保証するためには、活動管理システムのユーザーにとって多大な時間と労力が要求される。この時間と労力はしばしば遡及的に費やされる――特定の人間対話（または他の管理される活動）から発するデータが、その対話の生起後に（場合によっては長い時間たってから）システムに与えられるのである。これは、所与の時点でのシステムの信頼性に影響を及ぼし、しかも資源集約的である。これらの因子はしばしば、活動管理システムの使用に対する抑制要因と見られる。
【０００８】
活動管理システムは典型的には、構造化データの諸方法を使ってデータを保存する。その方法では、取り込まれた情報は既知の型の離散的な構造化データ・オブジェクトに編成される。構造化データ・オブジェクトのそれぞれは典型的には既知の型および値の少なくとも一つのデータ・フィールドを含む。構造化データ・オブジェクト型定義の集合は普通「スキーマ（schema）」と称される。典型的には、構造化データ・オブジェクトは少なくとも一つのデータ貯蔵部、たとえばデータベースに保存されており、各貯蔵部の内容はさまざまな参加者に対して、そのそれぞれのセキュリティ・クリアランスに従って利用可能にされる。
【０００９】
電子メールの場合、いくつかの事例では、活動管理システムを使う管理者〔マネージャ〕が定期的に――たとえば一日または一週間の終わりに――受信および送信された電子メールを確認して、活動管理システムに与えられるべきデータを評価することが知られている。
【００１０】
当技術分野では、管理される因子を示すデータを活動管理システムに与えることに関わるプロセスを能率化して、前記データが信頼できる形で、適時に、資源節約的な仕方で前記システムに与えられるようにする方法、システムおよび装置が必要とされている。当技術分野ではさらに、テキスト・メッセージングを使って与えられたデータを活動管理システムのようなシステムのための構造化されたフォーマットに変換することが必要とされている。
【００１１】
構造化データを直接与えるためのいくつかの既知の技法がある。一例では、ユーザーがそのために設計された電子フォーム（form）によって情報をオーサリングする。フォームは、個別的な構造化されたデータ型に関係するフィールドを含み、これらのフィールドを完成させてフォームを提出することによって、ユーザーはデータベース中のレコードを更新するための構造化されたデータを提供する。たとえば、「タスク・フォーム」によって、プロジェクト管理者は従業員へのタスクの割り当てを、タスク、優先度、割り当てられる従業員、締め切りなどを示すデータを所定のフィールドに入力することによってできるようになる。プロジェクト管理システムにおいて特に使用するためのような構造化データをオーサリングするために使えるソフトウェア製品の例は、Primavera（商標）およびNiku（商標）という製品を含む。
【００１２】
構造化データを与えるためにフォームを使う手法はしばしば、上で論じたのと同様の欠点につながる。たとえば、効率性はフォームの適切かつ一貫した使用に依存する。さらに、フォームを埋めることは時間がかかる――特にデータが過去の人間対話から発している状況ではそうである。
【００１３】
フォームの使用と同様のある手法は、ユーザーによるテンプレートの選択に関わるものである。そのような手法では、ユーザーがある型のメッセージ――たとえばあるタスクを割り当てるためのメッセージ――を選択する。所与の型のメッセージについて、どんな情報がオーサリングされる必要があり、どんな情報が任意的にオーサリングされるかを記述するテンプレートがある。データ入力はたとえば、オーサリングされる必要のある情報を入力することをユーザーに要求し、任意的な情報の任意的な入力にも対応するフォームまたは他の何らかの仕方を介して行われる。そのようなテンプレートによってオーサリングされたメッセージのオーサリングおよび送信は、構造化データの提供につながる。いくつかの事例では、メッセージの型はさらに、最初のメッセージの受信者にとって利用可能な、受信されたメッセージに応答するための、あるいは受信されたメッセージに応答して別のメッセージング・タスクを実行するための、メッセージ型の集合を決める。そのような構造化データの諸方法の例は、US5,208,748およびUS6,708,201に記載されている。そのようなテンプレートの使用はフォームの使用と同様である。それは、本発明の実施形態がここで「メッセージ・テンプレート」と呼ばれるものを使う仕方とは異なる。
【００１４】
前記の手法は、本来的に、人が意思疎通する仕方を制約し、議論の余地はあるが人と人との間のメッセージ交換から貴重な人間的な要素を奪ってしまう。さらに、その有効性は参加者がすべての場合においてテンプレートを適切に使用しようとすることに依存している。
【００１５】
もう一つの種類の構造化データ方法によれば、ユーザーは、入力された文書の諸部分をマークするために編集用製品を操作し、そうすることにおいてマークされた部分の意味を指定する。マーカーは典型的にはスキーマに従って定義される。ここで、スキーマは、あらかじめ決められていてもよいし、文書中でのマーカーの使用から推定されてもよい。プロジェクト管理に個別的な、あらかじめ決められたスキーマを使うそのような方法の一例は、いわゆるプロジェクト管理拡張可能マークアップ言語（PMXML:  Project  Management  Extensible  Markup  Language）である。たとえば、http://xml.coverpages.org/projectManageSchema.htmlを参照。
【００１６】
この手法は、意思疎通における人間的な要素のいくばくかを保持するものの、いくらか時間がかかり、必ずしも使うのに直観的でない。文書の意味を確認してその後テキストのマーク付けによってその意味を補強するのは、ユーザーの責任とされる。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
よって、当技術分野においては、メッセージ交換のためのテキストを受け付けて、そのテキストを活動管理システムのようなシステムで使用するための構造化された形に変換するコンピュータ実装された方法が必要とされている。
【課題を解決するための手段】
【００１８】
ここに記載されるのは、複合データ・メッセージ（composite  data  message）をオーサリングする方法と、処理システムの一つまたは複数のプロセッサ上で実行されたときに処理システムに前記方法を実装させるコンピュータ可読命令を担持する担体媒体の形などのソフトウェア・プロダクトである。各複合データ・メッセージは、たとえば活動管理において使うために少なくとも一の受信者による受信のために構成されている。そのようなメッセージは、自由テキストおよび該自由テキストの変換後の構造化データの一方または両方を含む。ここで、構造化データとは、自由テキストの意図された意味を表現する。本発明のある実施形態によれば、構造化データは、自由テキストの一テキスト断片（text  fragment）の意味を表現する構造化データ・オブジェクトを少なくとも一つと、そのような構造化データ・オブジェクトどうしの間の0以上の関係（relationship）、たとえば型付きの参照（typed  reference）を含む。ここで、各関係は、対応するテキスト断片間の対応する関係を表現する。当技術分野において一般的なように、本稿では、要素の量について「0以上の」の表現は、要素なし、あるいは少なくとも一つの要素があるとしたら一つまたは複数の要素を意味するのに使われている。すなわち、「0以上の関係」とは、任意的である少なくとも一つの関係を意味する。
【００１９】
ある実施形態によれば、本方法はさらに、自由テキストから構造化データへの自動変換を提供することを含む。ここで、変換はオーサリングの間に逐次的かつ段階的に実行され、構造化データの少なくとも一部分、たとえば構造化データ・オブジェクトまたはデータ・フィールドについての仮データ状態を生じる。さらに、本方法は、そのような仮データ状態の段階的なユーザー承認および訂正を提供する。ひとたび承認されれば、承認された構造化データ部分のデータ状態は訂正済みと考えられ、もはや自動化された変更の対象ではなくなる。ある実施形態によれば、構造化データの以前に承認された構成要素へのさらなる手動の変更がいまだ可能である。さらにある実施形態によれば、対応する構造化データの承認後にテキスト断片に変更がされると、対応する構造化データの承認済みの地位が取り消される。
【００２０】
ある実施形態によれば、変換決定は、少なくとも一つのスキーマ、0以上のメッセージ・テンプレート、所与の構造化データ・オブジェクト型に関連付けられた0以上のあらかじめ決められたライフサイクルおよびメッセージのための0以上のあらかじめ決められた作業フローを使うことを含む。
【００２１】
さらに、ある実施形態によれば、本方法は、メッセージの構造化データの視覚的モデルをユーザーに対して表示することを含む。
【００２２】
ある実施形態は、一または複数の受信者に送信するためのメッセージから構造化データを提供する方法であって：
（ａ）前記メッセージのテキスト断片を示す入力を受け付ける段階と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析する段階と；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する段階と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける段階と；
（ｅ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析されるまで、段階（ａ）ないし（ｄ）を繰り返す段階とを含んでおり、
前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方が一または複数の受信者に送信可能となる。
【００２３】
ある実施形態はさらに、前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方を一または複数の受信者に送信することを含む。
【００２４】
ある実施形態では、（ｆ）における送信は、ユーザーによって与えられる明示的な送信コマンドに応答してである。
【００２５】
ある実施形態では、（ｆ）における送信は、すべてのテキストおよび構造化データが承認されるという明示的なコマンドに応答してである。
【００２６】
ある実施形態では、前記テキスト断片は自由テキストとして与えられる。
【００２７】
ある実施形態では、前記メッセージは前記ユーザーによって作成される。別の実施形態では、前記メッセージは前記ユーザーとは異なる別のユーザーによって作成される。
【００２８】
ある実施形態では、（ｂ）の解析する段階は、前記テキスト断片に対応する受け付けられた入力を解析することと、テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対する前記テキスト断片の関係を解析することとのうち一方または両方を含む。
【００２９】
ある実施形態では、（ｂ）の解析する段階は、前記テキスト断片に対応する受け付けられた入力を解析することと、テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対応する承認された構造化データを解析することとのうち一方または両方を含む。
【００３０】
ある実施形態では、前記自由テキストは、電子メッセージの作成の際に与えられる。
【００３１】
ある実施形態では、一つまたは複数の所定のテキスト条件は一つまたは複数の構造化データ型に関連付けられており、前記提案される構造化データは、満たされたテキスト条件に関連付けられている構造化データ型のうちの一つまたは複数を含む。
【００３２】
ある実施形態は、テキスト条件を構造化データ型に関連付けるための枠組みを提供する段階を含む。
【００３３】
ある実施形態では、本方法は、ある環境において実装され、テキスト条件の構造化データ型への関連付けは環境固有である。
【００３４】
ある実施形態は、満たされたテキスト条件に関連付けられている一つまたは複数の構造化データ型を識別する段階を含む。
【００３５】
ある実施形態は、前記の一つまたは複数の識別された構造化データ型を解析して、構造化データ型の好ましい選択を識別する段階を含む。
【００３６】
ある実施形態では、構造化データ型の前記好ましい選択は、前記識別された構造化データ型の一つまたは複数または全部を含む。
【００３７】
ある実施形態では、前記の一つまたは複数の識別された構造化データ型を解析する段階は、選択プロトコルを適用することを含む。該選択プロトコルは、自由テキストと構造化データの間のマッピングのためのマッピング・プロトコルに含まれている。
【００３８】
ある実施形態では、前記マッピング・プロトコルは次のうちの一つまたは複数を含む：
・信頼水準評価；
・以前に承認された構造化データの評価；
・前記ユーザーに関連する一つまたは複数の属性の解析；
・受信者のうちの一または複数に関連する一つまたは複数の属性の解析；
・前記ユーザーと受信者のうちの一または複数とに関係する一つまたは複数の関係属性の解析；
・関係したメッセージに関連する一つまたは複数の属性の解析；
・一つまたは複数のデータ型に関連する一つまたは複数の属性の解析；ならびに
・学習アルゴリズムによって導かれるデータの適用。
【００３９】
ある実施形態では、各データ型は一つまたは複数の詳細フィールドを示す。
【００４０】
ある実施形態では、提案される構造化データを示す前記出力は、該提案される構造化データに含まれている構造化データ型が示す詳細フィールドのうちの一つまたは複数を与える。
【００４１】
ある実施形態では、前記提案された構造化データの選択的な修正および／または承認を示す前記追加的な入力を与えることは、前記の与えられた詳細フィールド内の情報を編集および／または承認することを含む。
【００４２】
ある実施形態では、データ・フィールドのうちの一つまたは複数は、必須データ・フィールドとしてあらかじめ決められており、送信が許されるのは、与えられた必須の詳細フィールドのそれぞれが埋められた場合のみである。
【００４３】
ある実施形態では、少なくとも一つの詳細フィールドは、一つまたは複数のあらかじめ決められた有効性条件、たとえばその詳細フィールドを埋めるデータについての許容可能な型および許容可能な最大長に関連付けられており、送信が許されるのは、該当するすべての有効性条件が満たされた場合のみである。
【００４４】
ある実施形態では、与えられた詳細フィールドのうちの一つまたは複数は、テキストの解析に基づいて自動的に埋められる。
【００４５】
ある実施形態では、各データ型について、詳細フィールドはそのデータ型の諸側面に関係する。
【００４６】
ある実施形態では、詳細フィールドは、次のうち任意の一つまたは複数に関係する詳細フィールドを含む：
・締め切りまたはその他の日時；
・分類；
・資源割り当て；
・優先度ランク付け；
・責任割り当て；
・タスク受け容れまたは拒否。
【００４７】
ある実施形態では、詳細フィールドおよびデータ型の一方または両方が、修正可能コンポーネントとしてグラフィカル・ユーザー・インターフェース内に与えられる。
【００４８】
ある実施形態では、提案される構造化データを示す信号を与える段階は、一つまたは複数の所定の条件が満たされるのに際して実行される。
【００４９】
ある実施形態では、前記一つまたは複数の所定の条件とは、次のうち任意の一つまたは複数を含む：
・ユーザー入力；
・テキストを示す前記ユーザー入力からの受信の完了を示す入力；
・テキストの離散的断片を示す前記ユーザー入力からの受信の完了を示す入力。
【００５０】
ある実施形態では、テキストの離散的なセグメントを示す入力はテキストの段落を示す入力を含む。
【００５１】
ある実施形態では、テキストは、グラフィカル・ユーザー・インターフェースによって自由テキスト・メッセージ・フィールドにおいて前記ユーザーに対して表示され、提案される構造化データを示す信号は、前記自由テキスト・メッセージ・フィールドの中、上および／または隣に与えられる。
【００５２】
ある実施形態では、前記信号は、提案される構造化テキストを示す樹形図を含む。
【００５３】
ある実施形態では、前記樹形図は、構造化テキスト・プレビュー・フィールドにおいて、前記自由テキスト・メッセージ・フィールドと並んで提供される。
【００５４】
ある実施形態では、前記信号は、前記自由テキスト・メッセージ・フィールド上に定期的にスーパーインポーズされる、一つまたは複数の修正可能項目を含む。
【００５５】
ある実施形態では、承認された構造化データを示す信号が情報管理システム（information  management  system）に与えられる。
【００５６】
ある実施形態では、前記情報管理システムは活動管理システムである。
【００５７】
ある実施形態では、前記情報管理システムは、前記承認された構造化データを示す信号に応じて、データベース中の一つまたは複数のレコードを更新する。
【００５８】
ある実施形態では、前記情報管理システムは、前記承認された構造化データを示す信号に応じて、後続行動（follow-up  action）を示す信号を与える。
【００５９】
ある実施形態では、前記承認された構造化データを示す信号は、一つまたは複数の所定の条件が満たされるのに反応して前記情報管理システムに与えられる。
【００６０】
ある実施形態では、前記一つまたは複数の所定の条件は、前記テキストを含む電子メッセージを提供するというユーザー・コマンドを含む。
【００６１】
ある実施形態では、前記一つまたは複数の所定のテキスト条件は、次のうちの任意の一つまたは複数を含む：
・一つまたは複数の所定のキーワードの存在；
・一つまたは複数の所定の文法構造の存在；
・一つまたは複数の所定のテキスト構造の存在；
・一つまたは複数の所定の識別子の存在。
【００６２】
ある実施形態では、一つまたは複数の所定のテキスト構造は、日付またはその他の時点を指定する構造にされたテキストを含む。
【００６３】
ある実施形態では、前記一つまたは複数の所定の識別子は、一つまたは複数の資源、項目、プロジェクト、人物または位置を示す。
【００６４】
ある実施形態では、前記メッセージは単一のテキスト断片からなる。
【００６５】
ある実施形態では、（ｃ）で与えられる前記出力は、グラフィカル・ユーザー・インターフェース内で呈示される一つまたは複数の修正可能なコンポーネントを含む。
【００６６】
ある実施形態は、一つまたは複数のプロセッサによって実行されたときに、該一つまたは複数のプロセッサをして、一または複数の受信者に送信するためのユーザーが作成したメッセージから構造化データを提供する方法であって、該方法は：
（ａ）前記ユーザーが作成したテキスト断片を示す入力を受け付ける段階と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析する段階と；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する段階と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける段階と；
（ｅ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析されるまで、段階（ａ）ないし（ｄ）を繰り返す段階と、
（ｆ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方を一または複数の受信者に送信する段階とを含む方法、を実行させる一組の命令を担持するコンピュータ可読担体媒体を含む。
【００６７】
ある実施形態では、前記担体媒体（carrier  medium）は、前記一つまたは複数のプロセッサのうち少なくとも一つのプロセッサによって検出可能で、前記一組の命令を表している伝搬される信号を担持する媒体（medium）である。
【００６８】
ある実施形態では、前記担体媒体は、前記一つまたは複数のプロセッサのうち少なくとも一つのプロセッサによって検出可能で、前記一組の命令を表している伝搬される信号を担持する搬送波（carrier  wave）である。
【００６９】
ある実施形態では、前記担体媒体は、前記一つまたは複数のプロセッサのうち少なくとも一つのプロセッサによって検出可能で、前記一組の命令を表している伝搬される信号を担持する、ネットワーク中の伝送媒体（transmission  medium）である。
【００７０】
ある実施形態は、上記の方法を実行するための一組の命令を有するコンピュータ・プログラムまたはコンピュータ・プログラム・プロダクトを含む。
【００７１】
ある実施形態は、一または複数の受信者に送信するためのユーザーが作成したメッセージから構造化データを提供するシステムであって、該システムは：
（ａ）前記ユーザーが作成したテキスト断片を示す入力を受け付ける第一のインターフェースと；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析する第一のプロセッサと；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する第二のプロセッサと；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける第二のインターフェースと；
（ｅ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析されるまで、前記第一のインターフェースにテキスト断片を示すさらなる入力を受け取るよう命令する第三のプロセッサと；
（ｆ）前記メッセージに含まれるすべてのテキスト断片を示すすべてのデータが受け付けられ、解析され、その構造化データが修正され、承認された場合、承認された構造化データおよび前記メッセージの一方または両方を一または複数の受信者に送信するための第四のプロセッサとを有する。
【００７２】
さまざまな図面における同様の参照符号および記号は同様の要素を示す。
【発明を実施するための最良の形態】
【００７３】
ここに呈示されるのは、複合メッセージをオーサリングするための方法、特に、作成された自由テキスト・メッセージから構造化されたデータを提供するための方法である。ここではまた、処理システムのプロセッサによって実行されたときに複合メッセージをオーサリングするための方法を実行するコンピュータ可読命令を担持する担体媒体の形などのソフトウェア・プロダクトならびにそのような方法およびソフトウェア・プロダクトを利用するシステムも呈示される。前記方法は特に、人間の協働事業の計画、執行、コントロール、評価および報告に関係してオーサリングされるメッセージに適用可能である。ここで、オーサリングとは、ワードプロセシング、電子メールおよびその他の自由テキスト・メッセージ作成システムを含む従来技術の諸方法からなじみのある仕方でユーザーがメッセージを作成することを含む。オーサリング・プロセスから構造化データが与えられ、このデータはいくつかの実施形態では、活動管理システムに、該システムが管理しているレコードを更新する目的のために与えられる。
【００７４】
当技術分野において一般的なように、本稿では、要素の量について「0以上の」の表現は、要素なし、あるいは少なくとも一つの要素があるとしたら一つまたは複数の要素を意味するのに使われている。
【００７５】
オーサリングの意味するところは、複合データ・メッセージにおける自由テキスト断片および構造化データ・オブジェクトの追加、修正および削除である。複合データ・メッセージの意味するところは、活動管理において使うための少なくとも一の受信者による受信のための、自由テキストと構造化データの両方を含むメッセージであって、テキスト断片が断片データ・オブジェクトにマッピングされているものである。テキスト断片の意味するところは、自由テキストの一部分、たとえば段落または文である。ある実施形態によれば、テキスト断片は、一つの構造化データ・オブジェクトへのマッピングのための情報の原子的な単位である。構造化データ・オブジェクトの意味するところは、たとえばメモリ構造中の、既知の型の少なくとも一つのデータ・フィールドに編成された既知のクラスのデータ構造である。構造化データとは、既知の型およびデータ・フィールドの離散的な構造化データ・オブジェクトに編成されたデータを意味する。
〈実施例〉
図１は、入力された自由テキスト・メッセージから構造化データを提供することを含む、一または複数の受信者による受信のための複合メッセージをオーサリングするための方法の形の本発明の実施形態を例解する簡略化されたフローチャートを示している。ある実施形態では、本方法は、処理システム上で実装され、活動管理システムの一部であるか活動管理システムと一緒に機能する。
【００７６】
ブロック１０１は、本方法において段階的に実行される、さらなるテキスト断片がユーザーによって作成され、本方法によって受け付けられ、解析され、承認または修正のために呈示され、承認される、１０２から１０５までの諸ブロックの端を定義している。
【００７７】
１０２では、ユーザーが入力したテキスト断片を示す入力が受領される。この受領された入力は、一つまたは複数の所定のテキスト条件が満たされるかどうかを確かめるために１０３で解析される。
【００７８】
１０４は、一つまたは複数の所定の条件が満たされていると確認された場合に、ユーザーに対して、提案される構造化データを示す出力を提供して、ユーザーが選択的に提案された構造化データを修正、承認または拒否できるようにすることを含んでいる。人間のユーザーがまだその構造化データを承認していないことを示すために、「提案された」の同義語として「仮」の用語も使われる。承認とはたとえば正しい（検証済みの）との確認を与えることである。のちにより詳細に述べるように、ある実装では、提案される構造化データは、仮断片データ・クラスおよび仮断片データ・オブジェクト――断片データ・クラスのインスタンス――を含む。こうして、ユーザーは、提案された構造化データを選択的に修正および／または承認することが許容される。１０５では、ユーザーが提案された構造化データを修正、承認または拒否することを示すさらなる入力が受け付けられる。
【００７９】
１０２ないし１０５は、メッセージ中のすべてのテキスト断片に対応する入力が受け付けられ、解析され、該断片に対応する提案された構造化データが承認されるまで繰り返される。
【００８０】
ある実施形態では、前記送信は前記メッセージを送信するという、ユーザーによって与えられる明示的なコマンドに応答してであり、このコマンドから、提案された構造化データの暗黙的な承認が推定される。たとえば、ユーザーは複数のテキスト断片を含むメッセージをタイプし、それらの断片に対応する提案された構造化データが段階的に、任意的に修正され、修正および非修正の一方の結果として暗黙的に承認され、メッセージの完了に際して該メッセージが送信され、すべての提案された構造化データの暗黙的な承認につながる。もう一つの実施形態では、送信は、すべてのテキストおよび構造化データが承認されるという明示的なコマンドに応答してである。
【００８１】
本開示の目的のためには、「構造化データ」の用語は、所定の目的をもつ諸部分に編成されたデータを一般に表すよう広義に読まれるべきである。たとえば、構造化データのある所与の例は、人物を指定する第一の部分、タスクを指定する第二の部分および日時を指定する第三の部分を含みうる。いくつかの実施形態では、構造化データは、一つまたは複数の離散的な構造化データ・オブジェクトに編成された情報を含む。ここで、各データ・オブジェクトは既知の型をもつ。構造化データ・オブジェクト型定義の集合は普通「スキーマ」と称される。
【００８２】
テキスト断片とは、電子的に作成されたテキストの識別可能なある部分である。さまざまな実施形態のうちでは、テキスト断片は、段落、文、語またはテキストのユーザー定義の部分を含む。テキスト断片は、本開示のためには完全なメッセージとは区別される。本発明の諸実施形態は、解析に関わる資源を低減させ、解析誤りや非一貫性のリスクを低減させるために、完全なメッセージではなくテキスト断片を解析する。しかしながら、いくつかの実施形態では、テキスト断片はメッセージ全体である。特にメッセージが比較的短い――たとえば一つないし三つの文のオーダーの――実施形態ではそうである。
【００８３】
１０３におけるテキスト断片の解析は、当該テキスト断片に対応する受け付けられた入力の解析と、テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対する当該テキスト断片の関係の解析とのうちの一方または両方を含む。
【００８４】
提案された構造化データは、提案されたデータおよび提案された構造化形態を含む。提案された構造化データを修正、承認または拒否することは、提案されたデータおよび提案された構造化形態のいずれかまたは両方を修正、承認または拒否することを含む。
【００８５】
メッセージまたはテキストに関係して「作成された（created）」という用語を使うときは、一般に、ユーザーによって――たとえばキーボードまたは音声認識法を使って音声入力によって――電子的に準備されたメッセージまたはテキストを述べる。同様に、「入力されたテキスト断片」は、メッセージの一部または全体を形成するためにユーザーによって電子的に書かれたテキストである。詳細な説明において使われるところでは、オーサリングとは、自由テキストの作成および構造化データの形成の両方を指す。
【００８６】
ユーザーとは、メッセージを作成できる人物である。いくつかの実施形態では、ユーザーは、電子メールまたはその他の電子メッセージの作成、編集および送信のために適応されたソフトウェア・プログラムを介してメッセージを作成する人物である。
【００８７】
ここで使うところの「メッセージ」の用語は、電子メール、インスタント・メッセージング・システムの一部としてのインスタント・メッセージ、SMSメッセージのような携帯電話のテキスト・メッセージなどといった電子メッセージを表す。人気のあるインスタント・メッセージング・システムはこれに限られないが、Sametime（商標）、Qnext（商標）、Windows（登録商標）  Live  Messenger（商標）、AOL  Instant  Messenger（商標）（AIM）、Yahoo!  Messenger（商標）、Skype（商標）（Chat）、Google  Talk（商標）、.Net  Messenger  Service（商標）、Jabber（商標）、ICQ（商標）およびより古い（そしていまだ人気のある）Internet  Relay  Chat（IRC）として知られるオンライン・チャット媒体を含む。メッセージは、一または複数の受信者による受信のためである。該受信はたとえば、ユーザーが該一または複数の受信者に送信する結果としてである。受信者は、実施形態によっては、メッセージング・アドレスによって指定される人間の受信者を含み、実施形態によってはコンピュータ・プログラムのような仮想受信者（virtual  recipient）を含む。
【００８８】
「テキスト条件」の用語は一般に、テキストの任意の可変側面を指す。たとえば、いくつかの実施形態では、テキスト条件は：
・一つまたは複数の所定のキーワードの存在。たとえば、あるテキスト条件は、ある特定の所定のキーワードがテキスト中に現れるときは常に満たされる。
【００８９】
・一つまたは複数の所定の文法構造の存在。たとえば、あるテキスト条件は、テキストのある部分が命令形で表現されていれば常に満たされる。
【００９０】
・一つまたは複数の所定の文法またはテキスト構造の存在。たとえば、あるテキスト条件は、テキストのある部分が日付の形式で記述されていれば常に満たされる。
【００９１】
・一つまたは複数の所定の識別子の存在。たとえば、所与のプロジェクトのための仕事参照子（job  reference）の一覧を含み、あるテキスト条件は、それらの仕事参照子の一つがテキスト中に現れれば常に満たされる。他の識別子は、所与のプロジェクトに関連する一つまたは複数の資源、項目、プロジェクト、人物または位置を示すものでありうる。
【００９２】
・テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対する当該テキスト断片の関係。それによると、１０３の解析は、テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対する当該テキスト断片の関係を解析することを含む。
【００９３】
・当該テキスト断片に関係する諸テキスト断片に対応する以前に承認されたデータ型および／または詳細フィールド中のデータの存在。それによると、１０３の解析は、当該テキスト断片に関係するテキスト断片についての、以前に承認されたデータ型および／または詳細フィールド中のデータを解析することを含む。
【００９４】
提案される構造化データを示す出力は、提案される構造化データの内容および／または構造化形態を精密に導き出すために十分な情報を提供する必要はない。いくつかの実施形態では、前記出力は、提案される構造化データの内容および／または構造化形態をおおまかおよび／または単純な形で表現する画面上エレメントをグラフィカル・ユーザー・インターフェースを介して提供するための命令において具現される。いくつかの実施形態では、前記出力は、提案される構造化データのコンテキストおよび内容を単純な形で提供するという意味で提案される構造化データの内容および／または構造化形態を表現する。
【００９５】
同様に、提案される構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付けることは、提案される構造化データの内容を精密に導き出すのに十分な全情報をユーザーに提供することを含む必要はない。いくつかの実施形態では、ユーザーは構造化データの単純化された表現を画面上エレメントによって提供され、この画面上エレメント上で提供される情報はユーザーによって修正可能および／または承認可能である。ユーザーは画面上エレメントを修正および／または承認し、そのような修正および／または承認は受け付けられる。さらに、提案される構造化データを承認することは、予備的な推定される承認と最終的な承認のいずれかまたは両方を含む。予備的な推定される承認は、ユーザーが、追加的なテキスト断片を入力し続けることなどによって、修正を示す入力を与えないことを選択することから帰結するものである。ある実装では、最終的な承認そのものも明示的な承認である必要はなく、メッセージを送信するというコマンドから推定される。
【００９６】
いくつかの実施形態では、予備的な承認および最終的な承認のいずれかまたは両方は、ユーザーが予備的な承認または最終的な承認を示す入力をプロアクティブに提供することによって、指定される。
【００９７】
ある実施形態で送信されるべき承認された構造化データは、ユーザーが選択的に修正および／または承認した提案された構造化データを、承認された構造化データとして範疇化し直すことを含む。いくつかの実施形態は、承認された構造化データを示す電子ファイルを生成し、該ファイルを本方法を実装する処理システムの一時メモリにおいて維持することを含む。
【００９８】
承認された構造化データおよびメッセージに適用される「送信（sending）」の用語は、プロアクティブな送信のみならず、承認された構造化データおよびメッセージのいずれかまたは一方を、そこから一または複数の受信者に送信されることができるまたはそこから一または複数の受信者が取得することができる場所に置くことをも含むものとして広義に読むべきである。たとえば、ある実施形態では、メッセージが送信されるというのは、電子掲示板に掲示され、一または複数の受信者がアクティブな行動を行って該電子掲示板からメッセージを取得するという意味である。
【００９９】
ある実施形態では、承認された構造化データは受信者に送信されるが、一般には、本方法は承認された構造化データをその後の処理または記憶のために提供するいかなる仕方をも含む。いくつかの実施形態では、これは信号またはメッセージに埋め込まれた構造化データを提供することを含む。そのメッセージは任意的にデータベース中の一つまたは複数のレコードを更新するために通信される。いくつかの実施形態では、そのようなデータベースは活動管理システムによって提供される。いくつかの実施形態では、承認された構造化データは、普通の言語による要約のように、構造化データを示すファイル中で提供される。いくつかの実施形態では、承認された構造化データは、送信されたメッセージに埋め込まれた、添付された、あるいは他の仕方で関連付けられたデータとして提供される。それによると、メッセージは自由テキストおよび構造化データの両方を含む複合メッセージである。いくつかの実施形態では、構造化データはこれらの手段および／またはその他の手段の組み合わせによって提供される。例示的な方法は主として、メッセージ中において作成されるテキスト断片に基づいて構造化データの段階的（incremental）および累積的（cumulative）な検討（review）および承認（approval）を許容するための枠組みに関わる。該方法は特に、自由テキストを構造化データに自動的に翻訳するための複雑なマッピング・プロトコルに主として関わる当技術分野で周知の諸方法とは区別される。
【０１００】
図２Ａは、動作するときに図１のフローチャートの方法を実装する例示的なシステムの単純化されたブロック図を示しており、さらにデータ・フローのいくぶんかを示している。ユーザー２０１が電子メッセージ２０２、たとえば電子メール・メッセージを、メッセージ作成プログラム２０３、たとえばパソコン２０４上で走る電子メール作成プログラムによって作成する。電子メッセージ２０２は、一つまたは複数の受信者２０５に送信するためである。ユーザー２０１は、電子メッセージ２０２を、周辺キーボードによってテキスト断片を示す入力を提供することによってオーサリングする。ただし、他の実施形態では、この入力は、音声認識装置のような他の手段によって提供される。各テキスト断片入力は、パソコン２０４の表示画面上で、メッセージ作成プログラム２０３によって設けられる自由テキスト・メッセージ・フィールド中の電子テキストとして現れる。キーボードおよび／または他の機能的に同様の入力装置を使って対応するテキストをこのフィールド中に作成するプロセスは一般に、電子メッセージの「作成（creating）」または「書き込み（writing）」と称される。
【０１０１】
自由テキスト・メッセージ・フィールド中に提供されるテキスト断片が自由テキスト（free  text）であるというのは、ユーザー２０１が概して制約なしにテキストを書き込む自由をもつという意味においてである。すなわち、テキストはユーザーの個人的な文体および調子に基づいて普通の言語で書き込まれるのである。
【０１０２】
パソコン２０４上のプログラムの形の構造化テキスト提供ツール２０６は、図１の方法を実行するために電子メッセージ作成プログラム２０３と一緒に動作する。ユーザー２０１がメッセージ２０２をテキスト断片ごとに書き込んでいくと、ツール２０６は書き込まれているテキスト断片を示す入力を受け付けて１０２を実装する。ある実施形態では、これはメッセージ作成プログラム２０３とツール２０６との間の統合によって容易にされる。いくつかの実施形態では、ツール２０６は、メッセージ作成プログラム２０３の内在的な部分である。他の実施形態では、メッセージ作成プログラム２０３は、所定の条件が満たされた際に、あるいは定期的に、書き込まれたテキスト断片を示すデータをツール２０６に提供する機能が与えられる。
【０１０３】
いくつかの実施形態では、ツール２０６およびメッセージ作成プログラム２０３は、メッセージ・オーサリング・プログラムとして統合され、たとえば活動管理システム２０８のモジュールにされたり、活動管理システム２０８と一緒に動作するようにされる。
【０１０４】
いくつかの実施形態では、ツール２０６および／またはメッセージ作成プログラム２０３は、活動管理システム２０８のモジュールである。
【０１０５】
図２Ａは、ツール２０６を、コンピュータ２０４上で維持されるとして示しているが、これは決して必須要件ではない。実施形態によっては、ツール２０６はコンピュータ２０４とは相異っていて、コンピュータ２０４とたとえばネットワークを介して通信するコンピューティング・プラットフォーム上で維持される。たとえば、ある実施形態では、ツール２０６は、活動管理システムの一つまたは複数の側面をたとえばモジュールとして維持する一つまたは複数のネットワーク接続されたサーバー上で維持される。いくつかの実施形態では、ツール２０６は、コンピュータ２０４上で実行および／または維持されるコンポーネントならびに他の計算プラットフォーム上で実行および／または維持される追加的なコンポーネントを含む。
【０１０６】
ある実施形態では、ツール２０６は、実質的にリアルタイムで継続的にテキスト断片を示す入力を受け付ける。他の実施形態では、データは、指定されたまたは識別可能なテキスト断片の完了といった一つまたは複数の所定の条件が満たされた際に、あるいは場合によっては、その電子メッセージが送信のために指定されるか送信準備ができるかした時点またはその頃に、受け取られる。
【０１０７】
ツール２０６は、一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために、テキスト断片を示す入力を解析する。ある実施形態では、これは、構文解析（parsing）エンジンの使用を含むが、他の実施形態ではテキスト解析の代替的な諸様態が実装される。
【０１０８】
ツール２０６は、前記所定の条件の一つまたは複数が満たされるのに応答してユーザー２０１に提案される構造化データを示す出力を提供する。ある実施形態では、この出力は、のちに論じるように、一つまたは複数の可変および修正可能な画面上エレメントとして提供される。ユーザー２０１は、これらの一つまたは複数の画面上エレメントによって、提案された構造化データの選択的な修正および／または承認を示すデータを提供する。
【０１０９】
ひとたび完了したテキスト断片に対応する提案された構造化データが選択的に修正または承認されたら、ユーザー２０１はその後のテキスト断片の作成を開始するか、あるいは代替的にメッセージ２０２を送信するというコマンドを与える。ある実施形態では、ツール２０６は、メッセージ２０２を送信するというコマンドから、フィールド２０２に表現されているすべての構造化データの暗黙的な承認を推定する。この構造化データは、よって、承認された構造化データと見なされる。
【０１１０】
ある実施形態では、承認された構造化データ２０７は活動管理システム２０８に与えられる。具体的には、データ２０７を示す信号が、システム２０８上で走る、そのような信号を受信し、その信号からその信号が示している構造化データを導き出す機能を与えられているアプリケーションに与えられる。システム２０８は、データ２０７の受信に応答して、活動管理データベース２０９内の一つまたは複数のレコードを更新する。特に、データ２０７は、システム２０８およびデータベース２０９と相補的な仕方で構造化されており、システム２０８内で実装される命令が受信されたデータ２０７に基づいたデータベース２０９の更新を許容するようになっている。
【０１１１】
いくつかの実施形態では、システム２０８は、活動管理の概念におおまかに関連する個別的な機能性を提供する複数の離散的な情報システムを含む。さらに、いくつかの実施形態では、データベース２０９は、さまざまなプラットフォームの間に分散された、および／またはさまざまなコンピュータ・プログラムまたはシステム中に統合された複数の離散的なデータベースを含む。
【０１１２】
予告したように、いくつかの実施形態は特に活動管理システムに言及しつつ記述されるが、代替的なコンテキストでは本発明の他の実施形態が実装されることは理解されるであろう。たとえば、ある実施形態では、データ２０７は電子メッセージ・モニタリング・システムに与えられる。別の実施形態では、データ２０７はメッセージ２０２の受信者の一または複数に――たとえばメッセージ２０２に添付されたXMLまたはその他のファイルとして――与えられる。別の実施形態では、データ２０７は前から存在しているファイル、たとえばマイクロソフト・エクセルのファイル、RSSファイルなどに直接加えられる。さらに別の実施形態では、データ２０７はファイル貯蔵部、たとえばウェブ・サーバー上のディレクトリに――たとえばXMLファイルとして――与えられる。
【０１１３】
ある実施形態では、承認された構造化データ２０７はまた、電子メッセージ２０２の本文中に、電子メッセージ２０２内に埋め込まれて、電子メッセージ２０２に添付されて、あるいは他の仕方で電子メッセージ２０２に関連付けられて受信者２０５に与えられる。このように、電子メッセージ２０２は、自由テキストおよび構造化データの両方を含む複合メッセージ２１２である。
【０１１４】
いくつかの実施形態では、図２Ｂに示されるように、データ２０７とともにメッセージ２０２がシステム２０８に与えられる。すなわち、ツール２０６との関連でオーサリングされた各電子メッセージのコピーがシステム２０８に与えられ、システム２０８によって維持される。よって、システム２０８は、与えられた構造化データの記録を維持するのみならず、その構造化データの提供につながったメッセージの記録をも維持する。
【０１１５】
まとめると、ユーザー２０１は電子メッセージ２０２をオーサリングし、オーサリング・プロセスの一部として、ツール２０６が逐次的かつ段階的に、提案される構造化データの承認プロセスを通じてユーザー２０１を案内していく。ユーザー２０１は自由にメッセージ２０２を作成するので、ツール２０６は、自由テキスト作成に応答して、段落ごとのレベルでメッセージの意図された意味を表現する対応する構造化データの生成を許容および支援する。ツール２０６は、ユーザーが提案された構造化データを修正および承認して承認された構造化データを提供できる、対話的で段階的な手段を提供する。
【０１１６】
この実施形態では、ツール２０６は、システム２０８のコンテキストにおいて活動管理の諸側面に有意なメッセージ２０２の諸側面――主として活動因子を示すデータ――をさがす。これは、所定の一組のテキストに基づく電子メッセージ・テキストの解析によって達成される。マッピング・プロトコルを使って、ツール２０６は、ユーザー２０１に、提案される構造化データを示す出力を提供する。さまざまな実施形態の間ではさまざまなマッピング・プロトコルが使用される。好適なマッピング・プロトコルは既知であろう。あるいは自由テキスト解析の一般的な分野において用いられるマッピング・プロトコルから派生されうる。
【０１１７】
本手法は、自由テキスト解析およびマッピングの既知の諸手法とは特に区別される。既知の諸手法は、主として自由テキストから構造化データへの精確なマッピングに関わる。本願の手法はその代わりに、ユーザー２０１を、構造化データ生成プロセスを通じて、時間効率がよくユーザーフレンドリーな仕方で案内していく便利なインターフェースを提供することに関わる。
【０１１８】
所定のテキスト条件２１０を示すデータは、マッピング考察２１１の貯蔵部において複数の構造化データ型に関連付けられる。「データ型（data  type）」は、広義で、構造化データとして表現できる情報の型である。諸実施形態の間で実装される可能なデータ型には幅広い範囲がある。説明のためにここで特に考えられる一つの一般的な例は、「タスク（task）」である。「タスク」とは、所与の時間枠において特定の人物によって完成されるべき活動を記述するデータ型である。他の可能なデータ型は、リスク（risk）、緩和（mitigation）および挨拶（salutation）を含む。
【０１１９】
図２Ａはテキスト条件２１０およびマッピング考察２１１をコンピュータ２０４によって維持されるとして示しているが、他の実施形態では、これらの一方または両方は、コンピュータ２０４からリモートなプラットフォーム上で維持される。いくつかの実施形態では、テキスト条件２１０およびマッピング考察２１１のいずれかまたは両方は、インターネット、構内ネットワークまたは広域ネットワークを介してコンピュータ２０４と通信する中央サーバー上で維持される。ある実施形態では、図２Ｃに示されるように、両方ともシステム２０８によって設けられる一つまたは複数のプラットフォーム上で維持される。図２Ｃでは、ツール２０６は、テキスト条件２１０およびマッピング考察２１１とともに、コンピュータ２０４からはリモートに、システム２０８の一部として維持されている。プログラム２０３はインターネットを通じてツール２０６と対話する。そのようないくつかの実施形態では、ツール２０６を具現するコードの諸部分は、コンピュータ２０４のメモリに一時的または半恒久的にダウンロードされる。
【０１２０】
テキスト条件のデータ型への関連付けの精密な仕方は、実施形態によって変わり、いくつかの実施形態では、実装環境に特異である。たとえば、ある所与のキーワードが異なる環境では異なる意味をもちうる。たとえば、コンピュータ・プログラム開発環境では、「bug」という用語はシステム問題に関係するデータ型に関連付けられることがある。他方、自動車環境では、「bug」という用語は自動車の一種を表すことがある。いくつかの実施形態では、ツール２０６は、環境固有の実装を許容するために、テキスト条件の構造化データ型への関連付けのための枠組みを提供する。他の実施形態では、標準的な関係が定義されていて、消費者が購入する時点でツール２０６と一緒に供給される。
【０１２１】
各データ型は、一つまたは複数の詳細フィールドを示し、提案された構造化データを示す出力は、詳細フィールドのうち、提案された構造化データ中に含まれる構造化データ型が示す一つまたは複数を与える。これらの詳細フィールドは、特定のデータ型の諸側面に有意な構造化データの詳細を維持するためである。提案された構造化データの選択的な修正および／または承認を示す追加的な入力を与えることは、与えられた詳細フィールドに含まれている情報を編集および／または承認することを含む。これについて以下で論じる。
【０１２２】
タスクの例を考える。ここで述べる例については、タスクとは、以下のことを含む複数の詳細フィールドを示す。
【０１２３】
・あるタスクが別のタスクから区別されうるようタスクを指定するタスク識別子。いくつかの実施形態では、ユーザーがタスク識別子を定義する。いくつかの実施形態では、タスク識別子は割り当てプロトコルに従って自動的に割り当てられ、いくつかの実施形態では、これらの手法の組み合わせが使われる。
【０１２４】
・タスク型または分類。これは、タスクの型を指定する。いくつかの実施形態では、あらかじめ定義されたタスク型のリストから選択される。たとえば、「問題解決」「問い合わせ応答」「株注文」など――これらは、システムが実装される環境に依存して実施形態の間で変わる。
【０１２５】
・タスク完了日。これは、タスクが完了する期日を指定する。
【０１２６】
・タスク実行者。これは、タスクを実行するよう割り当てられた、あるいは少なくともタスクの実行に責任をもつよう割り当てられた人物を指定する。
【０１２７】
・タスク優先度。これは、低、中、高を含む所定の優先度階層の組に基づくタスクの相対的な重要度を指定する。
【０１２８】
他の可能な詳細フィールドは、締め切りまたはその他の日時、資源割り当て、広義での優先度順位（priority  ranking）、広義での責任割り当ておよびタスクの受け容れまたは拒否。データ型の場合と同様、各データ型についての詳細フィールドは、いくつかの実施形態では、環境固有の仕方で定義される。たとえば、いくつかの実施形態では、「タスク」は、タスクが実行されるべき予算に関係する追加的な詳細フィールドと関連付けられる。他の実施形態では、タスクは、そうした実施形態の実装環境においてタスクのための有意な活動データを表現する他の詳細フィールドに関連付けられる。
【０１２９】
ある実施形態では、ツール２０６は、テキスト条件およびマッピング考察に応じて、一つまたは複数の可能なデータ型を指定する。そのような場合、ツール２０６は、指定された可能なタスク・データ型および関係した詳細フィールドの一つまたは複数を示す出力を提供する。実施形態によっては、詳細フィールドはユーザー２０１が完成するように提供されるが、今の好ましい実施形態では、ツール２０６がテキストの解析に基づいて詳細フィールド中に自動的に情報を入れ、それによりユーザーの側に要求される努力を軽減しようとする。
【０１３０】
上記したように、マッピングの詳細な諸側面は、本発明の諸側面にとって根本的ではない。簡単な言い方では、さまざまな実施形態のマッピング・プロトコルは、満たされたテキスト条件に基づいて指定される一つまたは複数の構造化データ型を解析する。これから、データ型の好ましい選択が指定される――すなわち、選択プロトコルを適用することによって好ましい選択を与えるよう可能なデータ型のグループが絞り込まれる。この好ましい選択から、一つまたは複数の最も有望な候補が指定され、これらのうちの一つまたは複数が、第一に、提案される構造化データに含められる。この目標において支援するために、いくつかの実施形態での選択プロトコルは次のうちの一つまたは複数を含む。
【０１３１】
・信頼水準評価。信頼水準評価は、自由テキスト・マッピングの技術分野で知られており、のちにさらに詳細に論じる。
【０１３２】
・ユーザーに関連する一つまたは複数の属性の解析。たとえば、システム２０８によって維持される情報を含む、ユーザー２０１に関係する情報である。この情報は、ユーザー２０１が関わっている活動の詳細およびユーザー２０１が関わっている人物を含み、メッセージ２０１のテキストに対して追加的なコンテキストを置くことにおいて支援する。
【０１３３】
・受信者のうちの一または複数に関連する一つまたは複数の属性の解析。これは上の例と同様であるが、受信者のうちの一または複数の、属性が代わりに考えられる。たとえば、メッセージの受信者が「運用リスク担当者」の役割を保持しており、所与のテキスト断片についての指定された可能なデータ型のうちの一つが「リスク」であったとする。すると、ある実施形態では、選択プロトコルは「リスク」を好ましいデータ型として選択する。
【０１３４】
・ユーザーと、受信者のうちの一または複数に関係する一つまたは複数の関係属性の解析。たとえば、ユーザー２０１とメッセージの前記一または複数の受信者との合同活動（joint  activities）に関係する情報がシステム２０８によって維持される。
【０１３５】
・各指定されたデータ型の詳細フィールドが自動的に埋められることのできる度合いの比較的評価。ある実装では、最も好ましいデータ型は、最多数の詳細フィールドが自動的に埋められることのできるデータ型である。
【０１３６】
・ある関係したメッセージに関連付けられた一つまたは複数の属性の解析。関係したメッセージとは、いくつかの実施形態では、ある共通のメッセージ・チェーンにおいて送信されたメッセージである。たとえば、第二のメッセージが第一のメッセージへの返信であるか、第一のメッセージの転送である場合、第二のメッセージは第一のメッセージに関係している。関係したメッセージに関連付けられた属性は、マッピング・プロトコルが、メッセージ作業フローに有意な因子を考慮に入れることを許容する。
【０１３７】
・以前に承認された構造化データの評価。以前のメッセージにおいて承認された構造化データはしばしば、論理的な仕方でその後の構造化データにつながる。たとえば、第二の電子メッセージが第一の電子ヘッセージへの返信である場合、第一の電子メッセージに関連付けられた承認された構造化データは、第二の電子メッセージについての提案された構造化データに影響を有しそうである。
【０１３８】
・学習アルゴリズムによって導出されたデータの適用。いくつかの実施形態では、ツール２０６は時間とともに経験に基づいて学習する。たとえば、追加的なキーワードおよび文構造が学習される。いくつかの実施形態では、学習効果は複数ユーザーに適用され、他の実施形態では学習効果はユーザー固有で、ツール２０６は特定のユーザーの文体に慣れていく。
【０１３９】
ある実施形態におけるマッピングの役割は、必ずしもとことん精確に提案される構造化データを提供するというものではない。マッピングにおける精度の必要性は、提案される構造化データを提供し、ユーザーが選択的に便利に、提案された構造化データを修正し、そうすることによってマッピングの不正確さに対処することを許容するというアプローチによって打ち消される。そう前置きした上でだが、精確なマッピングは有用であり、有益である。精確なマッピングは、構造化データを検討および承認するためにユーザー２０１の側に要求される時間および努力を軽減し、それに応じて全体としてのシステムのユーザー知覚を改良するのである。
【０１４０】
ある実施形態では、提案される構造化データを示す出力は、ユーザーによるテキスト断片、ある実施例では段落、の完了に際して実行される。実際的な意味では、そのような実施形態では、テキスト断片は通常のキーボード上の「エンター」キーの押下によって指示される。段落の形でのテキスト断片を使用する本願のアプローチの動機は、一般的に言って、メッセージ作成者が異なる段落を使うのは異なる事項を扱うということである。
【０１４１】
いくつかの実施形態では、テキスト断片は、上記の指示とは異なって指示されることは理解されるであろう。たとえば、ある実施形態では、離散的なテキスト断片に対応する入力は、提案されるデータ型のすべての詳細フィールドが埋められたときに完成と考えられる。
【０１４２】
図３は、プログラム２０３を通じて、あるいはプログラム２０３と協働してコンピュータ２０４上のグラフィカル・ユーザー・インターフェースによって与えられる例示的な画面例３００の概略的な表現を与えている。プログラム２０３はたとえば、ツール２０６とメッセージ作成プログラム２０３とを統合するメッセージ・オーサリング・プログラムの一部としてのプログラム２０３である。この画面例は、図２Ａのコンテキストにおいて、提案された構造化データを示す出力の例を示している。この例において、出力は、提案される構造化データのコンテキストおよび内容を表現する、複数の可変で修正可能な画面上エレメントによって与えられる。
【０１４３】
ここで与えられる画面例は、限定的であると見なすべきではない。単に例のために与えられているものである。他の実施形態では、グラフィカル・ユーザー・インターフェースは、美観的に異なる画面および異なる画面上エレメントを含みながら同じ一般的な機能性を提供するよう適応される。
【０１４４】
ユーザー２０１は、自由テキスト・メッセージ・フィールド３０１内に自由テキストを電子的に書き込むことによってメッセージ２０２をオーサリングする。自由テキストは受領されるにつれ、テキスト断片を示す入力としてツール２０６によって受け付けられる。上述したように、ある実施形態におけるテキスト断片はテキストの段落である。
【０１４５】
ある実施形態では、提案される構造化データを示す出力が二つの主要な画面上エレメントによって与えられる：構造化データ・エディタ・フィールド３０２および構造化データ・オーバーレイ・インターフェース３０３である。他の実施形態では、これらの要素のうちの一つのみが使用される。いくつかの実施形態では、グラフィカル・ユーザー・インターフェースの使用および設計になじみのある者には既知の要素のようなさまざまな他の要素が使用される。以下の記述に基づいて、今の組み合わせアプローチが、ユーザーに、全体的な閲覧の手段を提供しつつ、進行的な、段階的および逐次的な修正を実行するよう指示することにおいて有利であることは理解されるであろう。
【０１４６】
ある実施形態では、提案される構造化データを示す出力は二つの手法によって提供される：構造化データ・エディタ・フィールド３０２および構造化データ・オーバーレイ・インターフェース３０３である。他の実施形態では、これらの手法のうちの一つのみが使用される。いくつかの実施形態では、代替的な手法が使われる。以下の記述に基づいて、今の組み合わせアプローチが、ユーザーに、全体的な閲覧の手段を提供しつつ、進行的な修正を実行するよう指示することにおいて有利であることは理解されるであろう。
【０１４７】
フィールド３０２は、提案される構造化データを表す要約を与える。この要約は、対応するテキスト断片と水平方向に整列された――ある実施形態では、対応する段落３０７ないし３０９の第一行と水平方向に整列される――リストされた項目３０４ないし３０６を含む。リストされた各項目は、あるデータ型、そのデータ型についての諸詳細フィールドおよびそれらの詳細フィールドにおいて維持されている情報を示す。したがって、ユーザー２０１は便利に、特定の段落を、その段落に関連付けられた提案された構造化データと相関させることができる。たとえば、ユーザー２０１は、容易に、項目３０４が段落３０７に対応することを見る。
【０１４８】
いくつかの実施形態では、リストされた項目は、一つまたは複数の樹形図の形で提供される。樹形図は、各データ型について詳細フィールドに対応する葉を有している。
【０１４９】
この例では、段落３０７および３０８はそれぞれ「こんにちは、従業員Aさん」および「昨日は会えてよかった」となっている。従業員Aはこの例のために考えられる例示的な受信者である。これらの段落は、実装されているマッピング・プロトコルに基づいて挨拶と識別されており、「挨拶」というデータ型の、提案される構造化データがそれぞれ項目３０４および３０５において与えられ、表現される。ユーザー２０１は、これらの項目を、たとえばマウス・ポインタを使ってクリックし、さまざまなメニュー・オプションから選択することによって修正できる。これは、たとえばある段落が誤って挨拶と識別されている事例において実行される。
【０１５０】
作成中のテキスト断片を示す入力がツール２０６によって入力として受け付けられる。テキスト条件が満たされているかどうかを確かめるために、この入力が解析される。テキスト断片の完成後、提案される構造化データを示す出力がフィールド３０２およびオーバーレイ３０３を介して提供される。
【０１５１】
いくつかの実施形態では、オーバーレイ・インターフェースはある種の場合にしか設けられない。たとえば、ある実施形態では、オーバーレイ・インターフェースは、挨拶であると識別されたテキスト断片に続いては提供されない。あるいは場合によっては、挨拶であると識別され、メッセージ中の最初の段落であるテキスト断片に続いては提供されない。いくつかの実施形態では、オーバーレイ・インターフェースは、ユーザー・コマンドに従って任意的に無効にされる機能である。ある実施形態では、オーバーレイは、マッピング・プロトコルが曖昧さのない提案された構造化データのマッピングを生成しないようなテキスト断片についてのみ提供される。
【０１５２】
図３に図示されている時点では、ユーザー２０１はちょうど段落３０９の作成を完了したところである。段落３０９は「タスクBを日時Cまでに実行してくれますか？」とある。ここで、タスクBおよび日時Cは例示的なタスクおよび日時である。この段落の完了時にエンター・キーを押すと、ツール２０６がオーバーレイ・インターフェース３０３を提供し、このインターフェースが、あるデータ型および関連する詳細フィールドを表す情報を、自由テキスト・メッセージ・フィールド３０１上にスーパーインポーズされた修正可能項目として提供する。この例では、ツール２０６は、マッピング・プロトコルに基づいて、この段落のためのデータ型がタスクであると選択する。これはたとえば、疑問文構造およびキーワード「実行」に基づいて、あるいは代替的に「実行してくれますか」というキーフレーズに基づいてである。ツール２０６はまた、メッセージが従業員Aに送信するためのもので、日時が日時Cであることも認識する。
【０１５３】
この例におけるインターフェース３０３は次のものを与える：
・「タスク」のデータ型を指定する修正可能なデータ型フィールド３１０。
・それぞれタスク識別子、タスク型、タスク実行者、タスク完了日時およびタスク優先度に関係する修正可能な詳細フィールド３１１ないし３１５。
【０１５４】
これらの詳細フィールドのうち、フィールド３１１、３１３および３１４はそれぞれ「タスクB」「従業員A」および「日時C」があらかじめ入れられており、これがフェーズ１０２におけるマッピング・プロトコルおよび解析に基づいて識別された、提案される構造化データを表す。いくつかの実施例では、フィールド３１２もマッピング・プロトコルに基づいてあらかじめ埋められている――そこではたとえば、タスクBの実際の文字通りの記載（またはメッセージ２０２中の他のテキスト）がタスクBが何についてのものであるかを示す。たとえば、タスクBが実際に「更新された課金要約を提供せよ」と読めたとすると、タスク型は「会計」でありうる。ある実施形態では、フィールド３１５はデフォルトで優先度階層「中」が入れられており、変更可能になっている。「緊急に」のようなキーワードの存在に従って「高」という優先度階層が割り当てられてもよい。
【０１５５】
ある実施形態では、フィールド３１０ないし３１５は二つの方法で修正可能である：
・展開可能なメニュー構成、この場合はプルダウン・メニューを使う。ユーザー２０１がこれらのフィールドのいずれかの内容を修正したい場合、ユーザーはあるアイコンをクリックして、代替的な選択肢にアクセスし、任意的に代替的な選択肢から選択する。たとえば、フィールド３１０についての代替的な選択肢は代替的なデータ型を含む。
【０１５６】
・手動でテキストを入力する。これは関連するフィールドをクリックしてコンピュータ・キーボードを使うことによって達成される。
【０１５７】
展開可能メニューによって提供される代替的な選択肢はある実施形態では優先順位が付けられる。フィールド３１３の例では、代替的な選択肢としては、ツール２０６によって識別される近い一致物（close  match）――たとえば、メッセージ２０２のテキスト中で言及される他の従業員――が含まれる。段落３０９が「従業員DにタスクBを日時Cまでに実行させてくれますか？」とある例を考えよう。例のために、あるタスクについてその電子メッセージ受信者がタスク実行者であることが最も有望であるというマッピング・プロトコルの想定に基づいて、フィールド３１３はやはり「従業員A」とあるとする。さらに、マッピング・プロトコルは、次に有望なタスク実行者は、考察中の段落のテキストにおいて言及されている可能性のあるタスク実行者であると判定するとする。そのような場合、フィールド３１３はあらかじめ「従業員A」と入れられており、「従業員D」は優先度が高い代替として提供される。実際上は、ユーザー２０１はフィールド３１３を修正して「従業員D」とし、そうすることで提案された構造化データが修正される。
【０１５８】
ここでもまた、実施形態におけるマッピング・プロトコルの目的が必ずしも、最高精度でデータ型を識別し、詳細フィールドをあらかじめ埋めておくことではないことは理解されるであろう。目的はむしろ、最良の推定をして、そうすることで、ユーザー２０１の側に要求される時間および努力の量を軽減することである。ユーザー２０１は最良の推定を呈示され、それらの推定のうち修正を必要とする諸側面を修正する。図１の方法を介して実装される手法は、提案された構造化データの修正を許容するための、ユーザーフレンドリーで、時間効率がよく、直観的なインターフェースを提供することによって、ある程度まで、マッピング・プロトコルの精度をそれほど決定的ではなくす。
【０１５９】
ひとたびユーザー２０１がオーバーレイ・インターフェース３０３に呈示された情報に満足すると、ユーザーは再びエンター・キーを押す。ある実施形態では、これは提案された構造化データの承認と見なされる。いくつかの他の実施形態によれば、これは提案された構造化データの承認と見なされはせず、仮承認の形と見なされる。ある実施形態では、承認は、ユーザー２０１がメッセージ２０２を送信するというコマンドを与えた場合、かつその場合にのみ与えられる。
【０１６０】
ある実施形態では、対応する構造化データの承認後にテキスト断片に変更があると、対応する構造化データの承認された地位は取り消される。それにより、構造化データは再び仮と考えられる。別の実施形態は、ユーザーのために、以前に承認された構造化データの承認された地位を手動で取り消す機能を設けることを含む。
【０１６１】
ある実施形態では、提供された詳細フィールドのすべてを埋めることは必要でない。たとえば、図３のフィールド３１２が空白のままになっている（そのことは「選択」の用語によって表されている）。一つまたは複数の詳細フィールドが空白のままとされることができ、あるいは空白に修正されることも、ユーザーが電子メッセージを送れることに影響することなく、できる。このように、ツール２０６は、与える必要のある情報を規定するのではなく、システム２０８のコンタクトにおいて有用または有意であろう情報の型を、ユーザー２０１の注意に留まるようにするのである。他の実施形態では、ツール２０６は規定的であり、すべての詳細フィールドが完了されない限り電子メッセージの送信を許容しない。規定的であるレベルを選択することが、すべての関連データを取得することと、毎日の電子メッセージ通信におけるツール２０６のおしつけがましさを軽減することとの勘案考量に関わることは理解されるであろう。
【０１６２】
いくつかの実施形態では、データ型はさらなるデータ型に関係する。たとえば、いくつかの実施形態では、ツール２０６は、ある種のテキスト条件に応答して「問題」という形のデータ型を識別し、それには第二のデータ型「解決」が関係している。データ型「問題」が識別されるのは、たとえば、情報技術の環境では電子メッセージ２０２中のテキストが「バグ」または「クラッシュ」といったキーワードを含む場合、あるいは商業の環境では電子メッセージ２０２中のテキストが「申し立て」または「違約」といったキーワードを含む場合である。データ型「問題」を含む提案されるデータを提供するとき、フィールド３０２およびインターフェース３０３は問題データ型についての詳細フィールドを提供するが、該詳細フィールドは「問題識別子」「問題型」「深刻度」などでありうる。
【０１６３】
第二のデータ型「解決」について、解決はタスクと同様である。「解決」は、「責任をもつ従業員」および「解決期日」といった詳細フィールドを示していてもよく、その解決が関係する問題の問題識別子を示す。
【０１６４】
いくつかの実施形態では、「問題」が識別されるとき、ツール２０６はユーザー２０１がその問題についての詳細フィールドを完成／修正／承認することを提起するばかりでなく、ユーザー２０１がその問題への解決についての詳細フィールドを完成／修正／承認することをも提起する。場合によっては、テキストの単一の段落に、問題および解決の両方についての詳細フィールドをツール２０６があらかじめ埋めることを許容するのに十分な情報が含まれる。
【０１６５】
いくつかの実施例では、ユーザーは、ある問題に関係する段落を完成させた時点で解決についての詳細フィールドを完成／修正／承認しないことを選ぶ。ユーザーがのちの段落で解決のための提案される戦略を扱う場合、関連する詳細フィールドが、その段落の完了時に、やはりフィールド３０２およびインターフェース３０３によって提供され、詳細フィールドは与えられたテキストに基づいてあらかじめ埋められる。問題識別子のための詳細フィールドは、実施形態によっては、デフォルトで、最も最近識別された問題の問題識別子であらかじめ埋められている。
【０１６６】
いくつかの実施形態では、データ型の間の関係がマッピング・プロトコルによって使用される。上記の例をコンテキストとして使うと、ある実施形態では、所与のテキスト断片からの入力を解析するとき、マッピング・プロトコルは、最近提案された構造化データにおけるデータ型に関係するデータ型に、より高い優先度を与える。
【０１６７】
ユーザー２０１が電子メッセージ２０２の作成を終えたとき、そのユーザーは、迅速かつ便利に、提案された構造化データをフィールド３０２を介して検討できる。修正はフィールド３０２において簡単になされ、さらにフィールド３０２は、詳細フィールドが提案されているが完成されていない箇所を示す。ユーザー２０１は任意的にこれらのフィールドを完成する。意図はここでもまた、規定的であることではなく、むしろ有意かもしれない情報にユーザー２０１の注意を引くことである。
【０１６８】
ひとたびユーザー２０１がフィールド３０２に示された情報およびメッセージ２０２のテキスト内容に満足したら、ユーザーはメッセージを受信者２０５に送信するというコマンドを与える。このコマンドに応答して、フィールド３０２内で識別された提案された構造化データが承認された構造化データ２０７として定義され、メッセージ２０２が受信者２０５に送信される。予告したように、データ２０７を示す信号が、電子メッセージ２０２に付随するデータとして、システム２０８に、そして受信者２０５に与えられる。
【０１６９】
図４のフローチャートは、上記の方法の概観を与える。４０１で、ユーザー２０１は自由にメッセージ２０２をフィールド３０１にタイプし、テキスト断片――ある実施形態では段落――を示す入力がツール２０６によって受け取られる。ツール２０６は、４０２でこの受け付けられた入力を解析し、所定のテキスト条件のうちの一つまたは複数が満たされているかどうかを確かめる。４０３では、ユーザーがエンター・キーを押して、段落の終わりを指示し、これが入力としてツール２０６によって受け取られる。４０４では、ツール２０６は、フィールド３０２およびインターフェース３０３によって、完成された段落に対応する提案された構造化データの出力を提供する。４０５では、ユーザー２０１は任意的に、提案された構造化データの選択的な修正および／または承認を示す追加的な入力を与える。特に、修正はインターフェース３０３によって表示される詳細フィールド中の情報を編集することによって達成される。承認は、ユーザー２０１がインターフェース３０３を最小化するコマンド――この場合、エンター・キーのさらなる押下によって与えられる――を与えることによって推定される。４０６では、オーバーレイ・インターフェースが最小化するが、ユーザー２０１は４０７において、まだ自由に、フィールド３０２を使って、完成された段落に対応する構造化テキストをさらに修正できる。そのような修正が実行される場合、ツール２０６は、提案された構造化データの選択的な修正および／または承認を示すさらなる追加的な入力を受け取る。
【０１７０】
４０８では、メッセージが完成されたかどうか――これは、そのメッセージに含めるためのすべてのテキスト断片が受け付けられたかどうかに対応する――が考えられる。メッセージが完成されていない場合、本方法は、後続の段落が開始されると４０１に巡回することは理解されるであろう。その場合、ある実施形態では、構造化されたデータの提案および承認の上記の逐次的技法が続けられ、メッセージが完成されるまで繰り返される。
【０１７１】
４０９では、ユーザーが提案された構造化データに満足かどうかが考えられる。ユーザーが満足でなければ、ユーザーは、４０７において、完成された段落のうちの一つまたは複数に対応する構造化データを、フィールド３０２を使ってさらに修正すると想定される。メッセージが完成されて、ユーザーが提案された構造化データに満足している場合、ユーザーは４１０でメッセージを送信するコマンドを与える。４１１において、メッセージ２０２および構造化データ２０７が受信者２０５に与えられ、４１２においてデータ２０７がシステム２０８に与えられる。
【０１７２】
予告したように、いくつかの実施形態では、承認された構造化データに関連付けられた各メッセージがシステム２０８に与えられる。
【０１７３】
構造化データ２０７を受信者２０５に提供することの根底にある一つの動機は、ユーザー２０１への電子メッセージ返信において受信者２０５の一または複数によって作成された自由テキストの解析を、電子メッセージ２０２に基づいて支援することである。上記の例を続けると、従業員Aが図３に示された電子メッセージの完成されたバージョンを受け取るとする。従業員Aは、ツール２０６と実質的に同一な、またはツール２０６と相補的なツールに統合された電子メッセージ・プログラムを使って、この電子メッセージに返信する。そのツールは、受信されたデータ２０７に応じてマッピング考察を適用する。この例では、前記ツールは、返信メッセージのテキスト中に、タスクBの受け容れまたはタスクBの拒否のいずれかを見出すと期待し、ひとたび適切なテキスト条件が見出されたら、それにしたがって提案される構造化データが提供される。条件は、たとえば、キーワード「OK」の存在である。受け容れはまた、「完了の推定時間」といった詳細フィールドをも含みうる。一方、拒否も、「拒否の理由」および「提案される代わりのタスク実行者」といった詳細フィールドを含みうる。
【０１７４】
この返信電子メッセージが送信され、受け容れを含んでいるとすると、結果として得られる構造化データはシステム２０８（およびユーザー２０１）に与えられる。そのような場合、システム２０８は、割り当てられたタスクを指示するデータおよびそのタスクが引き受けられたことを示すデータを維持する。プロジェクト管理者は、割り当てられたタスクBが日時Cまでに完了されなかった場合、従業員Aを追跡するためにこの情報を使うことができる。いくつかの実施形態では、システム２０１は同様にして自動リマインダーを提供する。ある実施形態では、ユーザー２０１がタスクを割り当て、そのタスクが所定の時間枠内に受け容れられないか、あるいは拒否される場合、システムは、ユーザー２０１への電子メッセージの形で、ユーザー２０１がそのタスクを割り当て直すか、従業員Aについて対処することを提案する自動化された通知を提供する。
【０１７５】
ツール２０６によって提供される構造化データを利用し、活動管理を支援するために、システム２０８に関連して多数のプログラム、ツールおよびユーティリティが実装されうることは理解されるであろう。これらは概して、本開示の範囲を超えるものである。
【０１７６】
いくつかの実施形態では、メッセージ・テンプレートが使用される。特に、メッセージ２０２をオーサリングするとき、ユーザー２０１は、中でも選択プロトコルの適用を支援するためにテンプレートを選択する。たとえば、テンプレートはメッセージの特定の型に関係し、あるテンプレートの選択は、そのテンプレートのもとでオーサリングされるメッセージ中のテキスト断片がどのように解析されるかに影響する。これらのメッセージ・テンプレートは、従来技術のシステムにおいて使用されているとして背景技術のセクションで述べたテンプレートとは異なる。従来技術では、ユーザーがテンプレートを選択し、次いで、たとえば選択されたテンプレートに従って表示されるフィールドを提供され、それによりユーザーは提供されるフィールドのためのデータを提供できるのである。テンプレートのそのような従来技術での使用は、従来技術でのフォームの使用に似ている。
【０１７７】
いくつかの実施形態では、ユーザーが特定のテンプレートを選択しないことを選ぶ場合にデフォルト・テンプレートが割り当てられるよう、所定のデフォルトのメッセージ・テンプレートがある。
【０１７８】
ある実施形態では、選択プロトコルの精確さを支援し、高めるため、メッセージ・テンプレートは次のうちの少なくとも一つを示すデータを含む：
・一つまたは複数のスキーマ。
・テンプレートに従ってメッセージ中に生起しそうなデータ型。
・テンプレートに従ってメッセージ中に生起しそうなデータ型の後継（succession）。
・テンプレートに従ってメッセージ中に生起しそうなデータ型どうしの間のその他の関係。
【０１７９】
ある実施形態では、テキスト断片についての好ましいデータ型を選択するとき、選択プロトコルは、現在メッセージについて有効なテンプレートに従うメッセージについて有望なデータ型として識別されるデータ型を優先する。別の実施形態では、メッセージ・テンプレートは、そのテンプレートに従ったメッセージ中の各データ型の生起の相対的な有望さを示すためにさらなる情報を提供する。
【０１８０】
さらに、ある実施形態では、そのようなメッセージ・テンプレートは、そのテンプレートに従ったメッセージのための0以上の義務的なデータ条件を定義する。たとえば、テンプレートは、そのテンプレートに従ったメッセージについて、一つまたは複数のデータ型を必須として定義し、そのテンプレートの下で作成されたメッセージの承認された構造化データの中に存在しない必須データ型が少なくとも一つある限り、ユーザー２０１はそのようなメッセージを送信することを妨げられる。別の例によれば、第一と第二のデータ型の間の後継関係が義務的な後継であると指定され、そうすると、ユーザー２０１は、そのテンプレートの下で作成されたメッセージで該義務的後継の第一のデータ型は有するが第二のデータ型は有さないものを送信することを妨げられる。
【０１８１】
ある実施形態では、そのようなテンプレートは任意的に、そのテンプレートに従ったメッセージの望ましいおよび／または必須の内容を示す、一つまたは複数のあらかじめフォーマットされたテキスト断片および対応する構造化データを定義する。それにより、ユーザー２０１に要求されるデータ入力の量が軽減され、通信の標準化が高められる。
【０１８２】
いくつかの実施形態では、テンプレートはさらに、メッセージ中の一つまたは複数の所定のトリガー条件に応答して実行するための、あらかじめ定義された自動化された振る舞い、たとえばマクロを提供する。
【０１８３】
ある実施形態では、各メッセージ・テンプレートは、0以上の所定の段階を定義し、当該メッセージのため、およびその後の関係したメッセージのための0以上の可能なシーケンスを定義する。さらに、メッセージの各段階について、テンプレートは0以上の有望なデータ型および／または振る舞いおよび／または有効性条件（validity  condition）を定義する。これが、そのメッセージおよび関係したメッセージの全体についての作業フローと呼ばれるものを定義する。根底にある動機は、メッセージが転送されるたびに、そのメッセージは別の段階に進むということである。各段階で、たとえば作業フローをガイド、追跡およびコントロールするためにある種の有効性条件が満たされることを強いることが可能である。
【０１８４】
いくつかの実施形態では、ツール２０６は情報ライフサイクルを管理するよう適応される。ある実施形態では、各データ型は0以上の許容されるライフサイクル段階に関連付けられ、そのような段階のそれぞれが0以上の許容可能な後継状態に関連付けられる。一例では、テキスト断片は「タスク」データ型を定義する。諸タスクについて、情報ライフサイクルは、「ログ記録される」「スケジューリングされる」「進行中」「検討中」および「終了」といった段階を含む。さらに、各段階は、0以上の詳細フィールドおよび有効性条件に関連付けられる。たとえば、「タスク」についての「期日」詳細フィールドは、タスクが「ログ記録される」段階にあるときには必須ではないが、タスクがひとたび段階「スケジューリングされる」に進んだとき、および「スケジューリングされる」に続くあらゆる後続段階において、「期日」詳細フィールドは必須となり、有効な日時を含む必要がある。
【０１８５】
ある実施形態において、ライフサイクルの使用の一例として、複合データ・メッセージに返信するおよび／または複合データ・メッセージを転送するユーザーは、詳細フィールドを修正できる。よって、ライフサイクルは、ユーザーが特定のデータ断片をどの段階まで進めることが許容されるかを、その現在段階に基づいて、および任意的に他の有効性条件に基づいて、支配する。たとえば「解決行動」は、対応する「解決結果」詳細フィールドが埋められている場合にのみ「終了」とマークされることができる。
【０１８６】
本発明の別の側面によれば、ツール２０６は、
・各データ型の詳細フィールドで、現在ユーザーに表示するためのもの、
・各データ型の詳細フィールドで、ユーザーによって現在修正可能なもの
の一方または両方を決定するための、当該メッセージの作業フロー段階および個々のデータ断片のライフサイクル段階のうちの一方または両方を使用する。
【０１８７】
ある実施形態では、どの詳細フィールドをユーザー２０１に表示するかを決定することおよび／または表示される詳細フィールドのうちのどれをユーザーにとって修正可能にするかを決定することは、次のうちの一つまたは複数を使うことを含む：
・ユーザーのセキュリティ・プロファイル。
・環境との関係におけるユーザーの役割、たとえば会社の場合はその会社におけるユーザーの役割。
・メッセージの作業フロー段階との関係におけるユーザーの役割。
【０１８８】
ある実施形態では、受信者２０５の一は、返信メッセージまたは転送メッセージのような、メッセージ２０２に関係したさらなるメッセージを生成する。ある実施形態では、この受信者によって使われるメッセージ受信および作成プログラムがツール２０６と相補的なツールに統合されており、このツールがメッセージ２０２に関連付けられたデータ２０７に応じて、受信者２０５に関係した応答メッセージを提供する。ある実施形態では、このツールは、メッセージ２０２への応答のために、次のうちの一つまたは複数を含む指標を考慮することによって、有望な構成テキスト断片および構造化データを決定する：
・メッセージ２０２中の個々のデータ断片のデータ型。
・メッセージ２０２の作業フロー段階。
・メッセージ２０２中の個々のデータ断片のライフサイクル段階。
【０１８９】
ある実施形態では、有望な構成テキスト断片および構造化データを決定したのち、ツール１０６は、応答する受信者２０５に関係した応答メッセージを提供し、該メッセージに前記の決定されたテキスト断片および構造化データを入れる。たとえば、メッセージ２０２が「質問」データ型を含んでいるとしよう。この例では、提供される応答メッセージは、元のメッセージ２０２の自由テキストおよび構造化データのコピーならびに追加的に型「答え」のデータ断片および対応するテキスト断片を入れられる。該テキスト断片は、ユーザーが埋めるべく視覚的に指示された空行からなる。該テキスト断片は、元のメッセージ２０２の「質問」に対応するテキスト断片のコピーの隣に提供される。これらの側面を使って、そのようなアプローチはたとえば受信者を、有意な構造化データを提供するという目標に向け、以前の諸電子メールにおいて持ち上がった問題に対処するプロセスを通じてガイドすることができる。メッセージ作成の残りは、メッセージ２０２がオーサリングされたのと実質的に同じ仕方で進む。
【０１９０】
上記の例では提案される構造化データは電子メッセージ２０２におけるある段落の完了に応答して提供されるが、いくつかの実施形態では、提案される構造化データは、代替的なテキスト断片の完了時に、代替的な時点に、および／または一つまたは複数の所定の条件が満たされる際に、提供される。これらの所定の条件は次のものを含みうる。
【０１９１】
・ユーザー入力。たとえば提案される構造化データが提供されることを要求するユーザー入力。そのような場合、ユーザーはテキスト断片の定義に対して追加的なコントロールを有する――テキスト断片が完了したことを示すユーザー・コマンドを受けてテキスト断片が定義されるのである。
【０１９２】
・メッセージ完了を示す入力。たとえば、メッセージを送信するというコマンド。ある実施形態では、これは、送信前のスペルチェック機能と同様に動作する――「送信」コマンドが与えられてからメッセージが実際に送信されるまでの間に、ツール２０６が、ユーザー２０１による検討および選択的な修正／承認のために、提案された構造化データを提供する。
【０１９３】
時間がたつにつれて、ユーザーはツール２０６の動作に慣れ、構造化データ生成のプロセスを能率化するために自分の文体を微妙に適応させることを学習することは理解されるであろう。所与のユーザーについて、必ずしも実装されるマッピング・プロトコルに変更を加える必要なしに、時間がたつにつれて、マッピング精度が向上し、提案された構造化データを検討するのに費やされる時間がそれに応じて短くなることが構想されている。このように、本発明のいくつかの実施形態の有効性は、マッピング精度の側面ではなく、図１に示される一般的なプロセスにかかっている。
【０１９４】
このプロセスをさらに能率化するために、ある実施形態では、ツール２０６は、提案される構造化データを、可能な場合には常に、その構造化データに対応するテキスト断片の作成に先立って決定し、ユーザーに伝達する。たとえば、第一と第二のデータ型の間に所定の後継関係が存在していて、ユーザー２０１が先行するテキスト断片に続いて新たなテキスト断片を作成しようとしているとしよう。ここで、先行するテキスト断片に対応する構造化データは第一のデータ型である。前記の例を続けると、ツール２０６のある実施形態は、前記新たなテキスト断片が、前記所定の後継によれば、第二のデータ型であることが有望だと判定し、それに従って構造化データ・エディタ・フィールド３０２を更新する。こうして、ユーザーは、その新たなテキスト断片についての望ましい情報内容についてガイドされる。
【０１９５】
別の実施形態では、そのような所定の後継関係が選択的に、必須と指定される。たとえば、ある会社がデータ型「ビジネス事項」とデータ型「解決行動」の間の後継関係を必須として指定したとしよう。この場合、ユーザー２０１が「ビジネス事項」に対応すると識別されるいくつかのテキスト断片を有するメッセージを送信するのは、そのようなテキスト断片一つ一つの直後の構造化データが「解決行動」型でない限り、妨げられる。
【０１９６】
ある実施形態では、提案される構造化データを決定するのに与ったテキスト条件が一時的にユーザーに示される。たとえば、ツール２０６は、所与のテキスト断片についてデータ型を決定するために使われたキーワードを、自由テキスト・メッセージ・フィールド３０１中でそれらのキーワードを一時的にハイライトすることによって示す。上記の実施形態は特に電子メッセージを参照して記述してきたが、実施形態によっては、他の形の電子的な自由テキスト・メッセージングの諸方法が使われる。電子メッセージの意味するところは、電子メール、インスタント・メッセージおよび電子的な形であり一または複数の受信者に電子的に配送可能なメッセージングの他の諸形態である。自由テキスト・メッセージングの諸方法は、たとえばMicrosoft  Outlook（商標）ソフトウェアを使う電子メール方法およびインスタント・メッセージング・ソフトウェア、たとえばAOL  Instant  Messenger（商標）の使用を含む。そのような自由テキストの諸方法は、典型的には、メッセージの本文を、一連のテキスト・キャラクタを含む単一の単位として扱い、メッセージの内容に対して構造を課すことはない。こうして、ユーザーは、通信のフォーマット、長さ、詳細さの度合い、声の調子、使用される用語およびその他の諸側面を自由に決められる。
【実施例１】
【０１９７】
〈さらなる詳細な説明〉
諸実施形態および諸例のさらなる記述が以下に与えられる。
【０１９８】
以下の用語集は、これらの実施形態および例に関係して案内のために与えられる。
【０１９９】
アクティブな断片データ・オブジェクト（active  fragment  data  object）：アクティブなテキスト断片に対応する断片データ・オブジェクト。
【０２００】
アクティブなテキスト断片（active  text  fragment）：ユーザーによって現在オーサリングされているテキスト断片。
【０２０１】
アクティブ（active）：エンティティ、たとえば断片データ・オブジェクトまたはテキスト断片が現行である状態をいう。エンティティが現在修正のために選択されていれば、そのエンティティはアクティブである。
【０２０２】
オーサリング（authoring）：複合データ・メッセージ中の自由テキスト断片および構造化データ・オブジェクトの追加、修正および削除。
【０２０３】
自動的（automatic）：動作について、手動の介入を必要としない方法によって実行される側面をいう。
【０２０４】
クラス（class）：当該クラスに基づくあらゆる構造化データ・オブジェクトについての構造を指定する静的な定義。典型的には、そのような定義は、少なくとも一つのデータ・フィールド定義のための仕様を含み、任意的に：検証規則（validation  rule）、振る舞い定義（behavior  definition）および関係定義（relationship  definition）を含む。当業者は、クラスは、オブジェクト指向設計における「クラス」の概念と等価であることを認識するであろう。
【０２０５】
クリックアンドドラッグ（click-and-drag）：間接的なポインティング・デバイス、たとえばマウスを使って実行される、画面上の要素が新しい位置に移動されるような手動の操作。
【０２０６】
活動管理（activity  management）：活動、リスクおよび／または事項に関係する情報を提供することによって、およびこの情報を処理するために、それらの活動、リスクおよび／または事項を管理することに関わる活動およびプロセス。そのような管理としては、たとえば、人間の協働事業の計画、執行、コントロール、評価および報告が含まれる。
【０２０７】
複合データ・メッセージ（composite  data  message）：活動管理において使うための少なくとも一の受信者による受信のための、自由テキストおよび構造化データの両方を含むメッセージ。テキスト断片は断片データ・オブジェクトにマッピングされている。
【０２０８】
包含関係（containment  relationship）：二つの断片データ・オブジェクトの間の関係で、第一のもの（「包含側」）が第二のもの（「被包含側」）を含んでいるような関係。
【０２０９】
データ・フィールド（data  field）：値を格納することのできる恒久的および／または一時的なメモリ構造。場合によって、データ・フィールドは指定された型の値のみを保持できる。
【０２１０】
期待される関係（expected  relationship）：特定の関係定義に従った関係。
【０２１１】
断片データ・クラス（fragment  data  class）：構造化データ・オブジェクトのクラス。データ・オブジェクトはテキスト断片をマッピングする。
【０２１２】
断片データ・オブジェクト（fragment  data  object）：断片データ・クラスのインスタンス。
【０２１３】
自由テキスト（free-text）：構造化されたデータ・オブジェクトに編成されていないテキスト。場合によっては、自由テキストは、フォーマット用マークアップを含む。
【０２１４】
インスタンス（instance）：所与の型についての特定の例。たとえば、所与のクラスに基づく構造化データ・オブジェクト、所与の関係の解決策多項組（solution  tuple）またはデータベース・テーブル中のレコード。
【０２１５】
ライフサイクル（lifecycle）：断片データ・オブジェクト、データ・フィールドまたは関係に適用される、段階から段階への任意的および／または必須の遷移のシーケンス。ある実施形態では、ライフサイクルは、遷移シーケンス中に、0以上の条件付き分岐および0以上の条件付き反復をも有する。
【０２１６】
手動（manual）：操作の、人間のユーザーによって実行される側面をいう。
【０２１７】
マッピング精度（mapping  accuracy）：所与の断片データ・オブジェクトのクラスおよびデータ・フィールド値ならびに該断片データ・オブジェクトと他の断片データ・オブジェクトとの間の関係がその断片データ・オブジェクトに関連するテキスト断片の意味論的内容を表現する精確さの度合い。すなわち、マッピング方法がユーザーによって意図された結果を生じた度合い。
【０２１８】
マッピング補助（mapping  aid）：マッピング方法の実施形態によって使用されるためのサポート、たとえば複数のデータ。
【０２１９】
マッピング信頼水準（mapping  confidence  level）：特定のマッピング決定がマッピング精度を最大化する信頼のレベル。
【０２２０】
マッピング考察（mapping  consideration）：マッピング決定の帰結に寄与する因子。
【０２２１】
マッピング制約条件（mapping  constraint）：マッピング・プロセスに対する制限を指定する規則。たとえば、あるマッピング制約条件は、ある特定のマッピング・プロセスは所定の作業フローのある特定の段階においてのみ実行されることができることを指定する。
【０２２２】
マッピング決定（mapping  decision）：マッピング動作の一部としてある方法実施形態によって実行される動作。少なくとも一つの可能な帰結のうち一つの特定の帰結の選択、たとえば仮断片データ・クラスの選択を結果として与える。
【０２２３】
マッピング標的（mapping  target）：マッピング動作の一部として現在インスタンス生成されるおよび／または値を入れられる構造化データ・エンティティ。マッピング標的のはたらきができる構造化データ・エンティティの型は：断片データ・オブジェクト；断片データ・オブジェクトのデータ・フィールド；関係および関係のデータ・フィールドを含む。
【０２２４】
マッピング（mapping）：テキスト断片の自由テキストを構造化データに変換するためテキスト断片に対して実行される動作。結果として：（ａ）当該テキスト断片に対応する少なくとも一つの断片データ・オブジェクトの生成および／または修正；（ｂ）前記少なくとも一つの断片データ・オブジェクトの0以上のデータ・フィールドに対する値の割り当て；および（ｃ）断片データ・オブジェクトどうしの間の0以上の関係の生成および／または修正を与える。好ましくは、この動作は、マッピング精度を最大化するように実行される。
【０２２５】
メッセージ・テンプレート（message  template）：複合データ・メッセージのベースとなるあらかじめ定義された標準。
【０２２６】
0以上（none  or  more）：明細書および請求項において、要素の量についての「0以上」の用語は、要素なし、あるいは要素があるとしたら少なくとも一つの要素を意味する。
【０２２７】
プロパティ・ページ（property  page）：構造化データ・オブジェクトのデータ・フィールドの名前および現在の値を表示するため、および前記値を手動で設定および変更する機構を提供するための方法／機構。ある実施形態によれば、新たな断片データ・クラスに従って新たな構造化データ・オブジェクトを生成するための、新たな断片データ・クラスの選択を提供することをも含む。
【０２２８】
仮（provisional）：エンティティ、たとえばクラス、構造化データ・オブジェクトまたはデータ・フィールドの状態について、そのエンティティの素性および／またはデータ・状態が正しいという確認が人間のユーザーによって手動で与えられていないことをいう。「提案された（proposed）」の用語も使われる。
【０２２９】
参照（reference）：特定のエンティティを位置特定し、アクセスするための任意の機構。たとえば：ポインタ；Ｃ＋＋およびジャバの参照；位置オフセット；およびインデックスを含む。
【０２３０】
関係定義（relationship  definition）：その関係定義において指定される第一のクラスと第二のクラスのインスタンスの間に存在すると期待される関係についての定義。場合によっては、関係定義において指定される第一のクラスと第二のクラスは同じクラスである。ある実施形態によれば、関係定義はスキーマ中およびメッセージ・テンプレート中に存在できる。ある実施形態によれば、関係定義はさらに0以上の検証規則およびマッピング制約条件を含む。
【０２３１】
関係（relationship）：二つの構造化データ・オブジェクトの間の双方向的な関連（association）をいう。たとえば、RAM中の構造化データ・オブジェクトへの参照（ポインタなど）の多項組（tuple）またはリレーショナル・データベース中の外部キー値。
【０２３２】
満足させる（satisfy）：要求された一組の条件を満たす。たとえば、構造化データ・オブジェクトがあるクラスのインスタンスであるか、そのクラスの直接的もしくは間接的な特化のインスタンスである場合、その構造化データ・オブジェクトはそのクラスを満足させる。
【０２３３】
スキーマ（schema）：それからインスタンスを生成できる一組の定義。典型的には、スキーマは：少なくとも一つのクラス；0以上の関係定義；0以上のマッピング補助；および0以上のマッピング制約条件を含む。
【０２３４】
意味論的内容（semantic  content）：所与の自由テキストの、その自由テキストの作成者によって意図された意味。
【０２３５】
特化（specialization）：二つのクラスの間で、一方のクラス（「子孫（descendant）」）が他方のクラス（「ベース・クラス（base  class）」）の特別な場合であるという関係。当業者は、これがオブジェクト指向ソフトウェア・システムにおける「継承（inheritance）」関係と等価であることを認識するであろう。特に断りのない限り、所与のベース・クラスの特化のインスタンスは、そのベース・クラスのインスタンスの代わりに使うことができる。
【０２３６】
構造化データ・オブジェクト（structured  data  object）：既知の型の少なくとも一つのデータ・フィールドに編成された、既知のクラスの恒久的または一時的なメモリ構造。
【０２３７】
構造化データ（structured  data）：既知の型およびデータ・フィールドの離散的な構造化データ・オブジェクトに編成されたデータ。
【０２３８】
後継関係（succession  relationship）：二つの断片データ・オブジェクトの間の、包含関係ではない関係であって、複合データ・メッセージにおいて一方の断片データ・オブジェクト（「先行者（predecessor）」）が他方の断片データ・オブジェクト（「後継者（successor）」）の前に現れるような関係。したがって、先行者の各テキスト断片は後継者のテキスト断片より前に現れる。図面では、後継関係および後継関係定義は矢印を使って描かれる。
【０２３９】
テキスト断片（text  fragment）：自由テキストの一部分。たとえば段落または文。ある実施形態によれば、テキスト断片は、一つの構造化データ・オブジェクトにマッピングされる一つの原子的単位の情報である。
【０２４０】
トークン（token）：単一の語または数または記号または途切れのない記号列。
【０２４１】
満足されない関係定義（unsatisfied  relationship  definition）：複合データ・メッセージについての関係定義であって、その複合データ・メッセージがその関係定義に従う関係を十分な数有していないもの。
【０２４２】
検証規則（validation  rule）：構造化データ・オブジェクトまたはデータ・フィールドについての正規な状態を指定する規則。
【０２４３】
検証済み（verified）：エンティティ、たとえばクラス、構造化データ・オブジェクトまたはデータ・フィールドの状態であって、そのエンティティの素性およびデータ状態が正しいという確認が人間のユーザーによって手動で与えられていることをいう。
【０２４４】
作業フロー（workflow）：複合データ・メッセージに適用される、段階から段階への任意的および／または必須の遷移のシーケンス。ある実施形態では、作業フローは、遷移シーケンス中に、0以上の条件付き分岐および0以上の条件付き反復をも有する。
【０２４５】
図５ではある実施形態が例解されている。ここでは、入力された自由テキストに対応する構造化データを生成し、自由テキストと構造化データを含む複合メッセージを形成するための簡略化されたフローチャートが示されている。ある実施形態では、ユーザーは複合データ・メッセージ中の新たなテキスト断片を作成しようとしている。たとえば、各テキスト断片は一段落の長さで、ユーザーはキーボード上のエンター・キーを押して、それにより現在の段落を終え、新たなテキスト断片がオーサリングされようとしていることを示す。本方法は、５１０において、新たなテキスト断片を作成すること、たとえば新しい行の先頭に入力カーソルを位置させることを含んでいる。
【０２４６】
ある実施形態では、一つまたは複数のスキーマが有効である。これはたとえば、ユーザーによって選択されたかデフォルトで選択されているメッセージ・テンプレートがあるためである。
【０２４７】
さらに、本方法は５２０において、その複合データ・メッセージについて有効なスキーマおよびその複合データ・メッセージのベースとなるメッセージ・テンプレートによって供給される情報に従って、前記新たなテキスト断片をマッピングする仮断片データ・クラスを決定する。これは、図１の例示的なフローチャートの１０３において、一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめることとして含まれている。
【０２４８】
ある実施形態では、５２０のステップはさらに、前記仮断片データ・クラスが決定されたときに、前記仮断片データ・クラスのインスタンスである新たな断片データ・オブジェクトを生成することを含んでいる。これも、図１の例示的なフローチャートの１０３において、一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめることとして含まれている。
【０２４９】
前記仮断片データ・クラスおよび前記断片データ・オブジェクトは、上記で提案される構造化データと呼ばれているものに含まれている。
【０２５０】
本方法は、５５０において、前記仮断片データ・オブジェクトについてユーザーに表示および編集設備を提供する。これは図１の例示的なフローチャートの１０４に含まれていることに注意されたい。ある実施形態では、５５０において、アクティブな断片データ・オブジェクトについての表示設備は、以下のものを表示することを含む：
・そのアクティブな断片データ・オブジェクトの断片データ・クラスの名前；
・そのアクティブな断片データ・オブジェクトの諸データ・フィールドの名前；
・そのアクティブな断片データ・オブジェクトの諸データ・フィールドの値；および
・断片データ・オブジェクト間の関係。
【０２５１】
さらに、５５０において、編集設備は次のものを含む：
・別の断片データ・クラスを選択する機構を提供すること；
・各データ・フィールド値についての編集コントロールを、所与のデータ・フィールドについて提供される編集コントロールのタイプがそのデータ・フィールドのデータ型に好適となるように提供すること；および
・断片データ・オブジェクト間の関係を追加、編集または除去するための機構を提供すること。
【０２５２】
さらに、本発明のある実施形態によれば、５５０において提供される表示および編集設備は、オーサリング・プロセスの残りを通じてユーザーに利用可能なままである。
【０２５３】
５６０において、ユーザーは、アクティブなテキスト断片の内容をオーサリングするか、および／またはステップ５５０で提供された編集設備と対話してアクティブな断片データ・オブジェクトに直接変更を加えることに進む。作成者からのそのような活動が本方法によって受け付けられる。これは図１の例示的なフローチャートの１０５において、ユーザーが提案された構造化データを修正、承認または拒否することを示す、ユーザーからのさらなる入力を受け付けることとして含まれている。
【０２５４】
５６０において、ユーザーが別のデータ断片クラスを選択すると、アクティブな断片データ・オブジェクトは破棄され、ユーザーが選択したデータ断片クラスに基づいて新たな断片データ・オブジェクトが生成される。ユーザーが手動で選択した断片データ・オブジェクトは検証済みと考えられ、ステップ５８０における自動変更の対象ではなくなる。
【０２５５】
５６０において、ユーザーがアクティブな断片データ・オブジェクトの一つまたは複数のデータ・フィールド値を編集する場合、これらの値は検証済みと考えられ、ステップ５８５における自動変更の対象ではなくなる。アクティブな断片データ・オブジェクトの断片データ・クラスがまだ仮である、すなわちまだユーザーによって検証されていない場合、本方法はステップ５８０において、アクティブなテキスト断片をマッピングするための仮断片データ・クラスを決定し直すことを含む。５８０におけるステップは、スキーマ、メッセージ・テンプレートおよび５９０におけるマッピング補助を使用する。具体的には、５８０におけるステップは、テキスト断片の意味論的内容に基づいてアクティブなテキスト断片についての断片データ・クラスを決定するのを助けるクラスレベルのマッピング補助を使う。
【０２５６】
５８０で、仮断片データ・クラスの決定が、アクティブな断片データ・オブジェクトについての新たな仮断片データ・クラスの選択という結果を生じる場合、５８０におけるステップは、自動的に、アクティブな断片データ・オブジェクトを破棄して、新たに決定された断片データ・クラスの新たな断片データ・オブジェクトを生成する。その新たに生成された仮断片データ・オブジェクトが以後、アクティブな断片データ・オブジェクトとして使われる。
【０２５７】
さらに、本方法は、５８５において、アクティブなテキスト断片の意味論的内容の評価に基づいて、アクティブな断片データ・オブジェクトについての仮データ・フィールド値を決定することを含む。検証済みの値をもつデータ・フィールドは５８５における自動決定からは排除される。５８５におけるステップは、５９０におけるマッピング補助を使う。具体的には、５８５におけるステップは、アクティブなテキスト断片の意味論的内容に基づいてデータ・フィールドについての値を決定するのを助けるフィールドレベルのマッピング補助を使う。
【０２５８】
本方法は、６００において、ユーザーがアクティブなテキスト断片のオーサリングを終えたかどうかを判定することを含む。ユーザーがオーサリングを終えたとは、たとえば、ユーザーが：
・デリミタとなるトークンをタイプした、たとえば各テキスト断片が一段落の長さで、ユーザーがエンター・キーを押した；
・複合データ・メッセージを閉じた；あるいは
・キーボード、マウスまたはその他のナビゲーション機構を使って入力フォーカスをアクティブなテキスト断片から外して、それにより他のテキスト断片をアクティブなテキスト断片として選択した、といったことである。
【０２５９】
６００において、ユーザーがテキスト断片の終わりを指示しなかった場合、本方法はステップ５６０に続く。
【０２６０】
ひとたびユーザーがテキスト断片のオーサリングを完了したら、本方法は６１０において、ユーザーによって、アクティブな仮断片データ・オブジェクトの断片データ・クラスおよび各データ・フィールドの値を検証する。
【０２６１】
６１０で、ユーザーが仮断片データ・オブジェクトの断片データ・クラスを手動で変更する場合、本方法は、６１０において、古い仮断片データ・オブジェクトを破棄して、ユーザーが選択した断片データ・クラスに基づいて新たな仮断片データ・オブジェクトを生成する。さらに、ユーザーが６１０で新たな断片データ・クラスを選択した場合、本方法は５８５において、その新たな仮断片データ・オブジェクトの仮データ・フィールド値を決定することを含む。
【０２６２】
さらに、ある実施形態によれば、６１０におけるステップはさらに、アクティブなテキスト断片がマッピングされないことを手動で示す機構を提供することを含む。６１０においてユーザーが、アクティブなテキスト断片がマッピングされないことを手動で示す場合、本方法は６１０において仮断片データ・オブジェクトを破棄することを含む。代替的な実施形態では、６１０におけるステップはさらに、複合データ・メッセージ中のテキスト断片のどれもマッピングされないことを手動で示す機構を提供することを含む。６１０においてユーザーが、その複合データ・メッセージがマッピングされるテキスト断片をもたないことを手動で示す場合、本方法は６１０においてその複合データ・メッセージにおけるあらゆる仮断片データ・オブジェクトを破棄することを含む。
【０２６３】
こうして、５６０ないし６１０の部分としてユーザーによって提供される入力が受け付けられる（図１の１０５）。
【０２６４】
本発明のある実施形態によれば、ユーザーが新たなテキスト断片をオーサリングしようとしている場合、本方法は６４０において、ステップ５１０に続くことを含む。ユーザーが前から存在しているテキスト断片のオーサリングを続けようとしている場合には、本方法はさらに、６４０においてステップ５６０に続くことを含む。
【０２６５】
本発明の別の実施形態によれば、ユーザーが新たなテキスト断片を作成しようとしておらず、入力フォーカスを前から存在しているテキスト断片に移し、この前から存在しているテキスト断片に修正を加えようとしている場合、この実施形態に基づく本方法は、ステップ５１０および５２０をスキップしてステップ５５０から開始される。他のステップはすべて同一である。
【０２６６】
さらに、ユーザーが前から存在しているテキスト断片に修正を加えようとしており、対応するアクティブな断片データ・オブジェクトの断片データ・クラスが以前に検証されている場合、この検証済みの地位は継続し、アクティブな断片データ・オブジェクトの断片データ・クラスはステップ５５０および５８０における自動変更の対象ではなくなる。また、データ・フィールド値が以前に検証されている場合には、この検証済みの地位は継続し、値はステップ５８５における自動変更の対象ではなくなる。
【０２６７】
ユーザーが二つのテキスト断片を、たとえば該二つのテキスト断片の間のテキスト断片デリミタを除去することによってマージし、両テキスト断片が関連した断片データ・オブジェクトを有するとき、それらの断片データ・オブジェクトを単一の断片データ・オブジェクトに統合する必要がある。これをするにはいくつかの方法がある。ある実施形態によれば、両断片データ・オブジェクトは破棄され、本方法はステップ５８０において再開される。
【０２６８】
〈マッピング制約条件、検証振る舞いおよびマッピング候補〉
本発明のある実施形態によれば、0以上のマッピング制約条件が次のそれぞれによって定義できる：
・断片データ・クラス；そのようなマッピング制約条件は、その断片データ・クラスのすべてのインスタンスに適用される；
・関係定義；そのようなマッピング制約条件は、そのような関係定義に基づくすべての関係に適用される；
・断片データ・クラスの個々のデータ・フィールド；そのようなマッピング制約条件は、その断片データ・クラスのすべてのインスタンスにおいてそのデータ・フィールドに適用される。
【０２６９】
典型的なマッピング制約条件のいくつかの例として次のようなものが含まれる：
・ユーザーが少なくとも一つの所定のセキュリティ・プロファイルの一員であることを要求する；
・ユーザーが権限付与されたユーザーの所定のグループのうちの一人であることを要求する：
・マッピングが、マッピング標的に適用される所定のライフサイクル中の特定の段階の所定のセットのうちの一段階において生起しなければならないことを要求する；
・マッピングが、複合データ・メッセージに適用される所定の作業フロー中の特定の段階の所定のセットのうちの一段階において生起しなければならないことを要求する；
・断片データ・オブジェクトが、別の断片データ・オブジェクトと、特定の関係定義に基づくある関係にあることを要求する。
【０２７０】
図５を参照すると、本方法は、ステップ５２０、５６０、５８０および６１０において、マッピングにおいて使うための断片データ・クラスを選択することを含む。本発明のある実施形態によれば、断片データ・クラスを選択することは、候補断片データ・クラスのセットから一つを選択することに限定される。この実施形態では、候補断片データ・クラスとなるためには、断片データ・クラスは次のようでなければならない：
・アクティブな複合データ・メッセージにとって利用可能であるスキーマにおいて定義されている；
・現在のマッピング決定において選択されても、いかなるマッピング制約条件をも破らない；かつ
・現在のマッピング決定において選択されても、いかなる検証規則をも破らない。
【０２７１】
本方法は、ステップ５６０および５８５において、アクティブな断片データ・オブジェクトの候補データ・フィールドに値を割り当てることを含む。本発明のある実施形態によれば、データ・フィールドがマッピング候補であるのは、次の場合のみである：
・そのデータ・フィールドがアクティブな断片データ・オブジェクトの構成要素である；
・現在のマッピング動作においてそのデータ・フィールドに値を割り当てることが、いかなるマッピング制約条件をも破らない；かつ
・割り当て動作のために指定された値を割り当てることが、そのデータ・フィールドに関連したいかなる検証規則をも破らない。
【０２７２】
本方法は、ステップ５２０、５６０、５８０および６１０において、断片データ・オブジェクトの間の関係を生成することを含む。本発明のある実施形態が断片データ・オブジェクト間の関係を生成することを許容するのは次の場合のみである：
・その関係が現在のマッピング動作において生成されていても、いかなるマッピング制約条件をも破らない；かつ
・その関係が、いずれかの断片データ・オブジェクトの断片データ・クラスによって指定されているいかなる検証規則をも破らない。
【０２７３】
〈満足された関係定義と満足されない関係定義〉
本発明のある実施形態によれば、二つの断片データ・オブジェクトの間の関係が所与の関係定義に従うのは、その関係がその関係定義によって課されるいかなるマッピング制約条件をも破らず、その関係定義に適用されるいかなる検証規則をも破らない場合である。
【０２７４】
ある実施形態によれば、関係定義は次のことを含む0以上の制約条件を課すことができる：
・その関係定義に従う関係の第一の断片データ・オブジェクトについて許可できる断片データ・クラス；
・その関係定義に従う関係の第二の断片データ・オブジェクトについて許可できる断片データ・クラス；
・その関係定義に従う関係に適用されるマッピング制約条件；
・その関係定義に従う関係の期待される最小数、たとえば1；および
・その関係定義に従う関係の期待される最大数、たとえば1。
【０２７５】
関係定義は、その関係定義について期待される最小数として指定されているより、その関係定義に従う関係の数が少ない場合、満たされていない。
【０２７６】
関係定義は、その関係定義について期待される最大数として指定されているのと同数の、その関係定義に従う関係が存在する場合、完全に満たされている。
【０２７７】
ある実施形態によれば、包含関係に適用されるさらなるマッピング制約条件は、どの断片データも、二つ以上の包含関係における被包含側、すなわち二つ以上の包含関係に含まれる何かとなることはできないというものである。
【０２７８】
所与の関係が関係定義に従っているとは次の場合である：
・その関係の第一の断片データ・オブジェクトが、その関係定義によって第一の断片データ・オブジェクトについて指定される断片データ・クラスを満足させる；
・その関係の第二の断片データ・オブジェクトが、その関係定義によって第二の断片データ・オブジェクトについて指定される断片データ・クラスを満足させる；かつ
・その関係が、その関係定義によって指定されるいかなる検証規則も破らない。
【０２７９】
断片データ・オブジェクトが指定された断片データ・クラスを満たすとは次の場合である：
・その断片データ・オブジェクトが同じ断片データ・クラスのものである；または
・その断片データ・オブジェクトが指定された断片データ・クラスの特化のものである。
【０２８０】
関係が関係定義を満たすとは、次の場合である：
・その関係が、その関係定義に従っている；かつ
・その関係定義が一つまたは複数の他の関係によってすでに完全にされているのではない。
【０２８１】
ある実施形態によれば、二つの断片データ・オブジェクトの間の自動的に生成された関係は、常にちょうど一つの関係定義を満足させる。さらに、手動で生成された関係は、いかなる関係定義を満足させることも要求されない。
【０２８２】
ある実施形態によれば、関係定義は任意的に、該関係定義が必須の関係定義である、すなわち該関係定義が複合データ・メッセージにおいて完全に満足されなければならないことを指定できる。さらに、複合データ・メッセージが満足されない必須の関係定義を含んでおり、ユーザーがその複合データ・メッセージを保存するまたは一もしくは複数の受信者に送信することを含む動作をトリガーする場合、本方法は、適切なエラー・メッセージを発してその動作を取り消すことを含む。
【０２８３】
別の実施形態によれば、関係定義は任意的に、該関係定義が作業フロー中の一つまたは複数の特定の段階においてのみ、あるいはその構成要素の断片データ・オブジェクトのライフサイクルにおける一つまたは複数の特定の段階においてのみ、必須であることを指定することができる。
【０２８４】
〈マッピング決定、マッピング考察およびマッピング信頼水準〉
本発明のある実施形態によれば、自動的なマッピング決定が、その決定についての可能な諸帰結に対応するマッピング信頼水準を評価し、最高のマッピング信頼度をもつ帰結を選択することによって、なされる。
【０２８５】
マッピング決定は：
・アクティブな断片データ・オブジェクトについて仮断片データ・クラスを決定すること；
・アクティブな断片データ・オブジェクトについて仮データ・フィールド値を決定すること；および
・断片データ・オブジェクト間の関係を決定すること、を含む。
【０２８６】
仮断片データ・クラスを決定するために、本方法は、少なくとも一つのマッピング考察を評価することを含む。マッピング考察は次のものを含む：
・利用可能な満足されていない包含関係定義；
・利用可能な満足されていない後継関係定義；および
・利用可能なクラスレベルのマッピング補助。
【０２８７】
アクティブな断片データ・オブジェクトについて仮データ・フィールド値を決定するために、本方法は、利用可能なフィールドレベルのマッピング補助を含む追加的なマッピング考察を評価することを含む。
【０２８８】
ある実施形態によれば、マッピング考察は次のものを含む：
・マッピング決定のうちそのマッピング考察が適用される領分、たとえばある型の諸マッピング考察についての領分は、仮断片データ・クラスが選択される任意のマッピング決定についてのものである；
・そのマッピング考察が現在のマッピング決定にとって有意であるかどうかを判定する機構；
・推奨される帰結、すなわち、そのマッピング考察が有意であればそのマッピング考察に基づくマッピング精度を最大化するような帰結；および
・マッピング考察の推奨される帰結に関連付けられたマッピング信頼水準を決定するのに使うための信頼水準の少なくとも一つの指標。
【０２８９】
図１５は、ある実施例において、少なくとも一つの利用可能なマッピング考察を評価することに基づいて、そのようなマッピング決定がどのようになされるかを例解する擬似コードを示している。
【０２９０】
ある実施形態によれば、各帰結についてのマッピング信頼水準は実数値の数、たとえば0に初期化される。ある実施形態によれば、所与の帰結についてのマッピング信頼水準は、その帰結がマッピング決定の正しい帰結であると検証される相対頻度に初期化される。
【０２９１】
ある実施形態によれば、各マッピング考察は、単一の信頼水準指標が割り当てられる。マッピング考察の信頼水準指標は：
・マッピング考察がそのマッピング決定にとって有意である；かつ
・マッピング決定の結果、そのマッピング考察によって推奨される帰結が選択される、
場合にマッピング精度が最大になる確からしさを示す所定の数からなる：
たとえば、そのような信頼水準指標は、0≦n≦1という実数値の数nであることができる。
【０２９２】
さらに、ある実施形態によれば、所与の帰結に対応するマッピング信頼水準を決定することは、その帰結を推奨するマッピング考察のグループの信頼水準指標の和を計算することを含む。所与の帰結についての最終的なマッピング信頼水準は、その帰結についての初期マッピング信頼水準を、その同じ帰結を推奨する有意なマッピング考察のマッピング信頼水準の和に加えることによって決定される。
【０２９３】
〈仮断片データ・クラスの決定〉
図５を参照すると、本発明のある実施形態によれば、本方法は５２０および５８０において、アクティブなテキスト断片についての仮断片データ・クラスを自動的に決定することを含んでいる。
【０２９４】
ある実施形態では、５２０において、新たなテキストについての仮断片データ・クラスの決定が起こるのは、テキスト断片がまだ空であるときである。その結果、この実施形態によれば、本方法は、５２０において、該新たなテキスト断片の有望な意味論的内容を予期するために、先行する諸断片データ・オブジェクトの各仮断片データ・クラスに従って満足されない関係定義を解析することを含む。
【０２９５】
５８０では、アクティブなテキスト断片はもはや空ではない。よって、５８０では、仮断片データ・クラスを決定することはさらに、アクティブなテキスト断片の既存のトークンを構文解析し、マッピング補助を使ってそのテキスト断片の有望な意味論的内容を同定することを含む。
【０２９６】
アクティブな断片データ・オブジェクトについて仮断片データ・クラスを決定するための一つの実施形態が、単純化されたフローチャートを示す図６に示されている。図５のステップ５２０および５８０はどちらも図６の実施形態を含む。図６の実施形態が図５のステップ５２０によって呼び出されるときは、アクティブなテキスト断片は空であり、結果として、図６の７２０におけるステップは実行されない。図６の実施形態が図５のステップ５８０によって呼び出されるときは、テキスト断片は空ではなく、結果として、図６の７２０におけるステップは実行される。
【０２９７】
ここで、本方法は、６７０において、あらゆる断片データ・クラスについてマッピング信頼水準を初期化することを含む。ある実施形態によれば、あらゆる断片データ・クラスについてのマッピング信頼水準が0に設定される。
【０２９８】
６８０では、本方法は、現在のマッピング動作に有意な利用可能なスキーマ（単数または複数）における包含関係定義（もしあれば）の組を見出すことを含む。包含関係定義がマッピング考察として使われるとき、そのマッピング考察の推奨される帰結は、その包含関係定義の被包含側として指定される断片データ・クラスである。
【０２９９】
６９０では、本方法は、複合データ・メッセージのベースとなるメッセージ・テンプレートにおける有意な後継プラン（succession  plan）（もしあれば）を見出すことを含む。
【０３００】
６９０において有意な後継プランが見出されたら、７００で、本方法は、有意な後継プラン内の有意な後継関係定義の組を見出すことを含む。後継関係定義がマッピング考察として使われるとき、そのマッピング考察の推奨される帰結は、その後継関係定義の後継者として指定される断片データ・クラスである。
【０３０１】
アクティブなテキスト断片が空でない場合、７２０において、本方法は、現在のマッピング決定に有意なクラスレベルのマッピング補助インスタンスの組を見出すことを含む。ある実施形態では、マッピング補助インスタンスの有意さは、アクティブなテキスト断片の内容を構文解析して、そのマッピング補助インスタンスが有意であることを含意する所定の指標の存在を検出することによって決定される。それぞれのクラスレベルのマッピング補助インスタンスは、そのマッピング補助インスタンスの推奨される帰結である断片データ・クラスに関連付けられている。
【０３０２】
さらに、７３０において、本方法は：
・有意な包含関係定義；
・有意な後継関係定義；および
・有意なマッピング補助インスタンス
のうちの少なくとも一つの推奨される帰結である各断片データ・クラスに対応するマッピング信頼水準を評価することを含む。
【０３０３】
本方法は、７４０において、ステップ７３０において割り当てられた最大マッピング信頼水準が所定のマッピング信頼水準閾値よりも大きいことを検査することを含む。ある実施形態によれば、マッピング信頼水準閾値は0である。別の実施形態によれば、７４０におけるステップは実行されない。
【０３０４】
ステップ７３０で割り当てられた最大マッピング信頼水準がマッピング信頼水準閾値を超えない場合、本方法は、７５０において、所定のデフォルトの断片データ・クラスを仮断片データ・クラスとして選択することを含む。さらに、ある実施形態によれば、そのようなデフォルトの断片データ・クラスが存在しない場合、本方法は、７５０において、ユーザーによって最も頻繁に使われる断片データ・クラスを選択することを含む。ある代替的な実施形態によれば、所定のデフォルト断片データ・クラスが存在しない場合には、使われた最後に検証された断片データ・クラスが再び選択される。
【０３０５】
７３０において、最大の割り当てられたマッピング信頼水準にちょうど一つの断片データ・クラスが対応しており、その最大マッピング信頼水準が閾値を超えていれば、本方法は、７６０において、その断片データ・クラスを選択することを含む。
【０３０６】
７３０において、同じマッピング信頼水準に二つ以上の断片データ・クラスが対応しており、そのマッピング信頼水準が割り当てられた最大で、閾値を超えていれば、７６０において、タイ・ブレーカーが使われる。
【０３０７】
図１６は、ある実施形態で使われるタイ・ブレーカーを例示する擬似コードを示している。
【０３０８】
選択された断片データ・クラスは、仮断片データ・クラスとして使われる。
【０３０９】
図９は、活動管理において使うための複合データ・メッセージにおいて使用されうるような、断片データ・クラスについての例示的な継承階層構造を示している。図９によれば、「任意テキスト」８７０の断片データ・クラスが最も一般的なベース・クラスである。他のすべての断片データ・クラスはその特化である。「任意テキスト」８７０の直接的な特化は「挨拶」８８０、「本文」８９０および「結び」９００を含む。「任意テキスト」８７０の間接的な特化は、「活動」９１０、「リスク」９２０および「論点」９３０を含む。「活動」９１０断片データ・クラスのインスタンスである断片データ・オブジェクトは、データ・フィールド「開始日」「期日」「重要度」および「管理者」を有する。「タスク」９４０のインスタンスである断片データ・オブジェクトはさらに、データ・フィールド「ファイル注釈」および「文書リンク」を有する。
【０３１０】
〈包含関係定義をマッピング考察として使う〉
本発明のある実施形態によれば、各利用可能な包含関係定義はマッピング考察としてはたらくことができ、その際：
・そのマッピング考察が適用される領分は、仮断片データ・クラスの決定であり；
・そのマッピング考察の推奨される帰結は、前記包含関係定義の被包含側として指定される断片データ・クラスである。
【０３１１】
図１７は、ある包含関係定義が、現在のマッピング動作における有意なマッピング考察であるかどうかを判定するためのある方法実施形態を例示する擬似コードを示している。
【０３１２】
ある実施形態によれば、各包含関係定義について少なくとも一つの信頼水準指標が記憶される。
【０３１３】
例示的な包含関係定義が図８に示されている。図８は、簡略化したUMLクラス図を示している。この例によれば、「リスク」８４０断片データ・クラスのインスタンスは0以上の包含関係を含む。ここで、「リスク」８４０インスタンスは包含側であり、被包含側は「緩和」８５０断片データ・クラスの諸インスタンスである。さらに、「緩和」８５０インスタンスそれぞれは0以上の包含関係を含む。ここでは被包含側は「残留リスク」８６０断片データ・クラスのインスタンスである。
【０３１４】
〈後継関係定義をマッピング考察として使う〉
本発明のある実施形態によれば、メッセージ・テンプレートが0以上の有望な後継プランを指定できる。各プランは、あらかじめ決められた順序付けられた断片データ・クラス参照の系列を指定する。後継プランにおける任意の二つの隣り合う断片データ・クラス参照は、後継関係定義をなす。こうして、二つ以上の断片データ・クラス参照を含む後継プランは、順序付けられた後継関係定義の系列をも含む。
【０３１５】
ある実施形態によれば、複合データ・メッセージにおいて、断片データ・オブジェクトの任意の対は、次の場合に後継関係を形成する：
・両方の断片データ・オブジェクトが同じ包含側の被包含側である；または
・どちらの断片データ・オブジェクトも、いかなる包含側の被包含側でもない。
【０３１６】
そのような隣接対が後継関係を形成するなら、第一の断片データ・オブジェクトが先行者であり、第二の断片データ・オブジェクトが後継者である。
【０３１７】
メッセージ・テンプレートが二つ以上の後継プランを定義する場合、メッセージ・テンプレートによって他の規定がされていない限り、そのメッセージ・テンプレート中の第一の後継プランがデフォルトの後継プランである。
【０３１８】
ある実施形態によれば、図６におけるステップ６９０が有意な後継プランを見出すことを含む。
【０３１９】
図１８は、有意な後継プランを見出すためのある方法実施形態を示す擬似コードを示している。
【０３２０】
ある実施形態によれば、所与の後継プランのマッピング信頼水準は、表１によって記述される区分関数によって与えられる：
【０３２１】
【表１】
2009501370.tif 000003
ある実施形態によれば、あるマッピング動作にとって有意となることができる後継プランは高々一つである。さらに、後継プランが有意と考えられるために要求される最小マッピング信頼水準を指定するために、メッセージ・テンプレートによって閾値が定義される。ある実施形態によれば、閾値は実数値の数mであり、mは0≦m≦1、たとえば0である。
【０３２２】
そのような後継プランが有意であると見出されれば、本方法は７００において、その有意な後継プラン内に有意な後継関係定義を見出すことを含む。よって、有意な後継プラン内で利用可能な後継関係定義それぞれは、マッピング考察としてはたらくことができ、その際：
・そのマッピング考察が適用される領分は、仮断片データ・クラスの決定であり；
・そのマッピング考察の推奨される帰結は、後継関係定義の後継者として指定されている断片データ・クラスである。
【０３２３】
図１９は、（有意な後継プランにおける）後継関係定義が現在のマッピング動作において有意なマッピング考察であるかどうかを判定するためのある方法実施形態を例示する擬似コードを示している。
【０３２４】
ある実施形態によれば、各後継関係定義について、少なくとも一つの信頼水準指標が記憶される。
【０３２５】
図７は、典型的な複合データ・メッセージについて使用されることのできるメッセージ・テンプレートについての後継プランの簡略化されたフローチャートを示している。この後継シーケンスによれば、複合データ・メッセージは、断片データ・クラスの以下のシーケンスを有することがありそうである：
・最初の断片データ・オブジェクトは「挨拶」７９０断片データ・クラスのインスタンス。
・「挨拶」７９０断片データ・オブジェクトはある後継関係において先行者であり、その後継関係は、後継者として、「本文」８００断片データ・クラスを有する。
・「本文」８００インスタンスは、0以上の他の「本文」８１０インスタンスによって後継される。
・最後の「本文」８００インスタンスは、「結び」８２０断片データ・クラスのインスタンスによって後継される。
【０３２６】
〈クラスレベルのマッピング補助をマッピング考察として使う〉
本発明のある実施形態によれば、（図６の）７２０におけるステップは、アクティブなテキスト断片について仮断片データ・クラスを決定するのを助けるために、すべての有意なクラスレベルのマッピング補助の組を見出す。
【０３２７】
ある実施形態によれば、クラスレベルのマッピング補助のそれぞれは、少なくとも一つのマッピング補助インスタンスを提供し、ここで、各インスタンスがマッピング考察としてはたらき、その際：
・そのマッピング考察が適用される領分は、仮断片データ・クラスの決定であり；
・そのマッピング考察の有意さは、特定の指標がテキスト断片中に存在しているかどうかを判定することによって評価され；
・そのマッピング考察の推奨される帰結は、そのマッピング補助インスタンスによって指定される断片データ・クラスである。
【０３２８】
図１０は、語彙的関係１０３０である例示的なクラスレベルのマッピング補助実施形態を示している。ここで、指標はキーワードまたはキーフレーズ１０１０であり、この指標は断片データ・クラス１０２０（そのマッピング補助インスタンスによって推奨される帰結）に関係している。この例では、アクティブなテキスト断片内の「問題」というキーワードの存在が、二つのマッピング考察が有意であることを意味しており、それらはそれぞれ次の推奨される帰結を提供する：
・選択された仮断片データ・クラスは「バグ」である。
・選択された仮断片データ・クラスは「ビジネス事項」である。
【０３２９】
図１１は、クラスレベルのマッピング補助のもう一つの例を示している。この例では、文法的関係１０６０が使われている。ここで、指標はテキスト断片の文法構造１０４０であり、この指標は断片データ・クラス１０５０に関係している。この例では、アクティブなテキスト断片の最初の文が疑問詞（たとえば「どこで」）で始まる場合、二つのマッピング考察が有意であり、それらはそれぞれ次の推奨される帰結を提供する：
・選択された仮断片データ・クラスは「質問」である。
・選択された仮断片データ・クラスは「タスク」である。
【０３３０】
当業者は、いくつもの語彙的パーサーおよび文法的パーサーが知られていることを認識するであろう。そのような従来技術のパーサーは、アクティブなテキスト断片においてマッピング補助インスタンスの指標を位置特定するために使うことができる。
【０３３１】
〈フィールドレベルのマッピング補助をマッピング考察として使う〉
本発明のある実施形態によれば、（図５の）５８５におけるステップは、アクティブな断片データ・オブジェクトの個々のデータ・フィールドに対して、可能な場合には、仮データ・フィールド値を決定して割り当てる。
【０３３２】
ある実施形態では、５８５におけるステップは、少なくとも一つのフィールドレベルのマッピング補助を使う。フィールドレベルのマッピング補助のそれぞれは、少なくとも一つのマッピング補助インスタンスを提供し、ここで、各インスタンスがマッピング考察としてはたらき、その際：
・そのマッピング考察が適用される領分は、そのマッピング考察が適用される特定の断片データ・クラス中の特定のデータ・フィールドについての仮の値の決定であり；
・そのマッピング考察が有意と考えられるのは、特定の指標がテキスト断片中に存在しており、対応する断片データ・オブジェクトがそのマッピング考察が適用される断片データ・クラスを満足させる場合であり；
・そのマッピング考察の推奨される帰結は、アクティブな断片データ・オブジェクトに含まれる特定のデータ・フィールドに割り当てられるべき値である。
【０３３３】
図１２は、関係１１１０である例示的なフィールドレベルのマッピング補助を示している。ここで、指標は、アクティブな断片データ・オブジェクトは特定の断片データ・クラス１０８０のものでなければならないこと、およびそのマッピング補助が有意なマッピング考察であるためには、特定のキーワードまたはキーフレーズ１０７０がアクティブなテキスト断片中に存在していなければならないことである。さらに、推奨される帰結は、各関係インスタンスについて、個々の断片データ・オブジェクトの値が割り当てられるべきデータ・フィールド１０９０および割り当てられるべき値１１００を含む多項組を含む。
【０３３４】
たとえば、クラス「活動」の断片データ・オブジェクトに現在マッピングされているテキスト断片におけるキーワード「早急に」の存在は、推奨される帰結が、データ・フィールド「重要度」が値「高」に設定されるべきであるということであることを意味している。
【０３３５】
図１３は、関係１１６０であるもう一つの例示的なフィールドレベルのマッピング補助を示している。ここで、指標は、特定の断片データ・クラス１１４０の断片データ・オブジェクトにマッピングされたテキスト断片における所与の検索パターン１１３０の存在である。この例における検索パターンは、正規表現として与えられている。この例では、推奨される帰結は、個々の断片データ・オブジェクトの値が割り当てられるべきデータ・フィールド１１５０および検索パターン１１３０をテキスト断片に適用した結果を含む多項組である。
【０３３６】
たとえば、テキスト断片における「期限：」というトークン・シーケンスの存在は、「：」に続く値がデータ・フィールド「期日」に割り当てられるべきであることを意味している。
【０３３７】
〈マッピング考察のための信頼水準指標の決定〉
本発明のある実施形態によれば、可能な各マッピング考察は、一つの所定の信頼水準指標を割り当てられる。すなわち、各関係定義および各マッピング補助インスタンスが一つの所定の信頼水準指標を割り当てられる。
【０３３８】
ある実施形態によれば、少なくとも一つのマッピング考察のそれぞれが、信頼水準指標を割り当てられる。複数のマッピング考察は、ここでは{MC1,MC2,MC3,...,MCn}と記す。ここで、nはマッピング考察の数、Cjはj番目のマッピング考察についての信頼レベル指標を表す。次の区分関数がCjについての値を決める：
【０３３９】
【表２】
2009501370.tif 000004
ここで、kjはMCjが有意であった過去のテキスト断片マッピング決定の総数；mはテキスト断片の所定の閾値数、たとえば90；vjは、MCjの推奨された帰結が過去のマッピング決定の最終的な検証された帰結と同じであった回数；DjはMCjについての所定のデフォルト信頼水準指標、たとえば工場でのデフォルト設定である。
【０３４０】
ある実施形態によれば、MCjは持続的および／または一時メモリに保存され、kj、vjおよびDjはMCjの一部として保存される。
【０３４１】
〈断片データ・オブジェクトの作成〉
図５の実施形態によれば、本方法は、５２０、５６０、５８０および６１０において断片データ・オブジェクトの生成を含む。
【０３４２】
ある実施形態によれば、新たな断片データ・オブジェクトの生成は、所定のデフォルト値をもつ任意のデータ・フィールドを、そのデフォルト値をその新たな断片データ・オブジェクトのデータ・フィールドに割り当てることによって初期化することを含む。
【０３４３】
ある実施形態によれば、５２０、５６０、５８０および６１０において新たな断片データ・クラスが決定され、新たな断片データ・クラスと古い断片データ・クラスのうちの一方が他方の特化であれば、本方法は次のことを含む：
・新たな断片データ・クラスに基づいて新たな仮断片データ・オブジェクトを生成し、その新たな断片データ・オブジェクトを初期化し；
・古い断片データ・クラスと新たな断片データ・クラスの両方に共通なデータ・フィールドすべてについて、古い断片データ・オブジェクトからのすべてのデータ・フィールド値を新たな断片データ・オブジェクトの対応するデータ・フィールドにコピーし、
・古い断片データ・オブジェクトを破棄する。
【０３４４】
さらに、５２０において、あるいは５８０において、断片データ・オブジェクトが仮断片データ・クラスに基づいて生成され、その仮断片データ・クラスが満足されない包含関係定義に基づいて決定された場合、本方法はさらに、５２０および５８０において、次のように包含関係を生成することを含む：
・その満足されない包含関係を有する断片データ・クラスをもつ先行断片データ・オブジェクトが新たな包含関係の包含側であり；
・アクティブな断片データ・オブジェクトが新たな包含関係の被包含側であり；
・新たな包含関係が以前に満足されなかった包含関係定義を満足させる。
【０３４５】
５２０において、あるいは５８０において、断片データ・オブジェクトが仮断片データ・クラスに基づいて生成され、その仮断片データ・クラスが満足されない後継関係定義に基づいて決定された場合、本方法はさらに、５２０および５８０において、次のように後継関係を生成することを含む：
・その満足されない後継関係を有する断片データ・クラスをもつ先行断片データ・オブジェクトが新たな後継関係の先行者であり；
・アクティブな断片データ・オブジェクトが新たな後継関係の後継者であり；
・新たな後継関係が以前に満足されなかった後継関係定義を満足させる。
【０３４６】
〈断片データ・オブジェクトの破棄〉
図５の実施形態によれば、本方法は、５２０、５６０、５８０および６１０において断片データ・オブジェクトの破棄を含む。
【０３４７】
さらに、この実施形態によれば、断片データ・オブジェクトが破棄されるとき、本方法は次のことを含む：
・その破棄される断片データ・オブジェクトが一員となっているいかなる関係をも破棄し；
・以前に満足されていると考えられたいかなる関係定義をも、破棄されるその断片データ・オブジェクトが一員であった関係のため、満足されないと考える。
【０３４８】
〈現在のマッピング動作について断片データ・クラスを手動で変更する〉
図５の実施形態によれば、ユーザーはステップ５６０および６１０において、現在のマッピング動作について断片データ・クラスを手動で設定できる。
【０３４９】
さらに、本発明のある実施形態によれば、ユーザーが以前の仮断片データ・クラス以外の断片データ・クラスを手動で選択する場合、本方法は５６０および６１０において次のことを含む：
・アクティブな断片データ・オブジェクト（以前の断片データ・クラスに基づく）が一員であるいかなる関係をも破棄し；
・アクティブな断片データ・オブジェクトを破棄し；
・手動で選択された断片データ・クラスに基づいて新たなアクティブな断片データ・オブジェクトを生成し；
・新たなアクティブな断片データ・オブジェクトについて適切な関係を生成する。
【０３５０】
図２０は、新たな断片データ・オブジェクトについて適切な関係を生成するための実施形態を示す擬似コードを示している。
【０３５１】
ユーザーが以前の断片データ・クラス以外の断片データ・クラスを手動で選択する場合で、両断片データ・クラスの一方が他方の特化である場合、本方法はさらに、５６０および６１０において、両クラスに共通するすべてのデータ・フィールドについて、以前の断片データ・クラスに基づく断片データ・オブジェクトのデータ・フィールド値を新たな断片データ・クラスに基づく断片データ・オブジェクトの対応するフィールドにコピーすることを含む。
【０３５２】
〈ユーザー・インターフェース〉
本発明のある実施形態のユーザー・インターフェースが図１４に示されている。この例示的なユーザー・インターフェースは次の二つの主要なセクションに分かれる：
・構造化データ・セクション１２２０；および
・自由テキスト・セクション１２００。
【０３５３】
構造化データ・セクション１２２０は、複合データ・メッセージに含まれる構造化データを表示し（すなわちその視覚的モデルを提供し）、編集可能にする。
【０３５４】
自由テキスト・セクション１２００は、複合データ・メッセージに含まれる自由テキストを表示し、編集可能にする。
【０３５５】
ある実施形態では、構造化データは、構造化データ・セクション１２２０において、階層的に配列された複数のノードを含む木（「データ木」）で表現される。データ木のルート・ノードは複合データ・メッセージにおける全データを表し、所与の非ルート・ノードは：断片データ・オブジェクト；または断片データ・オブジェクトのデータ・フィールドの名前および値を表す。
【０３５６】
データ木における各データ・フィールド・ノードは、そのデータ・フィールドを含む断片データ・オブジェクトを表現するノードの子ノードとして表現される。
【０３５７】
当業者は、そのように階層的に配列された木においては、下位ノードを有するノードは「親」ノードと称され、一方下位ノードは「子」ノードと称されることを認識するであろう。同じ親を有するノードどうしは「兄弟」と称される。
【０３５８】
非ルート・ノードN1がデータ・オブジェクトO1を表し、ノードN1がデータ・オブジェクトO2を表す子ノードN2を有する実施例では、これはO1がO2を包含する包含関係を表す。
【０３５９】
さらに、データ木において、ノードN3がデータ・オブジェクトO3を表し、ノードN4がデータ・オブジェクトO4を表し、N3とN4が兄弟で、N3がN4に先行する場合、これはO3とO4の間の、O3が先行者でO4が後継者である後継関係を表す。
【０３６０】
ある実施形態によれば、自由テキスト・セクション１２００は、包含指標１２１０によって、および被包含側テキスト断片をインデントすることによって、二つのテキスト断片の間の包含関係を示している。自由テキスト・セクション１２００は、対応するテキスト断片の相対位置によって、先行者データ・オブジェクトのテキスト断片が後継者データ・オブジェクトのテキスト断片より前に現れる後継関係を示す。
【０３６１】
こうして、上から下まで構造化データ・セクション１２２０内の完全に展開された木を読めば、自由テキスト・セクション１２００内のテキスト断片を上から下まで読むときと同じ読み順が生成される。あるテキスト断片がユーザーによって断片データ・オブジェクトへのマッピングから除外されたところでは、データ木は、そのテキスト断片に対応する位置に「非マッピング」ノードを表示し、その非マッピング・ノードのラベルが対応するテキスト断片の特殊な地位をユーザーに示すようにする。
【０３６２】
ある実施形態では、どの時点においても、ちょうど一つのテキスト断片およびその対応するデータ・オブジェクトがアクティブ（「アクティブな対」）と考えられる。アクティブな断片データ・オブジェクトは、ハイライト１１７０によってユーザーに示される。対応するテキスト断片は、自由テキスト・セクション１２００における入力カーソルによってユーザーに示される。
【０３６３】
こうして、新たなテキスト断片を生成し、対応する仮断片データ・オブジェクトが構造化データ・セクション１２２０内に表示される。他の断片データ・オブジェクトに対する仮断片データ・オブジェクトの位置は、新たなテキスト断片の他のテキスト断片に対する相対位置および包含関係（単数または複数）に従って決定される。
【０３６４】
こうして、新たに生成された空のメッセージにおいては、仮断片データ・オブジェクトはデータ木の第一の非ルート・ノードとしてハイライトされて見え、入力カーソルは、自由テキスト・セクション１２００において、新たな、現在は空の第一のテキスト断片の先頭に位置される。
【０３６５】
二つ以上のマッピングされるテキスト断片を含む複合データ・メッセージにおいては、ユーザーは、自由テキスト・セクション１２００内および構造化データ・セクション１２２０内で画面上エレメントを選択する典型的な諸機構を使って別のアクティブな対を選択できる。該機構としては：（ａ）マウス・クリック；（ｂ）別の間接ポインティング・デバイス；（ｃ）矢印キー；および（ｄ）音声コマンド・インターフェースが利用可能であれば音声コマンド、がある。
【０３６６】
ある実施形態によれば、ユーザーが構造化データ・セクション１２２０内で新たな断片データ・オブジェクトを選択し、それにより新たなアクティブな対を選択するとき、入力カーソルは自由テキスト・セクション１２００において対応するテキスト断片の先頭に位置される。
【０３６７】
自由テキスト・セクション１２００は、典型的なワードプロセシング・システム、たとえばマイクロソフト・ワード（商標）およびマイクロソフト・メモ帳（商標）のようなテキスト編集設備を提供する。
【０３６８】
ある実施形態では、構造化データ・セクション１２２０は、ユーザーが選択リストから選ぶことなどによって特定のテキスト断片に対応するクラスを手動で設定できるよう編集設備を提供する。同様に、構造化データ・セクション１２２０は、各データ・フィールドの値を設定するための、そのデータ・フィールドのデータ型について適切なようなデータ・コントロールを提供する：たとえば、テキスト・データ・フィールドには編集ボックス；値のリストをもつデータ・フィールドにはドロップダウン・ボックス；日付フィールドにはドロップダウン・カレンダー・ボックスである。
【０３６９】
テキスト断片をマッピングする断片データ・クラスが変わるとき、たとえばユーザーが手動で別の断片データ・クラスを選択するとき、あるいは自動プロセスが新たな仮データ・クラスを選択するときは常に、データ木は、新しい断片データ・クラスの名前および新たに生成された断片データ・オブジェクトのデータ・フィールドを反映するよう更新される。
【０３７０】
同様に、データ・フィールドの値が変わるとき、データ木は、そのデータ・フィールドの新しい値を反映するよう更新される。
【０３７１】
ユーザーがテキスト断片のオーサリングを終えるとき、そのテキスト断片についてのデータ・オブジェクトのクラスおよびデータ・フィールド値を検証するために、プロパティ・ページ１２３０が表示される。ある実施形態によれば、プロパティ・ページ１２３０はテキスト断片の末尾に隣接して表示される。プロパティ・ページ１２３０は自動的に入力フォーカスを受ける。
【０３７２】
ある実施形態によれば、プロパティ・ページ１２３０は、次のうちの少なくとも一つを含む：
・アクティブな断片データ・オブジェクトの断片データ・クラスの名前を表示する；
・アクティブな断片データ・オブジェクトの各データ・フィールドの名前および値を表示する；
・断片データ・クラスを手動で設定し直す備えを提供する；
・データ・フィールドの値を手動で設定し直す備えを提供する；
・プロパティ・ページ１２３０に表示された、ユーザーが行った手動の変更を含むマッピングを手動で受け容れる備えを提供する；
・プロパティ・ページ１２３０に表示された、ユーザーが行った手動の変更を含むマッピングを手動で取り消す備えを提供する。
【０３７３】
ある実施形態では、プロパティ・ページが表示されるときにアクティブなテキスト断片がハイライトされ、それによりプロパティ・ページに示されている断片データ・オブジェクトにマッピングされるテキスト断片の全容が示される。
【０３７４】
プロパティ・ページは、アクティブな断片データ・オブジェクトの名前およびデータ・フィールドの値を表示する。ユーザーが断片データ・クラスを手動で設定し直し、それによりテキスト断片についての新たな断片データ・オブジェクトを生成する場合、プロパティ・ページ１２３０は新たなデータ・オブジェクトのデータ・フィールドを反映するよう更新される。
【０３７５】
ある実施形態によれば、プロパティ・ページ１２３０上でユーザーが行った手動の変更を受け容れる機構は次のことを含む：
・OKボタンを押すこと；
・エンター・キーを押すこと。
【０３７６】
さらに、プロパティ・ページ１２３０上でユーザーが行った手動の変更を取り消す機構は次のことを含む：
・取り消しボタンを押すこと；
・Esc（「エスケープ」）キーを押すこと。
【０３７７】
ある実施形態では、ユーザーがプロパティ・ページ１２３０上に表示されたマッピングを受け容れると、これは次のことをトリガーする：
・プロパティ・ページを閉じること；および
・ユーザーによって呼び出された動作を完了してそのテキスト断片のオーサリングを終了し、たとえば新たなテキスト断片の開始を完了すること。
【０３７８】
さらに、ユーザーがプロパティ・ページ１２３０上に表示されたマッピングを取り消すと、これは次のことをトリガーする：
・プロパティ・ページを閉じること；
・プロパティ・ページの表示つ前のアクティブな断片データ・オブジェクトの元の仮の側面および検証済みの側面を保存すること；および
・ユーザーによって呼び出された動作を取り消してそのテキスト断片のオーサリングを終了し、入力フォーカスを最も最近アクティブだったテキスト断片に残すこと。
【０３７９】
本発明のある実施形態によれば、構造化データ・セクション１２２０は、断片データ・オブジェクト間の関係を手動で生成および除去する備えを提供する。ある実施形態では、クリックアンドドラッグを使って、ユーザーはデータ木の個々のノードを動かすことができる。よく知られたマイクロソフトのWindows（登録商標）  Explorer（商標）インターフェースにおいてフォルダが動かされるのと同様である。このようにしてある断片データ・オブジェクトを表すノードが動かされるとき、前から存在している関係は破棄される。本方法はさらに、データ木におけるノードの新しい位置から意図された包含関係および後継関係を推論し、それらの推論された関係に従って新しい関係を自動生成することを含む。
【０３８０】
さらに、ある実施形態によれば、データ木において断片データ・オブジェクトが手動で動かされるとき、自由テキスト・セクション１２００における対応するテキスト断片（単数または複数）はデータ木に合うよう位置を直される。
【０３８１】
〈メッセージ・テンプレート〉
本発明の諸実施形態はメッセージ・テンプレートを使用する。メッセージ・テンプレートのそのような使用が従来技術のシステムとは異なっていることを注意しておく。従来技術では、ユーザーがテンプレートを選択し、次いでそのテンプレートに従ったフィールドを表示され、それによりユーザーはフィールドについてのデータを提供できる。そのような従来技術でのテンプレートの使用は、従来技術でのフォームの使用と似ている。本発明の諸実施形態では、ユーザーが明示的にテンプレートを選択する必要がないようデフォルトのメッセージ・テンプレートがあり、さらに、テンプレートのフィールドを埋めるのは自動的であり、オーサリング・プロセスの一部、すなわち自由テキストの解析に基づいて構造化データを決定することの一部である。
【０３８２】
本発明のある実施形態によれば、メッセージ・テンプレートは次のうちの少なくとも一つを含む：
・一つまたは複数のスキーマ；参照によるかまたは包含による；
・個々の断片データ・クラス間の0以上の後継関係定義；
・新たに生成された複合データ・メッセージ中にコピーされるべき、0以上のあらかじめ定義されたテキスト断片および対応する断片データ・オブジェクト；
・新たに生成された複合データ・メッセージ中のあらかじめ定義されたテキスト断片に適用されるべき0以上のフォーマット用仕様；
・新たに生成された複合データ・メッセージのコンテキスト内で利用可能であるべき0以上の自由テキスト・フォーマット用スタイル；
・あらかじめ定義された振る舞い、たとえばマクロへの0以上の参照および／またはあらかじめ定義された振る舞いを含めること、ならびにそれらの振る舞いのそれぞれについての少なくとも一つのトリガー；および
・作業フローへの参照または作業フローを含めること。
【０３８３】
ある実施形態によれば、新たな複合データ・メッセージを生成するとき、利用可能なメッセージ・テンプレートの一覧がユーザーに対して表示され、その一覧は新たな複合データ・メッセージについてのメッセージ・テンプレートを手動で選択するための機構を提供する。さらに、ある実施形態によれば、既定のデフォルト・メッセージ・テンプレートが利用可能であり、ユーザーは、明示的にメッセージ・テンプレートを選択することなく新たな複合データ・メッセージを生成できる。ユーザーが明示的にメッセージ・テンプレートを選択することなく新たな複合データ・メッセージを生成することにする場合、新たな複合データ・メッセージはデフォルトのメッセージ・テンプレートに基づいたものとなる。
【０３８４】
ある実施形態によれば、新たな複合データ・メッセージをメッセージ・テンプレートに基づいたものとすることは、次のことを含む：
・複合データ・メッセージに利用可能なメッセージ・テンプレートのスキーマ（単数または複数）および後継関係定義を利用可能にする；
・あらかじめ定義されたテキスト断片および対応する断片データ・オブジェクトがあればそれを新たに生成された複合データ・メッセージ中に、メッセージ・テンプレートで指定された順序でコピーする；
・新たに生成された複合データ・メッセージにコピーされた前記対応するテキスト断片に、メッセージ・テンプレートに前記あらかじめ定義されたテキスト断片について指定されているフォーマット用仕様があればそれを適用する；
・新たに生成された複合データ・メッセージに対して、メッセージ・テンプレート中の自由テキスト・フォーマット用スタイルがあればそれを利用可能にする；
・新たに生成された複合データ・メッセージに対して、メッセージ・テンプレートのあらかじめ定義された振る舞いがあればそれを利用可能にする；
・オーサリング・ソフトウェア・システムによって、メッセージ・テンプレートによって、複合データ・メッセージの生成に際して走るよう規定されているあらかじめ定義された振る舞いがあればそれを実行する。
【０３８５】
ある実施形態によれば、メッセージ・テンプレートはそれ自身、既知のフォーマットのファイル、たとえばXMLファイル中にメッセージ・テンプレートについてのグローバルなXSD仕様に従って格納されたメッセージである。メッセージ・テンプレートは、複合データ・メッセージ内に埋め込まれた該テンプレートへの位置参照、たとえばURLによって、そのメッセージ・テンプレートに基づく複合メッセージにとってアクセス可能であり続ける。
【０３８６】
ある実施形態によれば、メッセージ・テンプレート中で参照される各スキーマはそれ自身、既知のフォーマット、たとえばXSDのファイル中に格納されたメッセージである。
【０３８７】
さらに、ある実施形態によれば、各スキーマは、そのスキーマにおいて定義されているクラスとともに使うためのマッピング補助を含む。
【０３８８】
〈作業フローおよびライフサイクル〉
本発明のある実施形態によれば、複合データ・メッセージの状態は、その複合データ・メッセージのベースとなるメッセージ・テンプレートによって定義される作業フローの任意的段階および必須段階の所定のシーケンスに従って進行する。複合データ・メッセージは、作業フロー中でのその現在段階への参照を格納している。
【０３８９】
作業フローは、該作業フローの各段階についての少なくとも一つのトリガー条件を定義する。所与の段階についてのすべてのトリガー条件が真と評価されれば、その段階に到達したと考えられ、複合データ・メッセージはその作業フロー段階参照を更新する。たとえば、作業フローにおけるある所与の段階は以下のトリガー条件を有する：
・複合データ・メッセージの現在の作業フロー段階が、その所与の段階の直前の段階である；および
・その複合データ・メッセージが指定されたセキュリティ・プロファイルをもつユーザーによって訂正されようとしている。
【０３９０】
さらに、本発明のある実施形態によれば、断片データ・オブジェクトの状態は、断片データ・オブジェクトの断片データ・クラスによって定義されるライフサイクルの任意的段階および必須段階の所定のシーケンスに従って進行する。断片データ・オブジェクトは、ライフサイクル中でのその現在段階への参照を格納している。
【０３９１】
ライフサイクルは、該ライフサイクルの各段階についての少なくとも一つのトリガー条件を定義する。すべてのトリガー条件が真と評価されれば、その段階に到達したと考えられ、断片データ・オブジェクトはそのライフサイクル段階参照を更新する。
【０３９２】
〈メモリ中での複合データ・メッセージの表現〉
本発明のある実施形態によれば、複合データ・メッセージは一時メモリ、たとえばRAM中に、そして任意的に持続的メモリ中、たとえばハードディスク上に表現される。別の実施形態によれば、複合データ・メッセージは、ネットワークを通じて伝送されるデータにおいて表現される。
【０３９３】
ある実施形態によれば、各複合データ・メッセージは、少なくとも一の受信者による受信のためで、そのような各受信者は人間である。別の実施形態によれば、受信者の一部はコンピュータ実装される貯蔵所、たとえばデータベースおよび／またはコンピュータ実装される人工的なエージェントである。
【０３９４】
さらに、ある側面によれば、複合データ・メッセージは、作成者から受信者に、たとえば電子メールとして送信される。そのような送信はネットワーク、たとえば構内ネットワーク（「LAN」）またはインターネットを介したものである。電子メールのボディは、タグで区切られたエレメントに編成されたXML文書を含む。そのような各エレメントについて、エレメントを区切るタグはエレメントの名前を特定し、よってそのエレメントの中身の意味を特定する。ある実施形態では、ボディのXML文書は次のものを含む：
（ａ）XML文書のための最上位エレメント；
（ｂ）その複合データ・メッセージの自由テキストを含むエレメント；
（ｃ）その複合データ・メッセージのベースとなる文書テンプレートへの参照；
（ｄ）その複合データ・メッセージについて有効な各スキーマへの参照；
（ｅ）作業フロー情報についてのエレメント；そのエレメントのある属性が作業フローを特定し、そのエレメントの中身がその作業フロー中の複合データ・メッセージの現在段階を特定する；
（ｆ）複合データ・メッセージの構造化データを表現する再帰的にネストされたエレメント構造；断片データ・オブジェクトを表す少なくとも一つのエレメントの順序付き集合を含み：
（ｉ）各断片データ・オブジェクトについて、その断片データ・オブジェクトを表現する一つのエレメントが存在し、そのエレメントの名前が表現される断片データ・クラスの断片データ・クラスを特定し；
（ｉｉ）断片データ・オブジェクトを表現する各エレメントがさらにある属性を有し、その属性の値が、当該メッセージの自由テキスト中における表現される断片データ・オブジェクトに対応するテキスト断片の先頭を示す；
（ｉｉｉ）断片データ・オブジェクトを表現する各エレメントはさらにある属性を有し、その属性の値が、当該メッセージの自由テキスト中における表現される断片データ・オブジェクトに対応するテキスト断片の末尾を示す；
（ｉｖ）断片データ・オブジェクトを表現する各エレメントはさらに、表現される断片データ・オブジェクトの各データ・フィールド（「下位エレメント」）について一つのエレメントを有しており、各下位エレメントの名前が表現されるデータ・フィールドの名前を特定し、下位エレメントのある属性が表現されるデータ・フィールドのデータ型を特定し、下位エレメントの中身が表現されるデータ・フィールドの値を示す；
（ｖ）複合データ・メッセージ中の各包含関係について、該関係の包含側断片データ・オブジェクトを表現するエレメントが、該関係の被包含側断片データ・オブジェクトを表現するエレメントを有する；
（ｖｉ）複合データ・メッセージ中で各後継関係について、該関係の先行者断片データ・オブジェクトを表現するエレメントが、該関係の後継者断片データ・オブジェクトを表現するエレメントに先行する；
（ｖｉｉ）断片データ・オブジェクトを表現する各エレメントはさらに、ライフサイクル情報についてのエレメント（「ライフサイクル・エレメント」）を有し、該ライフサイクル・エレメントのある属性が、表現される断片データ・オブジェクトに適用されるライフサイクルを特定し、該ライフサイクル・エレメントの中身がそのライフサイクル中での断片データ・オブジェクトの現在段階を特定する。
【０３９５】
ある実施形態によれば、複合データ・メッセージの上記のXML表現は、持続的メモリ中の複合データ・メッセージを表現するためにも使われる。
【０３９６】
ある実施形態によれば、オーサリングの間、複合データ・メッセージは一時メモリ中に表現され、複合データ・メッセージの一時メモリ表現は次のものを含む：
（ａ）その複合データ・メッセージの自由テキストを格納するためのメモリ構造、たとえばテキスト・バッファ；
（ｂ）その複合データ・メッセージのベースとなる文書テンプレートへの参照；
（ｃ）その複合データ・メッセージについて有効な各スキーマへの参照；
（ｄ）その複合データ・メッセージに適用される作業フローへの参照；
（ｅ）複合データ・メッセージの適用可能な作業フロー中での現在段階への参照；
（ｆ）以下のものを有する各断片データ・オブジェクトのメモリ構造：
（ｉ）各データ・フィールドについて、そのデータ・フィールドのデータ型についての、そのデータ・フィールドの値に設定される十分なメモリ・スペース
（ｉｉ）自由テキスト・バッファ中の対応するテキスト断片の先頭への参照；
（ｉｉｉ）自由テキスト・バッファ中の対応するテキスト断片の末尾への参照；
（ｉｖ）断片データ・オブジェクトの断片データ・クラスへの参照；
（ｖ）断片データ・オブジェクトの各被包含側について、その被包含側への参照；
（ｖｉ）断片データ・オブジェクトの各包含側について、その包含側への参照；
（ｖｉｉ）断片データ・オブジェクトの各後継者について、その後継者への参照；
（ｖｉｉｉ）断片データ・オブジェクトの各先行者について、その先行者への参照；
（ｉｘ）断片データ・オブジェクトに適用されるライフサイクル中での断片データ・オブジェクトの現在段階への参照。
【０３９７】
当業者は、上記のメモリ・オブジェクトのような、一時メモリにおいて断片データ・オブジェクトを格納するためのメモリ・オブジェクトを、そのメモリ・オブジェクトのベースとなるクラス定義にリンクさせるためには、よく知られた従来技術の諸方法が、たとえばC++において存在していることを認識するであろう。さらに、そのような従来技術の技法は、クラスの特定のインスタンスについて、およびクラス全体についての振る舞いを実装するための十分な諸方法を提供する。
【実施例２】
【０３９８】
〈代替的な実施形態〉
〈一般的な方法：代替的実施形態〉
図５に示された実施形態では、仮断片データ・クラスを決定するステップ５８０および仮断片データ値を決定するステップ５８５は、テキスト断片を手動でオーサリングするプロセスの一部として実行された。場合によっては、オーサリング・プロセスの間の計算オーバーヘッドを軽減することが望ましい。そこで、ある代替的な実施形態によれば、ステップ５８０およびステップ５８５は、ユーザーが、現在のテキスト断片をオーサリングするプロセスが完了した、たとえばユーザーがテキスト断片を区切るトークンをタイプし終わったと示すまで遅らされる。
【０３９９】
さらに、場合によっては、ユーザーは、個々のテキスト断片のオーサリングの完結時に断片データ・オブジェクトを検証しないことを好む。そこで、もう一つの代替的な実施形態によれば、ステップ６１０に基づく断片データ・オブジェクトを検証する段階は、トリガー・イベントの生起まで遅らされる。トリガー・イベントの生起とはたとえば以下のことの生起である：
・ユーザーが検証プロセスを手動でトリガーする；
・ユーザーが複合データ・メッセージのオーサリングを終了する；または
・所定の数の仮断片データ・オブジェクトが検証を必要としている。
【０４００】
検証が遅らされ、少なくとも二つの仮断片データ・オブジェクトがあり、ユーザーが該仮断片データ・オブジェクトの一方の断片データ・クラスを手動で変更する場合、本方法は次のことを含む：
・古い断片データ・オブジェクトを破棄する；
・手動で選択された断片データ・クラスに基づいて新たな断片データ・オブジェクトを生成する；
・新たな断片データ・オブジェクトについて仮データ・フィールド値を決定し直す；
・アクティブな断片データ・オブジェクトの被包含側である各断片データ・オブジェクトの仮断片データ・クラスを決定し直す；
・新たに生成された断片データ・オブジェクトの後継者である各断片データ・オブジェクトについての仮断片データ・クラスおよびデータ・フィールドの値を決定し直す。
【０４０１】
複合データ・メッセージ中の個々のテキスト断片の範囲を決定する多くの異なる方法がある。いくつかの例として、次のものが含まれる：
・各テキスト断片が一文の長さである諸実施形態；
・各テキスト断片が一段落の長さである諸実施形態；
・テキスト断片がユーザー定義可能な特別なトークンまたはマルチトークン・シーケンスを使って区切られる諸実施形態；
・テキスト断片がユーザー定義可能な特別なキーストロークまたはキーストロークの組み合わせを使って区切られ、そうしたキーストロークは複合データ・メッセージ中では目に見えるトークンにはされない諸実施形態；
・ユーザーが各テキスト断片の範囲を手動で指示しないが、当該実施形態が自動的にテキスト断片の末尾を判定する諸実施形態；該判定はたとえばテキスト断片の末尾に到達したことを、対応するマッピング動作が対応する断片データ・オブジェクトのすべての必須フィールドに値を割り当てることに成功したときに判定することによる。
【０４０２】
さらに、ある代替的な実施形態は、アクティブなテキスト断片のマッピングがそもそも望ましいかどうかを判定することを含む。たとえば、テキスト断片は単に感嘆文、たとえば「痛い！」、あるいは所定の集合の標準的な決まり文句のうちの一つ、たとえば「お元気ですか？」であることもある。
【０４０３】
場合によっては、特定の型の複合データ・メッセージをオーサリングするための強力なガイドラインを提供することが望ましい。たとえば、ある場合には、特定の型の複合データ・メッセージは特定の企業標準に従うことが好ましい。こうして、ある代替的な実施形態によれば、複合データ・メッセージが最初に生成されるときに、関連する仮断片データ・オブジェクトが事前生成され（forward-created）、それによりユーザーはそのメッセージについての期待される構造をすぐ呈示される。事前生成される断片データ・オブジェクトは、メッセージ・テンプレート中に含まれる事前生成プランに従って生成される。
【０４０４】
ある代替的な実施形態によれば、前記事前決定される（forward-determined）仮断片データ・オブジェクトが次いで、ユーザーが複合データ・メッセージのオーサリングおよび検証に進むと、決定し直される（re-determined）。
【０４０５】
さらに別の代替的な実施形態によれば、断片データ・オブジェクトは、複合データ・メッセージの外部で利用可能な情報に関係しうる。この実施形態では、仮データ・フィールド値を決定するステップ５８５は、断片データ・オブジェクト中にすでに取り込まれている何らかの識別情報を使って、外部ソフトウェア・システム中で関係する情報を探すことを含み、該当する場合には、前記ステップはさらに、その情報を使って残りの仮データ・フィールド値を決定することを含む。
【０４０６】
たとえば、断片データ・オブジェクトは、外部の顧客関係管理（CRM:  customer  relationship  management）ソフトウェア・システム中の顧客レコードを表現する。こうして、顧客断片データ・オブジェクトが生成され、顧客のID番号が関連するデータ・フィールドに割り当てられると、その顧客断片データ・クラスについて定義されている振る舞いがCRMソフトウェア・システムにアクセスし、所与のIDをもつ顧客を検索し、自動的にその顧客断片データ・オブジェクトの名前、連絡の詳細および注文履歴データ・フィールドを埋める。この情報を受け容れるために複数の追加的な断片データ・オブジェクトが生成されうる。
【０４０７】
さらに、本発明のもう一つの代替的な実施形態によれば、本方法は、以前に生成されて埋められた断片データ・オブジェクトに基づいて標準化された自由テキストを書くことを含む。たとえば、手紙としてはたらくことになる複合データ・メッセージにおいて、ユーザーは以前の例の顧客断片データ・オブジェクトを埋めており、今、手紙の上部に標準化されたアドレス・ブロックの生成をトリガーする。ある実施形態では、本方法は、手紙のアドレス・ブロックについての標準的なレイアウトおよびフォーマット仕様に従って顧客の名前および関連する連絡の詳細を書き込む。
【０４０８】
ある実施形態では、各断片データ・クラス定義は、0以上の自由テキスト生成振る舞いを指定し、いくつかの振る舞いは個々のデータ・フィールドに適用され、いくつかは全体としてのクラスに適用され、いくつかはクラスおよびそのクラスの関係定義に適用される。ユーザーは、そのような自由テキスト生成振る舞いを選択的にトリガーできる。さらに、自由テキスト生成をトリガーするとき、ユーザーは、新たに生成された自由テキストの挿入がどのように起こるかを指定できる。たとえば、ユーザーは次のことを指定できる：
・新たに生成された自由テキストが、断片データ・オブジェクトに対応するテキスト断片を置き換える；
・新たに生成された自由テキストが、断片データ・オブジェクトに対応するテキスト断片の直後にくる；
・新たに生成された自由テキストが、断片データ・オブジェクトに対応するテキスト断片の直前にくる。
【０４０９】
〈関係：代替的実施形態〉
ある代替的な実施形態によれば、上で論じた包含関係および後継関係のほかに他の関係型が存在する。そのような他の関係型の例としては、次のものが含まれる：
・依存関係。ここでは、ある断片データ・オブジェクトの意味論的内容が別の断片データ・オブジェクトの意味論的内容に依存する。たとえば、二つの活動の間の時間順序依存性で、第一の活動が完了されてはじめて第二の活動が開始できる。
【０４１０】
・拡張関係。ここでは、ある断片データ・オブジェクトの意味論的内容が別の断片データ・オブジェクトの意味論的内容の拡張である。たとえば、予定された活動と、該予定された活動についての元の指定を拡張する変更要求との間の拡張関係。
【０４１１】
・置換関係。ここでは、ある断片データ・オブジェクトの意味論的内容が別のものを置換する。たとえば、別の活動によって取って代わられた予定された活動。
【０４１２】
本発明のある代替的な実施形態によれば、そのような追加的な関係は、ユーザー・インターフェースにおいて、関係する断片データ・オブジェクトを結ぶ色付きの線を使って表現され、所与の関係線の色がその関係型を示す。さらに、ユーザーがそのような関係を手動で生成する一つの方法は、クリックアンドドラッグ技法を使って、ある断片データ・オブジェクトを、それが関係づけられるべき断片データ・オブジェクトの上に動かすことによってである。複数の可能な関係型のために、新しい関係がどの関係型をもつべきかについて曖昧さがあれば、可能な選択のメニューがユーザーに呈示される。
【０４１３】
さらに、場合によっては、確立された関係定義に基づいていない関係の生成を禁止することが好ましい。こうして、本発明のある代替的な実施形態によれば、関係が生成できるのは、その関係がある関係定義をも満足させる場合のみである。別の代替的な実施形態によれば、この種の制約は、可能な関係型のいくつかにのみ適用される。さらにもう一つの代替的な実施形態によれば、この種の制約は、いくつかの特定の関係定義にのみ適用される。
【０４１４】
もう一つの代替的な実施形態によれば、ある複合データ・メッセージ中の断片データ・オブジェクトが別の複合データ・メッセージ中の別の断片データ・オブジェクトとの関係の一員である、メッセージ間関係が形成できる。好ましくは、メッセージ間関係は、各断片データ・オブジェクトが他の断片データ・オブジェクトへの適切な参照を有するよう実装される。該参照は次のうちの少なくとも一つを含む：
・他の複合データ・メッセージの位置。
【０４１５】
・他の複合データ・メッセージのための関連するアクセス方法。該アクセス方法は、その関係がもはや有効でないかどうかを検出するための機構も含む。
【０４１６】
・他の複合データ・メッセージ内の断片データ・オブジェクトへの参照。
【０４１７】
・メッセージ間関係を手動で破棄するための機構。
【０４１８】
メッセージ間関係が無効になる理由は、たとえば次のうちの一つ（または複数）を含む：
・一員の断片データ・オブジェクトの一つが破棄される；
・複合データ・メッセージの一つが削除される；
・複合データ・メッセージの一つがユーザーにとってアクセス不能にされる；および／または
・その関係が他方の複合データ・メッセージにおいて破棄された。
【０４１９】
アクセス方法が、ある関係が、他方の複合データ・メッセージ中でその関係が破棄されたために無効になったと判定する場合、本方法は、自動的に、そのアクセス方法を呼び出した複合データ・メッセージ中の関係参照を破棄することを含む。
【０４２０】
さらに別の代替的な実施形態によれば、いくつかの関係型は三つ以上の断片データ・オブジェクトを含んでいてもよい。
【０４２１】
もう一つの実施形態によれば、断片データ・クラスは包含関係のみならず、そのクラスの断片データ・オブジェクトが先行者となる0以上の後継関係をも含む。メッセージ・テンプレートはいかなる後継プランをも含まない。ある実施形態では、図６のステップ６９０および６９５は実行されず、ステップ７００において、本方法はさらに次のことを含む：
・アクティブな断片データ・オブジェクトに先行する断片データ・オブジェクトの断片データ・クラスが少なくとも一つの満足されない後継関係定義を含むかどうかを判定する；および
・少なくとも一つのそのような満足されたい後継関係定義が存在する場合、それぞれの満足されない後継関係定義を有意なマッピング考察として使う。
【０４２２】
さらに、ある実施形態では、マッピング動作の間に自動的に生成された関係は仮であり、ユーザーからの検証を要求もする。ある実施形態では、検証はさらに、自動生成された関係を表示し、ユーザーにそれらの関係を検証するよう促すことを含む。断片データ・オブジェクトを検証するとき、関係した断片データ・オブジェクトそれぞれについて、それぞれのテキスト断片および関係型の摘要が検証のためのプロパティ・ページに表示される。この実施形態は、ユーザーが関係を破棄し、関係を承認するための備えを提供する。
【０４２３】
〈マッピング：代替的な実施形態〉
図５を参照すると、ステップ５２０および５８０で仮断片データ・クラスを決定し、ステップ５８５で仮データ・フィールド値を決定する際、さまざまな状況においてここのマッピング決定のマッピング精度を高める数多くの代替的な実施形態がある。
【０４２４】
ある代替的な実施形態によれば、マッピング決定における特定の帰結に対応するマッピング信頼水準を決定することは、たとえば、次のうち少なくとも一つを考慮に入れる：
・過去にその帰結がどのくらい頻繁に生起したか；
・その帰結を支持する有意なマッピング考察がそれぞれ過去にどのくらい頻繁にマッピング精度を最大化したか；および／または
・その帰結を支持する有意なマッピング考察がそれぞれ過去にどのくらい頻繁にマッピング精度を最大化しそこなったか。
【０４２５】
ある実施形態では、所与のマッピング動作において所与の帰結Rについてのマッピング信頼水準を決定するために、n個のマッピング考察{MC1,MC2,...,MCn}が有意と見出され、かつその帰結Rを推奨しているとして、次の表２に示されている信頼水準指標が適用される：
【０４２６】
【表３】
2009501370.tif 000005
ある実施形態では、マッピング決定の正しい帰結が帰結Rであることのマッピング信頼水準は次式で決定される：
【０４２７】
【数１】
2009501370.tif 000006
別の実施形態によれば、関係定義をマッピング考察として使って仮断片データ・クラスを決定するとき、満足されない関係定義をもち、アクティブな断片データ・オブジェクトに最も近い先行する断片データ・オブジェクトだけで作業することに対する代替がある。ある実施形態では、先行する断片データ・オブジェクトによって第一の断片データ・クラスが満足されるような、満足されない関係定義がすべて有意と考えられる。しかしながら、本実施形態は信頼水準指標を和らげ、所与の有意な関係定義の信頼水準指標が、アクティブな断片データ・オブジェクトと先行する断片データ・オブジェクトとの間にある断片データ・オブジェクトの数に比例して減少するようにする。
【０４２８】
別の代替的な実施形態によれば、各マッピング考察のために使われる信頼水準指標の選択は、使用されるメッセージ・テンプレートに依存する。各マッピング考察は、信頼水準指標のデフォルト・セットを指定される。メッセージ・テンプレートは、0以上の信頼水準指標オーバーライドを含み、各オーバーライドは次のものを指定する：
・値；
・そのオーバーライドが適用されるマッピング考察；および
・そのオーバーライドが適用される信頼水準指標。
【０４２９】
ある実施形態では、マッピング決定がなされるとき、ある帰結についてのマッピング信頼水準を決定するステップは、有意なマッピング考察に関連付けられたデフォルト値の代わりに、複合データ・メッセージのベースとなっているメッセージ・テンプレートの信頼水準オーバーライドの値を使う。デフォルト値が使われるのは、オーバーライドが利用可能でない場合のみである。これは、マッピング決定の帰結が複合データ・メッセージの性質および目的に依存して異なることがありそうな場合に有用である。
【０４３０】
同様に、他の代替的な実施形態はさらに、そのような信頼水準指標オーバーライドを複合データ・メッセージに係る他の諸側面と関連付けることを許容する。該側面は次のものを含む：
・作業フロー段階；これは、指定された作業フロー段階についての信頼水準指標をオーバーライドするためである；
・ライフサイクル段階；これは、指定されたライフサイクル段階についての信頼水準指標をオーバーライドするためである；
・セキュリティ・プロファイル；これは、指定されたセキュリティ・プロファイルの一員であるユーザーについての信頼水準指標をオーバーライドするためである；
・ユーザー素性；これは、0以上の指定されたユーザーについての信頼水準指標をオーバーライドするためである。ここで、たとえば、指定されたユーザーは複合データ・メッセージの受信者である。
・協働事業型；これは、協働事業、たとえばソフトウェア開発プロジェクトの指定された型についての信頼水準指標をオーバーライドするためである。
【０４３１】
さらに、ある実施形態によれば、マッピング補助の使用のための所定の優先順がある。ある実施形態では、そのマッピング決定において以前に使用されたマッピング補助の結果が、他のマッピング補助インスタンスのその後の評価をなくすために使用される。それらはもはや有意とは考えられないので、実行時間を節約する。もう一つの代替的な実施形態は、ひとたびその帰結に対応するマッピング信頼水準が所定のマッピング信頼水準閾値を超えるような帰結が見出されたらマッピング補助インスタンスを評価するのをやめる。
【０４３２】
もう一つの実施形態によれば、所与のフィールドレベルのマッピング補助の各インスタンスは、マッピング補助インスタンスの有意性と、所与の断片データ・クラスの断片データ・オブジェクトについての指定されたデータ・フィールドについての推奨される値とを決定するための条件付き論理を含む。たとえば、図２１は、クラス「緩和」の断片データ・オブジェクトに適用されるマッピング補助のための条件付き論理のための擬似コードを示している。
【０４３３】
さらにもう一つのマッピング補助実施形態によれば、本方法は次のことを含む：
・その複合データ・メッセージが他の複合データ・メッセージに関係しているかどうか、たとえば以前の複合データ・メッセージへの返信であるかどうかを判定する；
・前記の関係した複合データ・メッセージに現れる諸断片データ・クラスについて、より高いマッピング信頼水準を計算する；および
・前記の関係した複合データ・メッセージにおける少なくとも一つの満足されない関係定義の被包含側を満足させる断片データ・クラスに、一層高いマッピング信頼水準を計算する。
【０４３４】
〈信頼水準指標〉
あるマッピング考察に対応する信頼水準指標（単数または複数）および信頼水準指標オーバーライドの初期値を決定するため、そしてそれらの値を時間とともに洗練していくためには数多くの方法がある。本節での議論は、信頼水準指標および信頼水準指標オーバーライドに同じようにあてはまり、一方に言及すれば、他方の言及でもあると解釈するべきである。
【０４３５】
所与の信頼水準指標の初期値を決定するために、代替的な諸実施形態は次のことを含む：
・工場でのデフォルト設定を使う；
・そのユーザーが、ユーザーのコミュニティの一員であれば、等価な信頼水準指標についてのコミュニティ平均をコピーする；
・そのユーザーが組織の一員であり、その組織が信頼水準指標についての一組の標準的な値を有していれば、その信頼水準指標についての標準的な値をコピーする；および
・期待される使用プロファイル、たとえばそのユーザーの職責に基づく使用プロファイルに基づいて値を初期化する。
【０４３６】
ある代替的な実施形態によれば、信頼水準指標が確率であれば、その確率はその信頼水準指標についての適切な相対頻度を追跡することによって決定される。たとえば、信頼水準指標が所与の断片データ・クラスがあるマッピング決定についての正しい帰結である確率である場合、相対頻度は、その特定の断片データ・クラスが正しい帰結であった回数を、選択された断片データ・クラスにつながるマッピング決定の総数で割ることによって決定される。
【０４３７】
さらに、ある代替的な実施形態によれば、観察される相対頻度は、個々のユーザーについてのみならず、所与のユーザーが属するユーザーのコミュニティについても測定される。よって、ある特定のユーザーが、それまでに相対頻度を統計的に代表的にするのに十分な量の複合データ・メッセージを作成していない場合、そのユーザーのユーザー・コミュニティ全体を通じて観察されるこれらの値がオーバーライドとして使用される。
【０４３８】
〈ユーザー・インターフェース：代替的な実施形態〉
図１４は構造化された電子メッセージをオーサリングするための一つのユーザー・インターフェース実施形態を簡略化された形で示しているが、図１４のユーザー・インターフェースには数多くの代替的な実施形態がある。
【０４３９】
あるバージョンでは、ハードウェアが何らかの形で限られているとき、ユーザー・インターフェースはその限られたハードウェアに合わせて調整される。たとえば、携帯情報端末（PDA）などの限られた画面上不動産をもつハードウェア上で操作しているとしよう。本発明のある側面によれば、ユーザー・インターフェースは、構造化データ・セクション１２２０を含まないよう調整され、それにより限られた画面上不動産をもつハードウェア上で情報が適用可能である。
【０４４０】
構造化データ・セクション１２２０のデータ木は、断片データ・オブジェクトおよびそれらの間の関係を表示するための別の機構によって置き換えられてもよい。たとえば、ある実施形態によれば、構造化データ・セクション１２２０は代わりに、断片データ・オブジェクトが関係を表す「思考線（thought-line）」によって結ばれたノードとして描かれる概念地図（mind-map）を含む。より単純な実施形態によれば、断片データ・オブジェクトの線状のリストがデータ木の代わりに使われ、関係は別のリストにおいてテキストで描かれる。該別のリストは、アクティブな断片データ・オブジェクトの関係を示す項目を示すよう更新される。
【０４４１】
さらにもう一つの代替的な実施形態によれば、データ木はさらに、以前に「非マッピング」とマークされたノードを、マッピングするために含め直すための機構、たとえばポップアップ・メニューを含む。非マッピング・ノードがマッピングのために含め直されるとき、本方法は次のことを含む：
・図５のステップ５８０および５８５に従って、仮断片データ・クラスを決定し、仮断片データ・オブジェクトを生成し、仮データ・フィールド値を割り当てる；および
・図５のステップ６２０および５８５に従って、仮断片データ・オブジェクトを検証する。
【０４４２】
さらに、ある実施形態によれば、プロパティ・ページ１２３０はポップアップ・ダイアログとして表示される。もう一つの実施形態によれば、プロパティ・ページ１２３０は主画面の一部として固定位置に表示される。
【０４４３】
もう一つの実施形態によれば、アクティブなテキスト断片の範囲についての視覚的な指標が継続的に表示される。たとえば、色付きのカレットの対で、一方はテキスト断片の先頭に隣接し、他方はテキスト断片の末尾に隣接する。
【０４４４】
さらに、本発明のもう一つの代替的な実施形態によれば、有意義なトークン（単数または複数）が、たとえば下線を付けることによって示される。有意義なトークンは、次のうちの一方または両方を含む：
・マッピング考察の推奨される帰結がアクティブな断片データ・オブジェクトの推奨される帰結である場合にそのマッピング考察が有意であると判定するために使われるトークン；および
・データ・フィールドの値を決定するために使われるトークン。
【０４４５】
ある実施形態は、ユーザーが、新たなテキスト断片／断片データ・オブジェクト対をアクティブ化するのを、以前のアクティブな対を検証することなく行い、該検証ステップが遅らされるようにする備えを提供する。ある実施形態では、アクティブでなく、検証されていないテキスト断片および／または断片データ・オブジェクトは、ハイライトすることなどによって示される。
【０４４６】
〈メモリ中での複合データ・メッセージの表現：代替的な実施形態〉
ある代替的な実施形態によれば、複合データ・メッセージは電子メールの一部として送信され、複合データ・メッセージの自由テキストは電子メールのボディに含まれ、複合データ・メッセージの構造化データは電子メールへの添付ファイルである文書、たとえばXLファイルである。
【０４４７】
もう一つの代替的な実施形態によれば、本方法は、複合データ・メッセージのベースとなったメッセージ・テンプレートをそのメッセージに埋め込み、そのメッセージがテンプレートの情報を有するようにすることを含む。
【０４４８】
さらにもう一つの代替的な実施形態によれば、本方法は、複合データ・メッセージに利用可能なスキーマ（単数または複数）をメッセージそのものに埋め込み、そのメッセージが各利用可能なスキーマの情報を有するようにすることを含む。
【０４４９】
さらに、ある実施形態によれば、断片データ・オブジェクト、たとえばXML文書中のXMLエレメント、のメモリ表現は、その断片データ・オブジェクトの構造化データのみならず、その断片データ・オブジェクトに対応するテキスト断片の自由テキストをも有する。ある実施形態では、複合データ・メッセージの自由テキストは、断片データ・オブジェクト内に保存される。
【０４５０】
ある代替的な実施形態によれば、複合データ・メッセージを持続的にするためにリレーショナル・データベースが使われる。当業者は、そのような情報をリレーショナル・データベース・システムにおいて表現するために種々の技法が知られていることを認識するであろう。
【０４５１】
同様に、もう一つの代替的な実施形態によれば、リレーショナル・データベース・システムは、次のうちの任意のものを保存するために使用される：
・メッセージ・テンプレート；または
・スキーマ（関連付けられたマッピング補助を含む）。
【０４５２】
当業者は、本発明に関連する情報を持続的メモリに保存するには、メーカー独自のバイナリー・フォーマットのファイル、オブジェクト関係データベースおよびオブジェクト指向データベースを含む数多くの方法があることを認識するであろう。
【０４５３】
さらに、いくつかの型のハードウェア、たとえばいくつかの携帯情報端末（PDA）では、一時メモリが存在せず、現在のプログラム状態は典型的には持続的メモリに直接書き込まれる。その結果、そのようなハードウェア上で実行可能な諸実施形態は、複合データ・メッセージ、メッセージ・テンプレートおよびスキーマを一時メモリ中に表現するための別個のメモリ構造のセットを必要としない。
【０４５４】
当業者は、複合データ・メッセージを一時メモリ内に、持続的メモリ内におよびコンピュータ・ネットワークを通じて少なくとも一の受信者に送信するためのデータの一部として表現するには、数多くのさらなる実施形態が可能であることを認識するであろう。
【０４５５】
〈他の諸側面：代替的な実施形態〉
ある代替的な実施形態によれば、図５の６１０において仮断片データ・クラスおよびデータ・フィールド値を検証するステップは、ユーザーに、仮断片データ・オブジェクトを承認および拒否する機構を提供するだけに簡略化される。該機構は、たとえばOKボタンと取り消しボタンをもつ「検証」というタイトルのダイアログ・ボックスである。ユーザーがたとえば取り消しボタンを押すことによって、仮断片データ・オブジェクトを拒否する場合、ダイアログ・ボックスは閉じられ、検証を呼び出した動作は中断され、ユーザーはステップ５６０のようなオーサリング環境に引き戻される。ユーザーがたとえばOKボタンを押すことによって仮断片データ・オブジェクトを検証する場合、断片データ・オブジェクトは検証済みと考えられ、その検証ステップを呼び出した動作は完了される。
【０４５６】
当業者は、さまざまな従来技術の方法によってパフォーマンス上の利得が達成できることを認識するであろう。たとえば、断片データ・オブジェクトを格納するための一時的および持続的メモリ構造の生成および破棄はバルクで実行される。ある実施形態によれば、一時に一つの断片データ・オブジェクト・メモリ構造を生成するのではなく、複数の断片データ・オブジェクト・メモリ構造が同時に生成され、初期化される。次いで該メモリ構造は、使用時にメモリを割り当て、データ・フィールドを初期化する追加的な時間を要することなく、必要に応じて必要なときに使用される。同様に、もう一つの実施形態によれば、断片データ・オブジェクトの破棄はそのメモリ構造をもはや必要とされないとマークすることを含むが、そのメモリの実際の解放および内部のメモリ・フラグメンテーションを軽減するあらゆるタスクは遅らされる。そのような遅らされた活動は定期的に、およびシステム使用が低下した期間の間に実行されることができる。
【０４５７】
当業者は、頻繁に使われる中間結果を事前計算し（forward  calculating）、高速メモリにキャッシュすることによっても、すなわち必要とされる時点に先立って中間結果をあらかじめ計算しておき、中間結果をキャッシュすることによっても、多くの速度上の改善が達成できることを認識するであろう。たとえば、ある実施形態によれば、個々のマッピング考察についての信頼水準指標は、いくつかのソース値、たとえば確率を計算することによって計算される。ひとたび信頼水準指標が計算されたら、あるバージョンでは、信頼水準指標はコンピュータのメモリ中にキャッシュされたまま残る。ある実施形態では、信頼水準指標の値は、定期的で、比較的頻度の低い間隔で、たとえば一日ごとに、決定し直される。別の実施形態によれば、キャッシュされた信頼水準指標が決定し直されるのは、所定の数の複合データ・メッセージがオーサリングされたときのみである。
【０４５８】
〈実施形態の使用の諸特徴〉
本発明の複合データ・メッセージをオーサリングする方法は、自由テキストの対応する本文の意味論的内容を表す構造化データを捉えるために使用されることができる。さらに、本発明は、個々のユーザーおよびユーザーのコミュニティについてマッピング精度を最大化するよう調整されることができる幅広い実施形態を許容する。
【０４５９】
たとえば、ある実施形態によれば、自動化された経験的学習方法は、過去の複合データ・メッセージにおける検証されたマッピングのコーパスに基づいてトレーニングし、同様の将来のメッセージ、たとえば同じユーザーによってオーサリングされた複合データ・メッセージおよび同じユーザー・グループ内でオーサリングされた複合データ・メッセージについてのマッピング精度を改善する。当業者は、ニューラル・ネットワークを含め、数多くのそのような経験的学習方法が当技術分野において存在していることを認識するであろう。
【０４６０】
さらに、他の実施形態は、マッピングの精度を高めるため、特に自由テキストの文法的解析に依存するマッピング補助の精度を改善するための自然言語処理のために、既存の従来技術の諸方法を使う。
【０４６１】
さらにもう一つの実施形態によれば、マッピング決定は、マッピング補助の一つの型として、自由テキスト文書中の特定のキーワードがその自由テキストの意味論的内容に対してどのくらい有意であるかを決定するための従来技術の諸方法を使う。たとえば、本実施形態は、あるマッピング補助インスタンスの推奨される帰結について、そのマッピング補助インスタンスの指標がテキスト断片中で複数回繰り返されている場合、およびその指標がそのテキスト断片の顕著な位置に現れている場合に、より高いマッピング信頼水準を生成する。
【０４６２】
当業者は、自由テキストから構造化データへの変換決定の精度を改善するために既知の諸技法の組み合わせを使う数多くのさらなる実施形態が存在することを認識するであろう。
【０４６３】
さらに、他の代替的な実施形態では、外部ソフトウェア・システム、たとえば作業フロー・ソフトウェア・システムおよび活動管理ソフトウェア・システムに含まれる情報がマッピング精度を最大化するために使われる。たとえば、あるプロジェクト計画が与えられたとき、ある代替的な実施形態は、そのプロジェクト計画に基づいて現在のユーザーについての現在の活動を決定し、この知識を使ってアクティブな複合データ・メッセージに含まれる関係した活動を表す断片データ・オブジェクトに仮の期日の値を自動的に割り当てる。
【０４６４】
同様に、外部ソフトウェア・システムに含まれる機能、たとえばプラグインを、自由テキスト断片を構文解析し、マッピング補助として使うための情報を返すのに使うことができる。
【０４６５】
本発明の他の諸実施形態は、マッピング精度を最大化することにそれほどの重要性を置かず、その代わり、新たな複合データ・メッセージが最初に生成されたときに、0以上の断片データ・オブジェクトおよび関係を自動生成する。そして、ユーザーは、これらの自動生成されたコンポーネントの後継およびデータ・フィールド要件に従って自由テキストをオーサリングすることを促されるか要求されるかする。典型的には、そのような自動生成された断片データ・オブジェクトおよび関係は、その複合データ・メッセージのベースとなったメッセージ・テンプレート中に含まれている指定に従っている。
【０４６６】
断片データ・クラスおよび関係については実施形態は多様である。たとえば、ある実施形態によれば、断片データ・クラスのための特化機構はない。
【０４６７】
さらに、ユーザー・インターフェースについて、またユーザーと通信するために使われる用語について、実施形態は多様でありうる。実施形態によっては、特定のハードウェア制限、たとえば小さな画面上不動産に合わせて仕立てられた代替的なユーザー・インターフェースを提供する。他の実施形態は、特定の利用可能なハードウェアおよびソフトウェア特徴を活用する代替的なユーザー・インターフェース、たとえば自由テキストをオーサリングするための音声認識ソフトウェア・システムを提供する。いくつかの実施形態は、表示されるコンポーネントの相対配置について異なる。
【０４６８】
構造化データを表すのに使われるユーザー・インターフェース・コンポーネントは、その実施形態がモデル化するよう設計されている情報の型に依存して変わってくる。
【０４６９】
さらに、当業者は認識するであろうが、本発明に基づいてオーサリングされたメッセージが一または複数の受信者にすぐ送られない実施形態も存在する。たとえば、複合データ・メッセージは、少なくとも一の受信者への任意的なのちの送信のために文書ファイルとして保持される。
【０４７０】
さらにもう一つの実施形態によれば、作成者は複合データ・メッセージの前記少なくとも一の受信者の一人である。
【０４７１】
上記の諸実施形態では、ユーザーはメッセージの自由テキスト断片を与え、仮構造化データを呈示されるが、他の実施形態では、メッセージの自由テキストは別のユーザーによって、たとえば受信メッセージの形で与えられてもよい。次いで本方法はここに記載されたように進み、メッセージの自由テキスト断片を構造化データに変換する。それには、仮構造化データをユーザーに呈示することも含まれる。そのような他の実施形態では、ユーザーは必ずしも自由テキスト断片の元の作成者ではない。
【０４７２】
当業者は、ソフトウェアのシステム内部コンポーネントの名前は、同じコンポーネントを表す人間のユーザーに対して表示される名前（「外部名」）とは異なることがあることを認識するであろう。こうして、ある実施形態によれば、クラスおよびそのそれぞれのデータ・フィールドの両方が内部名および外部名をもち、外部名のみが人間のユーザーへの表示のために使われる。
【０４７３】
「オブジェクト指向」設計において一般に使用される用語がいくつかの実施形態の記述で使われていることを注意しておく。さらに、そのいくつかの実施形態または側面を実装するためにはオブジェクト指向プログラミング方法が使われる。しかしながら、本発明はオブジェクト指向の方法に限定されず、非オブジェクト指向方法を使って具現されてもよい。本記載を読む当業者は、ここに記載される諸要素をオブジェクト指向方法に対する代替を使ってどのように実装するかを理解するであろう。
【０４７４】
本発明はコンピュータ・プログラミング・ソフトウェア、ファームウェアまたはハードウェアのいかなる組み合わせを使って実装されてもよい。
【０４７５】
当業者は、電子メール、インスタント・メッセージおよびSMSによる送信のためのフォーマットを含む多様な複合データ・メッセージ・フォーマットのための実施形態が存在することを認識するであろう。
【０４７６】
本記載を通じて、示されている実施形態および例は、本発明の限定としてではなく、例示的なものと考えられるべきである。
【０４７７】
たとえば、例は自由テキスト言語として英語を使ったが、本発明はいかなる書かれた言語にテキスト・メッセージにも適用可能である。
【０４７８】
ここに記載される諸方法はソフトウェアにコーディングされてもよいことを注意しておく。
【０４７９】
特に断りのない限り、以下の議論から明らかなように、明細書を通じて、「処理」「コンピューティング」「計算」「決定」などといった用語を使った議論は、コンピュータもしくはコンピューティング・システムまたは同様の電子コンピューティング・デバイスによる、電子的な量のような物理量として表されたデータを同様に物理量として表された他のデータに操作および／または変換する動作および／または処理をいうことは理解される。
【０４８０】
同様に、「プロセッサ」の用語は、レジスタおよび／またはメモリからの電子データを処理してその電子データをレジスタおよび／またはメモリに格納されうる他の電子データに変換する任意のデバイスまたはデバイスの一部を指しうる。「コンピュータ」または「計算機」または「コンピューティング・プラットフォーム」は一つまたは複数のプロセッサを含みうる。
【０４８１】
ここに記載された方法論は、ある実施形態では、コンピュータ可読命令を受容する一つまたは複数のプロセッサを含む機械によって実行可能である。ここに記載される方法のいずれについても、命令が機械によって実行されるとき、機械がその方法を実行する。当該機械によって取られるべき動作を指定する命令の組（シーケンシャルであってもなくても）を実行できる任意の機械が含まれる。こうして、典型的な機械は、一つまたは複数のプロセッサを含む典型的な処理システムによって例示されうる。各プロセッサは、CPU、グラフィック処理ユニットおよびプログラム可能DSPユニットのうちの一つまたは複数を含みうる。処理システムはさらに、メインRAMおよび／または静的RAMおよび／またはROMを含むメモリ・サブシステムを含みうる。コンポーネント間で通信するためにバス・サブシステムが含まれていてもよい。処理システムがディスプレイを要求するなら、そのようなディスプレイ、たとえば液晶ディスプレイ（LCD）または陰極線管（CRT）ディスプレイが含まれてもよい。手動のデータ入力が要求される場合には、処理システムは、入力装置をも含む。たとえば、キーボードのような英数字入力ユニット、マウスのようなポインティング・コントロール・デバイスなどといった一つまたは複数などである。ここで使われるところでのメモリ・ユニットの用語はディスク・ドライブ・ユニットのような記憶システムをも包含する。いくつかの構成における処理システムは、サウンド出力デバイスおよびネットワーク・インターフェース・デバイスを含んでいてもよい。このように、メモリ・サブシステムは、処理システムによって実行されたときにここに記載される諸方法の一つまたは複数を実行するための命令を含む機械可読命令（たとえばソフトウェア、プログラム）を担持する担体媒体を含む。ソフトウェアは、コンピュータ・システムによるその実行の間、ハードディスク内に存在してもよく、あるいは完全にまたは少なくとも部分的に、RAM内および／またはプロセッサ内に存在してもよい。よって、メモリおよびプロセッサも機械可読コードを担持する担体媒体を構成しうる。
【０４８２】
代替的な諸実施形態では、機械はスタンドアローンのデバイスとして動作し、あるいはネットワークされた展開では他の機械に接続、たとえばネットワーク接続されてもよい。機械はサーバー‐クライアント・ネットワーク環境におけるサーバーまたはクライアント機械の資格で、あるいはピアツーピアまたは分散ネットワーク環境におけるピア機械として動作しうる。機械は、パソコン（PC）、タブレットPC、セットトップボックス（STB）、携帯情報端末（PDA）、携帯電話、ウェブ・アプライアンス、ネットワーク・ルータ、スイッチもしくはブリッジまたはその機械によって取られるべき行動を指定する命令の組（シーケンシャルであってもなくても）を実行することのできる任意の機械でありうる。
【０４８３】
いくつかの図面は、単一のプロセッサとコードを担持する単一のメモリしか示していないものの、当業者は上記のコンポーネントの多数が含まれているが、本発明の側面をかすませないために明示的に図示または記述されていないことを理解するであろう。たとえば、単一の機械が図示されているものの、「機械」の用語は、ここで論じた方法論の任意の一つまたは複数を実行するために一組（または複数組）の命令を個別的にまたは共同して実行するいかなる機械の集合をも含むものと解釈すべきである。
【０４８４】
このように、ここに記載される諸方法のそれぞれの一つの実施形態は、処理システム上で実行されるコンピュータ・プログラムの形である。こうして、当業者は認識するであろうように、本発明の諸実施形態は、方法、特殊目的装置のような装置、データ処理システムのような装置または担体媒体、たとえばコンピュータ・プログラム・プロダクトとして具現されうる。担体媒体は、処理システムの一つまたは複数のプロセッサによって実行されたときに該処理システムをして方法を実行せしめる一つまたは複数のコンピュータ可読命令を担持する。したがって、本発明の諸側面は、方法、完全にハードウェアの実施形態、完全にソフトウェアの実施形態またはソフトウェア側面とハードウェア側面を併せ持つ実施形態の形をとりうる。さらに、本発明は、具現されたコンピュータ可読プログラム命令を担持している担体媒体（コンピュータ可読記憶媒体上のコンピュータ・プログラム・プロダクト）の形をとりうる。
【０４８５】
ソフトウェアはさらに、ネットワーク・インターフェース・デバイスを介してネットワークを通じて送信または受信されてもよい。担体媒体は例示的な実施形態では単一の媒体として示されているが、「担体媒体」の用語は、一つまたは複数の組の命令を記憶する単一の媒体または複数の媒体（たとえば、中央集中または分散されたデータベースおよび／または関連付けられたキャッシュおよびサーバー）を含むものと解釈されるべきである。用語「担体媒体」は、機械による実行のためであり、該機械をして本発明の方法論の任意の一つまたは複数を実行させる命令の組を格納する、エンコードするまたは担持することのできる任意の媒体をも含むものと解釈される。担体媒体は多くの形を取ることができ、これに限られないが、不揮発性媒体、揮発性媒体および伝送媒体を含む。不揮発性媒体は、たとえば、光ディスク、磁気ディスクおよび光磁気ディスクを含む。揮発性媒体はメイン・メモリのようなダイナミック・メモリを含む。伝送媒体は、同軸ケーブル、銅線および光ファイバーを含み、これにはバス・サブシステムをなす線も含まれる。伝送媒体はまた、電波および赤外線データ通信の間に生成されるような、音波または光波の形を取ってもよい。したがって、たとえば「担体媒体」という用語は、これに限られないが、半導体メモリ、光媒体および磁気媒体ならびに搬送波信号を含むものと解釈される。
【０４８６】
論じられた諸方法の諸ステップは、ある実施形態では、記憶装置に記憶された命令を実行する処理システム（すなわちコンピュータ・システム）の適切なプロセッサ（単数または複数）によって実行される。本発明がいかなる特定の実装またはプログラミング技法にも限定されず、本発明がここに記載される機能性を実装するためにいかなる適切な技法を使って実装されてのよいことも理解されるであろう。本発明は、いかなる特定のプログラミング言語にもオペレーティング・システムにも限定されない。
【０４８７】
本明細書を通じて、「一つの実施形態」または「ある実施形態」への言及は、その実施形態との関連で記述される特定の機能、構造または特性が本発明の少なくとも一つの実施形態に含まれることを意味している。よって、「一つの実施形態では」または「ある実施形態では」という句が本明細書の随所に現れることは、必ずしもみな同じ実施形態を指しているのではない。ただし、そうであってもよい。さらに、特定の機能、構造または特性は、一つまたは複数の実施形態においていかなる好適な仕方で組み合わされてもよい。このことは本開示から当業者には明らかであろう。
【０４８８】
同様に、本発明の例示的な実施形態の上記の記述において、本開示の流れをよくし、さまざなな発明側面の一つまたは複数の理解を助ける目的のために、本発明のさまざまな特徴が時に単一の実施形態、図面またはその記述にまとめられている。しかしながら、この開示方法は、特許請求される発明が各請求項において明示的に言及されているよりも多くの特徴を必要とするという意図を反映したものと解釈はされないものとする。むしろ、付属の請求項が反映するように、本発明の諸側面は、上記の単一の開示された実施形態の全特徴よりも少ない部分に存する。よって、特許請求の範囲はここに明示的にこの詳細な説明に組み込まれるものであり、各請求項は独立して本発明の別個の実施形態をなす。
【０４８９】
さらに、ここに記載されるいくつかの実施形態は、他の実施形態に含まれるいくつかの特徴は含むが他の特徴は含まないものの、種々の実施形態の特徴の組み合わせは、本発明の範囲内であり、異なる実施形態をなすものと意図される。このことは当業者は理解するであろう。たとえば、請求項において、特許請求される実施形態のうち任意のものが任意の組み合わせにおいて使われることができる。
【０４９０】
さらに、諸実施形態のいくつかは、コンピュータ・システムのプロセッサによって、あるいはその機能を実行する他の手段によって実装されることができる方法として、あるいはある方法の諸要素の組み合わせとして実装されることができる。よって、そのような方法またはある方法の要素を実行するための必要な命令をもつプロセッサは、該方法または方法の要素を実行するための手段をなす。さらに、装置実施形態のここに記載される要素は、本発明を実行する目的のためにその要素によって実行される機能を実行するための手段の例である。
【０４９１】
ここに与えられる記述において、数多くの個別的な詳細が述べられている。しかしながら、本発明の諸実施形態はそうした個別的な詳細なしでも実施しうることは理解される。その一方で、よく知られた方法、構造および技法は、本記載の理解をかすませないため、詳細には示さなかった。
【０４９２】
ここでの用法では、特に断りのない限り、共通の対象を記述する序数形容詞「第一の」「第二の」「第三の」などの使用は単に同様の対象の種々のインスタンスが言及されていることを示すものであって、そのように記述された対象が、時間的にであれ、空間的にであれ、順位であれ、あるいは他のいかなる仕方であれ、所与のシーケンスでなければならないと含意することは意図されていない。
【０４９３】
本稿で言及したすべての刊行物、特許および特許出願はここに参照によって組み込まれる。
【０４９４】
付属の請求項および本明細書の記載において、有するという用語は、少なくともその後続の要素／特徴を含むが他のものを排除しないことを意味する開かれた項（open  term）である。よって、請求項において使われるとき、有するという語は、そのあとに挙げられる手段または要素またはステップに限定するものと解釈すべきではない。たとえば、AおよびBを有する装置という表現の範囲は、要素AおよびBのみからなるデバイスに限定されるべきではない。ここで使われる含むという用語は、やはり、少なくともその項に続く要素／特徴を含むがその他のものを排除しないことを意味する。こうして、含むというのは有すると同義であり、有するという意味である。
【０４９５】
同様に、請求項において使用されたとき、結合されたという用語は直接接続のみに限定的に解釈すべきではないことも注意しておくべきである。「結合された」および「接続された」の用語がその派生形ともども使用されることがある。これらの用語は互いに同義語として意図されていないことは理解しておくべきである。よって、デバイスBに結合されたデバイスAという表現の範囲は、デバイスAの出力がデバイスBの入力に直接的に接続されているデバイスまたはシステムに限定されるべきではない。これは、Aの出力およびBの入力との間に経路が存在することを意味し、他のデバイス又は手段を含む経路があってもよい。「結合された」は二つ以上の要素が直接、物理的または電気的に接触しているか、二つ以上の要素が互いと直接接触していないがそれでも互いと協力または相互作用するということを意味しうる。
【０４９６】
このように、本発明の好ましい実施形態と信じられるものについて記載してきたが、当業者は、本発明の精神から外れることなく、それに他の修正およびさらなる修正がなしうることを認識するであろう。本発明の範囲内にはいるそのようなすべての変更および修正を特許請求することが意図されている。たとえば、上記で処方が与えられていたとしても、それは単に使用されうる手順の代表である。ブロック図においては機能が追加または削除されてもよく、動作は機能ブロックどうしの間で交換されてもよい。本発明の範囲内で、記載された諸方法においてステップを追加または削除してもよい。
【図面の簡単な説明】
【０４９７】
【図１】一または複数の受信者に送信するためのユーザーが作成したメッセージから構造化データを提供する方法であって、本発明の一つまたは複数の側面を含む方法のある実施形態を簡略化した形で示す図である。
【図２Ａ】図１の方法実施形態を実装する例示的な情報システムを示す図である。
【図２Ｂ】図１の方法実施形態を実装するもう一つの例示的な情報システムを示す図である。
【図２Ｃ】図１の方法実施形態を実装するもう一つの例示的な情報システムを示す図である。
【図３】本発明の一つまたは複数の側面を含む、図２Ａのようなメッセージ・オーサリング・システムによって生成された例示的な画面の概略図である。
【図４】本発明のもう一つの実施形態に基づく、一または複数の受信者に送信するためのユーザーが作成したメッセージから構造化データを提供する方法のある実施形態を示すフローチャートである。
【図５】本発明に基づいて複合データ・メッセージをオーサリングするためのある実施形態のフローチャートを簡略化した形で示す図である。
【図６】新しいテキスト断片のための仮断片データ・クラスを決定するためのある実施形態のフローチャートを簡略化した形で示す図である。
【図７】電子メールのための複合データ・メッセージ・テンプレートにおける断片データ・クラスの例示的な期待される後継プランの一つの実施形態のフローチャートを簡略化した形で示す図である。
【図８】本発明の一つまたは複数の側面に基づく、リスク、緩和および残留リスクという断片データ・オブジェクトを定義する断片データ・クラスどうしの間の例示的な包含関係のクラス図を簡略化した形で示す図である。
【図９】本発明の一つまたは複数の側面に基づく、活動管理において使うための複合データ・メッセージのために使うことができるような、断片データ・クラスの例示的な階層構造を示すクラス図を簡略化した形で示す図である。
【図１０】本発明の一つまたは複数の側面に基づく、キーワードまたはキーフレーズと断片データ・クラスとを関係させる、語彙的関係である例示的なマッピング補助を示す図である。前記関係の複数の事例も示されている。
【図１１】本発明の一つまたは複数の側面に基づく、文法構造と断片データ・クラスとを関係させる、文法的関係である例示的なマッピング補助を示す図である。前記関係の複数の事例も示されている。
【図１２】キーワードまたはキーフレーズ、断片データ・クラス、データ・フィールドおよび値割り当てを関係させる、関係（relation）である例示的なマッピング補助を示す図である。前記関係の複数の事例も示されている。
【図１３】本発明の一つまたは複数の側面に基づく、検索パターン、断片データ・クラスおよびデータ・フィールドを関係させる、関係（relation）である例示的なマッピング補助を示す図である。前記関係の複数の事例も示されている。
【図１４】構造化された電子メッセージをオーサリングするためのユーザー・インターフェースの実施例を簡略化した形で示す図である。
【図１５】ある実施形態において、少なくとも一つの利用可能なマッピング考察を評価することに基づいてどのようにマッピング決定がなされるかを例示介する擬似コードを示す図である。
【図１６】ある実装で使われるタイ・ブレーカーを例解する擬似コードを示す図である。
【図１７】本発明のある実施形態に基づく、包含関係定義が現在のマッピング動作において有意なマッピング考察であるかどうかを判定する一つの方法を例解する擬似コードを示す図である。
【図１８】有意な後継プランを見出す一つの方法実施形態を示す擬似コードを示す図である。
【図１９】本発明のある側面に基づく、後継関係定義が現在のマッピング動作において有意なマッピング考察であるかどうかを判定する一つの方法を例解する擬似コードを示す図である。
【図２０】本発明のある側面に基づく、新しい断片データ・オブジェクトのための適切な関係を生成する一つの実施形態を例解する擬似コードを示す図である。
【図２１】本発明のある側面に基づく「緩和」というクラスの断片データ・オブジェクトに適用されるマッピング補助のための例示的な条件付き論理のための擬似コードを示す図である。
【図１】
2009501370.tif 000007
【図２Ａ】
2009501370.tif 000008
【図２Ｂ】
2009501370.tif 000009
【図２Ｃ】
2009501370.tif 000010
【図３】
2009501370.tif 000011
【図４】
2009501370.tif 000012
【図５】
2009501370.tif 000013
【図６】
2009501370.tif 000014
【図７】
2009501370.tif 000015
【図８】
2009501370.tif 000016
【図９】
2009501370.tif 000017
【図１０】
2009501370.tif 000018
【図１１】
2009501370.tif 000019
【図１２】
2009501370.tif 000020
【図１３】
2009501370.tif 000021
【図１４】
2009501370.tif 000022
【図１５】
2009501370.tif 000023
【図１６】
2009501370.tif 000024
【図１７】
2009501370.tif 000025
【図１８】
2009501370.tif 000026
【図１９】
2009501370.tif 000027
【図２０】
2009501370.tif 000028
【図２１】
2009501370.tif 000029
【手続補正書】
【提出日】平成20年2月6日(2008.2.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一または複数の受信者に送信するための自由テキスト・メッセージから構造化データを生成する方法であって：
（ａ）自由テキスト・メッセージのテキスト断片を示す入力を受け付ける段階と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析し、所定の条件のうちの一つまたは複数が満たされていると確認された場合には、受け付けられた入力に対応する提案される構造化データを決定する段階であって、該解析および該決定は統計的解析を含んでいる段階と；
（ｃ）ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する段階と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける段階と；
（ｅ）前記自由テキスト・メッセージに含まれるすべてのテキスト断片の十分な量を示す十分な量のデータが受け付けられ、解析されるまで、段階（ａ）ないし（ｄ）を繰り返す段階とを含んでおり、
前記自由テキスト・メッセージに含まれる前記十分な量のテキスト断片を示す前記十分な量のデータが受け付けられ、解析され、その構造化データが承認された場合、承認された構造化データおよび前記自由テキスト・メッセージの一方または両方が一または複数の受信者に送信可能となる、方法。
【請求項２】
（ｆ）前記自由テキスト・メッセージに含まれる前記十分な量のテキスト断片を示す前記十分な量のデータが受け付けられ、解析され、その構造化データが承認された場合、承認された構造化データおよび前記メッセージの一方または両方を一または複数の受信者に送信する段階を含む、請求項１記載の方法。
【請求項３】
段階（ｆ）における送信が、ユーザーによって与えられる明示的な送信コマンドに応答してである、請求項２記載の方法。
【請求項４】
段階（ｆ）における送信が、すべてのテキストおよび構造化データが承認されるという明示的なコマンドに応答してである、請求項２記載の方法。
【請求項５】
前記承認が暗黙的である、請求項１ないし４のうちいずれか一項記載の方法。
【請求項６】
前記自由テキスト・メッセージが前記ユーザーによって作成されるか、前記ユーザーとは異なる別のユーザーによって作成された自由テキスト・メッセージへの返信または該自由テキスト・メッセージの転送である、請求項１ないし５のうちいずれか一項記載の方法。
【請求項７】
前記テキスト断片が自由テキストとして与えられ、段階（ｂ）が、
テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対する前記自由テキスト・テキスト断片の関係を解析すること、および／または
テキスト断片に対応する一つまたは複数の以前に受け付けられた入力に対応する承認された構造化データを解析すること、
のうち少なくとも一方を含む、請求項１ないし６のうちいずれか一項記載の方法。
【請求項８】
前記テキスト断片が自由テキストとして与えられ、前記自由テキストが、電子メッセージのオーサリングの際に与えられる、請求項１ないし７のうちいずれか一項記載の方法。
【請求項９】
一つまたは複数の所定のテキスト条件は一つまたは複数の構造化データ型に関連付けられており、前記提案される構造化データは、満たされたテキスト条件に関連付けられている構造化データ型のうちの一つまたは複数を含む、請求項１ないし８のうちいずれか一項記載の方法。
【請求項１０】
当該方法がある環境において実装され、テキスト条件の構造化データ型への関連付けが環境固有である、請求項９記載の方法。
【請求項１１】
段階（ｂ）が、満たされたテキスト条件に関連付けられている一つまたは複数の構造化データ型を識別する段階を含む、請求項９または１０記載の方法。
【請求項１２】
前記の一つまたは複数の識別された構造化データ型を解析して、構造化データ型の好ましい選択を識別する段階を含む、請求項１１記載の方法。
【請求項１３】
構造化データ型の前記好ましい選択は、前記識別された構造化データ型の一つまたは複数を含む、請求項１２記載の方法。
【請求項１４】
前記の一つまたは複数の識別された構造化データ型を解析する段階は、マッピング・プロトコルを適用することを含む、請求項１１ないし１３のうちのいずれか一項記載の方法。
【請求項１５】
前記統計的解析が信頼水準評価を含む、請求項１１ないし１４のうちいずれか一項記載の方法。
【請求項１６】
前記マッピング・プロトコルが以前に承認された構造化データの評価を含む、請求項１４記載の方法。
【請求項１７】
前記マッピング・プロトコルが：
前記ユーザーに関連する一つまたは複数の属性、
前記受信者のうちの一または複数に関連する一つまたは複数の属性、および／または
前記ユーザーと前記受信者のうちの一または複数とに関係する一つまたは複数の関係属性、
のうち少なくとも一つの解析を含む、請求項１４または１６記載の方法。
【請求項１８】
前記マッピング・プロトコルが、関係したメッセージに関連する一つまたは複数の属性の解析を含む、請求項１４，１６および１７のうちいずれか一項記載の方法。
【請求項１９】
前記マッピング・プロトコルが、前記ユーザーによって選択されたメッセージ・テンプレートの考察を含む、請求項１４，１６、１７および１８のうちいずれか一項記載の方法。
【請求項２０】
前記提案された構造化データの選択的な修正および／または承認を示す追加的な入力が、構造化データ型の前記好ましい選択の修正および／または承認を含む、請求項１２ないし１９のうちいずれか一項記載の方法。
【請求項２１】
各データ型は一つまたは複数の詳細フィールドを示す、請求項９記載の方法。
【請求項２２】
提案される構造化データを示す前記出力は、該提案される構造化データに含まれている構造化データ型が示す詳細フィールドのうちの一つまたは複数を与える、請求項２１記載の方法。
【請求項２３】
前記提案された構造化データの選択的な修正および／または承認を示す前記追加的な入力を与えることが、前記の与えられた詳細フィールド内の情報を編集および／または承認することを含む、請求項２２記載の方法。
【請求項２４】
前記の与えられた詳細フィールドのうち一つまたは複数が前記受け付けられた入力の解析に基づいて自動的に埋められる、請求項２２または２３記載の方法。
【請求項２５】
前記統計的解析が信頼水準評価を含む、請求項２４記載の方法。
【請求項２６】
前記受け付けられた入力の解析が：
前記ユーザーに関連する一つまたは複数の属性、
前記受信者のうちの一または複数に関連する一つまたは複数の属性、および／または
前記ユーザーと前記受信者のうちの一または複数とに関係する一つまたは複数の関係属性、
のうち少なくとも一つの解析を含む、請求項２４または２５記載の方法。
【請求項２７】
前記受け付けられた入力の解析が、関係したメッセージに関連する一つまたは複数の属性の解析を含む、請求項２４または２５記載の方法。
【請求項２８】
前記受け付けられた入力の解析が、、前記ユーザーによって選択されたメッセージ・テンプレートの解析を含む、請求項２４または２５記載の方法。
【請求項２９】
前記詳細フィールドが、
一つまたは複数の締め切りまたはその他の日時に関係する少なくとも一つの詳細フィールド、
一つまたは複数の優先度ランキングに関係する少なくとも一つの詳細フィールド、
一つまたは複数の責任割り当てに関係する少なくとも一つの詳細フィールド、および／または
一つまたは複数の責任受け容れまたは拒否に関係する少なくとも一つの詳細フィールド、
のうちの一つまたは複数を含む、請求項２１ないし２８のうちいずれか一項記載の方法。
【請求項３０】
前記詳細フィールドが：
データ・オブジェクトの現在のライフサイクル段階に関係する少なくとも一つの詳細フィールド；および／または
データ・オブジェクトの過去のライフサイクル段階に関係する少なくとも一つの詳細フィールド、
の一つまたは複数を含む、請求項２１ないし２９のうちいずれか一項記載の方法。
【請求項３１】
前記詳細フィールドおよびデータ型の一方または両方が、修正可能コンポーネントとしてグラフィカル・ユーザー・インターフェース内に与えられる、請求項２３ないし２５のうちいずれか一項記載の方法。
【請求項３２】
提案される構造化データを示す信号を与える段階が、一つまたは複数の所定の条件が満たされるのに際して実行される、請求項１ないし３１のうちいずれか一項記載の方法。
【請求項３３】
前記一つまたは複数の所定の条件が：
ユーザー入力；
テキストを示す前記ユーザー入力からの受信の完了を示す入力；および
テキストの離散的断片を示す前記ユーザー入力からの受信の完了を示す入力、
のうち一つまたは複数を含む、請求項３２記載の方法。
【請求項３４】
テキストの離散的な断片を示す入力がテキストの段落を示す入力を含む、請求項３３記載の方法。
【請求項３５】
テキスト断片を示す受け付けられた入力は、グラフィカル・ユーザー・インターフェースによって自由テキスト・メッセージ・フィールドにおいて前記ユーザーに対して表示され、提案される構造化データを示す前記出力は、前記自由テキスト・メッセージ・フィールドの中、上および／または隣に与えられる、請求項１ないし３４のうちいずれか一項記載の方法。
【請求項３６】
前記出力が、前記自由テキスト・メッセージ・フィールド上に定期的にスーパーインポーズされる、一つまたは複数の修正可能項目を含む、請求項３５記載の方法。
【請求項３７】
承認された構造化データを示す信号が活動管理システムに与えられる、請求項１ないし３６のうちいずれか一項記載の方法。
【請求項３８】
前記活動管理システムは、前記承認された構造化データを示す信号に応じて、データベース中の一つまたは複数のレコードを更新する、請求項３７記載の方法。
【請求項３９】
前記活動管理システムは、前記承認された構造化データを示す信号に応じて、後続行動を示す信号を与える、請求項３７または３８記載の方法。
【請求項４０】
前記承認された構造化データを示す信号が、一つまたは複数の所定の条件が満たされるのに反応して前記活動管理システムに与えられる、請求項３７ないし３９のうちいずれか一項記載の方法。
【請求項４１】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定の文法構造の存在を含む、請求項１ないし４０のうちいずれか一項記載の方法。
【請求項４２】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定のテキスト構造の存在を含む、請求項１ないし４１のうちいずれか一項記載の方法。
【請求項４３】
前記一つまたは複数の所定のテキスト構造が、日付またはその他の時点を指定する構造にされたテキストを含む、請求項４２記載の方法。
【請求項４４】
前記一つまたは複数の所定のテキスト条件が、一つまたは複数の所定の識別子の存在を含む、請求項１ないし４３のうちいずれか一項記載の方法。
【請求項４５】
前記一つまたは複数の所定の識別子は、一つまたは複数の資源、項目、プロジェクト、人物または位置を示す、請求項４４記載の方法。
【請求項４６】
一つまたは複数のプロセッサによって実行されたときに、請求項１ないし４５のうちいずれか一項記載の、一または複数の受信者に送信するためのユーザーがオーサリングしたメッセージから構造化データを生成する方法の実行を引き起こす一組の命令がエンコードされているコンピュータ可読媒体。
【請求項４７】
一または複数の受信者に送信するための自由テキスト・メッセージから構造化データを生成する装置であって：
（ａ）前記自由テキスト・メッセージのテキスト断片を示す入力を受け付ける手段と；
（ｂ）一つまたは複数の所定のテキスト条件が満たされているかどうかを確かめるために受け付けられた入力を解析し、前記所定のテキスト条件のうちの一つまたは複数が満たされていることが確かめられた場合には、受け付けられた入力に対応する提案される構造化データを決定する、信頼水準解析を利用する手段と；
（ｃ）前記所定の条件のうちの一つまたは複数が満たされていると確認された場合には、ユーザーに対して、受け付けられた入力に対応する提案される構造化データを示す出力を提供する手段と；
（ｄ）提案された構造化データの選択的な修正および／または承認を示す追加的な入力をユーザーから受け付ける手段と；
（ｅ）前記自由テキスト・メッセージに含まれる十分な量のテキスト断片を示す十分な量のデータが受け付けられ、解析されるまで動作する、前記の入力の受け付け、前記の解析、前記の決定、前記のユーザーに対する出力の提供、前記のユーザーからの追加的な入力の受け付けを繰り返す手段と；
（ｆ）前記承認された構造化データおよび前記自由テキスト・メッセージのうちの一方または両方を送信する手段とを有しており、
前記自由テキスト・メッセージに含まれる前記十分な量のテキスト断片を示す前記十分な量のデータが受け付けられ、解析され、その構造化データが承認された場合、承認された構造化データおよび前記自由テキスト・メッセージの一方または両方が一または複数の受信者に送信可能となり、
前記構造化データが少なくとも一つの活動管理システムに与えられる、装置。
【国際調査報告】
2009501370.tif 000030
2009501370.tif 000031