(57)【特許請求の範囲】
【請求項１】
単語記憶法に大きな数をマッピングするためのコンピュータが実行する方法であって、
複数の単語インデックスに前記大きな数をマッピングすることと、
複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することであって、前記複数の単語リストが、各々多数の単語を含んでいる第１、第２および第３単語リストを含む、使用することと、
前記単語記憶法を形成するために前記複数の識別された対応する単語の各々を結合することであって、前記単語記憶法は、第１、第２および第３の単語を含む、結合することと、
縮小されたハッシュ値を得るために、前記第１の単語リストにおける単語の前記数と前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積によってハッシュ値を除算することと、
第１の整数の商と第１の剰余を得るために、前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積で前記縮小されたハッシュ値を除算することと、
前記第１の単語リストにおける前記第１の単語を識別するために前記第１の単語インデックスとして第１の整数の商を使用することと、
第２の整数の商と第２の剰余を得るために、前記第３番の単語リストにおける単語の前記数で前記第１の剰余を除算することと、
前記第２の単語リストにおける前記第２の単語を識別するために、第２の単語インデックスとして前記第２の整数の商を使用することと、
前記第３の単語リストにおける前記第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用することと、および
前記単語記憶法を形成するために前記第１、第２および第３の単語を組み合わせることと
を含む方法。
【請求項２】
前記複数の単語インデックスに前記ハッシュ値をマッピングする前に前記ハッシュ値のサイズを縮小することをさらに含む請求項１の方法。
【請求項３】
前記大きな数が、前記ハッシュ値を生成するためにドキュメントにハッシュアルゴリズムを適用することによって得られるハッシュ値である、請求項２の方法。
【請求項４】
前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、請求項３の方法。
【請求項５】
前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである、請求項３の方法。
【請求項６】
前記ハッシュアルゴリズムはチェックサムアルゴリズムである、請求項３の方法。
【請求項７】
前記複数の単語リストにおける第１の単語リストは名詞のリストであり、また
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
請求項１の方法。
【請求項８】
前記複数の単語リストにおける第３の単語リストは形容詞のリストである、請求項７の方法。
【請求項９】
前記複数の単語リストにおける第３の単語リストは副詞のリストである、請求項７の方法。
【請求項１０】
前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、および、
前記複数の単語リストにおける第３の単語リストは名詞のリストである、
請求項１の方法。
【請求項１１】
単語記憶法に大きな数をマッピングするためのコンピュータが実行する方法であって、
複数の単語インデックスに大きな数をマッピングすることであって、前記大きな数が、ハッシュ値を生成するためにドキュメントにハッシュアルゴリズムを適用することによって得られるハッシュ値である、マッピングすることと、
複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することと、
前記単語記憶法を形成するために前記複数の識別された対応する単語の各々を結合することと、および
前記複数の単語インデックスに前記ハッシュ値をマッピングする前に前記ハッシュ値のサイズを縮小すること
を含み、
記憶法へ前記ハッシュ値をマッピングすることは、
縮小されたハッシュ値を得るために前記第１の単語リストにおける単語の数と前記第２の単語リストにおける単語の数と前記第３の単語リストにおける単語の数の積で前記ハッシュ値を除算することと、
前記縮小されたハッシュ値を複数の数字部分へ分けることと、
複数の単語リストの１つにおいて対応する単語を識別するためにインデックスとして前記複数の各々の数字部分を使用することと、および
前記単語記憶法を形成するために前記識別された単語を組み合わせることと
を含む、方法。
【請求項１２】
複数の単語インデックスへ前記大きな数をマッピングすることは、
複数の数字部分へ前記大きな数を分けることと、
複数の単語インデックスとして前記複数の数字部分を使用することと
を含む請求項１の方法。
【請求項１３】
単語記憶法に大きな数をマッピングするためのコンピュータが実行する方法であって、
複数の単語インデックスに前記大きな数をマッピングすることであって、複数の単語インデックスへ大きな数をマッピングすることが、
第１の整数の商と第１の剰余とを得るために第２の単語リストの単語の数と第３の単語リストの単語の数の積によって大きな数を乗算することであって、前記第１の整数の商は第１の単語インデックスである、除算することと、
第２の整数の商と第２の剰余を得るために前記第３の単語リストの単語の前記数で第１の剰余を除算することであって、前記第２の整数の商は第２の単語インデックスであり、前記第２の剰余が第３の単語インデックスである、除算することと
を備える、マッピングすることと、
複数の単語リストのそれぞれの１つにおいて対応する単語を識別するために前記複数の単語インデックスの各々１つを使用することであって、複数の単語リストのそれぞれの１つにおいて対応する単語を識別するために前記複数の単語インデックスの各々１つを使用することが、
第１の単語リストにおいて第１の単語を識別するために前記第１の単語インデックスを使用することと、
第２の単語リストにおいて第２の単語を識別するために前記第２の単語インデックスを使用することと、
第３の単語リストにおいて第３の単語を識別するために前記第３の単語インデックスを使用することと
を含む、使用することと、
前記単語記憶法を形成するために前記複数の識別された対応する単語の各々を結合することであって、前記単語記憶法を形成するために前記複数の識別された対応する単語を結合することが、前記単語記憶法を形成するために、前記第１、第２、第３の識別された単語を結合することを含む、結合することと
を含む、方法。
【請求項１４】
単語記憶法へ大きな数をマッピングするためのコンピュータが実行する方法であって、
ａ．単語リストの各々において単語の数の積で前記大きな数を除算し、除算剰余Ｒ０を保存することと、
ｂ．整数の商Ｑ１および剰余Ｒ１を得るためにリストＷ１における単語の前記数で前記剰余Ｒ０を除算することと、
ｃ．単語インデックスＷ２からＷ（Ｎ−１）に対して整数の商Ｑｉおよび剰余Ｒｉを得るためにリストＷｉにおける単語の前記数で剰余Ｒｉ＋１を除算するステップｂを繰り返すことと、
ｄ．ＱＮを最後の反復の剰余Ｒ（Ｎ−１）にさせること
のステップを実行することによってＷ１、Ｗ２、・・ＷＮを参照して前記大きな数を複数Ｎ個の単語インデックスにマッピングすることと、
対応する単語を識別するために前記複数の単語リストへインデックスを付けるためにインデックスＱｉを使用することと、
単語記憶法へ前記識別された対応する単語を組み合わせることと
を含む方法。
【請求項１５】
プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記プロセッサは、ソフトウェア命令を実行することによって、
複数の単語インデックスに大きな数をマッピングすることと、
複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することであって、前記複数の単語リストが、各々多数の単語を含んでいる第１、第２および第３単語リストを含む、使用することと、
単語記憶法を形成するために前記複数の識別された対応する単語を結合することであって、前記単語記憶法は、第１、第２および第３の単語を含む、結合することと、
縮小されたハッシュ値を得るために、前記第１の単語リストにおける単語の前記数と前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積によってハッシュ値を除算することと、
第１の整数の商と第１の剰余を得るために、前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積で前記縮小されたハッシュ値を除算することと、
前記第１の単語リストにおける第１の単語を識別するために第１の単語インデックスとして前記第１の整数の商を使用することと、
第２の整数の商と第２の剰余を得るために、前記第３の単語リストにおける単語の前記数で前記第１の剰余を除算することと、
前記第２の単語リストにおける第２の単語を識別するために、第２の単語インデックスとして前記第２の整数の商を使用することと、
前記第３の単語リストにおける前記第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用することと、および
前記単語記憶法を形成するために前記第１、第２および第３の単語を組み合わせることと
を含むステップを実行するように構成される、コンピュータ。
【請求項１６】
前記プロセッサは、ソフトウェア命令を実行することによって、前記複数の単語インデックスに前記ハッシュ値をマッピングする前にハッシュ値のサイズを縮小することをさらに含むステップを実行するよう構成される、請求項１５のコンピュータ。
【請求項１７】
前記プロセッサは、ソフトウェア命令を実行することによって、ハッシュ値を生成するためにドキュメントへハッシュアルゴリズムを適用することをさらに含むステップを実行するように構成され、前記大きな数は前記ハッシュ値である、請求項１６のコンピュータ。
【請求項１８】
前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、請求項１７のコンピュータ。
【請求項１９】
前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである、請求項１７のコンピュータ。
【請求項２０】
前記ハッシュアルゴリズムはチェックサムアルゴリズムである、請求項１７のコンピュータ。
【請求項２１】
前記複数の単語リストにおける第１の単語リストは名詞のリストであり、
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
請求項１５のコンピュータ。
【請求項２２】
前記複数の単語リストにおける第３の単語リストは形容詞のリストである、請求項２１のコンピュータ。
【請求項２３】
前記複数の単語リストにおける第３の単語リストは副詞のリストである、請求項２１のコンピュータ。
【請求項２４】
前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、
前記複数の単語リストにおける第３の単語リストは名詞のリストである、
請求項１５のコンピュータ。
【請求項２５】
前記プロセッサが、ソフトウェア命令を実行することによって、
複数の数字部分へ大きな数を分割することと、
前記複数の単語インデックスとして複数の数字部分を使用することと
を含む、前記複数の単語インデックスに前記大きな数をマッピングするステップを実行するよう構成される請求項１５のコンピュータ。
【請求項２６】
プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記プロセッサは、ソフトウェア命令を実行することによって、
複数の単語インデックスへ前記大きな数をマッピングすることであって、複数の単語インデックスへ前記大きな数をマッピングすることは、
第１の整数商および第１の剰余を得るために第２の単語リストにおける単語の数と第３の単語リストにおける単語の数の積で大きな数を除算することであって、前記第１の整数の商は第１の単語インデックスである、除算することと、
第２の整数商および第２の剰余を得るために第３の単語リストにおける単語の数により第１の剰余を除算することであって、前記第２の整数の商は第２の単語インデックスであり、第２の剰余は第３の単語インデックスである、除算することと
を含む、マッピングすることと、
前記複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することであって、複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することは、
第１の単語リストにおける第１の単語を識別するために前記第１の単語インデックスを使用することと、
第２の単語リストにおける第２の単語を識別するために前記第２の単語インデックスを使用することと、
第３の単語リストにおける第３の単語を識別するために前記第３の単語インデックスを使用することと、
を含む、使用することと、
単語記憶法を形成するために前記複数の識別された対応する単語を結合することであって、単語記憶法を形成するために前記複数の識別された単語を結合することは、前記単語記憶法を形成するために、前記第１、第２、第３の識別される単語を結合することを含む、結合することと、
を含むステップを実行するように構成される、コンピュータ。
【請求項２７】
複数の単語インデックスへ大きな数をマッピングするための手段と、
複数の単語リストのそれぞれの１つにおいて対応する単語を識別するために前記複数の単語インデックスの各１つを使用するための手段であって、前記複数の単語リストが、各々多数の単語を含んでいる第１、第２および第３単語リストを含む、使用する手段と、
単語記憶法を形成するために前記複数の対応する識別される単語を結合するための手段であって、前記単語記憶法は、第１、第２および第３の単語を含む、結合するための手段と、
縮小されたハッシュ値を得るために、第１の単語リストにおける単語の数と第２の単語リストの単語の数と第３の単語リストにおける単語の数の積でハッシュ値を除算するための手段と、
第１の整数の商と第１の剰余を得るために、前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積により前記縮小されたハッシュ値を除算する手段と、
前記第１の単語リストにおける前記第１の単語を識別するために第１の単語インデックスとして前記第１の整数の商を使用する手段と、
第２の整数の商と第２の剰余を得るために前記第３の単語リストにおける単語の前記数で前記第１の剰余を除算するための手段と、
前記第２の単語リストにおける第２の単語を識別するために第２の単語インデックスとして前記第２の整数の商を使用する手段と、
前記第３の単語リストにおける前記第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用するための手段と、
前記単語記憶法を形成するために前記第１、第２、および第３の単語を結合するための手段と
を備えるコンピュータ。
【請求項２８】
前記複数の単語インデックスに前記ハッシュ値をマッピングする前に前記ハッシュ値のサイズを縮小するための手段をさらに備える、請求項２７のコンピュータ。
【請求項２９】
ハッシュ値を生成するためにドキュメントにハッシュアルゴリズムを適用するための手段をさらに含み、前記ハッシュ値は前記大きな数である、請求項２８のコンピュータ。
【請求項３０】
前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、請求項２９のコンピュータ。
【請求項３１】
前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである、請求項２９のコンピュータ。
【請求項３２】
前記ハッシュアルゴリズムはチェックサムアルゴリズムである、請求項２９のコンピュータ。
【請求項３３】
前記複数の単語リストにおける第１の単語リストは名詞のリストであり、
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
請求項２７のコンピュータ。
【請求項３４】
前記複数の単語リストにおける第３の単語リストは形容詞のリストである、請求項３３のコンピュータ。
【請求項３５】
前記複数の単語リストにおける第３の単語リストは副詞のリストである、請求項３３のコンピュータ。
【請求項３６】
前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、
前記複数の単語リストにおける第３の単語リストは名詞のリストである、
請求項２７のコンピュータ。
【請求項３７】
複数の数字部分へ前記大きな数を分けるための手段と、
前記複数の単語インデックスとして前記複数の数字部分を使用するための手段と
をさらに備える請求項２７のコンピュータ。
【請求項３８】
複数の単語インデックスへ大きな数をマッピングするための手段であって、複数の単語インデックスに前記大きな数をマッピングするための手段は、
第１の整数の商と第１の剰余を得るために第２の単語リストにおける単語の数と第３の単語リストにおける単語の数の積で前記大きな数を除算するための手段であって、前記第１の整数の商は第１の単語インデックスである、除算するための手段と、
第２の整数の商と第２の剰余を得るために、第３の単語リストにおける単語の数によって前記第１の剰余を除算するための手段であって、前記第２の整数の商は第２の単語インデックスであり、前記第２の剰余は第３の単語インデックスである、除算するための手段を備えるマッピングするための手段と、
複数の単語リストのそれぞれの１つにおいて対応する単語を識別するために前記複数の単語インデックスの各１つを使用するための手段であって、複数の単語リストのそれぞれ１つにおいて対応する単語を識別するための前記複数の単語インデックスの各１つを使用するための手段は、
前記第１の単語リストにおいて第１の単語を識別するために前記第１の単語インデックスを使用するための手段と、
前記第２の単語リストにおいて第２の単語を識別するために前記第２の単語インデックスを使用するための手段と、
前記第３の単語リストにおいて第３の単語を識別するために前記第３の単語インデックスを使用するための手段と
を備える使用するための手段と、
単語記憶法を形成するために前記複数の識別された対応する単語を結合する手段であって、前記単語記憶法を形成するために前記複数の識別された対応する単語を結合する手段は、前記単語記憶法を形成するために前記第１、第２、第３の識別された単語を結合する手段を備える、結合する手段と
を備える、コンピュータ。
【請求項３９】
複数の単語インデックスに大きな数をマッピングすることと、
複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することであって、前記複数の単語リストが、各々多数の単語を含んでいる第１、第２および第３単語リストを含む、使用することと、
単語記憶法を形成するために前記複数の識別された対応する単語を結合することであって、前記単語記憶法は、第１、第２および第３の単語を含む、結合すること、
縮小されたハッシュ値を得るために第１の単語リストにおける単語の前記数と第２の単語リストにおける単語の前記数と第３の単語リストにおける単語の前記数の積によってハッシュ値を除算することと、
第１の整数の商と第１の剰余を得るために前記第２の単語リストにおける単語の数と前記第３の単語リストにおける単語の数の積で縮小された前記ハッシュ値を除算することと、
前記第１の単語リストにおける第１の単語を識別するために第１の単語インデックスとして前記第１の整数の商を使用することと、
第２の整数の商および第２の剰余を得るために前記第３の単語リストにおける単語の前記数で前記第１の剰余を除算することと、
前記第２の単語リストにおける第２の単語を識別するために第２の単語インデックスとして前記第２の整数の商を使用することと、
前記第３の単語リストにおける第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用すること、
前記単語記憶法を形成するために前記第１、第２、第３の単語を結合することと
を備えたステップをコンピュータのプロセッサに実行させるように構成されたプロセッサ実行可能なソフトウェア命令を記憶する有形の記憶媒体。
【請求項４０】
前記有形の記憶媒体は、前記ハッシュ値を複数の単語インデックスにマッピングする前に前記ハッシュ値のサイズを縮小することを含む更なるステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を記憶する、請求項３９の有形の記憶媒体。
【請求項４１】
前記有形の記憶媒体は、ハッシュ値を生成するために、ドキュメントにハッシュアルゴリズムを適用することを備える更なるステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を記憶し、前記ハッシュ値が大きな数である、請求項４０の有形の記憶媒体。
【請求項４２】
前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、請求項４１の有形の記憶媒体。
【請求項４３】
前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである請求項４１の有形の記憶媒体。
【請求項４４】
前記ハッシュアルゴリズムはチェックサムアルゴリズムである、請求項４１の有形の記憶媒体。
【請求項４５】
前記複数の単語リストにおける第１の単語リストは名詞のリストであり、
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
請求項３９の有形の記憶媒体。
【請求項４６】
前記複数の単語リストにおける第３の単語リストは形容詞のリストである、請求項３９の有形の記憶媒体。
【請求項４７】
前記複数の単語リストにおける第３の単語リストは副詞のリストである、請求項３９の有形の記憶媒体。
【請求項４８】
前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、
前記複数の単語リストにおける第３の単語リストは名詞リストである、
請求項３９の有形の記憶媒体。
【請求項４９】
前記有形の記憶媒体は、
複数の数字部分へ前記ハッシュ値を分けることと、
前記複数の単語インデックスとして前記複数の数字部分を使用することと
を含む前記複数の単語インデックスに前記大きな数をマッピングするステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を記憶する、請求項３９の有形の記憶媒体。
【請求項５０】
複数の単語インデックスに大きな数をマッピングすることであって、前記複数の単語インデックスに前記大きな数をマッピングすることは、
第１の整数の商と第１の剰余を得るために第２の単語リストにおける単語の数と第３の単語リストにおける単語の数の積で前記大きな数を除算することであって、前記第１の整数の商は第１の単語インデックスである、除算することと、
第２の整数の商と第２の剰余を得るために、第３の単語リストにおける単語の数によって第１の剰余を除算することであって、前記第２の整数の商は第２の単語インデックスであり、第２の剰余は第３の単語インデックスである、除算すること
を含む、マッピングすることと、
前記複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することであって、複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することは、
前記第１の単語リストにおいて第１の単語を識別するために前記第１の単語インデックスを使用することと、
前記第２の単語リストにおいて第２の単語を識別するために前記第２の単語インデックスを使用することと、
前記第３の単語リストにおいて第３の単語を識別するために前記第３の単語インデックスを使用することと
単語記憶法を形成するために前記複数の識別された対応する単語を結合することであって、単語記憶法を形成するために前記複数の識別された対応する単語を結合することは、前記単語記憶法を形成するために前記第１、第２、第３の識別された単語を結合することを含む、結合することと
を含むステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を記憶する、
有形の記憶媒体。
【発明の詳細な説明】
【発明の技術分野】
【０００１】
本発明は、コンピュータシステムに関し、記憶すべき単語記憶法（ｗｏｒｄ  ｍｎｅｍｏｎｉｃ）においてハッシュ値のような大きな数を表わす方法および装置に特に関係する。
【背景技術】
【０００２】
コンピュータ技術において、ユーザが再呼び出ししなければならない非常な大きな数をユーザは提供される多くの状況がある。そのような数はドキュメントファイル名、ドキュメントのバージョンおよび日付スタンプの値、およびハッシュ値を含んでいる。そのような大きな数は、社会保障番号、従業員番号、電話番号、バッジ番号、組合せ、郵便番号、パスワード、個人識別番号（ＰＩＮ）などを含む、人々が記憶するが期待される他の大きな数のブリザードに加える。研究は、ほとんどの人々が４つの数字より長い数を思い出すのに苦労することを示したが、人々が記憶することを期待する長い数とランダムな文字の組み合わせ（例えばＰＩＮ）の多様性と量は、単にそれぞれの新しい技術革新につれて増加するように見える。
【０００３】
コンピュータ技術における別の問題は、複雑なコンピュータソフトウェアプログラムのような大きなドキュメントのさまざまなバージョンを追跡し、識別することに関係する。そのようなドキュメントに対する小さな変更は識別するのが難しくなることができるが、ドキュメントの有用性に重要な影響を及ぼし得る。典型的に、ドキュメントは、同じファイル名に保存された変更および一連のバージョンとともに単一のファイル名の下で保存される。したがって、ドキュメントのファイル名は、異なるバージョンを識別するための信頼できる手段ではない。ドキュメントとファイル名にバージョン番号とタイムスタンプを加えることは助けになるかもしれないが、特に多数の人々が同じドキュメントの「分岐（ｂｒａｎｃｈ）」に取り組んでいる場合に、絶対確実ではない。さらに、ユーザは、再度、そのような数値データの複雑さが思い出すのが難しいようなバージョン番号とタイムスタンプを忘れ得る。
【発明の概要】
【０００４】
さまざまな実施例の方法は、ユーザが、全ドキュメントを反映する単一のハッシュ値とその結果のハッシュを思い出すための記憶すべき記憶法を生成するためにハッシュアルゴリズムを使用して複雑なドキュメントのバージョンを識別することをイネーブルする。独自に特有のドキュメント（すなわち、内容とバージョン）を識別するために、ハッシュアルゴリズム、好ましくは暗号のハッシュアルゴリズムはドキュメント内容に基づいた固有の番号を生成するために使用される。ハッシュアルゴリズムの例は、既知の暗号のハッシュアルゴリズム、ディジタル署名、チェックサムの値、およびドキュメントの適切な送信を確認するために使用される巡回冗長検査（ｃｙｃｌｉｃ  ｒｅｄｕｎｄａｎｃｙ  ｃｈｅｃｋ：ＣＲＣ）アルゴリズムを含んでいる。既知のハッシュアルゴリズムによって生成された典型的なハッシュ値は大きすぎるので、思い出すことができない。ユーザが数字を思い出すことをイネーブルするために、ハッシュ値は、記憶法を形成する単語の固有の組合せを選択するために複数の単語リストにおいて特有の単語を識別する単語インデックスとして使用される複数のより小さな数の固有の組合せを作成するために使用される。さらに、この記憶法は、独自に特有のバージョンを識別するために使用されることができるドキュメントのための記憶すべき識別子を提供する。
【０００５】
記憶法の実施例の方法は、さらにユーザが課金番号、電話番号などのような大きな数を思い出すのを支援するために使用され得る。そのような実施例においては、大きな数は、記憶法を形成する単語の固有の組合せを選択するために複数の単語リストにおいて特有の単語を識別するために単語インデックスとして使用される複数のより小さい数にマッピングされる。この記憶法は人々が思い出すのが長い数より大変簡単である。
【図面の簡単な説明】
【０００６】
ここに組込まれ、この明細書の一部を構成する添付の図面は、発明の典型的な実施例を例示し、そして、上記で提供された概要、および下記で適用される詳細な説明とともに、発明の特徴について説明する役目をする。
【図１】図１は、単語記憶法を使用して、独自にドキュメントを識別する概要の実施例の方法の処理フロー図である。
【図２】図２は、単語記憶法から大きな数を回復する概要の実施例の方法の処理フロー図である。
【図３】図３は、単語記憶法を使用して、独自にドキュメントを識別する、１つの実施例の方法の処理フロー図である。
【図４】図４は、実施例で使用するにふさわしい例となるデータ構造の単語リストである。
【図５】図５は、実施例で使用するにふさわしい例となるデータ構造の単語リストである。
【図６】図６は、実施例で使用するにふさわしい例となるデータ構造の単語リストである。
【図７】図７は、図３において例示された実施例従う例の計算である。
【図８】図８は、特有のドキュメントが単語記憶法に関連するドキュメンに対して等しいかどうか判断する実施例の方法の処理フロー図である。
【図９】図９は、単語記憶法と関係する固有のドキュメントファイル識別子を生成する実施例方法の処理フロー図である。
【図１０】図１０は、図９に例示された方法を使用して生成された単語記憶法のファイル識別名を使用して、ドキュメントを検索するための処理フロー図である。
【図１１】図１１は、単語記憶法を大きな数に関係させる代わりの実施例の方法を例示する。
【図１２】図１２は、単語記憶法を大きな数に関係させる別の実施例の方法を例示する。
【図１３】図１３は、単語記憶法へパスワードをマッピングする実施例の方法を例示する。
【図１４】図１４は、３単語記憶法から３つの数の組合せをマッピングする実施例の方法を例示する。
【図１５】図１５は、３単語記憶法から３つの数字の組合せを回復する実施例の方法を例示する。
【図１６】図１６は、さまざまな実施例による使用にふさわしいコンピュータシステムの構成要素のブロック図である。
【詳細な説明】
【０００７】
さまざまな実施例は、添付の図面に詳細に記載されるだろう。可能なところならどこでも、同じ参照番号が、同じあるいは類似の部分を参照するために図面にわたって使用されるだろう。特有の例およびインプリメンテーションに対する参照は、例示の目的のためであり、発明または請求項の範囲を限定するようには意図されない。
【０００８】
この説明において、用語「典型的な（ｅｘｅｍｐｌａｒｙ）」は、「例（ｅｘａｍｐｌｅ）、事例（ｉｎｓｔａｎｃｅ）、あるいは実例（ｉｌｌｕｓｔｒａｔｉｏｎ）として役立つ」ことを意味するためにここで使用される。ここで「典型的な」のように記載される任意のインプリメンテーションは、他のインプリメンテーションに対して好まれるまたは有利であるように構成されるに必要はない。
【０００９】
この説明において、用語「記憶法（ｍｎｅｍｏｎｉｃ）」は大きな数のような別の値に互いに関係する一連の単語を参照するために使用される。したがって、記憶法は、単語自体の意味以外の意味と関係する記憶すべきフレーズとして有用である。実施例において、アルゴリズムは、大きな数に相互に関連する記憶法を作成し、かつその記憶法から大きな数を再作成するために使用される。したがって、ここに使用されるような用語「記憶法」はいくつかの辞書の意味と異なってもよく、以下の説明および請求項は、さまざまな実施例の任意の説明と一致しない「記憶法」の定義に制限されるようには意図されない。
【００１０】
ここに使用されように、用語「コンピュータ」および「コンピュータシステム」は、例えば、パーソナルコンピュータ、ラップトップコンピュータ、モバイルコンピューティング装置（例えば、セルラー電話、携帯情報端末（ｐｅｒｓｏｎａｌ  ｄａｔａ  ａｓｓｉｓｔａｎｔ：ＰＤＡ）、パームトップコンピュータ、および多機能のモバイル装置）、メインフレームコンピュータ、サーバー、また統合コンピューティングシステムを含む、存在し、将来開発されるようなプログラム可能な任意のコンピュータの形式も包含するように意図される。コンピュータは、典型的には、メモリ回路に結合されたソフトウェアプログラム可能なプロセッサを含んでいるが、図１６に関して下記に述べられたコンポーネントをさらに含み得る。
【００１１】
ここに使用されるように、用語「ハッシュアルゴリズム」は、任意のデータ量を与えられた計算アルゴリズムのどんな形式も包含し、入力データの正確なバージョンを識別するために使用することができる（ある見込みの信頼度で）固定されるサイズ番号を計算する。しかしながら、ハッシュアルゴリズムは、暗号的に安全である必要がない（つまり、同じ縮小される数を計算する代わりの入力を決定するのに困難）が、それが使用されるコンテキストは、そのような要求を命じ得る。ここに使用されるように、用語「ハッシュ」、「ハッシュ値」はハッシュアルゴリズムの出力を指すように意図される。
【００１２】
コンピュータソフトウェアと他の大きなドキュメントを発展させることにおいてしばしば遭遇する問題は、ドキュメントの特別のバージョンが最も現在のものか、コンピュータシステム上に記憶された特有のバージョンと同じかどうかを識別することである。そのようなバージョンの追従問題が、大きなコンピュータプログラムあるいは報告書のようなドキュメントが協力的に働く数人の個人によって著される状況において発生する。そのような状況で、ドキュメントは、それらの知識なしで２人またはそれより多い個人によって同時に改訂され得る。その結果、混乱は、１人の個人によって調査された特有のバージョンがコンピュータシステム上に記憶された現行版と同じかどうかに関して発生し得る。これは、大きなドキュメントが、機能性について確認され、誤りがないコンピュータプログラムである場合に、特に面倒になりえる。
【００１３】
頻繁にインプリメントされた１つの解決は、ワードドキュメントにおけるヘッダまたはフッタのラインにおいて、あるいはコンピュータプログラムにおけるコメントラインにおいてと同様にドキュメントの一部として日付スタンプを含めることを著者に要求することである。別の方法は、コンピュータシステム上にドキュメントを記憶するために使用されるファイル名においてバージョン番号あるいは日付スタンプを使用してバージョンを記憶することである。しかしながら、著者がバージョン番号や日付スタンプ方法を厳格にインプリメントしない場合、そのような方法はしばしば失敗する。
【００１４】
いくつかのコンピュータシステムは、ファイル名の拡張におけるのと同様に、ファイルが保存されるごとに、ファイル名に自動的に日付スタンプを含めることにより、その問題を解決することを試みる。著者によりインプリメントされる方法より信頼できる一方、１人の個人によってレビューされ、あるいはテストされる特有のバージョンがシステム上に保存されたそれと同じかどうかに関して混乱が依然としてあり得る。そのような混乱の１つの理由は、独自にシステムコンピュータ上のドキュメントを識別するのに必要な大きな数は個人が思い出すのが難しいということである。
【００１５】
ドキュメントの特有のバージョンが他と同じものであるかを確認するために使用される１つの方法は、ドキュメントの内容に基づいた数（つまりハッシュ値）を生成するためにドキュメントに対して、ＭＤ５の暗号のハッシュアルゴリズムのようなハッシュアルゴリズムを適用することである。そのような方法は、認証機関（ａｕｔｈｅｎｔｉｃａｔｉｎｇ  ａｇｅｎｃｙ）によってソフトウェアアプリケーションを認証するために使用することができる。認証機関がテストし、ソフトウェアの特別のバージョンが誤りまたはマルウェア（ｍａｌｗａｒｅ）がないことを確認する場合、機関は個人の暗号鍵を使用して、ソフトウェアの暗号のハッシュを生成する。認証機関は、認証する機関が暗号のハッシュを生成したことをさらに確認するディジタル署名を受信者が復号することを可能にする個人の暗号鍵を使用し得る。そして、ハッシュ値は、コンピュータがソフトウェアコード上で同様の暗号のハッシュアルゴリズムを実行し、結果をソフトウェアに関連するハッシュ値と比較することによりソフトウェアのバージョンを確認することができるように、ソフトウェアで含まれる。そのような方法はコンピュータ技術においてよく知られている。しかしながら、典型的なハッシング法によって生成された非常に大きなハッシュ値を記憶することは、平均的な人が記憶することは実際的に不可能である。したがって、特有のドキュメントを独自に識別するそのような方法が、コンピュータのインプリメントされる処理に限定される。
【００１６】
さまざまな実施例は、記憶すべき単語記憶法を使用して、独自にドキュメントを識別するユーザフレンドリーな方法を提供する。単語記憶方法、特有のドキュメントを識別し、それらが同一かどうか判断するために２つのドキュメントを比較することを促進するために使用することができる。ユーザは、２つのドキュメントが、人々が行うべき非常に単純なタスクであるそれぞれの単語記憶法を単に比較することにより同じかどうか判断することができる。あるいはまたはさらに、ユーザは、コンピュータ上に記憶されたドキュメントのバージョンが、ユーザが記憶法を知っているバージョンと一致するかどうか判断することができる。さまざまな実施例を使用すると、固有のドキュメントファイル名は、人々がシステム上に格納された特別のファイルの名前を容易に思い出すことを可能にして、記憶すべき記憶法に相互に関連するファイル名を用いてコンピュータシステム上での使用のために生成されることができる。
【００１７】
さらなる実施例において、任意の大きな数も、その数が記憶法から再生成されることを可能にする構造化システムを使用して、単語記憶法へマッピングされることができる。こういうふうに、課金番号、強いパスワードおよびＰＩＮ番号は、人々が思い出すのが簡単である記憶法のフォーマットでユーザに提供される番号により個人に対して生成されることができる。組み合わせ錠において使用される一連の数のような組み合わせ数、電話番号、シリアルナンバーおよび社会保障番号は、同様に実施例の方法を使用して、記憶すべき記憶法へマッピングされ得る。
【００１８】
さらなる実施例において、アイテムの２つのリストに対応する１組のインデックスに対して、ハッシュ値のような大きな数をマッピングする処理は、グラフィックス、色および背景のようなリストにおいてインデックスを付けられ得る他の情報を包含するために拡張される。この実施例において、単語記憶法を生成するのではなく、むしろ、インデキシング方法は大きな数を独自にマッピングするグラフィックを生成するために使用される。例えば、１つのリストは犬、猫、木、ボートなどのようなさまざまなものの線画の図面のファイル名であり得る。例えば、図４を参照して、単語「ａｎｔ」、「ｂａｔ」、「ｃａｔ」などを含む代わりに、リストは、アリの画像に対して「ａｎｔ．ｔｉｆ」のようなファイル名を、こうもりの画像に対して「ｂａｔ．ｔｉｆ」のようなファイル名を、猫の画像に対して「ｃａｔ．ｔｉｆ」などのようなファイル名を含むだろう。別のリストは、線画の図面に適用される色にあってもよく、第３のリストは背景シーンであり得る。その後、組合せは、特有の背景シーン（例えば海岸の青い猿）内の着色画像であるだろう。記憶すべき画像を提供することによって、さらに、そのようなグラフィック記憶法は、ユーザが思い出すのが簡単になることができる。
【００１９】
暗号のハッシュ関数あるいは巡回冗長検査（ＣＲＣ）アルゴリズムにドキュメントを提示することによって、全ドキュメントを特徴づける固有のハッシュ値は生成することができる。同じであるように見える大きな２つのドキュメントが、それらが単にそれぞれのハッシュ値の比較により同一であることを確認するために比較され得る。ドキュメント内に深く埋められた小さな違いさえ、異なる生成されるハッシュ値という結論になるだろう。したがって、そのような方法の使用は、著者が非常に大きなドキュメントのさまざまなバージョンを追跡する必要のある状況で有用であることができる。２つのドキュメントのハッシュ値の比較によって、人は、２つの非常に大きなドキュメントが確かに同一かを確認することができる。
【００２０】
一般に用いられているハッシュによって生成されたハッシュ値あるいはＣＲＣアルゴリズムは、長さにおいて典型的には少なくとも８つの１６進法の文字である。例のハッシュ値は「０ｘ４ａ５９７ｅ２７」である。この数がドキュメントのバージョンを追跡するために有用であるのと同程度にそのような値は、思い出すのに困難である。したがって、ドキュメントのバージョンを追跡するこの方法のユーザはその結果生じるハッシュ値を書き留めなければならない。さらに、文字をそれぞれ注意深く比較される必要があるので、２つのハッシュ値の比較は細心の注意を要する。
【００２１】
これらの欠陥を克服するために、さまざまな実施例は、ハッシュ値のような大きな数字を、記憶すべき記憶方法を生成するために特に選ばれる単語リストから選択される複数の単語にマッピングする方法を提供する。さまざまな実施例のアルゴリズムは、大きな数を単語リストにマッピングするために使用され、それらの少数の例が、以下の実施例に記載される。基本的な目的は、人々が思い出す可能性がありそうな短いフレーズへ大きな数をマッピングすることである。例えば、人々は恐らくハッシュ値「０ｘ４ａ５９７ｅ２７」を思い出す見込みがない。「ｆｕｚｚｙ  ｄａｎｃｉｎｇ  ｕｍｂｒｅｌｌａ」のような単語記憶法へこの数をマッピングすることによって、ハッシュ値は思い出すことがより簡単にされる。
【００２２】
好ましい実施例において、大きな数は、選択された言葉が組み合わせられる場合に、記憶すべき句が生成されるように、スピーチの部分によって分割されたいくらかの単語リストにマッピングされる。例えば、数字が、名詞が後続する動詞が後続する形容詞を含む記憶法のフレーズにマッピングされることができるように、単語リストは、名詞リスト、形容詞リストおよび動詞リストを含み得る。代わりに、単語リストは、名詞リスト、動詞リストおよび副詞リストから成り得て、その結果、数字は副詞が後続する動詞が後続する名詞を含む記憶法のフレーズにマッピングされることができる。第３の代案として、単語リストは、形容詞の第１のリスト、形容詞の第２のリスト（第１のリストとは異る形容詞を含む）および名詞の第３のリストから成り得て、その結果、数字は、名詞が後続する形容詞が後続する形容詞を含む記憶法のフレーズにマッピングされることができる。例えば、形容詞−動詞−名詞記憶法は、「ｃｏｌｄｌｙ  ｒｕｎｎｉｎｇ  ｅｌｆ」であってもよく、名詞−動詞−副詞の記憶法は、「ｅｌｆ ｒｕｎｎｉｎｇ  ｃｏｌｄｌｙ」であってもよく、また、形容詞−形容詞の−名詞の記憶法は「ｃｏｌｄ  ｆｌｉｐｐａｎｔ  ｄａｙ」であってもよい。そして、そのようなフレーズは、奇妙に聞こえる一方、ユーモアは、従来のハッシュアルゴリズムによって生成された数字と文字の不毛のストリングよりもよく呼び出すことに拍車をかけそうである。
【００２３】
さらに、ハッシュ値のような大きな数は、方法またはアルゴリズムの任意の数を使用して単語リストへマッピングされることができる。２つの基本的方法が図面および以下の記載において例示される。第１の実施例において、大きな数は、標準の除算およびモジュラス演算を使用して、単語リストインデックスへマッピングされる。第２の実施例において、大きい数は、それぞれの単語リストに対して個別のインデックスとして役立つ各部分により、数のグループまたは部分に分けられる。より複雑なアルゴリズムは、各記憶方法が、単一の大きな数にマッピングするように数が独自に単語リストインデックスにマッピングされるより複雑なアルゴリズムは使用され得る。
【００２４】
より記憶すべき記憶法を提供するために、それぞれの単語リストは、メンタルイメージを生成し、かつ各単語リスト内の同意語の数を最小化するために注意深く選択され得る。さらに、その意味が理解される単語を思い出す可能性がありそうであるので、単語リストは一般に知られているワードを一般に含み得る。さらに、オブジェクトが、記憶を促進することができるメンタルイメージを喚起する可能性がありそうであるので、概念ではなくむしろ明確なオブジェクトを指す名詞は選択され得る。同様に、能動の「ｔｏ  ｂｅ」のような受動の動詞よりもより多くのイメージを喚起するので、能動の動詞が動詞リストに対して選ばれ得る。さらに、単語は、ユーモアあるいは他の感動を喚起するためにそれらの可能性に基づいて単語リストについて選ばれ得る。
【００２５】
さまざまな実施例が名詞、動詞、および副詞または形容詞のリストに関して記載されているが、スピーチの他の部分は、固有名、地名および有名人の名前を含めて、使用され得る。例えば、方法が記憶すべき記憶法において１０桁の電話番号の符号化についてインプリメントされる場合、人々が、コールされる位置の近くの市を認識し、または思い出すので、地域コードの３桁の数字は地域コード内の大きな市にマッピングされ得る。
【００２６】
単語記憶法のハッシュはその１０進か１６進法の等価のものより思い出すのがより簡単であるいくつかの理由がある。１つの理由については、形容詞−動詞−名詞のフォーマットは、そのときに未処理の１０進か１６進数の数字をより容易に思い出されるメンタルイメージに向いている。別の理由については、相当の大きさの単語リストにより、非常に大きな桁数は３あるいは４つの単語へマッピングされることができる。そのようなシンプルなフレーズは、８つあるいは９つの数字の数を注意深く入力しなければならないよりはるかに容易に、口頭であるいはキーボードにタイプ入力されて速く伝達されることができる。最後に、スピーチの異なる部分を含む記憶法へ大きな数字をマッピングすることによって、単語に特有のパターンがあるように人々が２つの要素を置き換えることに、より少ししか可能性がない。人が２単語を転換する場合でも、スピーチの各部分が、それぞれ特有の単語リスト（例えば名詞、あるいは動詞、あるいは形容詞）に適するようにそれぞれ認識され、このように適切に解釈することができるので、その結果はまだ有用である。例えば、「ｆａｔ  ｓｉｔｔｉｎｇ  ｅｌｆ」は、「ｅｌｆ  ｓｉｔｔｉｎｇ  ｆａｔ」あるいは「ｓｉｔｔｉｎｇ  ｆａｔ  ｅｌｆ」として思い出される場合は同じものと解釈されるだろう。明らかに、これは、置き換えするのが簡単であり、置き換えエラーが認識して修正するのは困難である１０進および１６進の数とは非常に異なる。
【００２７】
同様の理由で、グラフィック記憶法は、人々が思い出すのが簡単であり得る。人々は、当然に一目で画像の微妙な違いを発見することができるグラフィッククリエイターである。海岸上の青い猿のような特別のグラフィックへ大きな数をマッピングすることによって、人々はそのシーンを思い出しそうであり、カーペット上の赤い犬のような異なるシーンを速く認識するだろう。
【００２８】
一連の単語リスト（あるいは画像、色および背景リスト）によって生成することができる異なる記憶術の数字は、単語リストの各々における言葉の数の積である。例えば、形容詞の単語リストが３００の形容詞を含み、動詞の単語リストが１００の動詞を含み、名詞の単語リストが５００の名詞を含んでいる場合、１５００万の固有の３単語の記憶法が生成されることができる。固有の記憶法の数は、各リストにおける単語の数を増加させることにより、および／またはスピーチの追加部分のための単語リストのような追加の単語リストを加えることにより増加されることができる。この後のオプションは、図１２に関してより詳細に以下に記載される。
【００２９】
特有のドキュメントのバージョンを特徴づける固有の記憶法を計算する方法の概観は、図１に例示される。最初のステップとして、ドキュメントは、全ドキュメントについてハッシュまたはＣＲＣのアルゴリズムを実行することにより、ハッシュ値で特徴づけられる（ステップ１）。ドキュメントについて暗号のハッシュを生成する方法は、コンピュータ技術においてよく知られており、さまざまな既知のハッシュかＣＲＣアルゴリズムのいずれもこの目的に使用され得る。結果は使用される特有のハッシュまたはＣＲＣアルゴリズムに依存する大きな数になるだろう。典型的には、ハッシュ値は３２ビットまたはそれより大きい数であり得る。使用される単語リストのサイズに依存して、ハッシュ値は、単語リストによって包含されることができる桁数を超過してもよい。従って、ハッシュ値は、固有の記憶法によって包含された範囲に適合するためにサイズ変更され得る（ステップ２）。ドキュメントを特徴づける目的のために、有効なハッシュかＣＲＣアルゴリズムが、衝突の重大な危険なしで減少される（すなわち、衝突は、たとえドキュメントがそれ自体異なっていても２つの縮小されるハッシュ値が等しい状況であるだろう）ことができる数を生成するだろう。固有の記憶法の範囲は、可能なハッシュ値の範囲に等しい、または超過する場合、ハッシュ値をサイズ変更する必要はない。従って、破線によって示されるように、このステップ２はオプションである。
【００３０】
その後、ハッシュ値あるいは縮小されるサイズのハッシュ値は、単語リストインデックスに独自に割り付けられる（ステップ３）。基本的に、このステップは様々な単語リストインデックスに一致することができる数の固有のグループへ数を写像することを必要とする。上に記載されるように、異なるアルゴリズムの数はこのステップに使用され得て、それらのうちのいくらかはより詳細に以下に記載される。単語リストインデックスを使用して、さまざまな単語リスト内の言葉との一致は得られる（ステップ４）。これは、インデックスがそれぞれ単一の２列データベースにおいて対応する単語を見つけるために鍵として使用される単一のテーブルルックアップ処理を使用して、コンピュータシステムにおいてインプリメントされて得る。最後に、選択された単語は、ユーザに提示される単語の記憶法を作成するために組み合わせられる（ステップ５）。
【００３１】
記憶法は、単純な方法を使用する大きな数を回復するために容易に使用することができ、その一例は図２に例示される。ユーザは、音声認識システムへ話すことによって、あるいは記憶法をキーボードにタイプ入力することによって、記憶法を入力し得る（ステップ６）。そして、コンピュータは、フレーズを名詞、動詞および形容詞のような単語リストに対応するスピーチの部分へ分解する（ステップ７）。名詞を使用すると、コンピュータは、対応する名詞インデックス値を得るために名詞リストにおいてその単語を調べることができる（ステップ８）。同様に、コンピュータは、対応する動詞インデックス値をえるために動詞のリストにおいてその単語を調べる動詞を使用し（ステップ９）、形容詞インデックス値を得る形容詞のリストにおいてその単語を調べるために形容詞を使用することができる（ステップ１０）。最後に、名詞インデックス、動詞インデックスおよび形容詞インデックスは、数を回復するために使用される（ステップ１１）。この方法では、名詞、動詞および形容詞リストは任意の順に質問され得る。さらに、それぞれの単語は単一のデータベースに記憶され得る。さらに、さまざまなインデックスは、ステップ１１においてオリジナルの大きな数を回復するために任意の前もって決定された方法のアルゴリズムに従って処理され得る。したがって、記憶法は、形容詞−動詞−名詞のフレーズあるいは形容詞−名詞−動詞のフレーズの形式において、または、動詞−名詞−形容詞のフレーズにおいてさせも、話され入力され得て、それぞれの単語リストがそれぞれのインデックスを決定するに使用されるので、その結果回復された同じものであり、再計算アルゴリズムは、書かれたまたは話された順番とは独立して予め決定された順番にそれぞれのインデックスを使用するので、同じになり得る。
【００３２】
記憶法のドキュメントと識別子を生成するための特有の実施例の一例は、図３に例示される。この実施例では、ハッシュ値は標準の除算およびモジュラス演算子を使用して、単語インデックスに割り付けられる。第１ステップとして、特徴づけられるユーザのドキュメントはコンピュータシステムに入力される（ステップ２０）。例えば、ユーザのドキュメントは、コンピュータのメモリに記憶された大規模なソフトウェアアプリケーションのソースコードまたはコンパイルされたコードであり得る。別の例として、コンピュータシステムメモリに格納される提案書あるいは主要な報告書のようなドキュメントは、非常に大規模な単語、およびグラフィックのファイルであり得る。多くの利用可能な（あるいは開発されている）ハッシングかＣＲＣアルゴリズムの数を使用して、ドキュメントは特徴的なハッシュ値を生成するために処理される（ステップ２２）。コンピュータ技術においてよく知られているように、ドキュメント内のすべての文字あるいは数字は、値における変化による小さな修正を示すのに非常に適している単一のハッシュ値を生成する方法で入力を操作するハッシュかＣＲＣアルゴリズムによって処理される。
【００３３】
ハッシュ値のサイズが固有の記憶法（つまり、可能な最大のハッシュ値は、さまざまな単語リストの各々において単語の数の積を超える）の範囲を超える場合、ハッシュ値は単純なアルゴリズムによってサイズにおいて縮小され得る（オプションのステップ２４）。例えば、ハッシュ値のサイズを縮小する単純な方法はハッシュ値についてのモジュラス演算を実行することであり、それは、さまざまな単語リストの各々における数の積によって除算されたハッシュ値の剰余をとる。例えば、３００の形容詞を含む形容詞の単語リスト、１００の動詞を含む動詞の単語リスト、および５００の名詞を含む名詞の単語リスト（１５００万の積の値を持つ）を用いて、１５００万で割られた３２ビットのハッシュ値に対するモジュラス演算は、衝突の可能性が１５００万において１のみである剰余値との結論になる。その可能性は３２ビットのハッシュ値自体によって提供されたほどよくないが、衝突が、２つのドキュメントが同一かそうではないことを確認することを意図された目的にたいしては見つかりそうにない。モジュラス算数を使用する例の実施例は、現代のコンピューティング装置において容易にインプリメントされ、したがって、記憶法の単語リストによってカバーされる範囲へのハッシュ値をサイジングするのに役立つ。
【００３４】
参照の単純性のために、縮小されたサイズのハッシュ値は図面において「Ｈ」と呼ばれる。名詞のインデックスを決定するために、ハッシュ値あるいはＨが、名詞のインデックスとして使用される整数の商の数字部分を持つ動詞の数と形容詞の数の積によって除算される（ステップ２６）。その後、剰余の商は、動詞のインデックスとして使用されている整数の商の数字部分を備えた形容詞の数で除算される（ステップ２７）。その除算の剰余は形容詞インデックスを提供する（ステップ２８）。図３の中における破線の矢印によって示されるように、これらの数学的演算の各々は、後の演算において使用することができる結果を提供する。したがって、効率的なアルゴリズムは単純な除算およびモジュラス演算を使用して、大きなハッシュ番号を３つの（あるいはより多くの）個別のインデックスに変えるために使用されることができる。数が名詞、動詞および形容詞インデックスへ割り付けられる処理は任意の順序で実行されることができることが注目されるべきである。
【００３５】
名詞インデックスを最初に計算することは単に１例として例示される。代わりに、形容詞のインデックスは、最初に計算されることができ、剰余である動詞のインデックスを備える名詞のインデックスが後に続く。さらに、図１２に関してより以下に十分に記載されるように、３つより多い単語リストは記憶法を形成するのに使用されてもよく。したがって、３つより多い除算とモジュラス演算はハッシュ値を個別の単語インデックスに分割するために実行され得る。
【００３６】
名詞インデックスに対応する名詞はテーブルルックアップキーとして名詞インデックスを使用することにより、名詞単語リストデータベースにおいて識別されることができる（ステップ２９）。同様に、対応する動詞は、テーブルルックアップキーとして動詞のインデックスを使用する動詞単語リストデータベースにおいて識別されることができ（ステップ３０）、対応する形容詞は、テーブルルックアップキーとして形容詞インデックスを使用する形容詞単語リストデータベースにおいて識別されることができる（ステップ３１）。
【００３７】
アルゴリズムは、それぞれの単語リストデータベースから得られた名詞、動詞および形容詞を使用して、単純なアルゴリズムにしたがって記憶法へその単語を組み合わせることができる（ステップ３４）。具体的には、このアルゴリズムはあらかじめ選ばれた順番で名詞、動詞および形容詞を置く。例えば、その順番は形容詞−動詞−名詞あるいは形容詞−名詞−動詞であり得る。形容詞単語リストの代わりに、記憶法が名詞−動詞−副詞、動詞−副詞−名詞、あるいは副詞−動詞−名詞の記憶法の形式であることを可能にする副詞単語リストは使用され得る。最後に、その結果生じる記憶法は、ディスプレイやプリントアウトの形式でのように提示される（ステップ３６）。さらに、記憶法は、ヘッダにおいて、あるいはカバーページにおけるようにドキュメントに加えられ得る。
【００３８】
さまざまなデータ構造は、コンピュータデータベース内の任意の使用可能な形式で単語リストを記憶するために使用され得る。３つの単語リストデータベース構造の単純な例は図４−６において例示される。図４を参照して、名詞単語リストデータベース４０は、インデックスデータフィールド４２および単語データフィールド４４を含む単純な２列データ構造であり得る。その後、それぞれのデータレコードの各々はインデックス値（４２−０から４２−５）、および単語データフィールド（４４−０から４４−５）に記憶された単語を含み得る。図４に例示された例の名詞リストデータベース４０は、そのようなデータベースにおいて使用され得る６つの例の単語を示す。同様に、動詞単語リストデータベース５０は、インデックス値（５２−０から５２−４）、および単語データフィールド（５４−０から５４−４）に格納された単語を含む個々のそれぞれのデータレコードと共に、インデックスデータフィールド５２および単語データフィールド５４を含んでいてもよい。同様に、形容詞単語リストデータベース６０は、インデックス値（６２−０から６２−３）、および単語データフィールド（６４−０から６４−３）に記憶された単語を含む個々のそれぞれのデータレコードと共に、インデックスデータフィールド６２および単語データフィールド６４を含み得る。これらの図において例示されるように、さまざまな単語リストは同じ数の単語を含む必要はない。
【００３９】
例として、ハッシュまたはＨの値が名詞、動詞、形容詞インデックス４、３、３にマッピングされ、および図４−６において例示されるデータベースが使用される場合、結果の記憶法は「ｅｌｆ  ｓｌｅｅｐｉｎｇ  ｃｏｌｄ」あるいは「ｃｏｌｄ  ｅｌｆ  ｓｌｅｅｐｉｎｇ」あるいは「ｓｌｅｅｐｉｎｇ  ｃｏｌｄ  ｅｌｆ」になるだろう。特有の記憶法は、さまざまな選択された単語をともにリンクするために使用されるアルゴリズムに依存するだろう。これらのうち、３つの記憶法が、同じ基礎的なイメージを喚起するので、単語の順番に意味を割り当てることは、単語自体と比較して特に記憶すべきでないかもしれない。
【００４０】
図４−６は、オリジナルの大規模な単語を再構成するためにどのように記憶法が使用されることができるかを例示するために使用されることができる。単語「ｅｌｆ」を使用して、名詞リストデータベース４０において対応するインデックス（つまり４）を見つけるのは簡単である。同様に、動詞と形容詞のインデックスは速く決定されることができる。インデックス値を使用して、オリジナルの数は、数を連結すること、それぞれの単語リストにおける単語の数に基づいた数の値をかけること、インデックスがオリジナルのハッシュ値から得られた方法の逆であるアルゴリズムにおいて積を加えることによって復元されることができる。この復元のプロセスのさらなる記載は、図８においてステップ８４を参照して以下に提供される。
【００４１】
図３に例示された方法は、図７に例示された例によってさらに光があてられる。この例において、特別のドキュメント上で生成されたハッシュ値は１８，０６９，９１３である（式７０）。この値は、２５０単語を含む名詞４０のデータベース、２００単語を含む動詞５０のデータベース、および１００単語を含む形容詞６０のデータベースから生成された記憶法にマッピングされるだろう。名詞、動詞および形容詞の数の積は、５００万と等しい（式７１）。ハッシュ値を記憶法（オプションのステップ２４）の範囲内に縮小するために、ハッシュは３，０６９，９１３と等しい結果としての剰余Ｈを伴って５００万で割られる（式７２）。名詞インデックスを決定するために、Ｈの値は、名詞のインデックスとして１５３の整数の商を提供して、動詞の数掛ける形容詞の数（すなわち、２０，０００）で除算される（式７３）。その計算の剰余である９９１３は９９の動詞インデックスを提供して、形容詞の数（すなわち、１００）の数で割り算される（式７４）。その割り算の剰余１３は形容詞インデックスを提供する（式７５）。名詞インデックス１５３を使用して、対応する単語は、この例の単語「ｌｉｇｈｔｅｒ」において、名詞単語リストデータベース４０で識別される（式７６）。同様に、動詞インデックス９９を使用して、対応する言葉は、この例、単語「ｃｒｙｉｎｇ」において、動詞単語リストデータベース５０で識別される（式７７）。同様に、形容詞インデックス１３を使用して、対応する言葉は、この例、単語「ｔｅｒｒｉｂｌｅ」において、形容詞単語リストデータベース６０で識別される(式７８）。最後に、これらの３単語は、記憶法へ組み合わせられる。例えば、名詞−動詞−形容詞の記憶法は「ｌｉｇｈｔｅｒ  ｃｒｙｉｎｇ  ｔｅｒｒｉｂｌｅ」になるだろう（式７９ａ）。代わりに、形容詞−名詞−動詞の記憶法は「ｔｅｒｒｉｂｌｅ  ｃｒｙｉｎｇ  ｌｉｇｈｔｅｒ」になるだろう（式７９ｂ）。
【００４２】
ドキュメントのハッシュ値を表わす記憶法を有して、ユーザは、２つのドキュメントがそれぞれの３つの単語記憶術の比較により同じかどうか速く判断することができる。例えば、ユーザが「ｔｅｒｒｉｂｌｅ  ｃｒｙｉｎｇ  ｌｉｇｈｔｅｒ」の記憶法を備えたドキュメントをレビューした場合、ユーザは、単純に３単語記憶法を読むことにより別のドキュメントが同じであるかどうか判断できる。例えば、もし記憶法が「ｃｏｌｄ  ｓｌｅｅｐｉｎｇ  ｅｌｆ」ならば、ユーザはドキュメントが同一でないことを即座に知るだろう。さらに、ユーザは、「ｔｅｒｒｉｂｌｅ  ｃｒｙｉｎｇ  ｌｉｇｈｔｅｒ」バージョンを求めることによりドキュメントの特有のバージョンを要求することができた。
【００４３】
記憶法の識別子は、図８に例示されたように、２つのドキュメントが同じかどうか判断するためにコンピュータによって使用され得る。そして、この例では、ユーザは、コンピュータに記憶法のドキュメント識別子を入力し得る（ステップ８０）。そして、コンピュータは、記憶法において名詞を見つけて、名詞単語リストデータベースにおいて対応する名詞のインデックスを調べるためにその単語を使用することができる（ステップ８１）。同様に、コンピュータは、記憶法において動詞を見つけて、動詞単語リストデータベースにおいて対応する動詞インデックスを調べるためにその単語を使用することができる（ステップ８２）。同様に、コンピュータは、記憶法において形容詞を見つけて、形容詞単語リストデータベースにおいて対応する形容詞インデックスを調べるためにその単語を使用することができる（ステップ８３）。そして、それぞれのインデックスを使用して、コンピュータは、大きな数の最終的な値を計算することができる。例えば、Ｈの値（Ｈ１として参照された例において）は、名詞インデックスに動詞の数と形容詞の積を掛けて、その結果を動詞インデックスに形容詞の数を掛けて加え、その合計に形容詞インデックスを加えることによって得られる（ステップ８４）。ステップ８４におけるこの計算が、図３を参照して上記で議論されたインデックスの計算の逆であることに注意されたい。
【００４４】
コンピュータが比較されているドキュメントのハッシュ値を既に決定していない場合、それはそのドキュメントにアクセスし（ステップ２０）、それ、ステップ２２上で同じハッシュあるいはＣＲＣアルゴリズムを実行し得る（ステップ２２）。コンピュータは、さらにハッシュ値を固有の記憶法の範囲と一致するより小さい数に縮小にするオプションのステップを実行し得る（オプションのステップ２４）。図８において、この縮小されたハッシュ値はＨ２と呼ばれる。
【００４５】
ドキュメントが同じであるどうかを判断するために、コンピュータは、２つの縮小されたハッシュ番号を単に比較する（テスト８５）。そして、Ｈ１がＨ２と等しい場合には、コンピュータは、２つのドキュメントが全く一致することを報告し得る。（ステップ８７）。しかしながら、２つの縮小されたハッシュ値が等しくない場合、コンピュータはドキュメントが異なると報告し得る（ステップ８６）。
【００４６】
さまざまな実施例は、２つのドキュメントが同じかどうか判断することに加えて他の用途を有する。例えば、その処理は、ユーザに、かれらが思い出しそうなドキュメント名を提供するとともにデータベースまたはコンピュータシステムにドキュメントを記憶するための固有のドキュメント名を生成するために使用される。この方法の一例は図９に例示される。格納されるドキュメントを受け取る(ステップ９０）ことで、コンピュータは、上に記述されるようなドキュメントについてハッシュまたはＣＲＣのアルゴリズムを実行することができる（ステップ２２）。その結果のハッシュ値は、記述された上記で記載されたようなサイズに縮小され得る（オプションのステップ２４）。そして、この縮小されたハッシュ値は、データベースにドキュメントを記憶するためのドキュメント識別子になる（ステップ９２）。そのような数字、固有であり、それゆえドキュメント記憶識別子として有用であるだろうが、一方、それはユーザにとってあまり便利ではないかもしれない。したがって、記憶すべきファイル名を生成するために、ドキュメントファイルＩＤは、図３を参照して上に記載されたステップに続く記憶方法へマッピングされ得る。具体的には、ファイルＩＤは、名詞インデックスを得る（ステップ２６）ために、動詞の数によって、動詞インデックスを与えるために形容詞の数で除算された剰余（ステップ２７）と、形容詞インデックスを与える計算の剰余と共に除算される。そして、名詞、動詞および形容詞インデックスを使用すると、対応する名詞、動詞および形容詞はそれぞれの単語リスにおいて識別されることができる（ステップ２９，３０，３１）。対応する単語は、アルゴリズムによって定義された順に記憶法に組み合わせることができる。最後に、コンピュータは、その結果の記憶法として、ドキュメントのファイルＩＤを識別することができる（ステップ９４）。
【００４７】
この記憶法のファイルＩＤは、図１０に例示されるようなメモリに記憶されたファイルを見つけるためにコンピュータによって容易に使用されることができる。例えば、特別のファイルにアクセスしようとするユーザは、記憶法のファイルＩＤを入力し得る（ステップ１００）。コンピュータは、名詞を得るために、記憶法を解析し、名詞単語リストデータベースにおいて対応する名詞インデックスを調べる（ステップ１０２）。同様に、コンピュータは、記憶法から動詞を得て、動詞単語リストデータベースにおいて対応する動詞インデックスを調べる（ステップ１０３）。同様に、コンピュータは、記憶法から形容詞を得て、形容詞単語リストデータベースにおいて対応する形容詞インデックスを調べる（ステップ１０４）。これらのインデックス値を使用すると、コンピュータは、対応するドキュメントに関連するファイル番号を計算することができる（ステップ１０６）。例えば、ファイル番号は動詞の数と形容詞の数の積に名詞インデックスを掛けること、動詞の回数と形容詞の数を掛けたものにその結果を加えること、その合計に形容詞インデックスを加えることによって得られることができる（ステップ１０６）。最後に、得られたファイル番号を使用すると、コンピュータは、メモリからファイルを検索することができる（ステップ１０８）。
【００４８】
先の実施例が、除算とモジュラス演算を使用して、１組のインデックスに大きな数をマッピングする一方、１セットのインデックスに数字をマッピングする他の方法は使用され得る。例えば、図１１は、単に数をその桁に基づいて分割する別の方法を例示する。この例において、スタートする数は２４ビットの数である（ステップ１１０）。例えば、３２ビットのハッシュ値は、最初の２４ビットあるいは最後の２４ビットへ単に切り詰められ得る。その後、この数は３つの８ビットの部分へ分割される（ステップ１１２）。そして、これらの８つのビット部分の各々はそれぞれの単語インデックスとして使用される（ステップ１１４）。例えば、最初の８ビットは名詞インデックスとして使用され、次の８ビットは動詞インデックスとして使用され、最後の８ビットは形容詞のインデックスとして使用され得る。そして、上に記載された方法でのように、それぞれの単語インデックスの各々はそれぞれの単語リストデータベースにおいて対応する単語を識別するために使用される（ステップ１１６）。最後に、３単語は、より十分に上で記載されたようなそれぞれのタイプの単語を順序つけるためにあるルールを使用して、記憶法に組み合わせられる（ステップ１１８）。この方法は各２４ビットの数の固有の記憶法との結論になるべきである。方法がより少ない計算を含んでいるので、それは、特にモバイル装置のような処理パワーを制限されたコンピュータアプリケーションにおいてより速くなり得る。
【００４９】
上で言及されるように、実施例は名詞−動詞−形容詞、あるいは名詞−動詞−副詞の記憶法に制限されない。スピーチのより多くの要素が、より多くの潜在的な組合せにまたがるより長い記憶法を提供するために使用され得る。例えば、図１２に例示されるように、文の記憶法は、冠詞、形容詞、名詞、動詞および副詞を含む単語リストを使用して生成されてもよい。示された例において、冠詞「ａ」、「ｔｈｅ」などのような一般的な冠詞を含む冠詞単語リストデータベース１２０は、その結果の記憶法が短文であるように上記で記載されたように副詞、名詞、副詞の単語リストと結合されて使用され得る。冠詞単語リストデータベース１２０が２０単語を含み、形容詞単語リストデータベース１２２が１００単語を含み、名詞単語リストデータベース１２４が２５０単語を含み、動詞単語リストデータベース１２６が１００単語を含み、副詞単語リストデータベース１２８が２０単語を含んでいる場合、その結果の記憶法の範囲は１０億の組合せにまたがる。例えば、図１２に示されるそれぞれの単語リストの一部分を使用して、記憶法「Ｔｈｅ  ｔｈｉｎ  ｅｌｆ  ｓｌｅｅｐｉｎｇ  ｃｏｌｄｌｙ」は、図８のステップ８４に関して上に記述されたと同様の計算を使用して、５０，５０８，０８５の数字に相当するだろう。同様に、記憶法「Ａ  ｔｈｉｎ  ｅｌｆ  ｓｌｒｒｐｉｎｇ  ｃｏｌｄｌｙ」は５０８，０８５の数に相当するだろう。３番目の例として、記憶法「Ｔｈａｔ  ｆａｔ  ｆｏｘ  ｅａｔｉｎｇ  ｓｉｌｅｎｔｌｙ」は１５０，０１０．１０２の数に相当するだろう。したがって、５つの適度の単語リストを使用すると、１０億の異なる記憶法の組合せが作成されることができる。そのような記憶法は、３つの単語記憶法がドキュメントを比較しコンピュータのメモリからドキュメントを検索するために上に記述したのと同じ方法の中で使用されてもよい。
【００５０】
縮小されたハッシュ値のような大きな数を単語記憶法へマッピングする方法は、以下のような単純なアルゴリズムに一般化されることができる。Ｗ１、Ｗ２・・ＷＮと呼ばれるＮ個の単語リスト用の複数Ｎ個の単語インデックスへ大きな数（例えば縮小されたハッシュ値）をマッピングすることは、以下のステップを実行することにより成し遂げられる。
【００５１】
ａ．単語リストのそれぞれにおいて単語の数の積（つまり、Ｗ１における単語の数とＷ２における単語の数とＷ３における単語の数を掛け合わせたものなど）によって数を除算し、剰余Ｒ０を保存する。
【００５２】
ｂ．整数の商と剰余Ｒ１を得るために、Ｗ１リストにおける単語の数によって剰余Ｒ０を除算する。
【００５３】
ｃ．整数の商Ｑｉと剰余Ｒｉを得るためにリストＷｉにおいて単語の数によってＲｉ−１を除算する単語インデックスＷ２からＷ（Ｎ−１）についてステップｂを繰り返す。ここで、添え字「ｉ」は、その特有の単語リストをいい、２からＮ−１の間である。
【００５４】
ｄ．ＱＮを最後の反復Ｒ（Ｎ−１）の剰余にセットする。
【００５５】
一旦、インデックスＱ１からＱＮ（一般にここに「Ｑｉ」と呼ばれる。）が計算されたならば、インデックスＱｉの各々は、複数Ｎ個の対応する１つにインデックスし、インデックスＱｉに対応する単語を識別する単語リストにインデックスを付けるために使用される。最後に、識別された対応する単語は、記憶法へ組み合わせられる。
【００５６】
さまざまな実施例のさらなる使用は、記憶すべき記憶法へ、パスワードおよびＰＩＮ番号のような固有の番号をマッピングすることである。強いパスワードであるために、ユーザはハッカーによって容易に推測することができる名前、生年月日、固有名詞および他の文字の使用と数の組合せを回避するようにされる。そして、強いパスワード、それは、明白な論理的な意味を持っておらず、上のおよび下のケースの記号および文字を有する一連の数字と文字である。しかしながら、そのようなパスワードは思い出すのが非常に難しくなることができる。この問題を扱うために、強いパスワードは上に記載され、図１３に例示された類似の方法を使用して、記憶法へマッピングされることができる。この処理を使用して、強いパスワードは個人あるいはコンピュータシステムによって生成され得る（ステップ１３０）。そして、暗号のハッシュまたはＣＲＣアルゴリズムは、強いパスワードについて実行され得る（ステップ２２）。このステップはオプションで、そして破線として図１３において示される。なぜならば、パスワードにおいて文字の数と数字の数を減らすことは強いパスワードを提供するために十分に多くの組合せを生成しなくてもよい。あるいは、強いパスワード中で各文字に関連したＡＳＣＩＩビットコードは、記憶法へマッピングされる数についての基礎として使用され得る。そして、その結果で生じるハッシュあるいは結合されるＡＳＣＩＩコードは、図３あるいは図１１を参照して上に記載されるような一連の単語インデックスへマッピングされる。例えば、数は、形容詞インデックス（ステップ２８）として使用される剰余によって動詞インデックス（ステップ２７）を決定するために形容詞の数によって除算された剰余により名詞インデックス（ステップ２６）を得るために名詞、動詞および形容詞の数の積によって除算される。そして、これらのそれぞれのインデックスは、それぞれの単語リストから名詞、動詞、および形容詞の組合せを識別するために使用される（ステップ２９，３０，３１）。最後に、名詞、動詞および形容詞は、構成の規則に従って記憶法へ組み合わせられる。そして、この記憶法は強いパスワードとしてユーザに提供される（ステップ３６）。このパスワードを使用するために、ユーザは、図１０を参照して上に記載された類似の方法を使用するように、スピーチのそれぞれの部分を得るために記憶法を分析することができるコンピュータに記憶法を入力し、逆の方法で、強いパスワードを再構成するために単語インデックスをそれらの単語から得ることが単に必要である。
【００５７】
さまざまな実施例の単純な応用の一例は、記憶法が、組み合わせ錠で使用されるように人々が３つの数の組合せを思い出すことをイネーブルするために生成される図１４において例示される。組み合わせ錠が０と３１の範囲に及ぶ３つの数を含んでいる場合（ステップ１４２）、これらの数の各々は個別の単語インデックスとして使用され得る（ステップ１４４）。そして、各々少なくとも３２の単語を含む単語リストを使用して、各組合せ番号はそれぞれ単語リストにおいて対応する単語を調べるために使用される（ステップ１４６）。最後に、識別された名詞、動詞および形容詞は３単語の記憶法を形成するために組み合わせられる（ステップ１４６）。その後、３つの単語記憶法を思い出すというこの単純なとは、オリジナルの組合せ番号と同じくらい組み合わせに対して有効になるだろう。
【００５８】
その結果の記憶法は、図１５に例示された方法の使用によってのようにオリジナルの組合せ番号を再構成するために使用されることができる。記憶法を使用して、組合せ番号を決定するために、ユーザは、単に、第１の組み合わせ番号を調べるために名詞を使用し（ステップ１５２）、第２の組み合わせ番号を調べるために動詞を使用し（ステップ１５４）、第３の組み合わせ番号を調べるために副詞を使用する（ステップ１５６）。ユーザとコンピュータが名詞、動詞および副詞を容易に区別することができるので、もし人が、各単語リストが、各単語リスト３つの組み合わせ数字の特定の一つと関係することが提供される順番が狂って単語を思い出す場合に問題がないことが注されるべきである。図１４および図１５に例示された方法は、単に追加の単語リストを加えることにより４つおよび５つの数の組合せを包含するために拡張されることができる。
【００５９】
先の実施例は、攻撃に対して保護するために必要されえるようにさらの大きな数に対する記憶法を供給するためのさらに向上されることができる。例えば、大きな暗号のハッシュ値が認証局によってドキュメントを証明するために使用されている場合に、合理的な単語リストによって提供される記憶法の範囲内に適合するためにハッシュ値を縮小することは可能ではないかもしれない。図１２を参照して上に記載されたように追加の単語リストを追加し、または、単語リストのいくつかまたは全部の範囲内の単語の数を増加することにより向上されるｊことができる一方、他の方法は、同様に使用され得る。記憶法に別々にマッピングされる２つの部分のそれぞれで２つの部分に分割され得る。例えば、３２ビットのハッシュ値は、第１の３単語の記憶法にマッピングされる第１の１６ビットと、第２の３単語記憶法にマッピングされる第２の１６ビットと、接続詞「ａｎｄ」でともに接続される２つの記憶法を用いて２つの部分に分割される。同様に、この方法は、それぞれが記憶すべき記憶法にマッピングされる３つ以上のセグメントに値を分割することによって大きなハッシュ値を含むために拡張され得る。
【００６０】
形、色および背景（および他のグラフィックな特徴）を使用する実施例は、リストインデックスは、リストインデックスを見つけ、グラフィック記憶法を作成するためにグラフィックの応用によって使用されることを除いて先に実施例において記載されたような同様の仕方でインプリメントされ得る。したがって、特別のものの線画を調べるために、第１のインデックスはグラフィックス応用によって使用され、第２のインデックスは特定色および／または線画に適用するべきパターンを調べるために使用され、また、第３のインデックスは適用される特別の背景パターンかシーンを調べるために使用され得る。そして、これらのグラフィック要素を使用して、グラフィックスの応用は識別された線画に識別された色を適用し、識別されたシーンの前に結果を置き得る。そのようなグラフィックの記憶術の記載は、さらにコンピュータへ記憶法を入力するように単語記記憶法のように使用され得る。海岸のグラフィック記憶法における青い猿の例を使用して、ユーザは「ｂｌｕｅ  ｍｏｎｋｅｙ  ｂｅａｃｈ」あるいは「ｂｌｕｅ  ｍｏｎｋｅｙ  ａｔ  ｔｈｅ  ｂｅａｃｈ」をコンピュータにタイプ入力してもよい。そして、コンピュータは、インデックスを回復し、たがって、対応する大きな数字を決定するためにグラフィックス（例えば、単語記述およびグラフィックスイメージまたはファイルのリンクの両方を含んでいるリストにおいて）にリンクされ得る単語を認識し得る。
【００６１】
さまざまな実施例は、シリアルナンバーおよび課金登録番号のような大きなランダムな数字に関する様々な応用に適用され得る。例えば、商業上販売されたソフトウェアアプリケーションは、しばしばユーザのソフトウェアライセンスを登録するために数字および文字の大きな数のエントリーを要求する。そのようなランダムな数字は、数がここに記載された実施例を使用するフレーズと文へマッピングされる場合に、消費者がインプリメントするのがより簡単になり得る。
【００６２】
上に記述された実施例は、例えば、図１６に例示されたパーソナルコンピュータ１６０のように、さまざまなコンピューティング装置のうちのどこにおいてもインプリメントされ得る。そのようなパーソナルコンピュータ１６０は、典型的には揮発性メモリ１６２につながれたプロセッサ１６１、およびディスクドライブ１６３のような大容量の不揮発性の記憶装置を含んでいる。コンピュータ１８０は、さらにフロッピー（登録商標）ディスクドライブ１６４、およびプロセッサ１６１に結合されたコンパクトディスク（ＣＤ）ドライブ１６５を含み得る。典型的に、コンピュータ１６０は、さらにキーボード１６６およびディスプレイ１３７のようなユーザ入力装置を含むだろう。コンピュータ１６０は、さらにネットワークにプロセッサ１６１を結合するためのネットワーク接続回路（示されない）と同様にユニバーサルシリアルバス（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ：ＵＳＢ）ポート（示されない）のようなプロセッサ１６１に結合された外部記憶装置を受け取るための多くのコネクターポートも含み得る。
【００６３】
さまざまな実施例は、上記方法の１つ以上をインプリメントするように構成されたソフトウェア命令を実行する、コンピュータプロセッサ１６１によってインプリメントされ得る。そのようなソフトウェア命令は、別々のアプリケーションとして、コンピュータのオペレーティングシステムソフトウェアの一部として、オペレーティングシステムによってインプリメントされた一連のＡＰＩとして、あるいは実施例方法をインプリメントするコンパイルされたソフトウェアとして、メモリ１６２および１６３に記憶され得る。さらに、ソフトウェア命令は、ランダムアクセスメモリ１６２、ハードディスクメモリ１６３、フロッピー（登録商標）ディスク（フロッピー（登録商標）ディスクドライブ１６４において読み取り可能）、コンパクトディスク（ＣＤドライブ１６５において読み取り可能）、読み取り専用メモリ（ＥＥＰＲＯＭのような）および／または外部記憶チップあるいはＵＳＢ連結可能な外部記憶（例えば「フラッシュドライブ」）のようなコンピュータ１６０に差し込まれたメモリモジュール（示されない）を含む有形のプロセッサ読み取り可能な任意の形式のメモリに記憶され得る。
【００６４】
さまざまな実施例は、個人に容易に思い出される記憶術を提供することを越えた多くのコンピュータ処理の有利を与える。例えば、多くのドキュメント、ファイル、電話番号および他のタイプのファイルオブジェクトが、識別子として大きな数を使用して、コンピュータシステムにおいて通常、インデックスを付けられ記憶される。ユーザがそれらをキーボードにタイプ入力するか音声認識システムへそれらを話すことによってのようにそのような大きな数を入力しなければならない場合、数字をすべて入力するのに必要な時間は重要になることができる。さらに、上に言及されるように、置き換えの可能性は特に非常に長い数のために高くなることができる。短い単語記憶法へ複素数を縮小することによって、ユーザは、コンピュータシステムへ記憶法をはるかに速く入力することができる。さらに、どんな置き換え誤りも重要ではない。音声認識システムは、大変長い数の口頭の入力を得るために認識されることができる単語の有限のデータベースの提供により、さまざまな実施例から利益を得られる。単語リストが有限で、その単語が特別の順序で登録されたので、コンピュータシステムは、対応するファイルの文字および数字を直接受け取るより容易に記憶方法のフレーズを認識するように構成され得る。さらに、より少数の単語が大きな数を受け取ると認識される必要があるので、記憶法を適切に理解するのに必要な処理の量は全ファイル名を直接理解することに必要なそれより少なくなり得る。
【００６５】
当業者は、ここに記載された実施例に関連して記載された論理ブロック、モジュール、回路、およびアルゴリズムのステップが、電子的ハードウェア、コンピュータソフトウェア、あるいはその両方の組み合わせとしてインプリメントされ得る。ハードウェアおよびソフトウェアの互換性を明らかに例示するために、さまざまな実例となるコンポーネント、ブロック、モジュール、回路およびステップのこの互換性は、機能の点から上記に一般的に記載された。そのような機能がハードウェアまたはソフトウェアとしてインプリメントされるかどうかは全体のシステムに課された特有の応用と設計制約に依存する。当業者は、各特定のアプリケーションの方法を変えることについて記載された機能性をインプリメントし得るが、そのようなインプリメンテーションの決定は本発明の範囲からの離脱を引き起こすとは解釈されるべきでない。
【００６６】
ここに示された実施例に関して記述された方法かアルゴリズムのステップは、ハードウェア、プロセッサによって実行されたソフトウェアモジュール、あるいは２つの組合せで直接具体化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、登録、ハードディスク、取外し可能ディスク、ＣＤ−ＲＯＭあるいは技術中で既知の記憶媒体の他の形式のいずれかかもしれない、プロセッサ読取り可能なメモリに存在し得る。典型的な記憶媒体は、プロセッサが記憶媒体から情報を読むことができ、記憶媒体へ情報を書き込むことができるプロセッサに結合されるプロセッサに結合される。代わりに、記憶媒体はプロセッサに不可欠であり得る。プロセッサと記憶媒体はＡＳＩＣ内に存在し得る。ＡＳＩＣはユーザ端末かモバイル装置内に存在し得る。代わりに、プロセッサと記憶媒体はユーザ端末またはモバイル装置の個別の部品として存在して得る。さらに、いくつかの態様において、方法またはアルゴリズムのステップ、または／およびアクションは、機械読み取り可能な媒体および／またはコンピュータ読み取り可能な媒体についての１つまたは任意の組み合わせまたは１組のコード命令として存在し得、それは、コンピュータプログラム製品に組み込まれ得る。
【００６７】
さまざまな実施例の先の記載は任意の当業者に本発明を作せるまたは使用させることを可能にするために提供される。これらの実施例へのさまざまな修正は当業者に容易に明白になり、ここに定義された一般的な規則は、発明の趣旨か範囲から外れずに、他の実施例に適用され得る。したがって、本発明は、ここに示された実施例に制限されたようには意図されておらず、代わりに、請求項はここに示された法則と新規な特徴と一致する最も広い範囲を与えられるべきである。
以下に本件出願当初の特許請求の範囲を付記する。
［１］単語記憶法に大きな数をマッピングする方法であって、
複数の単語インデックスに前記大きな数をマッピングすることと、
複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することと、
前記単語記憶法を形成するために前記複数の識別された対応する単語を結合することと
を含む方法。
［２］前記複数の単語インデックスに前記ハッシュ値をマッピングする前にハッシュ値のサイズを縮小することをさらに含む［１］の方法。
［３］前記大きな数が、ハッシュ値を生成するためにドキュメントにハッシュアルゴリズムを適用することによって得られるハッシュ値である、［２］の方法。
［４］前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、［３］の方法。
［５］前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである、［３］の方法。
［６］前記ハッシュアルゴリズムはチェックサムアルゴリズムである、［３］の方法。
［７］前記単語記憶法は、第１、第２および第３の単語を含み、前記複数の単語リストが、各々の単語の数を含んでいる第１、第２および第３単語リストを含み、
前記方法は、さらに、
縮小されたハッシュ値を得るために、前記第１の単語リストにおける単語の前記数と前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積によって前記ハッシュ値を除算することと、
第１の整数の商と第１の剰余を得るために、前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積で前記縮小されたハッシュ値を除算することと、
前記第１の単語リストにおける前記第１の単語を識別するために前記第１の単語インデックスとして第１の整数の商を使用することと、
第２の整数の商と第２の剰余を得るために、前記第３番の単語リストにおける単語の前記数で前記第１の剰余を除算することと、
前記第２の単語リストにおける第２の単語を識別するために、第２の単語インデックスとして前記第２の整数の商を使用することと、
前記第３の単語リストにおける前記第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用することと、および
前記単語記憶法を形成するために前記第１、第２および第３の単語を組み合わせることと
を含む、［３］の方法。
［８］前記複数の単語リストにおける第１の単語リストは名詞のリストであり、また
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
［１］の方法。
［９］前記複数の単語リストにおける第３の単語リストは形容詞のリストである、［８］の方法。
［１０］前記複数の単語リストにおける第３の単語リストは副詞のリストである、［８］の方法。
［１１］前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、および、
前記複数の単語リストにおける第３の単語リストは名詞のリストである、
［１］の方法。
［１２］記憶法へ前記ハッシュ値をマッピングすることは、
縮小されたハッシュ値を得るために前記第１の単語リストにおける単語の数と前記第２の単語リストにおける単語の数と前記第３の単語リストにおける単語の数の積で前記ハッシュ値を除算することと、
前記縮小されたハッシュ値を複数の数字部分へ分けることと、
複数の単語リストの１つにおいて対応する単語を識別するためにインデックスとして前記複数の各々の数字部分を使用することと、および
前記単語記憶法を形成するために前記識別された単語を組み合わせることと
を含む、［３］の方法。
［１３］複数の単語インデックスへ前記大きな数をマッピングすることは、
複数の数字部分へ前記大きな数を分けることと、    
複数の単語インデックスとして前記複数の数字部分を使用することと
を含む［１］の方法。
［１４］複数の単語インデックスへ大きな数をマッピングすることは、
第１の整数の商と第１の剰余とを得るために第２の単語リストの数と第３の単語リストの数の積によって大きな数を乗算することであって、前記第１の整数の商は第１の単語インデックスである、除算することと、
第２の整数の商と第２の剰余を得るために前記第３の単語リストの前記数で第１の剰余を除算することであって、前記第２の整数の商は第２の単語インデックスであり、前記第２の剰余が第３の単語インデックスである、除算することと
複数の単語リストのそれぞれの１つにおいて対応する単語を識別するために前記複数の単語インデックスの各々１つを使用することであって、
第１の単語リストにおいて第１の単語を識別するために前記第１の単語インデックスを使用することと、
第２の単語リストにおいて第２の単語を識別するために前記第２の単語インデックスを使用することと、
第３の単語リストにおいて第３の単語を識別するために前記第３の単語インデックスを使用することと
を含む使用することと、
前記単語記憶法を形成するために、前記第１、第２、第３の識別された単語を結合すること
を含む前記単語記憶法を形成するために前記複数の識別された対応する単語を組み合わせることと
を含む、［１］の方法。
［１５］単語記憶法へ大きな数をマッピングする方法であって、
ａ．単語リストの各々において単語の数の積で前記数を除算し、剰余Ｒ０を保存することと、
ｂ．整数の商Ｑ１および剰余Ｒ１を得るためにリストＷ１における単語の前記数で前記剰余Ｒ０を除算することと、
ｃ．単語インデックスＷ２からＷ（Ｎ−１）に対して整数の商Ｑｉおよび剰余Ｒｉを得るためにリストＷｉにおける単語の前記数で剰余Ｒｉ＋１を除算するステップｂを繰り返すことと、
ｄ．ＱＮを最後の反復の剰余Ｒ（Ｎ−１）にさせること
のステップを実行することによってＷ１、Ｗ２、・・ＷＮを参照して前記大きな数を複数Ｎ個の単語インデックスにマッピングすることと、
対応する単語を識別する前記複数の単語リストへインデックスを付けるためにインデックスＱｉを使用することと、
単語記憶法へ前記識別された対応する単語を組み合わせることと
を含む方法。
［１６］グラフィック記憶法へ数をマッピングする方法であって、
複数のグラフィック特徴リストインデックスへ前記数をマッピングすることと、
前記複数のグラフィック特徴リストのそれぞれの１つにおける対応するグラフィック特徴を識別するために複数のグラフィック特徴リストインデックスの各１つを使用することと、
前記グラフィック記憶法を形成するために前記複数の識別される対応するグラフィック特徴を組み合わせることと
を含む方法。
［１７］プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記プロセッサは、ソフトウェア命令を備え、
複数の単語インデックスに大きな数をマッピングすることと、
前記複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することと、
単語記憶法を形成するために前記複数の識別された対応する単語を組み合わせることと
を含むステップを実行するように構成される、コンピュータ。
［１８］前記マイクロプロセッサは、さらに、ソフトウェア命令を備え、前記複数の単語インデックスに前記ハッシュ値をマッピングする前にハッシュ値のサイズを縮小することをさらに含むステップを実行するよう構成される、［１７］のコンピュータ。
［１９］前記プロセッサは、ソフトウェア命令を備え、ハッシュ値を生成するためにドキュメントへハッシュアルゴリズムを適用することをさらに含むステップを実行するように構成され、前記大きな数は前記ハッシュ値である、［１８］のコンピュータ。
［２０］前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、［１９］のコンピュータ。
［２１］前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである、［１９］のコンピュータ。
［２２］前記ハッシュアルゴリズムはチェックサムアルゴリズムである、［１９］のコンピュータ。
［２３］前記メモリは、単語の数をそれぞれ含む第１、第２、第３の単語リストをそこに記憶し、前記プロセッサは、ソフトウェア命令を備え、
縮小されたハッシュ値を得るために前記第１の単語リストにおける単語の前記数と前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積によって除算することと、
第１の整数の商と第１の剰余を得るために前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積で前記縮小されたハッシュ値を除算することと、
第１の単語リストにおける第１の単語を識別するために前記第１の単語インデックスとして前記第１の整数の商を使用することと、
第２の整数の商および第２の剰余を得るために前記第３の単語リストにおける単語の前記数で前記第１の剰余を除算することと、
第２の単語リストにおける第２の単語を識別するために第２の単語インデックスとして前記第２の整数の商を使用することと、
第３の単語リストにおける第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用することと
を含む記憶法へ前記ハッシュ値をマッピングするステップを実行するよう構成される、［１９］のコンピュータ。
［２４］前記複数の単語リストにおける第１の単語リストは名詞のリストであり、
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
［１７］のコンピュータ。
［２５］前記複数の単語リストにおける第３の単語リストは形容詞のリストである、［２４］のコンピュータ。
［２６］前記複数の単語リストにおける第３の単語リストは副詞のリストである、［２４］のコンピュータ。
［２７］前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、
前記複数の単語リストにおける第３の単語リストは名詞のリストである、
［１７］のコンピュータ。
［２８］前記プロセッサが、ソフトウェア命令を備え、
複数の数字部分へ大きな数を分割することと、
前記複数の単語インデックスとして複数の数字部分を使用することと
を含む、前記複数の単語インデックスに前記大きな数をマッピングするステップを実行するよう構成される［１７］のコンピュータ。
［２９］前記プロセッサは、ソフトウェア命令を備え、
第１の整数商および第１の剰余を得るために第２の単語リストにおける単語の数と第３の単語リストにおける単語の数の積で大きな数を除算することであって、前記第１の整数の商は第１の単語インデックスである、除算することと、
第２の整数商および第２の剰余を得るために第３の単語リストにおける単語の数により第１の剰余を除算することであって、前記第２の整数の商は第２の単語インデックスであり、第２の剰余は第３の単語インデックスである、除算することと
を含む複数の単語へ前記大きな数をマッピングするステップを実行するよう構成され、
また、前記プロセッサは、さらにソフトウェア命令を備え、
第１の単語リストにおける第１の単語を識別するために前記第１の単語インデックスを使用することと、
第２の単語リストにおける第２の単語を識別するために前記第２の単語インデックスを使用することと、
第３の単語リストにおける第３の単語を識別するために前記第３の単語インデックスを使用することと
を含む複数の単語リストのそれぞれ１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを実行するよう構成され、
また、前記プロセッサは、さらに、前記単語記憶法を形成するために、前記第１、第２、第３の識別される単語を結合することを含む単語記憶法を形成するために複数の識別される単語を結合するステップを実行するように構成される、［１７］のコンピュータ。
［３０］プロセッサと、
前記プロセッサに接続されたメモリを備え、
前記プロセッサは、ソフトウェア命令を備え、
複数のグラフィック特徴リストインデックスに大きな数をマッピングすることと、
複数のグラフィック特徴リストのそれぞれの１つにおいて対応するグラフィック特徴を識別するために複数グラフィック特徴リストインデックスの各１つを使用することと、
グラフィック記憶法を形成するために前記複数の識別された対応するグラフィック特徴を組み合わせることと
を含むステップを実行するよう構成される、コンピュータ。
［３１］複数の単語インデックスへ大きな数をマッピングするための手段と、
複数の単語リストのそれぞれの１つにおいて対応する単語を識別するために前記複数の単語インデックスの各１つを使用するための手段と、
単語記憶法を形成するために前記複数の対応する識別される単語を組み合わせるための手段と
を備えるコンピュータ。
［３２］前記複数の単語インデックスに前記ハッシュ値をマッピングする前に前記ハッシュ値の前記サイズを縮小するための手段をさらに備える［３１］のコンピュータ。
［３３］ハッシュ値を生成するために前記ドキュメントにハッシュアルゴリズムを適用するための手段をさらに含み、前記ハッシュ値は前記大きな数である、［３２］のコンピュータ。
［３４］前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである［３３］のコンピュータ。
［３５］前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである、［３３］のコンピュータ。
［３６］前記ハッシュアルゴリズムはチェックサムアルゴリズムである、［３３］のコンピュータ。
［３７］縮小されたハッシュ値を得るために、第１の単語リストにおける単語の数と第２の単語リストの単語の数と第３の単語リストにおける単語の数の積で前記ハッシュ値を除算するための手段と、
第１の整数の商と第１の剰余を得るために、前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積により前記縮小されたハッシュ値を除算する手段と、
前記第１の単語リストにおける前記第１の単語を識別するために第１の単語インデックスとして前記第１の整数の商を使用する手段と、
第２の整数の商と第２の剰余を得るために前記第３の単語リストにおける単語の前記数で前記第１の剰余で除算するための手段と、
前記第２の単語リストにおける第２の単語を識別するために第２の単語インデックスとして前記第２の整数の商を使用する手段と、
前記第３の単語リストにおける第第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用するための手段と、
前記単語記憶法を形成するために前記第１、第２、および第３の単語を結合するための手段と
を備える［３３］のコンピュータ。
［３８］前記複数の単語リストにおける第１の単語リストは名詞のリストであり、
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
［３１］のコンピュータ。
［３９］前記複数の単語リストにおける第３の単語リストは形容詞のリストである、［３８］のコンピュータ。
［４０］前記複数の単語リストにおける第３の単語リストは副詞のリストである、［３８］［３８］のコンピュータ。
［４１］前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、
前記複数の単語リストにおける第３の単語リストは名詞のリストである、
［３１］のコンピュータ。
［４２］複数の数字部分へ前記大きな数を分けるための手段と、
前記複数の単語インデックスとして前記複数の数字部分を使用するための手段と
をさらに備える［３１］のコンピュータ。
［４３］複数の単語インデックスに前記大きな数をマッピングするための手段は、
第１の整数の商と第１の剰余を得るために第２の単語リストにおける単語の数と第３の単語リストにおける単語の数の積で前記大きな数を除算するための手段であって、前記第１の整数の商は第１の単語インデックスである、除算するための手段と、
第２の整数の商と第２の剰余を得るために、第３の単語リストにおける単語の数によって前記第１の剰余を除算するための手段であって、前記第２の整数の商は第２の単語インデックスであり、前記第２の剰余は第３の単語インデックスである、除算するための手段を備え、
複数の単語リストのそれぞれ１つにおいて対応する単語を識別するための前記複数の単語インデックスの各１つを使用するための手段は、
前記第１の単語リストにおいて第１の単語を識別するために前記第１の単語インデックスを使用するための手段と、
前記第２の単語リストにおいて第２の単語を識別するために前記第２の単語インデックスを使用するための手段と、
前記第３の単語リストにおいて第３の単語を識別するために前記第３の単語インデックスを使用するための手段と
を備え、
前記単語記憶法を形成するために前記複数の識別された対応する単語を結合する手段は、
前記単語記憶法を形成するために前記第１、第２、第３の識別された単語を結合する手段を備える、［３１］のコンピュータ。
［４４］複数のグラフィック特徴リストインデックスに大きな数をマッピングするための手段と、
複数のグラフィック特徴リストのそれぞれの１つにおいて対応するグラフィック特徴を識別するために前記複数のグラフィック特徴リストインデックスの各１つを使用するための手段と、
グラフィックの記憶法を形成するために前記複数の識別された対応するグラフィック特徴を組み合わせるための手段と
を備えたコンピュータ。
［４５］複数の単語インデックスに大きな数をマッピングすることと、
複数の単語リストのそれぞれの１つにおける対応する単語を識別するために前記複数の単語インデックスの各１つを使用することと、
単語記憶法を形成するために前記複数の識別された対応する単語を組み合わせること
を備えたステップをコンピュータのプロセッサに実行させるように構成されたプロセッサ実行可能なソフトウェア命令をそこに有する有形の記憶媒体。
［４６］前記ハッシュ値を複数の単語インデックスにマッピングする前に前記ハッシュ値のサイズを縮小することを含む更なるステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を有する、［４５］の有形の記憶媒体。
［４７］ハッシュ値を生成するために、ドキュメントにハッシュアルゴリズムを適用することを備える更なるステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を有し、前記ハッシュ値が大きな数である、［４６］の有形の記憶媒体。
［４８］前記ハッシュアルゴリズムは暗号のハッシュアルゴリズムである、［４７］の有形の記憶媒体。
［４９］前記ハッシュアルゴリズムは巡回冗長検査アルゴリズムである［４７］の有形の記憶媒体。
［５０］前記ハッシュアルゴリズムはチェックサムアルゴリズムである、［４７］の有形の記憶媒体。
［５１］縮小されたハッシュ値を得るために第１の単語リストにおける単語の前記数と第２の単語リストにおける単語の前記数と第３の単語リストにおける単語の前記数の積によって除算することと、
第１の整数の商と第１の剰余を得るために前記第２の単語リストにおける単語の前記数と前記第３の単語リストにおける単語の前記数の積で縮小された前記ハッシュ値を除算することと、
前記第１の単語リストにおける第１の単語を識別するために第１の単語インデックスとして前記第１の整数の商を使用することと、
第２の整数の商および第２の剰余を得るために前記第３の単語リストにおける単語の前記数で前記第１の剰余を除算することと、
前記第２の単語リストにおける第２の単語を識別するために第２の単語インデックスとして前記第２の整数の商を使用することと、
前記第３の単語リストにおける第３の単語を識別するために第３の単語インデックスとして前記第２の剰余を使用すること、
前記単語記憶法を形成するために前記第１、第２、第３の単語を結合することと
を含む記憶法に前記ハッシュ値をマッピングするステップをコンピュータのプロセッサに実行させるよう構成されるプロセッサ実行可能なソフトウェア命令を有する、［４５］の有形の記憶媒体。
［５２］前記複数の単語リストにおける第１の単語リストは名詞のリストであり、
前記複数の単語リストにおける第２の単語リストは動詞のリストである、
［４５］の有形の記憶媒体。
［５３］前記複数の単語リストにおける第３の単語リストは形容詞のリストである、［４５］の有形の記憶媒体。
［５４］前記複数の単語リストにおける第３の単語リストは副詞のリストである、［４５］の有形の記憶媒体。
［５５］前記複数の単語リストにおける第１の単語リストは形容詞の第１のリストであり、
前記複数の単語リストにおける第２の単語リストは形容詞の第２のリストであり、
前記複数の単語リストにおける第３の単語リストは名詞リストである、
［４５］の有形の記憶媒体。
［５６］複数の数字部分へ前記ハッシュ値を分けることと、
前記複数の単語インデックスとして前記複数の数字部分を使用することと
を含む前記複数の単語インデックスに前記大きな数をマッピングするステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を有する、［４５］の有形の記憶媒体。
［５７］第１の整数の商と第１の剰余を得るために第２の単語リストにおける単語の数と第３の単語リストにおける単語の数の積で前記大きな数を除算することであって、前記第１の整数の商は第１の単語インデックスである、除算することと、
第２の整数の商と第２の剰余を得るために、第３の単語リストにおける単語の数によって第１の剰余を除算することであって、前記第２の整数の商は第２の単語インデックスであり、第２の剰余は第３の単語インデックスである、除算すること
を含む前記複数の単語インデックスへ前記大きな数をマッピングするステップをコンピュータのプロセッサに実行させるよう構成されるプロセッサ実行可能なソフトウェア命令を有し、
前記第１の単語リストにおいて第１の単語を識別するために前記第１の単語インデックスを使用することと、
前記第２の単語リストにおいて第２の単語を識別するために前記第２の単語インデックスを使用することと、
前記第３の単語リストにおいて第３の単語を識別するために前記第３の単語インデックスを使用することと
を含む複数の単語リストのそれぞれ１つにおいて対応する単語を識別するために前記複数の単語インデックスの各１つを使用するステップをコンピュータのプロセッサに実行させるよう構成されるプロセッサ実行可能なソフトウェア命令を有し、
前記単語記憶法を形成するために前記第１、第２、第３の識別された単語を結合するステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を有する、
［４５］記載の有形の記憶媒体。
［５８］複数のグラフィック特徴リストインデックスに大きな数をマッピングすることと、
複数のグラフィック特徴リストのそれぞれの１つにおいて対応するグラフィック特徴を識別するために前記複数のグラフィック特徴リストインデックスの各１つを使用することと、
グラフィック記憶法を形成するために前記複数の識別された対応するグラフィック特徴を組み合わせることと
を含むステップをコンピュータのプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令をそこに記憶した有形の記憶媒体。
【図１】
0005425900.tif 000002
【図２】
0005425900.tif 000003
【図３】
0005425900.tif 000004
【図４】
0005425900.tif 000005
【図５】
0005425900.tif 000006
【図６】
0005425900.tif 000007
【図７】
0005425900.tif 000008
【図８】
0005425900.tif 000009
【図９】
0005425900.tif 000010
【図１０】
0005425900.tif 000011
【図１１】
0005425900.tif 000012
【図１２】
0005425900.tif 000013
【図１３】
0005425900.tif 000014
【図１４】
0005425900.tif 000015
【図１５】
0005425900.tif 000016
【図１６】
0005425900.tif 000017