(57)【特許請求の範囲】
【請求項１】
支援付きフォーム入力を容易にするコンピュータにより実行するシステムにおいて、
タグなしテキスト情報を受け取る制御コンポーネントと、
前記タグなしテキスト情報を解析することで１または複数の識別した要素を、フォームの複数の所定のフィールドの情報の条件の一部に基づいて挿入するフィールドの位置を見つけ、該１または複数の識別した要素を前記フォームのそれぞれのフィールド内に自動挿入することで、前記フォームの前記複数のフィールドに配置し、それにより前記フォーム内に、その少なくとも１つの人物、あるいはエンティティ、あるいはそれらの組み合わせに関連する情報の入力を容易にし、前記複数のフィールドの少なくとも１つのフィールド内の情報の訂正後に、該訂正の情報に基づいて前記タグなしテキスト情報を再解析し、それにより少なくとも前記訂正した情報と関連する他の１つの所定のフィールド内へ前記情報の訂正を伝搬することで、前記タグなしテキスト情報内の情報の少なくとも１つの他の識別した要素の前記所定のフィールドへの位置付け、または該位置付けの訂正を容易にし、かつ前記訂正した情報の一部に基づいて前記フォームの少なくとも１つの他の所定のフィールド内に、前記少なくとも１つの他の識別した要素を自動挿入する解析コンポーネントと、
前記タグなしテキスト情報および前記フォームを同居して表示する表示コンポーネントと
を備えたことを特徴とするシステム。
【請求項２】
前記解析コンポーネントが、前記タグなしテキスト情報の少なくとも一部に基づく、前記フォームのそれぞれのフィールドに１又は複数の前記識別された要素の挿入に関する推論を行う人工知能コンポーネントを備えていることを特徴とする請求項１に記載のシステム。
【請求項３】
前記人工知能コンポーネントが、隠れマルコフモデルを用いて、前記１または複数の識別した要素が挿入できる、前記フォームの前記複数のフィールド内の適切なフィールドを決定することを特徴とする請求項２に記載のシステム。
【請求項４】
前記表示コンポーネントが、色を用いて、前記タグなしテキスト情報内の少なくとも１つの識別した要素と、前記フォーム内の複数のフィールドの少なくとも１つのフィールドとの間の相互関係を示すことを特徴とする請求項１に記載のシステム。
【請求項５】
支援付きフォーム入力を容易にするコンピュータにより実行するシステムにおいて、
タグなしテキスト情報を受け取る制御コンポーネントと、
前記タグなしテキスト情報を解析することで１または複数の識別した要素を、フォームの複数の所定のフィールドの情報の条件の一部に基づいて挿入する前記フィールドの位置を見つけ、該１または複数の識別した要素を前記フォームのそれぞれのフィールド内に自動挿入することで、前記フォームの前記複数のフィールドに配置し、それにより前記フォーム内に、その少なくとも１つの人物、あるいはエンティティ、あるいはそれらの組み合わせに関連する情報の入力を容易にし、前記複数のフィールドの少なくとも１つのフィールド内の情報の訂正後に、該訂正の情報に基づいて前記タグなしテキスト情報を再解析し、それにより少なくとも前記訂正した情報と関連する他の１つの所定のフィールド内へ前記情報の訂正を伝搬することで、前記タグなしテキスト情報内の情報の少なくとも１つの他の識別した要素の前記所定のフィールドへの位置付け、または該位置付けの訂正を容易にし、かつ前記訂正した情報の一部に基づいて前記フォームの少なくとも１つの他の所定のフィールド内に、前記少なくとも１つの他の識別した要素を自動挿入する解析コンポーネントと、
前記タグなしテキスト情報および前記フォームを同居して表示する表示コンポーネントと、
前記フォーム内の複数のフィールドの少なくとも１つのフィールドに関連づけられた、ユーザがフィールドに対して操作をしていないこと、または、フィールドの情報の確認、訂正、および／又は入力をしたことを表す状態レベルを示す少なくとも１つの状態インジケータと、
を備えたことを特徴とするシステム。
【請求項６】
前記少なくとも１つの状態インジケータが、前記フォーム内の前記複数のフィールドの少なくとも１つのフィールドの前記状態レベルを示すカラーコードに従って色付けされることを特徴とする請求項５に記載のシステム。
【請求項７】
支援付きフォームのファイリングのためのコンピュータにより実行する方法において、
受信手段が、タグなしメディアを受け取るステップと、
プロセッサが、前記タグなしメディアを解析して、フォーム内の複数の所定のフィールドの情報の条件の一部に基づいて、１また複数の要素を識別するステップと、  
前記プロセッサが、前記１または複数の要素と関連した前記タグなしメディアをターゲットメディア内に転送するステップと、
前記プロセッサが、前記フォームの前記複数のフィールドの対応するフィールド内に、識別した前記１または複数の要素を自動記入することで前記フォーム内に情報の入力を容易にするステップと、
前記プロセッサが、前記フォームの前記複数の少なくとも１つのフィールドに関連した少なくとも１つの情報の訂正を受け取り、該プロセッサによって該少なくとも１つの情報の訂正が前記少なくとも１つのフィールドに記入されるステップと、
前記プロセッサが、前記少なくとも１つの情報の訂正を記憶手段内に補助情報として格納するステップと、
前記プロセッサが、前記複数の所定のフィールドの少なくとも１つの所定のフィールドに関連する前記少なくとも１つの情報の訂正後に、前記タグなしメディアと前記補助情報を再解析して該補助情報に基づいて少なくとも１つの他の要素を識別しなおし、該識別しなおした他の要素を前記複数の所定のフィールドの対応する少なくとも１つの他の所定のフィールド内に自動記入し、それにより前記少なくとも１つの所定のフィールド内の前記少なくとも１つの情報の訂正を前記少なくとも１つの他の所定のフィールドへ伝搬することで、前記少なくとも１つの他の所定のフィールドの情報の条件と前記少なくとも１つの情報の訂正の一部に基づいた前記フォーム内の前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にするステップと、
前記プロセッサが、表示手段上にユーザに対して前記タグなしメディアおよび前記フォームを表示するステップと
を含むことを特徴とする方法。
【請求項８】
前記プロセッサが、色を使用して、前記タグなしメディア内のある要素が前記フォーム内の特定のフィールドと関連があることを示すステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記プロセッサが、少なくとも１つの隠れマルコフモデルを使用して、ある要素を記入することができる適切なフィールドを決定するステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項１０】
支援付きフォームのファイリングのためのコンピュータにより実行する方法において、
受信手段が、タグなしメディアを受け取るステップと、
プロセッサが、前記タグなしメディアを解析して、フォーム内の複数の所定のフィールドの情報の条件の一部に基づいて、１また複数の要素を識別するステップと、  
前記プロセッサが、前記１または複数の要素と関連した前記タグなしメディアをターゲットメディア内に転送するステップと、
前記プロセッサが、前記フォームの前記複数のフィールドの対応するフィールド内に、識別した前記１または複数の要素を自動記入することで前記フォーム内に情報の入力を容易にするステップと、
前記プロセッサが、前記フォームの前記複数の少なくとも１つのフィールドに関連した少なくとも１つの情報の訂正を受け取り、該プロセッサによって該少なくとも１つの情報の訂正が前記少なくとも１つのフィールドに記入されるステップと、
前記プロセッサが、前記少なくとも１つの情報の訂正を記憶手段内に補助情報として格納するステップと、
前記プロセッサが、前記複数の所定のフィールドの少なくとも１つの所定のフィールドに関連する前記少なくとも１つの情報の訂正後に、前記タグなしメディアと前記補助情報を再解析して該補助情報に基づいて少なくとも１つの他の要素を識別しなおし、該識別しなおした他の要素を前記複数の所定のフィールドの対応する少なくとも１つの他の所定のフィールド内に自動記入し、それにより前記少なくとも１つの所定のフィールド内の前記少なくとも１つの情報の訂正を前記少なくとも１つの他の所定のフィールドへ伝搬することで、前記少なくとも１つの他の所定のフィールドの情報の条件と前記少なくとも１つの情報の訂正の一部に基づいた前記フォーム内の前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にするステップと、
前記プロセッサが、表示手段上にユーザに対して前記タグなしメディアおよび前記フォームを表示するステップと、
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールド内の少なくとも１つ又は複数の要素に関連づけられた、ユーザがフィールドに対して操作をしていないこと、または、フィールドの情報の確認、訂正、および／又は入力をしたことを表す状態レベルを示すステップと
を含むことを特徴とする方法。
【請求項１１】
支援付きフォームのファイリングのためのコンピュータにより実行する方法において、
受信手段が、タグなしメディアを受け取るステップと、
プロセッサが、前記タグなしメディアを解析して、フォーム内の複数の所定のフィールドの情報の条件の一部に基づいて、１また複数の要素を識別するステップと、  
前記プロセッサが、前記１または複数の要素と関連した前記タグなしメディアをターゲットメディア内に転送するステップと、
前記プロセッサが、前記フォームの前記複数のフィールドの対応するフィールド内に、識別した前記１または複数の要素を自動記入することで前記フォーム内に情報の入力を容易にするステップと、
前記プロセッサが、前記フォームの前記複数の少なくとも１つのフィールドに関連した少なくとも１つの情報の訂正を受け取り、該プロセッサによって該少なくとも１つの情報の訂正が前記少なくとも１つのフィールドに記入されるステップと、
前記プロセッサが、前記少なくとも１つの情報の訂正を記憶手段内に補助情報として格納するステップと、
前記プロセッサが、前記複数の所定のフィールドの少なくとも１つの所定フィールドに関連する前記少なくとも１つの情報の訂正後に、前記タグなしメディアと前記補助情報を再解析して該補助情報に基づいて少なくとも１つの他の要素を識別しなおし、該識別しなおした他の要素を前記複数の所定のフィールドの対応する少なくとも１つの他の所定フィールド内に自動記入し、それにより前記少なくとも１つの所定のフィールド内の前記少なくとも１つの情報の訂正を前記少なくとも１つの他の所定フィールドへ伝搬することで、前記少なくとも１つの他の所定のフィールドの情報の条件と前記少なくとも１つの情報の訂正の一部に基づいた前記フォーム内の前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にするステップと、
前記プロセッサが、表示手段上にユーザに対して前記タグなしメディアおよび前記フォームを表示するステップと、
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールド内の少なくとも１つまたは複数の要素に関連づけられた、ユーザがフィールドに対して操作をしていないこと、または、フィールドの情報の確認、訂正、および／又は入力をしたことを表す状態レベルを表示するステップと、
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールド内の少なくとも１つまたは複数の要素に関連づけられた前記状態レベルが所望のレベルより低い場合に、前記複数のフィールドの少なくとも１つのフィールド内の少なくとも前記１つまたは複数の要素の確認または訂正を前記ユーザに促すステップと
を含むことを特徴とする方法。
【請求項１２】
前記プロセッサが、前記複数のフィールドの前記少なくとも１つのフィールド内の前記少なくとも１つ又は複数の要素の少なくとも１つのユーザ確認またはユーザ訂正に従って、前記フォームを更新するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記プロセッサが、前記複数の要素の前記少なくとも１つの要素のユーザ確認またはユーザ訂正に少なくとも一部基づいて、前記少なくとも１つ又は複数の要素に関連づけられた前記状態レベルをアップグレードするステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記プロセッサが、異なる色を用いて異なる前記状態レベルを示すステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記プロセッサが、追加的な解析は必要ないと判断した場合に、前記フォームをデータ記憶部に記憶するステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項１６】
ユーザによるフォームの入力を支援するためのコンピュータにより実行する方法において、
プロセッサが、タグなしメディア記憶部内にタグなしメディアを読み込むステップと、
前記プロセッサが、補助情報記憶部内に補助情報を読み込むステップと、
前記プロセッサが、タグなしメディアを解析して、フォーム内の複数の所定のフィールドの情報の条件の一部に基づいて情報の１または複数の要素を識別し、前記フォーム内に情報の入力を容易にするステップと、
前記プロセッサが、前記フォーム上の対応するフィールドに前記１または複数の要素の各々を自動挿入することで前記フォームの複数のフィールドを入力するステップと、
前記プロセッサが、前記複数の所定のフィールドの少なくとも１つの所定のフィールドの要素に関連する情報の訂正後に、該訂正の情報に基づいて前記タグなしメディアを再解析して、それにより少なくとも情報の他の１つの要素を識別しなおし、該識別しなおした要素を前記フォームの少なくとも１つの他の所定のフィールド内に自動挿入し、それにより前記訂正した情報と関連する他の少なくとも１つの所定のフィールドに、前記少なくとも１つの所定のフィールド内の情報の訂正を伝搬することで、前記訂正した情報の一部に基づいて前記フォームの前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にするステップと、
前記プロセッサが、前記１または複数の要素をフォームデータ記憶部に書き込むステップと、
前記プロセッサが、前記１または複数の要素を、フォームグラフィカルユーザインタフェースのフィールド内に表示するステップと
を含むことを特徴とする方法。
【請求項１７】
前記プロセッサが、前記タグなしメディアを、視覚的インジケータとともにタグなしメディアグラフィカルユーザインタフェースに表示するステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記視覚的インジケータが、前記タグなしメディアグラフィカルユーザインタフェース内の少なくとも１つまたは複数の要素と、前記フォーム内の複数のフィールドの少なくとも１つのフィールドとの相互関係を示す色であることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記プロセッサが、所与のフィールドに入力する要素に関連づけられた信頼度レベルを示すステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
異なる前記信頼度レベルが異なる色によって示されることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールドが少なくとも１つのエラーを含む場合に、前記フォーム内の前記複数のフィールドの少なくとも１つのフィールドをユーザに訂正を促すステップをさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記プロセッサが、前記フォーム内の前記複数のフィールドの少なくとも１つのフィールドの訂正から集められた情報を前記補助情報記憶部に追加するステップをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールドの訂正を前記複数のフィールドの少なくとも１つの他のフィールドに伝搬させるために、前記複数のフィールドの少なくとも１つのフィールドの訂正から集められた情報の追加後に、該集められた情報を基に前記タグなしメディアを再解析するステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールド内の少なくとも１つの要素が正しいかの確認をユーザに促すステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２５】
前記プロセッサが、前記フォーム内の前記複数のフィールドの少なくとも１つのフィールドの確認から集められた情報を前記補助情報記憶部に追加するステップをさらに含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記プロセッサが、前記複数のフィールドの少なくとも１つのフィールドの訂正を前記複数のフィールドの少なくとも１つの他のフィールドに伝搬させるために、前記複数のフィールドの少なくとも１つのフィールドの確認から集められた情報の追加後に、該集められた情報を基に前記タグなしメディアを再解析するステップをさらに含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記プロセッサが、追加的な解析は必要でないと判断した場合に、前記フォームデータ記憶部の内容をファイルに書き込むステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２８】
フォームのファイリングにおけるエラーおよび必要な時間を低減するためのコンピュータにより実行するシステムにおいて、
タグなしメディア入力を受け取る手段と、
フォームの複数のフィールドの情報の条件の一部に基づいて前記タグなしメディアを解析する手段であって、前記複数の所定のフィールドの少なくとも１つの所定のフィールド内の情報の訂正後に、該訂正の情報に基づいて前記タグなしメディアを再解析し、それにより少なくとも１つの所定のフィールド内の情報の訂正を該訂正した情報と関連する少なくとも１つの他の所定のフィールドへ伝搬するのを円滑にすることで、前記訂正された情報の一部に基づいて前記フォームの前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にする、タグなしメディアを解析する手段と、
対応する解析されたタグなしメディアを前記フォームの複数の所定のフィールドに自動入力することで、前記フォーム内に、その少なくとも１つの人物、あるいはエンティティ、あるいはそれらの組み合わせに関連する情報の入力を容易にする手段であって、  前記訂正された情報の一部に基づいて、対応する再解析されたタグなしメディアを前記少なくとも他のフィールドに入力する手段と、
そのようにして入力されたタグなしメディアおよび前記フォームを同時に表示する手段と
を備えたことを特徴とするシステム。
【請求項２９】
フォームのファイリングにおけるエラーおよび必要な時間を低減するためのコンピュータにより実行するシステムにおいて、
タグなしメディア入力を受け取る手段と、
フォームの複数のフィールドの情報の条件の一部に基づいて前記タグなしメディアを解析する手段であって、前記複数の所定のフィールドの少なくとも１つの所定のフィールド内の情報の訂正後に、該訂正の情報に基づいて前記タグなしメディアを再解析し、それにより少なくとも１つの所定のフィールド内の情報の訂正を該訂正した情報と関連する少なくとも１つの他の所定のフィールドへ伝搬するのを円滑にすることで、前記訂正された情報の一部に基づいて前記フォームの前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にする、タグなしメディアを解析する手段と、
対応する解析されたタグなしメディアを前記フォームの複数の所定のフィールドに自動入力することで、前記フォーム内に、その少なくとも１つの人物、あるいはエンティティ、あるいはそれらの組み合わせに関連する情報の入力を容易にする手段であって、前記訂正された情報の一部に基づいて、対応する再解析されたタグなしメディアを前記少なくとも他のフィールドに入力する手段と、
そのようにして入力されたタグなしメディアおよび前記フォームを同時に表示する手段と、
前記フォーム内の少なくとも１つのフィールドに関連づけられた、ユーザがフィールドに対して操作をしていないこと、または、フィールドの情報の確認、訂正、および／又は入力をしたことを表す状態レベルを示す手段と
を備えたことを特徴とするシステム。
【請求項３０】
前記フォーム内の少なくとも１つのフィールドを訂正または確認の少なくとも１つをさせるための手段をさらに備えたことを特徴とする請求項２８に記載のシステム。
【請求項３１】
解析されたタグなしメディア要素と前記フォーム内のフィールドとの間の相互関係を示す手段をさらに備えたことを特徴とする請求項２８に記載のシステム。
【請求項３２】
受信手段によりタグなしメディアを受け取り、
プロセッサにより、前記タグなしメディアを解析することでフォーム内の複数の所定のフィールドの情報の条件の一部に基づいて要素を識別し、
前記プロセッサにより、前記識別された要素をフォーム内の対応するフィールドに自動入力することで、前記フォーム内に、その少なくとも１つの人物、あるいはエンティティ、あるいはそれらの組み合わせに関連する情報の入力を容易にし、
前記プロセッサにより、前記フォーム内の入力されたフィールド関連づけられた、ユーザがフィールドに対して操作をしていないこと、または、フィールドの情報の確認、訂正、および／又は入力をしたことを表す状態レベルを表示し、
前記プロセッサにより、前記フォーム内のフィールドの要素の訂正および／または確認をユーザに促し、
前記プロセッサにより、前記複数の所定のフィールドの少なくとも１つの所定のフィールド内の要素関連する情報の訂正後に、該訂正の情報に基づいて前記タグなしメディアを再解析することで、少なくとも１つの他の要素を識別しなおし、該識別しなおした他の要素を少なくとも１つの他の所定のフィールド内に自動入力し、それにより前記少なくとも１つの所定のフィールド内に対して前記情報の訂正を伝搬することで、前記訂正された情報一部基づいて前記フォームの前記他の所定のフィールドへの前記他の要素の位置付け、または該位置付けの訂正を容易にする
ためのコンピュータ実行可能命令を格納したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはコンピュータに関し、より詳細には、コンピュータフォームの仕上げ（completion）を容易にするシステムおよび方法に関する。
【背景技術】
【０００２】
高コスト・低パフォーマンスのデータ処理システムから、低コスト・高パフォーマンスの通信システム、問題解決システムおよび娯楽システムへとコンピュータおよびネットワーキング技術が発展したことにより、連絡、支払い、買い物、予算編成および情報収集のような日常業務を実行する負担を軽減させるような、費用対効果が高く時間節約的手段が得られている。例えば、有線技術あるいは無線技術によりインターネットに接続されたコンピューティングシステムは、世界中に存在するウェブサイトおよびサーバのリポジトリ（データベース）からの豊富な情報に、ユーザの意のままに、ほぼ瞬時にアクセスするためのチャネルをユーザに提供することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
最近の研究によれば、約７０００万人の就業者（米国の成人就業者の５９％）が、自己の職務の一部として定期的にフォーム（form:雛形、テンプレート）への記入をしている。その７０００万人の就業者のうち、少なくとも２５％は定期的に（例えばコンピュータ上で）電子フォームへの入力をしており、その割合は日々増大している。このように、コンピュータモニタ上に表示されたフォームへのデータ入力は、非常に一般的な活動である。フォーム入力は退屈で、時間がかかり、極めてヒューマンエラー（人為的ミス）を起こしやすくなり得る。したがって、当技術分野においては、より迅速で、より正確なフォーム入力（form filling）を容易にするシステムおよび方法に対して、いまだ満たされていないという要求がある。
【課題を解決するための手段】
【０００４】
以下で、本発明の諸態様の基本的理解を可能にするために、本発明の簡単な概要を提示する。この概要は、本発明の包括的な概観ではない。この概要は、本発明の主要な要素を特定することも、本発明の範囲を明確にすることも意図していない。その唯一の目的は、後で提示するさらに詳細な説明の前置きとして、簡単な形で本発明のいくつかの概念を提示することである。
【０００５】
本発明は、タグなしテキストフォーマット（例えば、電子メール、ウェブページ、および／または他のコンピュータ可読フォーマットにおけるテキスト）で入手可能なデータを利用することを通じて、ユーザによるコンピュータフォームへの迅速な入力を支援しやすくするシステムおよび方法を提供する。本発明の一態様によれば、ユーザは、タグ(決められた書式で命令やデータ型を挟むもの)なしテキストを、例えばユーザが受信した電子メールから選択できる。このようなタグなしテキストは、タグなしメディアグラフィカルユーザインタフェース（ＧＵＩ）におけるテキストボックス内でユーザに対して表示され、それを解析する（parse）ことにより、フォーム内のフィールドへの入力においてユーザにとって潜在的関心のある要素を識別できる。例えば、電子メールが、人物、都市、州等の名称のような項目を含む場合、これらの名称を、潜在的関心のある要素として識別できる。また、これらの名称を、フォームＧＵＩを通じてユーザに対して表示されるフォーム内のそれらに対応するフィールド(欄)に配置できる。フォームＧＵＩおよびタグなしメディアＧＵＩは、並行してユーザに対して表示することができる。
【０００６】
本発明の別の態様によれば、ユーザは、識別された要素が、フォーム内のそれらに対応するフィールドに正確に挿入されていることを確認できる。例えば、カラー表示を用いて、特定の要素とフォーム内の特定のフィールドとの間の相互関係を示すことができる。例として、連絡先リストへの入力の際に、名(first name)であると認識されるタグなしテキストを青色で強調表示し、フォーム内の対応する「first name」フィールドを青色でユーザに提示できる。強調表示された名をユーザがfirst nameフィールドにドラッグアンドドロップしてもよく、あるいはより効率的には、システムが名をそのフィールドに自動挿入してもよい。
【０００７】
本発明の一関連態様によれば、誤配置されているかもしれない情報についてユーザの注意を促すために、状態インジケータ（状態標識）をフォーム内の各フィールドに関連づけることができる。このようにして、ユーザは、識別された要素が正しいフィールドに適切に挿入されていることを確認できる。例えば、「Lincoln」という要素は、「last name」（姓）フィールドに挿入できるが、「city」（都市）フィールドに挿入することもできる。名称「Lincoln」が挿入されるフィールドに隣接する状態インジケータは、フィールドへの挿入の正確さについて確認が必要であることをユーザに知らせることができる。また、状態インジケータは、色を用いて、フィールド情報の状態（例えば、ユーザによる確認、再検討等の重要度）を視覚的にユーザに知らせることができる。
【０００８】
本発明のさらに別の態様によれば、人工知能技法および／またはフィードバック／フィードフォワード情報を用いて、フォームフィールドに自動挿入される要素の信頼度レベルを高めやすくすることができる。例えば、隠れマルコフ（Markov）モデルは、隠れ確率変数および観測確率変数の両方を使用する一種の確率モデルである。このようなモデルを用いて、本発明のシステムおよび方法がフォームフィールドにタグなしメディア要素を挿入する際の効率を高めることができる。このようにして、ユーザの関与を、入力済みフォームの保存および印刷の前にフォーム内の情報が正しいことを確認することのみに減らせる可能性がある。
【０００９】
本発明のさらに別の態様によれば、訂正伝搬(correction propagation)を用いることにより、ユーザによる単一フィールドの訂正の少なくとも部分的に基づいて、種々の情報フィールドを訂正しやすくすることができる。例えば、正しいと確認された情報および／またはユーザによって訂正された情報を評価することにより、他の情報が所与のフィールドに正しく割り当てられているかどうかに関する推論を容易にすることができる。このようにして、あるフィールドエントリ（欄の記入事項）の訂正が他のフィールドに伝搬する。
【００１０】
上記の目的および関連する目的を達成するための、本発明のいくつかの例示的態様が、以下の説明および添付図面に関連して本明細書に記載されている。しかし、これらの態様は、本発明の原理が使用され得る種々のやり方のほんのわずかを示しているに過ぎず、本発明は、すべてのこのような態様およびそれに均等な態様を包含することを意図している。本発明のその他の利点および新規な特徴は、以下に記載する本発明の詳細な説明を図面とともに考慮すれば明らかとなるであろう。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明を説明する。図中、全体を通じて、同一参照番号は同一要素を指すために用いられる。以下の記載では、説明の目的上、本発明を十分に理解してもらうために、数多くの具体的詳細が記載される。しかし、明らかなように、本発明は、これらの具体的詳細がなくても実施し得る。他の場合には、本発明を説明しやすくするために、周知の構造および装置がブロック図形式で示される。
【００１２】
本明細書で用いる場合、「コンポーネント」という用語は、コンピュータ関連のエンティティを指すことを意図しており、それがハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、あるいは実行中のソフトウェアのいずれであるかを問わない。例えば、コンポーネントとしては、以下のものに限定されないが、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータが挙げられる。実例として、サーバ上で実行中のアプリケーションおよびサーバの両方がコンピュータコンポーネントとなり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッドの内部に存在してもよく、コンポーネントは１つのコンピュータ上に局在しても、２つ以上のコンピュータに分散してもよい。「スレッド」とは、オペレーティングシステムカーネルが実行をスケジューリングするプロセス内のエンティティである。当技術分野で周知のように、各スレッドは、当該スレッドの実行に関連づけられた揮発性データである関連する「コンテクスト」を有する。スレッドのコンテクストは、システムレジスタの内容と、そのスレッドのプロセスに属する仮想アドレスを含む。したがって、スレッドのコンテクストを構成する実データは、それが実行されるたびに異なる。
【００１３】
本明細書で用いる場合、「推論」という用語は一般に、システム、環境、および／またはユーザの状態を、イベントおよび／またはデータを通じて捕捉される観測量の集合から推理あるいは推論するプロセスを指す。推論を用いることにより、例えば、特定のコンテクストまたはアクションを識別することや、状態に関する確率分布を生成することができる。推論は確率的であってもよい。すなわち、データおよびイベントの考慮に基づいた、対象となる状態に関する確率分布の計算であってもよい。推論は、イベントおよび／またはデータの集合から、より高レベルのイベントを構成するために用いられる技法を指すこともある。このような推論の結果、イベントが時間的に近接した相互関係にあるか、また、イベントおよびデータの出所であるイベントおよびデータのソースが１つまたは複数のいずれであるかにかかわらず、観測されたイベントおよび／または記憶されたイベントデータの集合から、新たなイベントまたはアクションが構成される。
【００１４】
最近の研究によれば、約７０００万人の就業者（米国の成人就業者の５９％）が、自己の職務の一部として定期的にフォームへの記入をしている。その７０００万人の就業者のうち、少なくとも２５％は定期的に（例えばコンピュータ上で）電子フォームへの入力をしており、その割合は日々増大している。このように、コンピュータモニタ上に表示されたフォームへのデータ入力は、非常に一般的な活動である。フォーム入力は退屈で、時間がかかり、極めてヒューマンエラーを起こしやすくなり得る。多くの場合、フォームのフィールドへの入力のために用いられるデータは、テキスト文書、電子メール、および／またはウェブページのようなコンピュータ可読フォーマットで直ちに入手可能である。しかし、このようなデータから関連情報を識別し抽出（例えば、解析）するための技法はたいてい信頼できないので、データベースに直接入力したり、メタデータを追加したりするにはあまり適さない。例えば、自然言語処理技法および／または他の人工知能（ＡＩ）技法は、名前、住所、電話番号等のような、コンピュータ可読文書内の特定の種類の情報要素を識別できるが、このような方法ではエラーが生じる。本発明によれば、ユーザは、従来のシステムおよび方法によって可能であるよりも迅速に電子フォームにデータを入力できる。さらに、本発明によれば、タグなしコンピュータ可読データが入手可能である場合に、信頼できない解析技術の利用を許容し、パーサで生じたエラーをユーザが視覚的に確認し訂正することを可能にすることによって、ユーザは情報を効率的に入力することができる。
【００１５】
図１は、電子フォームに対する支援付きフォーム（assisted form:補助フォーム、操作援助付きフォーム、アシストフォーム）への入力（filing）を容易にするシステム１００の図である。図示のように、タグなしデータをタグ付きデータ（例えば、ＸＭＬ書式化データ等）に、あるいはデータベースに変換することによって、ユーザによるフォーム入力を支援するために、フォーム入力インタフェース（ＦＦＩ）１０２がユーザに提示される。ＦＦＩ１０２（本明細書において「画面」ともいう）は、フォームデータグラフィカルユーザインタフェース（ＧＵＩ）１０４（本明細書において「フォーム」ともいう）およびタグなしメディアＧＵＩ１０６（本明細書において「テキストボックス」ともいう）を備え、これらはユーザの便宜のために画面上に互いに隣接して配置されることが可能である。フォームデータＧＵＩ１０４は複数のフィールド１０８を備え、各フィールドが、特定の情報（例えば、姓、名、住所、郵便番号等）のために予約される。特定のフィールド内の情報の現在の状態をユーザに知らせるために、状態インジケータ１１０を各フィールド１０８に関連づけて動作させることができる。また、信頼度（confidence:確かさ）インジケータ１１２を各フィールド１０８に関連づけることにより、フィールド１０８内の情報の正確さに関連づけられた確率をユーザに知らせることができる。
【００１６】
図１に示すＦＦＩ１０２は、連絡先情報を入力するためのインタフェースを例示している。まず、フォームデータＧＵＩ１０４（例えば、通常の連絡先情報フォーム、商品および／またはサービスの注文フォーム等）および空のテキストボックス１０６がユーザに提示される。ユーザは、テキストボックス１０６にテキストセグメントを（例えば、電子メールからカットアンドペースト（切り貼り）等によって）コピーし、システム１００は、タグなしデータを分類あるいは解析を試みることによって、タグなしデータ内の要素を識別することができる。タグなしデータを解析した後、システム１００は、コンピュータターミナル上のフォーム１０４のフィールド１０８に、識別された要素を入力できる。テキストボックス１０６内のもとのタグなしデータとフォーム１０４は、画面１０２上に同時に表示可能であり、タグなしデータは、関連づけを視覚的に示すように（例えばカラーコーディング等を用いて）強調可能である。例えば、システム１００は、紫色を用いて、フォーム１０４内のaddress（住所）フィールドに入力するために用いられたタグなしテキスト内のある特定の要素を示すことができる。本例によれば、システム１００の判定では特定のテキストが該当しそうだがフィールドにそれを割り当てるほどに信頼度レベルが高くないので、ユーザが当該テキストを特定のフィールドに割り当てるべきかどうかについて決定できる、ということを、別の色（例えばオレンジ色）を用いて示すことができる。
【００１７】
本発明の一関連態様によれば、ユーザがフォームの一部に入力を行い、システム１００は、入手可能なタグなしコンピュータ可読メディアを探索し、可能性のあるフィールドエントリ候補を見つけ、見つかった文書および／または要素を表示し、フォームの残りのフィールドに入力できる。このようにして、部分的オートフィルを実行することができる。
【００１８】
ユーザは、解析の正確さを素早く確認することができる。解析にエラーがある場合、ユーザはそれを（例えば、タグなしテキストから要素をドラッグしてそれをフォーム内の対応するフィールドにドロップする、フィールドに直接タイプ入力する、テキストボックス１０６内のテキストを訂正する等によって）訂正できる。また、解析プロトコルは、ユーザによって提供される訂正や追加のような補助情報を利用できる。例えば、ユーザがフィールドに情報を入力するか、または最初の解析を訂正した場合、ユーザは、システムに対して、（図１で「Auto Fill」（オートファイル）と書かれているボタンをクリックすることによって）タグなしテキストを再解析し、ユーザが提供した補助情報に依拠するようにシステムに命令できる。本例をさらに進めると、「Charles Stanley」(チャールズ  スタンリー)という名前は、特定の連絡先氏名について、「Charles」が名で「Stanley」が姓であることを示唆する。しかし、ユーザは、偶然に、あるいはその他の理由で、この連絡先氏名の名と姓が入れ替わっていると認識するかもしれない。その場合、上記のドラッグアンドドロップ技法を用いて、「Stanley」をfirst name（名）フィールドに移動できる。また、フィールドにドロップダウンメニューを設けることにより、テキストボックスに表示されたタグなしデータが例えば複数の名を含む場合に、それらの名のうちの１つをfirst nameフィールドに表示し、他をドロップダウンメニューに入れることができる。これにより、ユーザは、単にメニューをオープンし（例えば、クリック、ホバリング等で）、フィールドに訂正が必要な場合に代わりの名前を選択することができる。
【００１９】
このアクションの後、システムは、「Charles」をlast name（姓）フィールドに自動的に移動できる。これにより、「Stanley」が連絡先氏名の名であって、その連絡先氏名の姓ではないことをユーザが確認したという事実に基づいて、last nameフィールドの信頼度レベルを高めつつ、フォーム入力に必要なユーザアクションの数を少なくすることができる。このような自動化されたユーザアクション後のフィールド入力は、訂正伝搬の一例である。
【００２０】
場合によっては、どのフィールドが補助情報（例えば、ユーザが入力および／または訂正したフィールド内の情報等）として使用可能で、どのフィールドがシステムにより上書き可能か（例えば、補助情報を含まないフィールド等）をユーザが指定することを許容すると有利なことがある。このような許容は、状態インジケータ１１０によって容易となり得る。状態インジケータ１１０は、ユーザがフィールドに対して操作をしていないこと、または、フィールドの情報の確認、訂正、および／または入力をしたことを示すことができる。各フィールドの状態は、例えば、「未入力未確認」、「自動入力済だが未確認」、または「ユーザによりまたは自動で入力済で確認済」とすることができる。
【００２１】
例えば、「未入力未確認」のフィールドの状態インジケータ１１０を第１の色（例えば赤色）とすることができる。システム１００がそのフィールドへの入力をした場合（例えば、フィールドが自動入力された場合）、状態インジケータは第２の状態インジケータ色（例えば黄色）にアップグレード（格上げ）され、フィールドが自動入力されたが未確認であることをユーザに知らせることができる。このようなインジケータは、上記の「Charles Stanley」の例のように、ユーザによる確認が必要だが必ずしも訂正は必要でないという状況をユーザに知らせることができる。ユーザがフィールド内の情報が正しいことを確認した場合、状態インジケータは第３の色（例えば緑色）にアップグレードされ、「入力済確認済」の状態を示すことができる。本例をさらに進めると、ユーザが、赤色の状態インジケータのフィールドに情報を入力した場合、状態インジケータは直接緑色にアップグレードされ得る。というのは、ユーザがフィールドへの入力を行い、そうすることによって情報が正しいことを確認しているからである。したがって、フィールドは「入力済確認済」となる。さらに、先のフィールドに対するユーザによる確認および／または訂正を通じて、別のフィールド（複数可）の信頼度のアップグレードおよび／または向上が可能である。例えば、「Charles Stanley」の例において、どちらの名称が名であり、および／またはどちらの名称が姓であるかが未確認である場合、first nameフィールドおよびlast nameフィールドの両方の状態インジケータは黄色であり得る。ユーザが、「Charles」が正しい名であることを確認した場合、システム１００は、first nameフィールドの状態を（例えば、状態インジケータを緑色にして）「（ユーザにより）入力済確認済」にアップグレードできる。「Charles」が名である（したがって姓でない）ことをユーザが確認しているので、システムはlast nameフィールドに「Stanley」を保持でき、それにより、last nameフィールドの信頼度インジケータも黄色から緑色（例えば自動入力済確認済）にアップグレードすることができる。
【００２２】
本発明の一関連態様によれば、カラーコーディングされた信頼度インジケータ１１２を特定のフィールド１０８に関連づけることができる（例えば、フィールドの境界色、フィールドおよび／またはテキストの背景色等）。例えば、システム１００が高い信頼度係数で入力することが困難なフィールドを、フィールド内の情報が所望の信頼度閾値より小さいことをユーザに対して示すことが可能なカラースキームに従ってラベル付けすることができる。信頼度インジケータ（複数可）は、０から１までの値を、色の濃さを変えて表現できる。さらに、本例における信頼度インジケータ１１２は、例えば、連続表示のインジケータ、点滅するインジケータ、最大輝度、コントラスト等でフェードイン・フェードアウトするインジケータ、または、当該フィールド（複数可）に関する信頼度の変動するレベルを示すことができる任意の他の適切なインジケータ方式であってよい。
【００２３】
一例によれば、「＠」または「．ｃｏｍ」を含む情報を、フォーム内の「email」（電子メール）フィールドに自動挿入できる。同様に、（ｎｎｎ）ｎｎｎ−ｎｎｎｎ、ｎｎｎ−ｎｎｎ−ｎｎｎｎ、ｎｎｎ−ｎｎｎｎ等のフォーマットを有する情報（ここでｎは整数である）を、高い信頼度でphone-number（電話番号）フィールドに自動挿入できる。理解されるように、他の種類の情報を挿入できるフィールドに関しても、信頼度が高いことの表示をその情報に関連づけることができ、そのような情報の自動挿入は、emailフィールドおよび／またはphone numberフィールドに限定されない。
【００２４】
図２は、タグなしメディアＧＵＩ２０４、フォームデータＧＵＩ２０６、および解析コンポーネント２０８のそれぞれに動作可能に結合した制御コンポーネント２０２を備えた支援付きフォーム入力を容易にするシステム２００の図である。制御コンポーネント２０２は、フォーム内のフィールドへの入力を容易にするために、タグなしデータを受け取って分析できる。このようなタグなしデータは、タグなしメディアＧＵＩ２０４経由でユーザに提示できる。タグなしデータは、例えば、ユーザがタグなしメディアＧＵＩ２０４にペースト（張り付け）した電子メールの抜粋であってもよい。タグなしデータがタグなしメディアＧＵＩ２０４にペーストされた後、データは、タグなしメディア記憶部２１０に記憶され得る。解析コンポーネント２０８は、タグなしメディアデータ記憶部２１０に記憶されたタグなしデータを解析することにより、可能性のあるフォーム入力データ（例えば、名前のような固有名詞、住所、電話番号、郵便番号のような数値データセット等）を判定でき、これはフォームデータ記憶部２１２に記憶され得る。フォームデータ記憶部２１２に記憶されたデータを用いて、フォーム内のフィールドへの入力を行い、そのデータをフォームデータＧＵＩ２０６経由でユーザに提示できる。そして、図１に関して説明したように、ユーザは、フォーム内の個別のフィールドの確認および／または訂正ができ、このような確認および／または訂正は、補助情報として補助情報記憶部２１４に記憶され得る。解析コンポーネント２０８は、記憶された補助情報を用いて、ユーザがした確認および／または変更に従ってフォームデータ記憶部２１２を更新できる。このようにして、テキストの分類および／またはラベル付けが更新されることにより、自動入力されたフィールドに関連づけられた状態レベルを、ユーザによるフィールドの確認および／または訂正に応じてアップグレードすることができる。
【００２５】
理解されるように、本明細書に記載のデータ記憶部（例えばメモリ）コンポーネントは、揮発性メモリまたは不揮発性メモリのいずれでもよく、また、揮発性および不揮発性の両方のメモリを含んでもよい。実例として、限定ではないが、不揮発性メモリとしては、読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、電気的プログラム可能メモリ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュメモリが挙げられる。揮発性メモリとしては、ランダムアクセスメモリ（ＲＡＭ）が挙げられ、これは外部キャッシュメモリとして作用する。実例として、限定ではないが、ＲＡＭは、シンクロナスＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、およびダイレクトＲａｍｂｕｓ  ＲＡＭ（ＤＲＲＡＭ）のような多くの形態で入手可能である。本発明のシステムおよび方法のメモリは、これらおよび任意の他の適切な種類のメモリを含み、これらには限定されないことを意図している。
【００２６】
図３は、本発明の一態様による、図２に関連して上記で説明したのと類似の支援付きフォーム入力を容易にするシステム３００の図である。システム３００は、タグなしメディアＧＵＩ３０４、フォームデータＧＵＩ３０６、および解析コンポーネント３０８のそれぞれに動作可能に結合した制御コンポーネント３０２を備える。制御コンポーネント３０２は、フォーム内のフィールドへの入力を行うためにタグなしデータを分析する。このようなタグなしデータは、タグなしメディアＧＵＩ３０４経由でユーザに提示できる。タグなしデータは、例えば、ユーザがタグなしメディアＧＵＩ３０４にペーストした電子メールの抜粋であってもよい。タグなしデータがタグなしメディアＧＵＩ３０４にペーストされた後、データは、タグなしメディア記憶部３１０に記憶され得る。解析コンポーネント３０８は、タグなしメディアデータ記憶部３１０に記憶されたタグなしデータを解析することにより、可能性のあるフォーム入力データ（例えば、名前のような固有名詞、住所、電話番号、郵便番号のような数値データセット等）を判定でき、これはフォームデータ記憶部３１２に記憶され得る。フォームデータ記憶部３１２に記憶されたデータを用いて、フォーム内のフィールドへの入力を行い、そのデータをフォームデータＧＵＩ３０６経由でユーザに提示できる。そして、図１に関して説明したように、ユーザは、フォーム内の個別のフィールドの確認および／または訂正ができ、このような確認および／または訂正は、補助情報として補助情報記憶部３１４に記憶され得る。解析コンポーネント３０８は、記憶された補助情報を用いて、ユーザがした確認および／または変更に従ってフォームデータ記憶部３１２を更新できる。このようにして、自動入力されたフィールドに関連づけられた信頼度レベル、さらにはテキストおよび分類ラベル付けを、ユーザによるフィールドの確認および／または訂正に応じて更新でき、それにより訂正伝搬が容易になる。さらに、解析コンポーネント３０８は、特定のデータを入力できる最も適切なフィールドに関する推論が可能な人工知能（ＡＩ）コンポーネント３１６に動作可能に結合する。
【００２７】
本明細書で用いる場合、「推論」（inference）という用語は一般に、システム、環境、および／またはユーザの状態を、イベントおよび／またはデータを通じて捕捉される観測量の集合から推理(推定)あるいは推論するプロセスを指す。推論を用いることにより、例えば、特定のコンテクストまたはアクションを識別することや、状態に関する確率分布を生成することができる。推論は確率的であってもよい。すなわち、データおよびイベントの考慮に基づいた、対象となる状態に関する確率分布の計算であってもよい。推論は、イベントおよび／またはデータの集合から、より高レベルのイベントを構成するために用いられる技法を指すこともある。このような推論の結果、イベントが時間的に近接した相互関係にあるか、また、イベントおよびデータの出所であるイベントおよびデータのソースが１つまたは複数のいずれであるかにかかわらず、観測されたイベントおよび／または記憶されたイベントデータの集合から、新たなイベントまたはアクションが構成される。本発明に関連する自動の、および／または推論されたアクションを実行する際に、種々の分類の方式および／またはシステム（例えば、サポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン（Bayesian）ネットワーク、ファジー理論、データ融合エンジン等）を用いることができる。さらに、本発明によれば、推論は、例えば下記で図４に関して説明する隠れマルコフモデル（ＨＭＭ）に基づいて行うことができる。
【００２８】
図４は、本発明の一態様による支援付きフォーム入力を容易にするためにＨＭＭが用いられる場合の概略図４００である。訂正伝搬を容易にするために、ＨＭＭおよび他の確率モデルを用いてユーザインタフェースからパーサ（構文解析ツール）へ情報を「ひそかに伝える」（バックチャネル通信）ことができ、それによって、単一のフィールドがユーザにより訂正された時に近隣のフィールドを訂正できる。ＨＭＭは、有限状態マシンの変種であり、状態の集合Ｑ、出力アルファベットＯ、遷移確率Ａ、出力確率Ｂ、および初期状態確率Πを有する。現状態は通常、観測可能でない。その代わりに、各状態は、ある確率Ｂで出力を生成できる。通常、状態Ｑ、出力Ｏは分かっているので、ＨＭＭは、以下の性質を有する３つ組（Ａ，Ｂ，Π）であるとされる。
【００２９】
Ａ＝［ａｉｊ＝Ｐ（ｔ＋１においてｑｊ｜ｔにおいてｑｉ）］。ここで、Ｐ（ａ｜ｂ）は、ｂを所与とした条件付き確率であり、ｔ≧１は時間であり、ｑｉ∈Ｑである。
【００３０】
平たく言えば、Ａは、現状態がｑｉである場合に次状態がｑｊである確率である。
【００３１】
Ｂ＝［ｂｉｋ＝Ｐ（ｏｋ｜ｑｉ）］。ここでｏｋ∈Ｏである。
【００３２】
平たく言えば、Ｂは、現状態がｑｉである場合に出力がｏｋである確率である。
【００３３】
Π＝［ｐｉ＝Ｐ（ｔ＝１においてｑｉ）］。
【００３４】
図４によれば、種々の確率変数Ｘ１〜Ｘｎが示されており、これらはフォーム内のフィールドを表し得る。このようなフィールドは、｛名，接尾辞，姓，番地，町名，都市，州，郵便番号，電話番号（複数可），電子メールアドレス（複数可），...｝を含むフィールドの集合の一部であってよい。理解されるように、フィールドＸおよびそこに入力可能な情報Ｙの集合は、上記の例示的な情報フィールドには限定されず、任意の他の適切な情報および／またはそのためのフィールドを含み得る。Ｙは、所与のＸに対応する実際の情報を表すことが可能である。それにより、Ｙ１が「John」に等しく、Ｘ１＝「first name」が真である（例えば、Ｐ（Ｘ１＝first name）＝１）場合、「John」をＸ１で表されるフィールドに挿入できる。同様に、Ｙ２が「Smith」に等しく、Ｘ２＝「last name」が真である場合、「Smith」をＸ２に関連づけられたフィールドに挿入できる。このように、Ｙの値は観測されるが、Ｘは隠れたままである。一般に、ある確率分布が観測される（例えば、Ｐ（Ｘ１＝first name）＝０．２３、Ｐ（Ｘ１＝last name）＝０．０３、Ｐ（Ｘ１＝city name）＝０．０９３等）ので、最高のスコアを示すラベル（例えば、本例によれば「first name」）を選択できる。このような推論により、隠れ変数の最適な設定を見つけることが容易になる。隠れマルコフモデルの場合、最尤状態系列を見つけることができる。例えば次のとおりである。
【００３５】
【数１】
0004758116.tif 000002
【００３６】
類似の例によれば、特定のＸに「５桁の数」という条件が関連づけられるかもしれない。それにより、Ｙが７桁（例えば、５５５−１２３４）である場合、当該特定のＸに対して低い確率（例えば、Ｐ（Ｙ＝５５５−１２３４｜Ｘ）＝０．００００１）を示す。逆に、１２３４５のような情報を含むＹは、当該特定のＸに対して高い確率（例えば、Ｐ（Ｙ＝１２３４５｜Ｘ）＝０．９９８９）を示し、フォーム内の関連するフィールドに挿入できる。同様に、上記の７桁のＹは、「７桁」という条件を有するＸに対しては高い確率の結果を示す。本発明は、支援付きフォーム入力を容易にするために、任意個数の適切な変数あるいはテストを用いて、どのＹが特定のＸに関連づけられた条件を満たすかを判定することができる。
【００３７】
本発明は、隠れ確率変数と観測確率変数を含む上記のＨＭＭのような確率モデルを利用できる。そのためには、特定のフィールドのラベルに対応する状態を隠れ変数（Ｘ）とする。例えば、上記のＨＭＭにおける確率変数Ｙは「観測される」確率変数であって、各変数が１つのトークンに対応する。トークンとは、トークンデリミタ（例えば、空白、ダッシュ、コンマ等）の間のテキストのセグメントである。例えば、テキストストリング「this-is a, text」は次のようにトークン化される。
【００３８】
「this」＝トークン１
「is」＝トークン２
「a」＝トークン３
「test」＝トークン４
【００３９】
隠れ変数Ｘは、トークンがそれぞれの許容されるラベルを有する確率を表す（例えば、トークンが種々のラベルにわたって分布する）。情報抽出の分野では、多くの場合、Ｘは観測されないままである。というのは、「補助情報」（side information）が使用されないからである。確率モデルに（ユーザが提供したテキストを有するテキストフィールドの形で）補助情報を使用させるためには、ユーザが提供したテキストに対応するトークンを探索し、対応する隠れ変数Ｘを、フィールドのラベルに対応する状態とすることができる。これは、ｐ（Ｘ１＝FirstName）＝１およびｐ（Ｘ１＝LastName）＝０等とおき、推論中に更新しないこととみなし得る。例えば、ユーザがフォームのlast nameフィールドに「Smith」とタイプ入力した場合、「Smith」を見つけるためにすべてのトークンに対する探索を実行できる。そして、ｐ（Ｘ２＝LastName）＝１とおき、推論中にはＰ（Ｘ２）に対する確率分布を更新しない。
【００４０】
さらに、ユーザインタフェースからパーサに情報をバックチャネル通信することによって、訂正伝搬を達成できる。このようにして、単一のフィールドがユーザにより訂正された時に近隣のフィールドの入力ができる。例えば、本発明は、「LastNameフィールドがユーザによりセットされた場合、タグなしテキスト内の姓(last name)を探索し、その姓の直前の単語を名としてラベル付けする」という簡単なバージョンのルールに基づく解析方法を使用できる。名についても対応するルールがあり得る。このようにして、姓の訂正が名に「伝搬」する。理解されるように、本明細書に記載の訂正伝搬は、名および姓には限定されず、任意の関連する種類の情報、テキスト等に適用可能である。
【００４１】
また、本発明は、条件付き確率場（ＣＲＦ）を使用できる。ＣＲＦは、ＨＭＭおよび最大エントロピーモデルの両方の一般化である。ＣＲＦは、任意の非局所的な特徴の導入を可能にし、ラベル間の依存関係を捕捉し、解析される情報の信頼度を推定することを可能にする。このようにして、本発明は、情報が高い信頼度レベルを有する場合に、解析された情報をフィールドに自動的に割り当て、低信頼度レベルの情報には、ユーザによる再検討および／または訂正のためにフラグを立てることができる。
【００４２】
図５は、ランダムな誤フィールドが訂正される前と訂正された後のＣＲＦ間の関係を示すヒストグラム５００の図である。フォーム入力中に、フィールドの確認および訂正に関するユーザ挙動を、いくつかのユーザ対話モデル（ＵＩＭ）によって予測および／またはモデル化できる。例えば、単純なシナリオＵＩＭ１では、オートフィルされたフォームをユーザに提示し、すべてのエラーを訂正するように要求できる（例えば、訂正伝搬は実行されない）。したがって、必要なユーザアクションの数は、自動入力中に生じるエラーの総数に等しい。
【００４３】
第２のシナリオＵＩＭ２によれば、ある初期自動フィールド割当てを仮定し、ユーザが単一のランダムに選択した訂正を実行し、それに基づいてシステムが訂正伝搬を開始できる。これを、すべてのフィールドが訂正されるまで反復することができる。
【００４４】
第３のシナリオＵＩＭ３によれば、ある初期自動フィールド割当てを仮定し、ユーザが、最も信頼度の低い誤フィールドに対して訂正を実行する。例えば、ユーザは、エラーが見つかるまで、信頼度順に（例えば信頼度インジケータ等により）フィールドに対して視覚的に注意を促されることが可能である。最も信頼度の低いフィールドの訂正に従って訂正伝搬を実行し、ユーザは、残りのエラーがあればそれを訂正するように促されることが可能である。
【００４５】
フォーム入力は一般に、完全な正確さを要求する。したがって、入力時間が短縮されるか、ユーザに対する認知負荷が軽減されるか、またはその両方であれば、利益が得られる。本発明は、他の標準的なパフォーマンス尺度に加えて、期待ユーザアクション数（ＥＮＵＡ）という効率尺度を使用する。ＥＮＵＡは、フォーム内のすべてのフィールドに正しく入力を行うために必要なユーザアクション数（例えばクリック数等）として定義される。ＥＮＵＡは、上記のように、ＵＩＭに応じて変わり得る。ＥＮＵＡを表現するため、Ｐ（ｉ；ｊ）という記法を用いる。これは、ｉ回の手動訂正の後のエラー数ｊに関する確率分布である。このような分布は、図５のヒストグラムによって表される。
【００４６】
例えば、ＵＩＭ１の下では、ＥＮＵＡは次のとおりである。
【００４７】
【数２】
0004758116.tif 000003
【００４８】
ここで、Ｐ（０；ｎ）は、誤フィールド数に関する分布（図５参照）である。
【００４９】
例えば、モデルＵＩＭ２およびＵＩＭ３によれば、ＥＮＵＡは次のとおりである。
【００５０】
【数３】
0004758116.tif 000004
【００５１】
ここで、Ｐ（０；０）は、すべてのフィールドが最初に正しく割り当てられる確率であり、Ｐ（１；ｎ）は、１つのフィールドが訂正された後の、フォーム内の誤フィールド数に関する分布である。どのＵＩＭが用いられるかに応じて異なる分布が生じ得る。ＥＮＵＡ１の上付き添字１は、訂正伝搬が１回実行されたことを示す。
【００５２】
さらに図５を参照すると、フォームは、各フォーム内のエラーを含むフィールド数に従ってグループ分けされる。塗りつぶしたバーは、訂正前のＣＲＦベースのパーサを利用した結果を示し、白抜きのバーは、１つのランダムな誤フィールドが訂正された後の分布を示す。このような情報を利用して、Ｐ（０；ｎ）およびＰ（１；ｎ）をそれぞれ推定することができる。
【００５３】
説明を簡単にするため、例えばフローチャートの形式で本明細書に示す１つまたは複数の方法は、一連の作用(act)として図示され説明されているが、理解され認識されるように、本発明は作用の順序によって限定されない。本発明によれば、一部の作用は、本明細書に示され説明されるのとは異なる順序で、および／または他の作用と並行して、生起してもよい。例えば、当業者には理解され認識されるように、方法は、別法として、状態図の場合のように、一連の相互に関連する状態またはイベントとして表現されてもよい。さらに、本発明による方法を実施するために、例示されたすべての作用が必要とは限らない。
【００５４】
図６は、本発明の一態様による自動フォーム入力支援のための方法６００の図である。６０２で、選択されたタグなしメディアをタグなしメディアＧＵＩ内のテキストボックスに挿入する。６０４で、挿入されたメディアを解析して、フォーム内の特定のフィールドに入力するために利用できる可能性のある要素を判定する。６０６で、フィールドに入力される要素に状態を割り当て、ユーザに対して示す。例えば、「John Smith and Jane Doe will be at the convention next weekend」（John SmithとJane Doeは次の週末に会議に行くだろう）という選択されたタグなしメディアは、２つの名および２つの姓を含む。例えば連絡先リスト内の「First Name」（名）フィールドに入力するために「John」を使用する場合、「John」がfirst nameフィールド内の正しい（所望の）エントリでないかもしれないことをユーザに知らせることができる状態インジケータ（例えば、「入力済だが未確認」）を関連づけることができる。また、First Nameフィールドのユーザによる訂正を容易にするために、ドロップダウンメニューによって、「Jane」がユーザにとって利用可能とすることができる。インジケータは、例えば、First Nameフィールドに隣接するカラーコーディングされた状態インジケータの「点灯」であってもよい。本例をさらに進めると、赤・黄・緑のプロトコルを用いて、変化した状態レベルを示すことができる。この場合、赤色はフィールドが未入力未確認であることを示し、黄色はフィールドが入力済だが未確認であることを示し、緑色はフィールドが入力済（自動でもユーザによる入力でもよい）で確認済であることを示す。本例では、First Nameフィールドの状態インジケータが黄色となり、First Nameフィールドは入力済であるが、「John」という名はまだ確認されていないことを示すことができる。
【００５５】
６０８で、フォームフィールド、特に、例えば緑色状態（緑色が入力済確認済状態を示すシナリオ例の場合）よりも低い状態を示しているフォームフィールドの確認および／または訂正をユーザに促す。そして、６１０で、ユーザがいずれかの情報を訂正（例えば変更）したかどうかを判定する。本例によれば、「John」が「First Name」フィールドにおける所望のエントリではない場合、ユーザは、テキストボックス内の「Jane」をクリックし、「Jane」をFirst Nameフィールドにドラッグしてエントリを訂正できる。また、First Nameフィールドにすでに提示されているドロップダウンメニューから「Jane」を選択してもよい。ユーザがいずれかの情報を訂正した場合、本方法は６１２に進み、ユーザ入力に従ってフィールド（複数可）を更新し、タグなしテキストを再解析できる。そして、本方法は６０６に戻って、状態をアップグレードし、フォームフィールドにデータを入力できる。これらは、ユーザ入力ごとに行われ得る。６１０でユーザが情報を訂正していない場合、６１４で、ユーザがフィールドエントリを確認したかどうかを判定できる。６１４でユーザがフィールドエントリを確認していない場合、本方法は６０８に戻り、「入力済で確認済」以外の状態を示しているフィールドエントリに対するアクションをとるようにさらにユーザに促すことができる。６１４でユーザが正しい情報であることを確認している場合、６１６で、他のフィールドおよびそれに対応する状態表示を更新できる。例えば、「John」がFirst Nameフィールドに対する所望のエントリである場合、６１６で、インジケータの状態を黄色から緑色にアップグレードすることができる。  
【００５６】
図７は、ユーザによるフォームへの入力を支援しやすくする本発明の一態様による方法７００を示している。７０２で、選択されたタグなしメディアをフォーム入力インタフェース内のテキストボックスにペーストする。７０４で、タグなしメディアを解析して、フォーム内のフィールドへの入力に利用できる可能性のある要素（例えば、名前、住所、電話番号等）を識別する。７０６で、要素を入力し、入力した要素に状態を関連づけ、それをユーザに対して表示することにより、特定のエントリが関連するフィールドに正しく挿入されているかどうかを示す。７０８で、すべてのフィールドが可能な最高の状態であるかどうか（例えば、すべてのフィールドが「入力済で確認済」であるかどうか）を判定する。７０８ですべてのフィールドが「入力済で確認済」表示を示している場合、アクションをとるようにユーザに促す必要がないので、本方法は終了できる。これに対して、いずれかのフィールドが「入力済で確認済」よりも低い状態を示している場合、本方法は７１０に進み、疑わしいフィールドの訂正および／または確認をユーザに促す。７１２で、ユーザがフィールドエントリを訂正したかどうかを判定する。訂正した場合、７１４で、ユーザ入力に従ってフォームフィールドを更新し、テキストボックスを再解析した後、７０６に戻って、状態をアップグレードし、フィールドに要素を入力できる。７１２でユーザがどのフィールドも訂正していないと判定した場合、７１６で、ユーザが疑わしいフィールド（複数可）を確認したかどうかを判定する。ユーザが所望より低い状態のフィールドを確認していない場合、本方法は７１０に戻り、アクションをとるようにさらにユーザに促すことができる。７１６で、疑わしい情報をユーザが確認したと判定した場合、７１８で、フィールドを更新し、それに関連づけられた状態をアップグレードすることができる。
【００５７】
図８は、本発明の一態様による方法８００の図である。本方法によれば、８０２で、タグなしメディアを解析する。８０４で、隠れマルコフモデル（ＨＭＭ）を用いて、特定の要素を入力できる適切なフィールドを判定する。８０６で、状態インジケータとともに、判定した適切なフィールドに要素（複数可）を表示する。８０８で、フィールド（複数可）に入力される情報の確認および／または訂正をユーザに促すことができる。８１０で、ユーザの訂正を検出したかどうかを判定する。検出した場合、８１２で、ユーザが訂正したフィールド（複数可）を、訂正伝搬により訂正された他のフィールドとともに更新し、それに従って状態をアップグレードできる。そして、本方法は８０６に戻り、ユーザ入力に従って要素を表示し状態を示す。８１０で訂正が検出されない場合、８１４で、ユーザの確認が行われたかどうかを判定する。ユーザが、入力された情報を正しいと確認していない場合、本方法は８０８に戻り、アクションをとるようにさらにユーザに促すことができる。８１４で、疑わしいフィールド内の情報が正しいことをユーザが確認したと判定した場合、本方法は８１６に進むことができる。８１６で、確認された要素を適切なフィールドに表示し、アップグレードされた状態を表示する。
【００５８】
図９は、本発明の一態様による方法９００の図である。９０２で、タグなしメディアをタグなしメディア記憶部に読み込む。９０４で、補助情報（例えば、データの入力、確認、訂正等のようなユーザアクションから集めた情報）を補助情報記憶部に読み込む。９０６で、タグなしメディアを解析して、フォームフィールドへの入力に利用できる可能性のある要素を識別できる。９０８で、識別した要素をフォームデータ記憶部に書き込むことができる。次に、９１０で、識別した要素をフォームＧＵＩ内のフォームフィールドにおいてユーザに対して表示できる。９１２で、ユーザによるフォームフィールドへの入力を支援しやすくする視覚的インジケータとともに、タグなしメディアＧＵＩ内のタグなしメディアを表示できる。例えば、テキストボックス内の名を特定の色（例えばオレンジ色）でカラーコーディングすることにより、フォームＧＵＩ内のFirst Nameフィールド（これもオレンジ色でカラーコーディングされる）に入力可能であることを示すことができる。別の例では、「＠」記号を含む解析したタグなしテキストを、例えば青色でコーディングすることにより、そのテキストがフォームＧＵＩ内の「email」（電子メール）フィールド（これも青色とすることができる）に入力可能であることを示すことができる。
【００５９】
９１４で、フォームＧＵＩ内のフィールドへの要素の割当ての確認および／または訂正をユーザに促すことができる。次に、９１６で、タグなしメディアを再び解析すべきかどうかを判定できる。再び解析すべきと判定した場合、９１８で、ユーザ入力を補助情報記憶部に追加し、システムは９０６に戻って、タグなしメディアの解析および要素の識別を繰り返すことができる。９１６で、さらなる解析が不要であると判定した場合、９２０で、フォームデータ記憶部の内容をデータベースまたはファイルに書き込むことができる。
【００６０】
本発明の諸態様を実施するための状況をさらに説明するため、図１０および図１１、ならびに以下の記載は、本発明の諸態様を実施し得る好適なコンピューティング環境１０００の簡単な一般的説明をすることを意図している。上記で本発明は、ローカルコンピュータおよび／またはリモートコンピュータ上で動作するコンピュータプログラムのコンピュータ実行可能命令との一般的関連で説明されているが、当業者には認識されるように、本発明は、他のプログラムモジュールと組み合わせて実施してもよい。一般的に、プログラムモジュールは、特定のタスクを実行し、および／または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造等を含む。さらに、当業者には理解されるように、本発明の方法は、シングルプロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサ方式の、および／またはプログラム可能な消費者電子機器等の、他のコンピュータシステム構成で実施してもよい。そのそれぞれが、１つまたは複数の関連するデバイスと動作可能に通信してもよい。例示した本発明の態様は、通信ネットワークを通じて連結されたリモート処理デバイスによって特定のタスクが実行される分散コンピューティング環境で実施してもよい。しかし、本発明の、全部ではなくても一部の態様は、スタンドアロンコンピュータ上で実施してもよい。分散コンピューティング環境では、プログラムモジュールは、ローカルおよび／またはリモートのいずれのメモリ記憶デバイスに配置されてもよい。
【００６１】
本明細書で用いる場合、「コンポーネント」という用語は、コンピュータ関連のエンティティを指すことを意図しており、それがハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、あるいは実行中のソフトウェアのいずれであるかを問わない。例えば、コンポーネントとしては、以下のものに限定されないが、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、およびコンピュータが挙げられる。実例として、サーバ上で実行中のアプリケーションおよび／またはサーバがコンポーネントとなり得る。また、コンポーネントが１つまたは複数のサブコンポーネントを含んでもよい。
【００６２】
図１０を参照すると、本発明の諸態様を実施するための例示的システム環境１０００は従来のコンピュータ１００２を含む。コンピュータ１００２は、処理ユニット１００４、システムメモリ１００６、およびシステムメモリ１００６を含む種々のシステムコンポーネントを処理ユニット１００４に結合するシステムバス１００８を含む。処理ユニット１００４は、いかなる市販のプロセッサまたは独自仕様プロセッサであってもよい。また、処理ユニットは、複数のプロセッサが例えば並列接続して形成されたマルチプロセッサとして実施されてもよい。
【００６３】
システムバス１００８は、いくつか例を挙げればＰＣＩ、ＶＥＳＡ、マイクロチャネル、ＩＳＡ、およびＥＩＳＡ等の、さまざまな従来のバスアーキテクチャのいずれかを用いたメモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含む数種のバス構成のいずれでもよい。システムメモリ１００６は、読み出し専用メモリ（ＲＯＭ）１０１０およびランダムアクセスメモリ（ＲＡＭ）１０１２を含む。起動中等にコンピュータ１００２内の要素間で情報を転送するために役立つ基本ルーチンを含む基本入出力システム（ＢＩＯＳ）(図示しない)がＲＯＭ１０１０に記憶される。
【００６４】
また、コンピュータ１００２は、例えば、ハードディスクドライブ１０１４、例えばリムーバブル（取り外し可能）ディスク１０１８を読み書きするための磁気ディスクドライブ１０１６、および例えばＣＤ−ＲＯＭディスク１０２２または他の光媒体を読み書きするための光ディスクドライブ１０２０も含み得る。ハードディスクドライブ１０１４、磁気ディスクドライブ１０１６、および光ディスクドライブ１０２０は、それぞれハードディスクドライブインタフェース１０２４、磁気ディスクドライブインタフェース１０２６、および光ドライブインタフェース１０２８によってシステムバス１００８に接続される。ドライブ１０１４〜１０２０およびそれらに関連するコンピュータ可読媒体は、コンピュータ１００２のためのデータ、データ構造、コンピュータ実行可能命令等の不揮発性ストレージを提供する。上記のコンピュータ可読媒体の説明はハードディスク、リムーバブル磁気ディスクおよびＣＤ（コンパクトディスク）について述べているが、当業者には理解されるように、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ等のような、コンピュータが読むことができる他の種類の媒体もまた、例示的オペレーティング環境１０００において使用可能であり、さらに、いかなるこのような媒体が、本発明の方法を実行するためのコンピュータ実行可能命令を含むことが可能である。
【００６５】
オペレーティングシステム１０３０、１つまたは複数のアプリケーションプログラム１０３２、他のプログラムモジュール１０３４、およびプログラムデータ１０３６を含めて、複数のプログラムモジュールが、ドライブ１０１４〜１０２０およびＲＡＭ１０１２に記憶され得る。オペレーティングシステム１０３０は、いかなる好適なオペレーティングシステムまたはオペレーティングシステムの組合せであってもよい。例として、アプリケーションプログラム１０３２およびプログラムモジュール１０３４は、本発明の一態様によるクライアントベースのウェブクローリングを容易にすることを含むことができる。
【００６６】
ユーザは、キーボード１０３８およびポインティングデバイス（例えばマウス１０４０）等の１つまたは複数のユーザ入力デバイスを通じてコンピュータ１００２にコマンドおよび情報を入力できる。他の入力デバイス（図示せず）としては、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、ワイヤレスリモコン、スキャナ等が挙げられる。これらおよびその他の入力デバイスは、システムバス１００８に結合したシリアルポートインタフェース１０４２を通じて処理ユニット１００４に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）のような他のインタフェースを通じて接続されてもよい。モニタ１０４４または他の種類の表示デバイスもまた、ビデオアダプタ１０４６のようなインタフェース経由でシステムバス１００８に接続される。モニタ１０４４に加えて、コンピュータ１００２は、スピーカ、プリンタ等のような他の周辺出力デバイス（図示せず）を備えてもよい。
【００６７】
理解されるように、コンピュータ１００２は、１つまたは複数のリモートコンピュータ１０４８への論理コネクションを用いたネットワーク環境で動作してもよい。リモートコンピュータ１０４８は、ワークステーション、サーバコンピュータ、ルータ、ピアデバイスまたは他の一般的なネットワークノードであってもよく、一般に、コンピュータ１００２に関連して説明した要素の多くまたはすべてを含む。ただし、簡単のため、図１０にはメモリ記憶デバイス１０５０のみが示されている。図１０に示されている論理コネクションはローカルエリアネットワーク（ＬＡＮ）１０５２および広域ネットワーク（ＷＡＮ）１０５４を含み得る。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
【００６８】
例えば、ＬＡＮネットワーキング環境で使用される場合、コンピュータ１００２はネットワークインタフェースすなわちネットワークアダプタ１０５６を通じてローカルネットワーク１０５２に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１００２は一般に、モデム（例えば、電話モデム、ＤＳＬモデム、ケーブルモデム等）１０５８を含むか、ＬＡＮ上の通信サーバに接続されるか、または、インターネットのようなＷＡＮ１０５４を通じて通信を確立するための他の手段を有する。モデム１０５８は、コンピュータ１００２に関して内蔵でも外付けでもよく、シリアルポートインタフェース１０４２経由でシステムバス１００８に接続される。ネットワーク環境では、プログラムモジュール（アプリケーションプログラム１０３２を含む）および／またはプログラムデータ１０３６が、リモートメモリ記憶デバイス１０５０に記憶されてもよい。理解されるように、図示されているネットワークコネクションは例示であり、本発明の一態様を実施する際に、コンピュータ１００２と１０４８の間で通信リンクを確立する他の手段（有線または無線）を使用してもよい。
【００６９】
コンピュータプログラミングの当業者の実務に従って、特に断りのない限り、本発明はコンピュータ１００２またはリモートコンピュータ１０４８のようなコンピュータによって実行される作用、およびオペレーションの記号的表現に関して説明されている。このような作用およびオペレーションは、コンピュータ実行可能である、と称する場合がある。理解されるように、作用および記号的に表現されたオペレーションとしては、データビットを表現する電気信号に対する処理ユニット１００４による操作の結果としてその電気信号表現の変換または低減が生じるような操作、および（システムメモリ１００６、ハードドライブ１０１４、フロッピー（登録商標）ディスク１０１８、ＣＤ−ＲＯＭ１０２２、およびリモートメモリ１０５０を含む）メモリシステム内のメモリ位置においてデータビットを保持することによりコンピュータシステムのオペレーションを再構成あるいは変更するようなデータビットの保持、ならびにその他の信号処理がある。このようなデータビットが保持されるメモリ位置は、そのデータビットに対応する特定の電気的、磁気的、または光学的性質を有する物理的位置である。
【００７０】
図１１は、本発明が連係し得る例示的コンピューティング環境１１００の別のブロック図である。システム１１００は、さらに、１つまたは複数のクライアント１１０２を含むシステムを例示している。クライアント１１０２は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）のいずれでもよい。また、システム１１００は、１つまたは複数のサーバ１１０４も含む。サーバ１１０４は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）のいずれでもよい。サーバ１１０４は、スレッドを収容することにより、例えば本発明を使用することによって変換を実行できる。クライアント１１０２とサーバ１１０４の間の１つの可能な通信としては、複数のコンピュータプロセスの間での伝送に適合したデータパケットの形態の通信があり得る。システム１１００は、クライアント１１０２とサーバ１１０４の間の通信を容易にするために使用可能な通信フレームワーク１１０６を含む。クライアント１１０２は、クライアント１１０２にとってローカルな情報を記憶するために使用可能な１つまたは複数のクライアントデータ記憶部１１０８に動作可能に接続される。同様に、サーバ１１０４は、サーバ１１０４にとってローカルな情報を記憶するために使用可能な１つまたは複数のサーバデータ記憶部１１１０に動作可能に接続される。
【００７１】
本発明の１つの実例では、ウェブクローリングを容易にする複数のコンピュータコンポーネント間で伝送されるデータパケットは、ウェブクローリングのための分散システムを少なくとも部分的に利用する、ウェブクローリングに関連する情報から少なくとも部分的に構成される。
【００７２】
本発明の別の実例では、ウェブクローリングを容易にするシステムのコンピュータ実行可能コンポーネントを格納するコンピュータ可読媒体は、ウェブクローリングのための分散システムによって編集されたウェブページに関連する情報を少なくとも部分的に決定するウェブクローリングシステムから少なくとも部分的に構成される。
【００７３】
理解されるように、本発明のシステムおよび／または方法は、コンピュータコンポーネントおよび非コンピュータ関連のコンポーネントを同様に助けるウェブクローリングシステムにおいて利用可能である。さらに、当業者には認識されるように、本発明のシステムおよび／または方法は、多様なエレクトロニクス関連技術において使用可能である。そのような技術としては、以下のものに限定されないが、コンピュータ、サーバおよび／またはハンドヘルド電子デバイス等があり、それらは有線および／または無線等のいずれでもよい。
【００７４】
また、当業者には理解されるように、本発明は、サーバ・クライアント方式のクローリングシステムだけでなく、ピアツーピア型のクローリングシステムでも利用可能である。また、本発明のいくつかの実例では、通常は「サーバ」の動作に関連する作業をクライアントが実行することにより、サーバに関連するいくつかの特性をクライアントに移転することも可能である。本発明の一具体例では、クライアントが、他のクライアントへの「サブクロール」(sub-crawl)を実行することにより、サーバへ送信すべき情報の確認および／または取り込みを行う。この例は、例えば、いくつかのクライアントとサーバとの間にボトルネックのあるネットワークにおいて有益となり得る。サーバに最も良好にアクセスできるクライアントにデータを転送できる。本発明の他の実例では、クライアントが、イントラネットシステム内のサブクロールを開始することによってサーバ動作を示すことにより、イントラネット上に存在する単一の、および／またはかなり少数のクライアントのみからサーバへ情報をレポート出力することができる。このようにして、検索サーバは、クライアントにおいて複数のサブクロールを開始することにより、クローリングリソースを拡張することができる。
【００７５】
以上、本発明の実施例について説明した。もちろん、本発明を説明する目的で、コンポーネントまたは方法の想定し得るあらゆる組合せを記載することはできないが、当業者には認識されるように、本発明のさらに多くの組合せおよび置換が可能である。したがって、本発明は、添付の特許請求の範囲の精神および範囲内に入るすべてのそのような変更、修正および変形を包含することを意図している。さらに、「includes」（含む）という用語が詳細な説明または特許請求の範囲で用いられる限り、この用語は、「comprising」（「含む」あるいは「備えた」）という用語が特許請求の範囲における移行語として用いられる場合に解釈されるのと同様に包括的であることを意図している。
【図面の簡単な説明】
【００７６】
【図１】本発明の一態様による、ユーザによるフォーム内のフィールドへの入力を支援しやすくするフォーム入力インタフェースシステム１００を示す図である。
【図２】本発明の一態様による支援付きフォーム入力を容易にするシステム２００を示す図である。
【図３】本発明の一態様による支援付きフォーム入力を容易にするための人工知能コンポーネントを備えたシステム３００を示す図である。
【図４】ユーザによるフォーム内のフィールドへの入力を支援しやすくする例示的な隠れマルコフモデル４００を示す図である。
【図５】ユーザによるフォームへの入力を支援する際の本発明の効率を例示するヒストグラム５００を示す図である。
【図６】本発明の一態様による手順６００を示す図である。
【図７】本発明の一態様による手順７００を示す図である。
【図８】本発明の一態様による手順８００を示す図である。
【図９】本発明の一態様による手順９００を示す図である。
【図１０】本発明の一態様による例示的コンピューティング環境１０００を示す図である。
【図１１】本発明の一態様による例示的コンピューティング環境１１００を示す図である。
【符号の説明】
【００７７】
１０２  フォーム入力インタフェース（ＦＦＩ）
１０４  フォームデータＧＵＩ（フォーム）
１０６  タグなしメディアＧＵＩ（テキストボックス）
１０８  フィールド
１１０  状態インジケータ
１１２  信頼度インジケータ
２０２  制御コンポーネント
２０４  タグなしメディアＧＵＩ
２０６  フォームデータＧＵＩ
２０８  解析コンポーネント
２１０  タグなしメディアデータ記憶部
２１２  フォームデータ記憶部
２１４  補助情報記憶部
３０２  制御コンポーネント
３０４  タグなしメディアＧＵＩ
３０６  フォームデータＧＵＩ
３０８  解析コンポーネント
３１０  タグなしメディアデータ記憶部
３１２  フォームデータ記憶部
３１４  補助情報記憶部
３１６  人工知能（ＡＩ）コンポーネント
１０００  コンピューティング環境
１００２  コンピュータ
１００４  処理ユニット
１００６  システムメモリ
１００８  システムバス
１０１０  読み出し専用メモリ（ＲＯＭ）
１０１２  ランダムアクセスメモリ（ＲＡＭ）
１０１４  基本入出力システム（ＢＩＯＳ）
１０１６  ハードディスクドライブ
１０１８  磁気ディスクドライブ
１０２０  リムーバブルディスク
１０２２  光ディスクドライブ
１０２４  ＣＤ−ＲＯＭディスク
１０２６  ハードディスクドライブインタフェース
１０２８  磁気ディスクドライブインタフェース
１０３０  光ドライブインタフェース
１０３２  オペレーティングシステム
１０３４  アプリケーションプログラム
１０３６  プログラムモジュール
１０３８  プログラムデータ
１０４０  キーボード
１０４２  マウス
１０４４  シリアルポートインタフェース
１０４６  モニタ
１０４８  ビデオアダプタ
１０６０  リモートコンピュータ
１０６２  メモリ記憶デバイス
１０６４  ローカルエリアネットワーク（ＬＡＮ）
１０６６  広域ネットワーク（ＷＡＮ）
１０６８  ネットワークアダプタ
１０７０  モデム
１１００  コンピューティング環境
１１０２  クライアント
１１０４  サーバ
１１０６  通信フレームワーク
１１０８  クライアントデータ記憶部
１１１０  サーバデータ記憶部
【図１】
0004758116.tif 000005
【図２】
0004758116.tif 000006
【図３】
0004758116.tif 000007
【図４】
0004758116.tif 000008
【図５】
0004758116.tif 000009
【図６】
0004758116.tif 000010
【図７】
0004758116.tif 000011
【図８】
0004758116.tif 000012
【図９】
0004758116.tif 000013
【図１０】
0004758116.tif 000014
【図１１】
0004758116.tif 000015