(57)【要約】  本明細書においては、ドキュメント生産性を向上させるためのシステム、方法、およびソフトウェアが開示される。１つの実装形態においては、ドキュメントの中の様々なエントリを検証して、ドキュメントの外部にある様々な追加のエンティティのうちの少なくとも１つに関係している可能性がある、エンティティとして認識できる少なくとも１つのエントリを識別する。追加のエンティティの少なくとも１つのサブセットが、識別されて、ドキュメントに含める可能性のために、ユーザインターフェースに表示され得る。追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティが、エントリに関連してドキュメントに含められる。
2017527879.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメント生産性を向上させるようにアプリケーションサービスを動作させる方法であって、
前記アプリケーションサービスによってホストされるドキュメント内の複数のエントリを検証して、前記ドキュメントの外部にある複数の追加のエンティティのうちの少なくとも１つに関係している可能性がある、エンティティとして認識できる少なくとも１つのエントリを識別することと、
前記ドキュメントに含める可能性のために、前記アプリケーションサービスへのユーザインターフェースに表示する前記複数の追加のエンティティの少なくとも１つのサブセットを識別することと、
前記ユーザインターフェースを介して受け取った前記複数の追加のエンティティの前記サブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、前記エントリに関連して前記ドキュメントに前記追加のエンティティの前記サブセットのうちの少なくとも前記１つの追加のエンティティを含めることと
を含む、方法。
【請求項２】
前記ドキュメントの外部にある前記複数の追加のエンティティのうちの少なくとも１つの後続の追加のエンティティに関係している可能性がある、後続のエンティティとして認識できる後続のエントリを識別することに応答して、前記エンティティと、前記複数の追加のエンティティの前記サブセットのうちの前記少なくとも１つの追加のエンティティとに関して確立された関連性のパターンに少なくとも一部基づいて、前記複数の追加のエンティティのうちの前記後続の追加のエンティティを識別することと、
前記後続のエントリに関連して前記ドキュメントに前記追加のエンティティの前記サブセットのうちの少なくとも前記後続の追加のエンティティを含めることと
をさらに含み、
前記ドキュメントが、スプレッドシートを含み、前記エントリが、行と列との対によって画定される前記スプレッドシートの中のセルに書き入れられるテキストを含み、前記後続のエントリが、後続の行と列との対によって画定される前記スプレッドシートの中の後続のセルに書き入れられる後続のテキストを含む、
請求項１に記載の方法。
【請求項３】
前記ドキュメントの上にレンダリングされる、前記ユーザインターフェースの中のカード内に前記複数の追加のエンティティを表示することと、前記カードを介して、前記複数の追加のエンティティの前記サブセットのうちの少なくとも前記１つの追加のエンティティの前記選択を受け取ることとをさらに含み、前記選択が、前記複数の追加のエンティティの前記サブセットのうちの少なくとも前記１つの追加のエンティティを前記カードから前記ドキュメントにドラッグするドラッグ動作を含む、請求項１に記載の方法。
【請求項４】
前記エントリが前記エンティティとして認識されたという指示を前記ユーザインターフェースに表示することをさらに含み、前記指示が、前記エントリを前記エンティティとして識別することに関連する信頼性のレベルを表す信頼性インジケータを含む、請求項１に記載の方法。
【請求項５】
前記複数の追加のエンティティが、連絡先データベースおよびウェブサイトのうちの少なくとも１つを含む、前記ドキュメントの外部にあるソースに存在する、請求項１に記載の方法。
【請求項６】
ドキュメント生産性を向上させるためのプログラム命令を記憶した１つまたは複数のコンピュータ可読ストレージ媒体であって、前記プログラム命令が、処理システムによって実行されるとき、前記処理システムに、
ドキュメント内の複数のエントリを検証して、前記ドキュメントの外部にある複数の追加のエンティティのうちの少なくとも１つに関係している可能性がある、エンティティとして認識できる少なくとも１つのエントリを識別することと、
前記エントリが認識されたという指示をユーザインターフェースに表示すること、
前記指示に関して行われる前記ユーザインターフェースとの対話に応答して、前記複数の追加のエンティティの少なくとも１つのサブセットを識別し、前記ドキュメントに含める可能性のために、前記ユーザインターフェースに表示することと、
前記ユーザインターフェースを介して受け取った前記複数の追加のエンティティの前記サブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、前記エントリに関連して前記ドキュメントに前記追加のエンティティの前記サブセットのうちの少なくとも前記１つの追加のエンティティを含めることと
を少なくとも行うように指図する、
コンピュータ可読ストレージ媒体。
【請求項７】
前記プログラム命令が、前記処理システムに、前記ドキュメントの外部にある前記複数の追加のエンティティのうちの少なくとも１つの後続の追加のエンティティに関係している可能性がある、後続のエンティティとして認識できる後続のエントリを識別することに応答して、前記エンティティと、前記複数の追加のエンティティの前記サブセットのうちの前記少なくとも１つの追加のエンティティとに関して確立された関連性のパターンに少なくとも一部基づいて、前記複数の追加のエンティティのうちの前記後続の追加のエンティティを識別することと、前記後続のエントリに関連して前記ドキュメントに前記追加のエンティティの前記サブセットのうちの少なくとも前記後続の追加のエンティティを含めることとを行うようにさらに指図する、請求項６に記載のコンピュータ可読ストレージ媒体。
【請求項８】
前記ドキュメントが、スプレッドシートを含み、前記エントリが、行と列との対によって画定される前記スプレッドシートの中のセルに書き入れられるテキストを含み、前記後続のエントリが、後続の行と列との対によって画定される前記スプレッドシートの中の後続のセルに書き入れられる後続のテキストを含む、請求項７に記載のコンピュータ可読ストレージ媒体。
【請求項９】
前記プログラム命令が、前記処理システムに、カードが前記ドキュメントの上に視覚的にレンダリングされるような方式で、前記ユーザインターフェースの中の前記カード内に前記複数の追加のエンティティを表示することと、前記カードを介して前記複数の追加のエンティティの前記サブセットのうちの少なくとも前記１つの追加のエンティティの前記選択を受け取ることとを行うように指図する、請求項８に記載のコンピュータ可読ストレージ媒体。
【請求項１０】
前記指示が、前記エントリを前記エンティティとして識別することに関連する信頼性のレベルを表す信頼性インジケータを含み、前記複数の追加のエンティティが、連絡先データベースおよびウェブサイトのうちの少なくとも１つを含む、前記ドキュメントの外部にあるソースに存在する、請求項６に記載のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本開示の態様は、コンピューティングハードウェアおよびソフトウェア技術に関し、詳細には、ドキュメント生産性を向上させることに関する。
【背景技術】
【０００２】
[0002]  生産性アプリケーションは、ワード処理ドキュメント、スプレッドシート、およびプレゼンテーション資料などのドキュメントを作成し、ドキュメントを扱って仕事をすることを含む幅広い多様なタスクに利用される。生産性アプリケーションの例には、限定はしないが、ワードプロセッサ、スプレッドシートソフトウェア、プレゼンテーションアプリケーション、ノート取りアプリケーション、およびコラボレーションソフトウェアが含まれる。
【０００３】
[0003]  ますます増加しつつある生産性アプリケーションは、口語的にはクラウドと呼ばれるものからソフトウェアサービスとして配信される。これらの配備においては、ローカルアプリケーションが、データセンタまたは他の任意のコンピューティング環境においてホストされるアプリケーションサービスへのユーザインターフェースを提供するユーザのデバイス上で動作することができる。ユーザが扱って仕事をするドキュメントは、ローカルで記憶され得るが、そのサービスによって、または関連のクラウドベースのストレージサービスによっても記憶され得る。任意の数のコンピューティングデバイスは、限定はしないが、モバイルデバイス、スマートフォン、ラップトップ、タブレット、デスクトップコンピュータ、および他の任意の適切なプラットフォームを含む、そのようなサービスの利点を生かすのに利用され得る。
【０００４】
[0004]  生産性アプリケーションの文脈におけるドキュメント内で行われる共通のタスクは、ユーザが、ワード処理ドキュメントに段落をタイピングする、またはスプレッドシートに数字または文字列を入力するときなど、テキストを書き入れることを含む。ユーザは、この方式でドキュメントと関わるとき、自らが書き入れている情報についての文脈的な知識または認知に欠けている場合があり、したがって、ユーザのドキュメントに補うべき他の情報を発見するために他の資源を参照する必要性がある場合がある。簡単な例においては、ユーザが、あるイベントのメンバーリストの作成に関わっている場合がある。ユーザは、招待客の名前が書き入れできるほど、十分に招待客を知っている場合がある。しかし、招待客の名前以外では、ユーザは、招待客の連絡先情報を得るために連絡先リストを参照する必要がある場合がある。別の例においては、ユーザは、ドキュメントについての補足データを得るためにウェブサイトを参照する場合がある。
【０００５】
[0005]  多くのアプリケーションが、自動スペルチェック機能、および数式チェッキングなどの形態で、限られた量の文脈的認知を提供する。関連のサブサービスは、バックグラウンドで動作し、スペリングエラー、矛盾した数式に対するドキュメントの中の内容、または監視可能なドキュメントの他の側面を絶えずチェックし得る。
【発明の概要】
【課題を解決するための手段】
【０００６】
[0006]  本明細書においては、ドキュメント生産性を向上させるためのシステム、方法、およびソフトウェアが提供される。様々な実装形態においては、ドキュメントは、エンティティとして認識できるエントリについて走査される。エンティティが発見された場合、ユーザが関わっているときに、ドキュメントの外部にあるデータソースから得られるエンティティについての追加の情報をユーザが検討できるようにし得る指示が、ユーザインターフェースに表示され得る。ユーザは、外部データソースで見つかった情報から選択することによって、エントリに加える、またはそうでなければドキュメントを補い、それによって、ドキュメントを向上させることができる。
【０００７】
[0007]  １つの特定の実装形態においては、ドキュメントの中の様々なエントリを検証して、ドキュメントの外部にある様々な追加のエンティティのうちの少なくとも１つに関係している可能性がある、エンティティとして認識できる少なくとも１つのエントリを識別する。次いで、追加のエンティティの少なくとも１つのサブセットが、識別されて、ドキュメントに含める可能性のために、ユーザインターフェースに表示される。追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティが、エントリに関連してドキュメントに含められる。
【０００８】
[0008]  この「発明の概要」は、「発明を実施するための形態」においてさらに後述する概念の選択を簡略化された形態で導入するために提供されている。この「発明の概要」は、特許請求される主題の主要な特徴または本質的な特徴を識別することを意図するものでも、または特許請求される主題の範囲を限定するように使用すべきことを意図するものでもないことが理解され得る。
【０００９】
[0009]  本開示の多くの態様は、以下の図面を参照するとより良く理解され得る。いくつかの実装形態は、これらの図面と関係して説明されているが、本開示は、本明細書に開示される実装形態に限定されるものではない。むしろ、意図は、すべての代替形態、修正形態、および等価形態をカバーすることにある。
【図面の簡単な説明】
【００１０】
【図１】[0010]向上したドキュメント生産性の一実装形態におけるサービスアーキテクチャおよび関連の動作上のシナリオを例示する図である。
【図２】[0011]一実装形態におけるアプリケーションサービスによって採用され得るドキュメントプロセスを例示する図である。
【図３】[0012]一実装形態におけるローカルアプリケーションによって採用され得るドキュメントプロセスを例示する図である。
【図４】[0013]向上したドキュメント生産性の一実装形態におけるワークブックによるユーザエクスペリエンスの一段階を例示する図である。
【図５Ａ】[0014]向上したドキュメント生産性の一実装形態におけるワークブックによるユーザエクスペリエンスの一段階を例示する図である。
【図５Ｂ】[0014]向上したドキュメント生産性の一実装形態におけるワークブックによるユーザエクスペリエンスの一段階を例示する図である。
【図５Ｃ】[0014]向上したドキュメント生産性の一実装形態におけるワークブックによるユーザエクスペリエンスの一段階を例示する図である。
【図６】[0015]向上したドキュメント生産性の一実装形態におけるワークブックによるユーザエクスペリエンスの一段階を例示する図である。
【図７】[0016]向上したドキュメント生産性の一実装形態におけるワークブックによるユーザエクスペリエンスの一段階を例示する図である。
【図８】[0017]一実装形態における動作上の順序を例示する図である。
【図９】[0018]図１〜図８に関して本明細書に開示される、および「発明を実施するための形態」において後述される、アプリケーション、サービス、方法、アーキテクチャ、ユーザエクスペリエンス、および動作上のシナリオのうちのいずれかを実装するのに適しているコンピューティングシステムを例示する図である。
【発明を実施するための形態】
【００１１】
[0019]  本明細書に開示される実装形態は、テキストおよび他のデータをドキュメントに書き入れるときのユーザエクスペリエンスを向上させる。ドキュメント生産性は、エンティティとして適格であるエントリが認識されるとき、またはエントリが、ドキュメントの外側にある他の情報は、ドキュメントの中のエントリを補うのに有用であり得ることを示す品質もしくは特性を有するとき、向上する。他の情報は、様々なデータソースから収集され、そう所望される場合には、ドキュメントに含められるようにユーザに提示され得る。
【００１２】
[0020]  少なくとも１つの実装形態においては、アプリケーションサービスは、アプリケーションサービスによってホストされるドキュメントの中の様々なエントリを検証して、エンティティとして認識できる少なくとも１つのエントリを識別することによって、ドキュメント生産性を向上させる。エントリは、たとえば、それがドキュメントの外部にある様々な追加のエンティティのうちの少なくとも１つに関係している可能性があるとき、エンティティとして認識され得る。
【００１３】
[0021]  次いで、アプリケーションサービスは、ドキュメントに含める可能性のために、アプリケーションサービスへのユーザインターフェースに表示する追加のエンティティの少なくとも１つのサブセットを識別する。ユーザインターフェースを介して受け取った追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、アプリケーションサービスは、エントリに関連してドキュメントに追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティを含める。
【００１４】
[0022]  いくつかのシナリオにおいては、後続のエンティティとして認識できる後続のエントリが、識別され得る。後続のエントリは、ドキュメントの外部にある追加のエンティティのうちの少なくとも１つの後続の追加のエンティティに関係している可能性があり得る。アプリケーションサービスは、エンティティと、追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティとに関して確立された関連性のパターンに少なくとも一部基づいて、追加のエンティティのうちの後続の追加のエンティティを識別し、後続のエントリに関連してドキュメントにそれを記憶する、またはそうでなければそれを含める。
【００１５】
[0023]  ユーザエクスペリエンスが向上し得ることを目的としたドキュメントの例には、ワード処理ドキュメント、プレゼンテーション、およびスプレッドシートが含まれる。スプレッドシートの事例においては、エントリは、行と列との対によって画定されるスプレッドシートの中のセルに書き入れられるテキストを含むことができる。したがって、後続のエントリは、後続の行と列との対によって画定されるスプレッドシートの中の後続のセルに書き入れられる後続のテキストとすることができる。
【００１６】
[0024]  あるアプリケーションが、いくつかの実装形態においては、ドキュメントの上にレンダリングされる、ユーザインターフェースの中のカード内に追加のエンティティを表示することができる。アプリケーションは、カードを介して追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択を受け取る。選択の例には、追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティをカードからドキュメントにドラッグするドラッグ動作が含まれる。
【００１７】
[0025]  アプリケーションは、エントリが、エンティティとして認識されたという指示をユーザインターフェースに表示することができる。いくつかの事例においては、指示は、エントリをエンティティとして識別することと関連する信頼性のレベルを表す信頼性インジケータを含むことができる。エンティティに関係していると識別される追加のエンティティは、連絡先データベースまたはウェブサイトの中など、ドキュメントの外部にあるソースに存在することができる。
【００１８】
[0026]  次に、図面を参照すると、図１は、向上したドキュメント生産性の様々な態様を実証する一実装形態におけるサービスアーキテクチャ１００および関連の動作上のシナリオを例示している。サービスアーキテクチャ１００は、アプリケーションプラットフォーム１０１およびサービスプラットフォーム１１１を含む。ローカルアプリケーション１０３が、アプリケーションプラットフォーム１０１の文脈内で実行され、一方、アプリケーションサービス１１３が、サービスプラットフォーム１１１の文脈によってホストされ、その文脈内で動作する。
【００１９】
[0027]  ローカルアプリケーション１０３とアプリケーションサービス１１３とは、それぞれが、分離したコンピューティングプラットフォームにおいて実装されるという点において、遠隔にあると見なすことができる。そのような状況においては、ローカルアプリケーション１０３およびアプリケーションサービス１１３は、適切な１つの通信リンクまたは複数の通信リンク（図示せず）を介してアプリケーションプラットフォーム１０１とサービスプラットフォーム１１１との間で交換されるデータおよび情報によって通信することができる。しかしながら、いくつかの実装形態においては、ローカルアプリケーション１０３およびアプリケーションサービス１１３によって提供される特徴および機能は、共に配置可能になることも、または単一のアプリケーションとして一体化可能になることもあり得る。
【００２０】
[0028]  データソース１１５およびデータソース１１６はそれぞれ、ドキュメント１０７の外部にあるデータソースを表す。それぞれのデータソースは、アプリケーションサービス１１３によってホストされ、またはアプリケーションサービス１１３と一体型であると見なされるレポジトリとすることができる。しかしながら、それぞれのデータソースはまた、アプリケーションサービス１１３とは分離し、別個である他の任意のサービスの一部とすることもできる。データソース１１５およびデータソース１１６の例には、連絡先データベース、ウェブサイト、アクティブディレクトリデータベース、リスト、マップ、アカウント、および任意の他のタイプのデータソースが含まれる。
【００２１】
[0029]  動作に際して、ローカルアプリケーション１０３は、ユーザインターフェース１０５にドキュメント１０７をレンダリングする。ドキュメント１０７は、ａｌｐｈａ、ｋｉｌｏ、およびｓｉｅｒｒａという単語によって表される様々なエントリ１０８を含む。アプリケーションサービス１１３は、ドキュメント１０７、またはそのコピーを走査し、監視し、またはそうでなければ検証して、エンティティを代表するエントリを識別する。この例においては、「ｋｉｌｏ」という単語は、エンティティとして表され、それに応じて、指示が、ユーザインターフェース１０５に表示される。指示を表示する他のやり方が可能ではあるが、指示は、「ｋｉｌｏ」という単語に関して与えられる太字で斜体のフォントによって表されている。
【００２２】
[0030]  次に、アプリケーションサービス１１３は、エンティティとして識別された、ドキュメント１０７の中のエントリと関連し得る他のエンティティのサブセット１１９を識別する。他のエンティティのサブセット１１９は、データソース１１５およびデータソース１１６によって表されるドキュメント１０７の外部にあるソースから識別される。データソース１１５は、「ｇｏｌｆ」および「ｄｅｌｔａ」という単語によって表される他のエンティティ１１７を含む。データソース１１６は、「ｅｃｈｏ」および「ｌｉｍａ」という単語によって表される他のエンティティ１１８を含む。主題エントリと関連し得る他のエンティティは、ビュー１０９、または他のエンティティのサブセット１１９の、他のそのようなグラフィカル表現によって表されるユーザインターフェース１０５に表示される。サブセット１１９は、ｄｅｌｔａおよびｅｃｈｏという情報を含む。
【００２３】
[0031]  ビュー１０９に提示される情報項目のうちのいずれかまたは両方が、ドキュメント１０７にさらに含められるように、ユーザによって選択され得る。この例においては、ｅｃｈｏという単語が、選択され、そのため、ドキュメント１０７に含められる。ｅｃｈｏという単語は、ドキュメントの中のｋｉｌｏという単語の近くに含められているように示され、したがって、２つのエンティティが、互いに関連してドキュメント１０７に記憶されることが表されている。
【００２４】
[0032]  図２は、ドキュメントプロセス２００によって表される、アプリケーションサービス１１３によって採用され得る機能の一部をより具体的に例示している。以下に、図２に例示される、挿入句的に注記されているステップについて説明する。
【００２５】
[0033]  動作に際して、アプリケーションサービス１１３は、エンティティとして認識でき得る任意のエントリについて所与のドキュメントを走査し、最終的には、少なくとも１つのエントリをエンティティとして識別する（ステップ２０１）。ドキュメントは、テキスト、単語、文字列、数字、符号、および画像などの様々なエンティティを含むことができる。
【００２６】
[0034]  エントリは、ドキュメントの外部にあるデータソースの中の他のエンティティと関連しているエントリを識別する様々な特性に基づいて、エントリと関連し得るエンティティとして認識でき得る。たとえば、テキストエントリは、リストまたは連絡先データベースの中の人物の名前として認識され得る。別の例においては、数字は、住所、または他のそのような識別子として認識され得る。エントリの立案者、ドキュメントの中のエントリの位置、エントリの形式スタイル、または任意の他の特性は、アプリケーションサービス１１３が、エントリをエンティティとして認識できることを可能にする。エントリをエンティティとして認識できるようにすることが可能なさらなる他の特性には、エントリと関連しているデータ接続もしくは複数のデータ接続、エントリの視覚的タイプ、またはエントリがクエリであるか否かなどが含まれる。ドキュメントの外部にあるデータソースが、エントリに基づいて、またはエントリを使用して、首尾よくクエリ可能であるということだけで、そのエントリがエンティティとして認識されることにつながり得る。
【００２７】
[0035]  エントリが、エンティティとして認識されるとき、それに関する指示が、ドキュメントに対してユーザインターフェースに表示される。ユーザは、他のエンティティを、ドキュメントに含めるために考慮するという観点から、エンティティをさらに検討することに決めることができる。これが生じるとき、アプリケーションサービス１１３は、ドキュメントにおける選択のために、どの追加のエンティティをユーザインターフェースに表示すべきであるかを識別する（ステップ２０３）。ユーザは、エンティティのうちの１つまたは複数を選択することができ、アプリケーションサービス１１３は、選択されたエンティティまたは選択された複数のエンティティをドキュメントに記憶することができる（ステップ２０５）。いくつかのシナリオにおいては、エンティティのうちの選択された１つまたは複数は、アプリケーションサービス１１３によってローカルアプリケーション１０３に戻されて、識別されたエンティティと結び付くことができる。
【００２８】
[0036]  図３は、ドキュメントプロセス３００によって表される、ローカルアプリケーション１０３によって採用され得る機能の一部をより具体的に例示している。以下に、図３に例示される、挿入句的に注記されているステップについて説明する。
【００２９】
[0037]  動作に際して、アプリケーションサービス１１３は、ドキュメントの中のエントリをエンティティとして識別することができ、そのことは、ローカルアプリケーション１０３に伝えられる。ローカルアプリケーション１０３は、エンティティが認識されたという指示をユーザインターフェース１０５に表示する（ステップ３０１）。指示の表示は、エントリの視覚的外観、またはエントリを囲むエリアの外観の変更を含むことができる。別の例においては、エンティティが認識されたことを示す個別の符号または識別子が、レンダリングされ得る。
【００３０】
[0038]  次いで、追加のエンティティが、ドキュメントに含める可能性のために、表示され得る（ステップ３０３）。追加のエンティティは、アプリケーションサービス１１３によって識別され得、ユーザがそれらのうちの１つまたは複数をドキュメントに含めるために選択することができるように、表示され得る。これが生じるとき、ローカルアプリケーション１０３は、他のどのエンティティが、変更され、したがって、ドキュメントに含めるのに適切であり得るのかを説明するメッセージング、または他のそのような情報をアプリケーションサービス１１３に伝える（ステップ３０５）。
【００３１】
[0039]  図４は、向上したドキュメント生産性がその中に採用されるワークブックに関して生じ得るユーザエクスペリエンスにおける段階４００を例示している。ユーザエクスペリエンスには、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｅｘｃｅｌ（登録商標）などのスプレッドシートアプリケーションによって創出され得るワークブックを代表するワークブック４０１が関わっている。ユーザには、適切なアプリケーションプラットフォームと自分との対話を用いることによってユーザエクスペリエンスが提示され得、このアプリケーションプラットフォームを介して、ワークブック４０１に対するユーザインターフェースが提示され得る。ユーザエクスペリエンスは、ユーザに対して表示され得るワークブック４０１の様々な視覚的表現を代表するが、また、アプリケーションプラットフォームによって提供される適切なユーザインターフェースシステムを用いることによって、ユーザが、ワークブック４０１と対話することができる様々なやり方も含み、それらを図９に関して例示されるコンピューティングシステム９００が代表する。
【００３２】
[0040]  ワークブック４０１は、スプレッドシート４０３を含み、このスプレッドシート４０３は、様々なセル４０５によって画定される。ワークブック４０１はまた、ワークブックの名前を識別することができる、かつ様々な機能メニューおよび選択肢などを含むことが可能になる機能バー４０７を含む。図４に例示される要素に加えてまたはその代わりに、他の要素が、可能であり、本開示の範囲内にあるものと見なしてよい。
【００３３】
[0041]  ユーザエクスペリエンスのこの段階４００においては、それぞれのセルは、行番号および列番号によって画定され得るが、それらの行番号および列番号は、図示されていない。ユーザは、何らかの種類のイベントまたは組織を追跡するために、単一のテーブルを作成している。テーブルは、列によってサブ分割される様々なデータ行を含む。列は、識別番号、名前、誕生日、および建物を含む、ユーザによる、割り当てられるラベルである。いくつかのデータが、イベントまたは組織に関わっている３人の人の識別番号および名前を含む行に書き入れられている。具体的には、リストの中の人は、それぞれ、識別番号「００１」、「０１０」、および「１１１」と関連付けられる「ｈａｎｎａｈ」、「ａｄａｍ」、および「ｓａｒａｈ」を含む。
【００３４】
[0042]  動作に際して、ワークブック４０１は、ローカルアプリケーション１０３およびアプリケーションサービス１１３が代表するローカルアプリケーションおよびアプリケーションサービスのうちの一方または両方によって採用されるドキュメントプロセス２００およびドキュメントプロセス３００など、１つまたは複数のドキュメントプロセスを受ける。したがって、ドキュメントプロセスは、ユーザエクスペリエンスの一部を推進する。たとえば、ワークブック４０１は、エンティティとして認識でき得るスプレッドシート４０３の中のエントリを識別するために、ドキュメントプロセスによる走査を受ける。この例においては、「ａｄａｍ」というエントリは、エンティティとして認識され、対応する視覚的指示が、表示されて、それがエンティティであることをユーザに表す。この例においては、「ａｄａｍ」というテキストは、他のエントリよりも目立つように太字で斜体の形で提示され、この他のエントリは、どちらもエンティティでなく、したがって同時に「ａｄａｍ」と識別されることもない。その発見をエンティティとして示すには、たとえばテキストがその中に見つけられるセルをハイライトすること、またはその状況をエンティティとして表す個別のアイコンもしくはグラフィックを表示することによるなど、他の仕組みが可能である。
【００３５】
[0043]  いくつかの事例においては、単一のエントリ単独では、エンティティとして認識され得ないが、１つまたは複数の他のエントリとの組合せとして見なされるとき、エントリ群は、エントリと見なしてよいことが理解され得る。例として、「ａｄａｍ」単独では、エンティティとして認識されることにはなり得ないが、「０１０」または他の情報と結び付けられた「ａｄａｍ」は、エンティティとして認識されることになり得る。本明細書に開示されるこのおよび他の例においては、複数のエントリを単一のエンティティとして認識することは、本開示の範囲内にあるものと見なしてよいが、単一のエントリが、例示目的で与えられている。
【００３６】
[0044]  加えて、いくつかの事例においては、単一のエントリ単独では、単一のエントリに隣接している可能性がある他のエントリによって提供される何らかの周囲の文脈がなければ、エンティティとして認識され得ない。別のエントリまたは別の複数のエントリは、単一のエントリと一緒に見なされるとき、単一のエントリをエンティティとして識別することを補佐することができる。たとえば、「ａｄａｍ」という名前単独では、エンティティとして認識され得ない。しかし、「ｓａｒａｈ」という名前の近くにあること、または「ｓａｒａｈ」という名前が存在することだけで、「ａｄａｍ」という名前は、エンティティとして認識され得る。これは、「ａｄａｍ」が単一エントリのエンティティを表すと同時に、先の例における「０１０」と結び付けられた「ａｄａｍ」が複数エントリのエンティティを表すというすぐ上の例とは区別され得る。
【００３７】
[0045]  次いで、ユーザは、ハイライトされたエントリを向上させるために、いずれの選択肢が存在し得るかを検討するようにするための指示と積極的に対話することができる。選択４１１は、マウスクリック、タッチ、口頭コマンド、ジェスチャ、タップ、または他の任意のタイプのユーザ入力とすることができる対話を代表する。グラフィック４１３が、何の選択肢がエントリを検討するのに利用できる可能性があるかを説明するユーザ入力に応答して表示される。この事例においては、グラフィック４１３は、エントリに関係している可能性がある追加の情報が利用できることを説明するテキストを含む。追加の情報は、連絡先データベース、またはウェブサイトなど、ワークブック４０１の外部にある他のデータソースに見つかる場合がある。
【００３８】
[0046]  ユーザは、ユーザエクスペリエンスの別の段階にユーザを送り出すグラフィック４１３に関して別の選択４２１を行うことができる。図５Ａ、図５Ｂ、および図５Ｃは、ユーザがグラフィック４１３に関して選択４２１を行うと、生じ得る様々な段階５０１、５０２、および５０３それぞれを例示している。
【００３９】
[0047]  図５Ａを参照すると、ユーザエクスペリエンスにおける段階５０１は、ユーザが段階４００で選択４２１を行うと、生じ得る段階を表す。段階５０１においては、「ａｄａｍ」というエンティティと関連している、またはそうでなければ関係していると識別された可能性がある追加の情報を含むカード４２３が表示される。追加の情報はそれ自体、追加のエンティティを含むことができるが、それ自体ではエンティティとして認識されることがないエンティティについての単なる追加の詳細である情報も含むことができる。ここでは、追加の情報は、誕生日情報（「june 19」）、建物識別子（「b」）、およびエンティティについての教師の名前（「holli v.」）を含む。カード４２３は、それが関連しているエンティティの名前「ａｄａｍ」など、本明細書に示されているものに加えて他の情報を含むことが可能になる。これは、カード４２３が、連絡先カード、または識別情報を含む他の任意のオブジェクトを代表する事例においては、特に当てはまることになり得る。カード４２３はまた、文脈を提供するため、または他の理由で、ワークブック４０１にすでに含まれている他の情報を示すことができる。
【００４０】
[0048]  したがって、ユーザは、表示された追加の情報を考慮することができ、スプレッドシート４０３に、追加の情報のうちのいずれか、またはすべてを含めるべきであるか否かの決定を下すことができる。この例においては、ユーザは、少なくとも誕生日情報を含めることに同意の決定を下す。したがって、ユーザは、誕生日情報の選択４２５を行い、結果的に、スプレッドシート４０３にそれが含められることになる。選択４２５は、たとえば、ユーザが、自分が置きたいと思うスプレッドシート４０３の中の場所に、カード４２３から誕生日情報をドラッグすることによるドラッグアンドドロップ動作とすることができる。誕生日情報についての場所は、誕生日とラベル付けされた列に対応する「ａｄａｍ」というエントリについての行の中のセルである。
【００４１】
[0049]  ユーザが選択４２５を行うと、セルの中にその誕生日情報が置かれるだけでなく、スプレッドシート４０３の中のエンティティとして同様に識別される他のエントリについての他の誕生日情報もまた、それらの対応するセルの中に取り込まれ、置かれる。これは、単に、ユーザが、追加の情報の１つのインスタンスに関して１つの選択を行ったということだけで、自動的に生じ得る。この機能が、任意選択的であり、あらゆる状況において生じるとは限らない場合があることは理解され得る。いくつかのシナリオにおいては、他のセルにおいて自動読み込みを行うことを許可するかどうかをユーザに尋ねるメニュー、制御部、または他のそのようなグラフィックが、表示する場合がある。ユーザがその承認を与える場合には、方法は、前に進むことができ、追加の情報は、対応するセルの中に入れられ得る。そうでない場合には、方法は、停止し得る。
【００４２】
[0050]  図５Ｂは、段階５０１に類似しているが、何らかの機能変形をもたらす代替の段階５０２を例示している。ユーザエクスペリエンスにおける段階５０２はまた、ユーザが段階４００で選択４２１を行うと、生じ得る段階を表す。段階５０２においては、「ａｄａｍ」というエンティティと関連している、またはそうでなければ関係していると識別された可能性がある追加の情報（追加のエンティティ）を含むカード４２３が表示される。追加の情報は、誕生日情報（「june 19」）、建物識別子（「b」）、およびエンティティについての教師の名前（「holli v.」）を含む。
【００４３】
[0051]  したがって、ユーザは、表示された追加の情報を考慮することができ、スプレッドシート４０３に、追加の情報のうちのいずれか、またはすべてを含めるべきであるか否かの決定を下すことができる。この例においては、ユーザは、少なくとも誕生日情報を含めることに同意の決定を下す。したがって、ユーザは、誕生日情報の選択４２７を行い、結果的に、スプレッドシート４０３にそれが含められることになる。選択４２７は、たとえば、ユーザが、自分が置きたいと思うスプレッドシート４０３の中の場所に、カード４２３から誕生日情報をドラッグすることによるドラッグアンドドロップ動作とすることができる。誕生日情報についての場所は、誕生日とラベル付けされた列に対応する「ａｄａｍ」というエントリについての行の中のセルである。
【００４４】
[0052]  ユーザが選択４２７を行うと、セルの中にその誕生日情報が置かれるだけでなく、スプレッドシート４０３の中の他のエンティティについての他の誕生日情報もまた、それらの対応するセルの中に取り込まれ、置かれる。これは、単に、ユーザが、追加の情報の１つのインスタンスに関して１つの選択を行ったということだけで、自動的に生じ得る。この機能が、任意選択的であり、あらゆる状況において生じるとは限らない場合があることは理解され得る。いくつかのシナリオにおいては、他のセルにおいて自動読み込みを行うことを許可するかどうかをユーザに尋ねるメニュー、制御部、または他のそのようなグラフィックが、表示する場合がある。ユーザがその承認を与える場合には、方法は、前に進むことができ、追加の情報は、対応するセルの中に入れられ得る。そうでない場合には、方法は、停止し得る。
【００４５】
[0053]  他の誕生日情報におけるローディングに加えて、スプレッドシート４０３には、さらに多くの追加的な情報、すなわち、スプレッドシート４０３おいて識別される各人についての建物番号が読み込まれる。言い換えれば、たとえ選択４２７が、カード４２３の中の誕生日情報に関してのみ行われたとしても、スプレッドシート４０３には、建物番号情報も読み込まれる。これは、単に、ユーザが、追加の情報の１つのインスタンスに関して１つの選択を行ったということだけで、自動的に生じ得る。この機能が、任意選択的であり、あらゆる状況において生じるとは限らない場合があることは理解され得る。いくつかのシナリオにおいては、他のセルにおいて自動読み込みを行うことを許可するかどうかをユーザに尋ねるメニュー、制御部、または他のそのようなグラフィックが、表示する場合がある。ユーザがその承認を与える場合には、方法は、前に進むことができ、追加の情報は、対応するセルの中に入れられ得る。そうでない場合には、方法は、停止し得る。
【００４６】
[0054]  図５Ｃは、段階５０１および段階５０２に類似しているが、いくつかの点で異なっている代替の段階５０３を例示している。ユーザエクスペリエンスにおける段階５０３はまた、ユーザが段階４００で選択４２１を行うと、生じ得る段階を表す。段階５０３においては、「ａｄａｍ」というエンティティと関連している、またはそうでなければ関係していると識別された可能性がある追加の情報（追加のエンティティ）を含むカード４２３が表示される。追加の情報は、誕生日情報（「june 19」）、建物識別子（「b」）、およびエンティティについての教師の名前（「holli v.」）を含む。
【００４７】
[0055]  したがって、ユーザは、表示された追加の情報を考慮することができ、スプレッドシート４０３に、追加の情報のうちのいずれか、またはすべてを含めるべきであるか否かの決定を下すことができる。この例においては、ユーザは、少なくとも教師情報を含めることに同意の決定を下す。しかしながら、教師の名前についての列はまだ、スプレッドシート４０３に存在していない。したがって、ユーザは、教師情報の選択４２９を行い、結果的に、列挿入を用いることによって、スプレッドシート４０３にそれが含められることになる。選択４２７は、たとえば、ユーザが、自分が置きたいと思うスプレッドシート４０３の中の場所に、カード４２３から教師情報をドラッグすることによるドラッグアンドドロップ動作とすることができる。新規の列が、選択４２９に応答して、誕生日列と、建物番号列との間に自動的に挿入される。次いで、新規の列には、スプレッドシート４０３の中の様々なエンティティについての教師の名前が読み込まれる。いくつかの実装形態においては、ユーザは、単一のエンティティ値をシート上に挿入する能力を持つことができるだけでなく、そうではなく、新規テーブル／関係性として、エンティティ値の全組をドキュメント内にドロップすることを選ぶことができる。たとえば、ユーザは、生徒の名前、ＩＤ、および試験評定の現在のテーブルをシートに残すことができるが、名前がエンティティとして認識される場合、関連一致のために、ドキュメント内に完全個人エンティティ情報テーブルをインポートすることができる。次いで、分析を行うとき、Ｅｘｃｅｌ（登録商標）のようなアプリケーションが、それらのテーブル同士を結び付け、その追加のデータがそれらの元のテーブルを乱すことなく、マッシュアップレポート（たとえば、教師による生徒の平均評定）の作成を可能にすることができる。
【００４８】
[0056]  段階５０１、５０２、および５０３はそれぞれ、ワークブック４０１によるユーザエクスペリエンスに関して生じ得る様々な動作を例示している。図５Ａ〜図５Ｃに表されるものに加えてまたはその代わりに、他の動作が、可能であり、本開示の範囲内にあるものと見なしてよいことが理解され得る。加えて、図５Ａ〜図５Ｃに例示されるステップのうちのいくつかは、ワークブック４０１によるユーザエクスペリエンスに関するさらなる変形をもたらす様々なやり方で互いと組合せ可能である。たとえば、本明細書に記載の方法は、反復型であるので、エンティティに関係して表示され、シートの中に置かれる情報はそれ自体、エンティティとして識別され得る。次いで、カードは、関連している可能性がある追加の情報を含むそのエンティティについて表示され得る、等々である。
【００４９】
[0057]  図６は、ワークブック４０１によるユーザエクスペリエンスの文脈内で生じ得る代替の段階６００を例示している。段階６００は、図５Ａ〜図５Ｃに関して例示された段階５０１、５０２、および５０３のうちのいずれかに従う場合も、またはそれらの段階とは分離して生じる場合もある。動作に際して、スプレッドシート４０３には、ユーザによってラベル付けされた列のすべての中に情報が読み込まれている。例として、識別番号、名前、誕生日、および建物番号が、スプレッドシート４０３の中に与えられており、含められている。
【００５０】
[0058]  次のステップにおいては、新規のエントリが、スプレッドシート４０３の中に作成されるテーブルの４番目の行に書き入れられる。具体的には、「ｗｉｌｌｉａｍ」というテキストが書き入れられる。バックグラウンドにおいて動作するドキュメントプロセスは、新規のエントリをエンティティとして認識する。ユーザにエンティティの存在を喚起するグラフィックまたは他のそのような制御部を表示するのではなく、「ｗｉｌｌｉａｍ」がその中に書き入れられたセルに近接するセルには、エンティティに関係している可能性がある追加の情報が自動記入される。エンティティについての誕生日、ならびにエンティティについての建物番号が、自動記入される。誕生日および建物番号は、ワークブック４０１の外部にあるデータソースから取り込まれてよい。その上、他の追加の情報項目のように、誕生日および建物番号は、同じデータソースに記憶されていることが可能であるが、それぞれが、相異なるデータソースに存在している場合がある。
【００５１】
[0059]  自動記入スプレッドシート４０３について識別される追加の情報は、あるエンティティと、以前、選択された可能性がある他の追加のエンティティとに関して確立された関連性のパターンに少なくとも一部基づいて選択され得る。たとえば、「ａｄａｍ」というエントリがエンティティとして識別されたと仮定し、さらに、対応する誕生日および建物情報が、ワークブック４０１に含められるようにユーザによって選択されたと仮定すると、関連性のパターンは、名前と誕生日との間で確立されたことになる。関連性の別のパターンは、名前と建物情報との間で確立されたことになる。次いで、関連性の両方のパターンが、「ｗｉｌｌｉａｍ」というエントリなどの他のエンティティが認識されるとき、使用され得る。いくつかのシナリオにおいては、データ接続は、追加の情報がその中に表示されているカードまたは他のオブジェクトからシート内に情報をドロップするとき確立され得る。このようにして、そのような補足情報が、それが変更するとき、動的に再読込みされ、更新され得る。例として、建物情報は、「ａｄａｍ」または「ｗｉｌｌｉａｍ」が、新規の建物またはオフィスに割り当てられるとき、変更し得る。
【００５２】
[0060]  他のテキストが書き入れられ、エンティティとして認識されるとき、他のエンティティに関して発見された関連性の過去のパターンは、ワークブック４０１の外部に存在し得る様々なデータソースから新規情報を引き出すのに使用され得る。例として、特定のデータソースが、レコードの組を含むことができる。特定のレコードおよびレコード内の固有のフィールドが、ワークブック４０１の中の所与のエンティティについての追加情報の適切なソースであることが分かったとき、あるパターンが作成され得る。相異なるレコードの中にあっても、同じフィールドは、ワークブック４０１の中に書き入れられ得る新規のエンティティについての追加の情報を抽出するのに使用され得る。
【００５３】
[0061]  別の例においては、ウェブサイトの中の特定のページが、エントリに関連してワークブック４０１に含められるのに適切であると識別される情報を含むことができ、それによって、エンティティとして識別される他のエントリについて活用され得る関連性のパターンを確立する。したがって、別のウェブサイトの中の同じまたは類似するページは、別のエントリに関連してワークブック４０１に含められるのに適切であると見なしてよい情報を抽出するのに参照され得る。
【００５４】
[0062]  簡単な使用事例においては、カレッジまたは大学についてのウェブサイトは、入学者数および学生数情報を含む固有のページを含む場合がある。したがって、別のカレッジについての別のウェブサイトは、そのカレッジについての入学者数および学生数情報を含む類似したページを含む場合がある。第１のカレッジについての入学者数情報は、ワークブックの中のあるエンティティを補うのに使用され得、一方、第２のカレッジについての入学者数情報は、ワークブックに別のエンティティを補うのに使用され得る。
【００５５】
[0063]  図７は、ワークブック４０１によるユーザエクスペリエンスの文脈内で生じ得る別の可能な段階７００を例示している。段階７００においては、「ａｄａｍ」というエンティティと関連している、またはそうでなければ関係していると識別された可能性がある追加の情報（追加のエンティティ）を含むカード４２３が表示される。追加の情報は、誕生日情報（「june 19」）、建物識別子（「b」）、およびエンティティについての教師の名前（「holli v.」）を含む。
【００５６】
[0064]  加えて、カード４２３は、追加の情報項目のうちの所与の項目と関連する、それぞれが信頼性レベルを表す様々な信頼性インジケータを含む。信頼性インジケータ４３１は、誕生日情報が、実際に、エンティティ「ａｄａｍ」に関係している信頼性のレベルを表す。信頼性インジケータ４３３は、建物情報が、実際に、エンティティ「ａｄａｍ」に関係している信頼性のレベルを表す。信頼性インジケータ４３５は、教師情報が、実際に、エンティティ「ａｄａｍ」に関係している信頼性のレベルを表す。
【００５７】
[0065]  この例においては、それぞれの信頼性インジケータは、他とは異なる視覚的表現を有し、それは、それぞれの各情報項目における信頼性が、他に対して変動することを表している。これは、たとえば、情報項目が引き出されるデータソースは変動し得るので、その事例とすることができる。先行する図に例示される他の段階と同様に、ユーザは、スプレッドシート４０３に、追加の情報のうちのいずれか、またはすべてを含めるべきであるか否かの決定を下すとき、表示された追加の情報およびそれらの関連した信頼性レベルを考慮することができる。表示されている追加の情報についての系統情報もまた、表示され得る。系統情報は、引き出されるデータソース、政府または公共のウェブサイトであるかどうか、または内部のデータベースもしくはディレクトリであるかどうかなど、追加の情報についての何らかのことを説明することができる。
【００５８】
[0066]  図８は、向上したドキュメント生産性の一実装形態において生じ得るメッセージおよび情報交換を代表する動作上の順序８００を例示している。動作に際して、テキストエントリは、ユーザインターフェース１０５を介してユーザによって入力される。テキストエントリは、アプリケーションサービス１１３に対してローカルアプリケーション１０３によって伝えられる。アプリケーションサービス１１３は、ドキュメント１０７およびその中に書き入れられるテキストを検証する。そのような検証は、データが、定期的に、もしくは継続的に、または他の任意の方式で書き入れられるとき生じ得る。あるエンティティ（または複数のエンティティ）が認識されると仮定すると、アプリケーションサービス１１３は、そのことをローカルアプリケーション１０３に伝える。ローカルアプリケーション１０３は、ユーザインターフェース１０５において、エントリがエンティティであるという指示の表示を推進することができる。
【００５９】
[0067]  ユーザインターフェース１０５と関わり合うユーザは、エンティティと関連している可能性がある追加の情報をさらに検討するようにする指示を選択することができる。このことが生じるとき、ローカルアプリケーション１０３は、アプリケーションサービス１１３に追加のエンティティを要求する。アプリケーションサービス１１３は、データソース１１５および可能性として別のデータソースから追加の情報を取り込む。追加の情報は、ローカルアプリケーション１０３による要求に応答して取り込まれ得るが、要求前に先を見越して、たとえば、エントリをエンティティと認識したことに応答して生じる場合もある。
【００６０】
[0068]  アプリケーションサービス１１３は、追加のエンティティをローカルアプリケーション１０３に提供する。ローカルアプリケーション１０３は、追加のエンティティをユーザインターフェース１０５に表示する。ユーザインターフェース１０５と関わり合うユーザは、追加のエンティティのうちの１つまたは複数を、ドキュメント１０７に含めるように選択することができる。選択は、ユーザインターフェース１０５によって、ローカルアプリケーション１０３に与えられ、ひいては、ローカルアプリケーション１０３は、選択をアプリケーションサービス１１３に伝える。次いで、アプリケーションサービス１１３は、追加のエンティティまたは複数の追加のエンティティをドキュメント１０７に含めることができる。いくつかのシナリオにおいては、アプリケーションサービス１１３は、追加のエンティティまたは複数の追加のエンティティをローカルアプリケーション１０３に戻し、それにより、ローカルアプリケーション１０３は、ドキュメント１０７にそれらを含めることができる。接続情報など、他の情報もまた戻され得、ローカルアプリケーション１０３は、その情報をそれを用いて再読込みすべきデータ接続を構築することが可能になる。
【００６１】
[0069]  本明細書に論じる向上したドキュメント生産性を実装するとき、様々な技術的効果が達成され得ることが図１〜図８の前述の議論から理解され得る。他の可能な便益の中でも特に、情報は、より容易に識別され、ドキュメントに含められてもよく、ドキュメント中にすでにある情報を補うことができる。そのようなツールは、テーブルまたは他のそのようなデータ集合を作成するのに必要な時間量を抑える可能性があることによってユーザエクスペリエンスを改善させる。
【００６２】
[0070]  図１を戻って参照すると、アプリケーションプラットフォーム１０１は、ローカルアプリケーション１０３をホストすること、およびドキュメントプロセス３００を採用することができる任意の物理または仮想コンピューティングシステム、デバイス、もしくはそれらの集合体を代表する。例には、限定はしないが、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、ハイブリッドコンピュータ、ゲーミングマシン、スマートテレビ、娯楽デバイス、Ｉｎｔｅｒｎｅｔ家電、および仮想マシン、ならびにそれらの任意の変形形態または組合せ形態が含まれ、それらを図９に例示されるコンピューティングシステム９０１が代表する。
【００６３】
[0071]  ローカルアプリケーション１０３は、ユーザインターフェース１０５を実装することができる任意のソフトウェアアプリケーション、モジュール、コンポーネント、またはそれらの集合体を代表する。例には、限定はしないが、ワード処理アプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーション、ウェブブラウザ、電子メールアプリケーション、ブロギングおよびマイクロブロギングアプリケーション、ソーシャルネットワーキングアプリケーション、電子商取引アプリケーション、およびゲーミングアプリケーション、ならびに任意の他のタイプの適切なアプリケーションが含まれる。ローカルアプリケーション１０３は、ブラウザアプリケーションの文脈で実行するブラウザベースのアプリケーションとすることができる。いくつかの実装形態においては、ローカルアプリケーション１０３は、ウェブページ、ウェブサイト、またはウェブサービスなどの文脈で、またはそれと関連して実行することができる。しかしながら、ローカルアプリケーション１０３はまた、ローカルでインストールされ、実行されるアプリケーションであっても、ストリーミングされるアプリケーションであっても、モバイルアプリケーションであっても、またはそれらの任意の組合せ形態もしくは変形形態であってもよい。ローカルアプリケーション１０３は、スタンドアロンアプリケーションとして実装されても、または複数のアプリケーションにわたって分散されてもよい。
【００６４】
[0072]  サービスプラットフォーム１１１は、アプリケーションサービス１１３のすべてもしくは一部分をホストすること、およびドキュメントプロセス２００のすべてもしくは一部分を実装することができる任意の物理または仮想コンピューティングシステム、デバイス、もしくはそれらの集合体を代表する。サービスプラットフォーム１１１の例には、限定はしないが、サーバコンピュータ、ウェブサーバ、アプリケーションサーバ、ラックサーバ、ブレードサーバ、仮想マシンサーバ、またはタワーサーバ、ならびに任意の他のタイプのコンピューティングシステムが含まれ、それらを図９に例示されるコンピューティングシステム９０１が代表する。いくつかのシナリオにおいては、サービスプラットフォーム１１１は、データセンタ、仮想データセンタ、または他の任意の適切な設備において実装可能である。
【００６５】
[0073]  アプリケーションサービス１１３は、ドキュメントプロセス２００を採用すること、およびローカルアプリケーション１０３にアプリケーションサービスを提供することができる任意のソフトウェアアプリケーション、モジュール、コンポーネント、またはそれらの集合体である。アプリケーションサービス１１３の例には、限定はしないが、Ｍｉｃｒｏｓｏｆｔ（登録商標）によるＯｆｆｉｃｅ３６５（登録商標）、およびＧｏｏｇｌｅ（登録商標）Ｄｏｃｓ、ならびに任意の他の適切なアプリケーションサービス、サービスの組合せ形態、またはそれらの変形形態が含まれる。
【００６６】
[0074]  図９は、本明細書に開示される様々な動作上のアーキテクチャ、シナリオ、および方法がその中に実装され得る任意のシステムまたはシステムの集合体を代表するコンピューティングシステム９０１を例示している。コンピューティングシステム９０１の例には、限定はしないが、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、ハイブリッドコンピュータ、ゲーミングマシン、仮想マシン、スマートテレビ、スマートウォッチ、および他のウェアラブルデバイス、ならびにそれらの任意の変形形態または組合せ形態が含まれる。他の例には、サーバコンピュータ、ラックサーバ、ウェブサーバ、クラウドコンピューティングプラットフォーム、およびデータセンタ機器、ならびに任意の他のタイプの物理または仮想サーバマシン、およびそれらの任意の変形形態または組合せ形態が含まれる。
【００６７】
[0075]  コンピューティングシステム９０１は、単一の装置、システム、もしくはデバイスとして実装されても、または複数の装置、システム、もしくはデバイスとして分散される方式で実装されてもよい。コンピューティングシステム９０１は、限定はしないが、処理システム９０２、ストレージシステム９０３、ソフトウェア９０５、通信インターフェースシステム９０７、およびユーザインターフェースシステム９０９を含む。処理システム９０２は、ストレージシステム９０３、通信インターフェースシステム９０７、およびユーザインターフェースシステム９０９と動作可能なように連結される。
【００６８】
[0076]  処理システム９０２は、ストレージシステム９０３からソフトウェア９０５をロードし、実行する。ソフトウェア９０５は、前述の実装形態に関して論じられるドキュメントプロセス２００およびドキュメントプロセス３００を代表する、ドキュメントプロセス９０６を少なくとも含む。ドキュメント生産性を向上させるように処理システム９０２によって実行されるとき、ソフトウェア９０５は、処理システム９０２に、前述の実装形態において論じられた少なくとも様々な方法、動作上のシナリオ、および順序について、本明細書に説明されるよう動作するように指図する。任意選択により、コンピューティングシステム９０１は、簡略にするために論じてはいない追加のデバイス、特徴、または機能を含むことができる。
【００６９】
[0077]  なおも図９を参照すると、処理システム９０２は、ストレージシステム９０３からソフトウェア９０５を取り込み、実行するマイクロプロセッサおよび他の回路機構を備えることができる。処理システム９０２は、単一の処理デバイス内で実装可能であるが、またプログラム命令を実行する際に協働する複数の処理デバイスまたはサブシステムにわたって分散されてもよい。処理システム９０２の例には、汎用中央処理ユニット、特定用途向けプロセッサ、および論理デバイス、ならびに任意の他のタイプの処理デバイス、それらの組合せ形態、または変形形態が含まれる。
【００７０】
[0078]  ストレージシステム９０３は、処理システム９０２によって読み取りできる、かつソフトウェア９０５を記憶することができる任意のコンピュータ可読ストレージ媒体を含むことができる。ストレージシステム９０３は、コンピュータ可読命令、データ構造体、プログラムモジュール、もしくは他のデータなどの情報を記憶するための任意の方法または技術において実装される揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含むことができる。ストレージ媒体の例には、ランダムアクセスメモリ、読取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または任意の他の適切なストレージ媒体が含まれる。いずれの事例においても、コンピュータ可読ストレージ媒体は、伝搬される信号ではない。
【００７１】
[0079]  コンピュータ可読ストレージ媒体に加えて、いくつかの実装形態においては、ストレージシステム９０３はまた、コンピュータ可読通信媒体を含むこともでき、このコンピュータ可読通信媒体を介して、ソフトウェア９０５の少なくとも一部が、内部的にまたは外部的に通信可能である。ストレージシステム９０３は、単一のストレージデバイスとして実装可能であるが、互いに対して共に配置され、もしくは分散される複数のストレージデバイスまたはサブシステムにわたっても実装可能である。ストレージシステム９０３は、処理システム９０２または可能性として他のシステムと通信することができるコントローラなどの追加の要素を備えることができる。
【００７２】
[0080]  ソフトウェア９０５は、プログラム命令において実装可能であり、他の機能の中でも特に、処理システム９０２によって実行されるとき、処理システム９０２に、本明細書に例示される様々な動作上のシナリオ、順序、および方法に関して説明されるよう動作するように指図することができる。たとえば、ソフトウェア９０５は、ドキュメントプロセス、ユーザインターフェース、およびそれらのそれぞれの機能を実装するためのプログラム命令を含むことができる。
【００７３】
[0081]  具体的には、プログラム命令は、本明細書に説明される様々な方法および動作上のシナリオを遂行するように協働する、もしくはそうでなければ対話する様々なコンポーネントまたはモジュールを含むことができる。様々なコンポーネントまたはモジュールは、コンパイル型もしくはインタープリタ型の命令、または命令の他の任意の変形形態もしくは組合せ形態で具現化され得る。様々なコンポーネントまたはモジュールは、同期もしくは非同期の方式で、逐次にもしくは並行して、単一のスレッド構成の環境もしくは複数のスレッド構成の環境で、または任意の他の適切な実行パラダイム、それらの変形形態、もしくは組合せ形態により実行され得る。ソフトウェア９０５は、ドキュメントプロセス９０６に加えて、もしくはドキュメントプロセス９０６を含むオペレーティングシステムソフトウェア、または他のアプリケーションソフトウェアなどの追加の方法、プログラム、あるいはコンポーネントを含むことができる。ソフトウェア９０５はまた、ファームウェア、または処理システム９０２によって実行できるマシン可読処理命令の他の任意の形態を含むことができる。
【００７４】
[0082]  概して、ソフトウェア９０５は、処理システム９０２内にロードされ、実行されるとき、適切な装置、システム、またはデバイス（それらをコンピューティングシステム９０１が代表する）を全体的に、汎用のコンピューティングシステムから、向上したドキュメント生産性を容易にするためにカスタマイズされた専用のコンピューティングシステムへと変換させることができる。実際、ストレージシステム９０３上の符号化ソフトウェア９０５は、ストレージシステム９０３の物理構造体を変換させることができる。物理構造体の固有の変換は、本明細書の相異なる実装形態における様々な因子によって左右されることがある。そのような因子の例には、限定はしないが、ストレージシステム９０３のストレージ媒体を実装するのに使用される技術、およびコンピュータストレージ媒体が、プライマリストレージとして、それともセカンダリストレージとして特徴付けられるのか、ならびに他の因子が含められ得る。
【００７５】
[0083]  たとえば、コンピュータ可読ストレージ媒体が、半導体ベースのメモリとして実装される場合、ソフトウェア９０５は、たとえば、トランジスタ、コンデンサ、または半導体メモリを構成する他の個別の回路要素の状態を変換することによって、プログラム命令がその中で符号化されるとき、半導体メモリの物理状態を変換することができる。類似する変換は、磁気媒体または光媒体に対して生じる場合がある。物理媒体の他の変換は、本明細書の範囲から逸脱することなく可能であり、前述の諸例は、本議論を容易にするためにのみ与えられているものにすぎない。
【００７６】
[0084]  一例として再度、図１を参照すると、コンピューティングシステム９０１が代表する、あるコンピューティングシステムまたは複数のコンピューティングシステムの動作を通じて、変換は、サービスアーキテクチャ１００、ならびに具体的には、ユーザインターフェース１０５およびドキュメント１０７に関して行うことができる。一例として、第１の状態のユーザインターフェース１０５は、ドキュメント１０７のプレゼンテーションを含む。エントリがエンティティとして認識されると、認識の指示が表示され、それによって、その状態が変更される。さらなる変換は、ユーザがエンティティをより掘り下げて検討することに決めたことに応答して、ビュー１０９が表示されるときに生じる。最終的には、ドキュメント１０７は、ドキュメント１０７に含める（書き込む）ためにエンティティがビュー１０９から選択されるときに変更される。
【００７７】
[0085]  コンピューティングシステム９０１が、概して、ソフトウェア９０５が、向上したドキュメント生産性を実装するためにその上に配備および実行され得るあるコンピューティングシステムまたは複数のコンピューティングシステムを表すように意図されていることは理解され得る。しかしながら、コンピューティングシステム９０１はまた、ソフトウェア９０５が、その上にステージされ得る任意のコンピューティングシステムとして適している場合があり、そこから、一方または両方が、配備および実行、またはさらなる追加的な分散のために、さらなる別のコンピューティングシステムへと、分散、トランスポート、ダウンロード、あるいはそうでなければ提供され得る。
【００７８】
[0086]通信インターフェースシステム９０７は、通信ネットワーク（図示せず）を経由して他のコンピューティングシステム（図示せず）と通信することを可能にする通信接続部およびデバイスを含むことができる。システム間通信を共に可能にする接続部およびデバイスの例には、ネットワークインターフェースカード、アンテナ、電力増幅器、ＲＦ回路機構、送受信機、および他の通信回路機構が含められ得る。接続およびデバイスは、金属、ガラス、エア、および任意の他の適切な通信媒体など、他のコンピューティングシステムまたはシステムのネットワークとの通信を交換するために、通信媒体を経由して通信することができる。前述の媒体、接続部、およびデバイスは、よく知られており、ここで詳しく論じる必要はない。
【００７９】
[0087]  ユーザインターフェースシステム９０９は、任意選択的であり、キーボード、マウス、音声入力デバイス、ユーザからのタッチジェスチャを受け取るためのタッチ入力デバイス、ユーザによる非タッチジェスチャおよび他のモーションを検出するためのモーション入力デバイス、ならびにユーザからユーザ入力を受け取ることができる他の相当する入力デバイスおよび関連の処理要素を含むことができる。ディスプレイ、スピーカ、触覚デバイス、および他のタイプの出力デバイスなどの出力デバイスもまた、ユーザインターフェースシステム９０９に含められ得る。いくつかの事例においては、入力デバイスおよび出力デバイスは、画像を表示することができ、タッチジェスチャを受け取ることができるディスプレイなど、単一のデバイスにおいて組合せ可能である。前述のユーザ入力デバイスおよび出力デバイスは、当技術分野においてよく知られており、ここで詳しく論じる必要はない。
【００８０】
[0088]  ユーザインターフェースシステム９０９はまた、上述の様々なユーザ入力デバイスおよび出力デバイスのサポートにおいて、処理システム９０２によって実行可能な関連のユーザインターフェースソフトウェアを含むことができる。分離して、または互いと、ならびに他のハードウェア要素およびソフトウェア要素と連動して、ユーザインターフェースソフトウェアおよびユーザインターフェースデバイスは、グラフィカルユーザインターフェース、ナチュラルユーザインターフェース、または任意の他のタイプのユーザインターフェースをサポートすることができる。たとえば、ユーザインターフェース１０５は、ユーザインターフェースシステム９０９を通じて提示され得る。同様に、ワークブック４０１に関して論じられた様々な段階４００、５０１、５０２、５０３、６００、および７００は、ユーザインターフェースシステム９０９を通じて提示され得る。加えて、ユーザインターフェース１０５に関して行われる、またはユーザエクスペリエンスに関して論じられたユーザ入力は、ユーザインターフェースシステム９０９を介して入力され得る。
【００８１】
[0089]  コンピューティングシステム９０１と他のコンピューティングシステム（図示せず）との間の通信は、ある通信ネットワークまたは複数の通信ネットワークを経由して、および様々な通信プロトコル、プロトコルの組合せ形態、またはそれらの変形形態により生じ得る。例には、イントラネット、インターネット、Ｉｎｔｅｒｎｅｔ、ローカルエリアネットワーク、ワイドエリアネットワーク、ワイヤレスネットワーク、ワイヤードネットワーク、仮想ネットワーク、ソフトウェア定義型ネットワーク、データセンタバス、コンピューティングバックプレーン、または任意の他のタイプのネットワーク、ネットワークの組合せ形態、もしくはそれらの変形形態が含まれる。前述の通信ネットワークおよびプロトコルは、よく知られており、ここで詳しく論じる必要はない。しかしながら、使用され得るいくつかの通信プロトコルには、限定はしないが、Ｉｎｔｅｒｎｅｔプロトコル（IP、IPv4、IPv6など）、転送制御プロトコル（TCP）、およびユーザデータグラムプロトコル（UDP）、ならびに任意の他の適切な通信プロトコル、それらの変形形態、または組合せ形態が含まれる。
【００８２】
[0090]  データ、コンテンツ、または任意の他のタイプの情報がその中で交換される前述の例のうちのいずれかにおいては、情報の交換は、ＦＴＰ（ファイル転送プロトコル）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、ＲＥＳＴ（表現状態転送）、ＷｅｂＳｏｃｋｅｔ、ＤＯＭ（Document Object Model:ドキュメントオブジェクトモデル）、ＨＴＭＬ（ハイパーテキストマークアップ言語）、ＣＳＳ（カスケーディングスタイルシート）、ＨＴＭＬ５、ＸＭＬ（拡張可能なマークアップ言語）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＪＳＯＮ（JavaScript Object Notation: JavaScriptオブジェクト表記法）、およびＡＪＡＸ（Asynchronous JavaScript and XML: 非同期JavaScriptとXML）、ならびに任意の他の適切なプロトコル、それらの変形形態、または組合せ形態を含む、多様なプロトコルのうちのいずれかにより生じ得る。
【００８３】
[0091]  図１〜図９は、比較的少ない動作上のシナリオおよび順序を大まかに描いているが、本明細書に開示される概念は、規模を拡大して、日常的に適用され得ることが理解され得る。たとえば、本明細書に開示されるアプリケーションサービスは、任意の数のローカルアプリケーションおよび任意の数のドキュメントのサポートにおいて配備され得る。
【００８４】
[0092]  ドキュメント生産性を向上させるようにアプリケーションサービスを動作させる方法は、アプリケーションサービスによってホストされるドキュメント内の複数のエントリを検証して、ドキュメントの外部にある複数の追加のエンティティのうちの少なくとも１つに関係している可能性がある、エンティティとして認識できる少なくとも１つのエントリを識別することを含むことが、前述から理解され得る。この方法はまた、ドキュメントに含める可能性のために、アプリケーションサービスへのユーザインターフェースに表示する複数の追加のエンティティの少なくとも１つのサブセットを識別することと、ユーザインターフェースを介して受け取った複数の追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、エントリに関連してドキュメントに追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティを含めることとを含む。
【００８５】
[0093]  方法は、ドキュメントの外部にある複数の追加のエンティティのうちの少なくとも１つの後続の追加のエンティティに関係している可能性がある、後続のエンティティとして認識できる後続のエントリを識別することに応答して、エンティティと、複数の追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティとに関して確立された関連性のパターンに少なくとも一部基づいて、複数の追加のエンティティのうちの後続の追加のエンティティを識別することと、後続のエントリに関連してドキュメントに追加のエンティティのサブセットのうちの少なくとも後続の追加のエンティティを含めることとをさらに含むことができる。
【００８６】
[0094]  装置が、ドキュメント生産性を向上させるための１つまたは複数のコンピュータ可読ストレージ媒体および１つまたは複数のコンピュータ可読ストレージ媒体において記憶されたプログラム命令を含むことができることもやはり、前述から理解され得る。プログラム命令は、処理システムによって実行されるとき、処理システムに、複数のエントリを含むドキュメントをホストするアプリケーションサービスへのユーザインターフェースに、ドキュメントの外部にある複数の追加のエンティティのうちの少なくとも１つに関係している可能性があるエンティティとして認識された複数のエントリのうちの少なくとも１つのエントリを検討するための選択肢を表示することを少なくとも行うように指図することができる。プログラム命令は、処理システムに、選択肢の選択に応答して、ドキュメントに含める可能性のために、識別された複数の追加のエンティティの少なくとも１つのサブセットを表示すること、およびユーザインターフェースを介して受け取った複数の追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、ドキュメントに追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティを含めるようにアプリケーションサービスに要求を伝えることを行うようにさらに指図することができる。いくつかの実装形態においては、装置は、プログラム命令を実行するように構成された処理システムを含むことができる。
【００８７】
[0095]  特定の実装形態においては、１つまたは複数のコンピュータ可読ストレージ媒体は、ドキュメント生産性を向上させるためのプログラム命令を記憶させることができ、このプログラム命令は、処理システムによって実行されるとき、処理システムに、ドキュメントの中の複数のエントリを検証して、ドキュメントの外部にある複数の追加のエンティティのうちの少なくとも１つに関係している可能性がある、エンティティとして認識できる少なくとも１つのエントリを識別することを少なくとも行うように指図する。プログラム命令は、処理システムに、エントリが認識されたという指示をユーザインターフェースに表示することを行うようにさらに指図することができる。指示に関して行われるユーザインターフェースとの対話に応答して、プログラム命令の指図の下、処理システムは、複数の追加のエンティティの少なくとも１つのサブセットを識別し、ドキュメントに含める可能性のために、ユーザインターフェースに表示することができる。処理システムはまた、プログラム命令の指図の下、およびユーザインターフェースを介して受け取った複数の追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティの選択に応答して、エントリに関連してドキュメントに追加のエンティティのサブセットのうちの少なくとも１つの追加のエンティティを含めることができる。
【００８８】
[0096]  諸図に与えられた機能的ブロック略図、動作上のシナリオおよび順序、ならびにフロー略図は、本開示の新規態様を行うための例示的なシステム、環境、および方法論を代表するものである。説明を簡単にするために、本明細書に含まれた方法は、機能的略図、動作上のシナリオもしくは順序、またはフロー略図の形態とすることができ、一連の行為として説明され得るが、方法は、いくつかの行為が、それにより、本明細書に示され、説明される行為とは異なる順番でおよび／または他の行為と同時に生じ得るように、行為の順番によって限定されないことを了解および理解されたい。たとえば、当業者は、方法が、代替として、たとえば状態略図の中の一連の相互に関係する状態または事象として表すことができ得ることを了解し、理解するであろう。その上、方法論に例示されるすべての行為が、新規実装形態に必要であるとは限らない場合もある。
【００８９】
[0097]  本明細書に含まれた説明および図は、最良の選択肢をいかに作成し、使用すべきであるかについて当業者に教示するために、具体的な実装形態を示している。発明的原理を教示する目的として、いくつかの従来の態様が簡略化され、または省略されている。当業者は、本発明の範囲内に入るこれらの実装形態から変形形態を理解するであろう。当業者はまた、上述の特徴が、複数の実装形態を形成するために、様々なやり方で組合せ可能であることも理解するであろう。結果として、本発明は、上述の具体的な実装形態に限定されるものではなく、ただし、特許請求の範囲およびその等価物によってのみ限定される。
【図１】
2017527879.tif 000003
【図２】
2017527879.tif 000004
【図３】
2017527879.tif 000005
【図４】
2017527879.tif 000006
【図５Ａ】
2017527879.tif 000007
【図５Ｂ】
2017527879.tif 000008
【図５Ｃ】
2017527879.tif 000009
【図６】
2017527879.tif 000010
【図７】
2017527879.tif 000011
【図８】
2017527879.tif 000012
【図９】
2017527879.tif 000013
【国際調査報告】
2017527879.tif 000014
2017527879.tif 000015
2017527879.tif 000016