JP2004500628A - Reverse computer system based on content access instead of address access and optimal implementation thereof - Google Patents

Reverse computer system based on content access instead of address access and optimal implementation thereof Download PDF

Info

Publication number
JP2004500628A
JP2004500628A JP2001535842A JP2001535842A JP2004500628A JP 2004500628 A JP2004500628 A JP 2004500628A JP 2001535842 A JP2001535842 A JP 2001535842A JP 2001535842 A JP2001535842 A JP 2001535842A JP 2004500628 A JP2004500628 A JP 2004500628A
Authority
JP
Japan
Prior art keywords
focuser
words
content
word
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001535842A
Other languages
Japanese (ja)
Inventor
ポンセット,ジーン
ミグノン,ジーン,フランソワ,ザビエル
コンスタント,パトリック
Original Assignee
ポンセット,ジーン
ミグノン,ジーン,フランソワ,ザビエル
コンスタント,パトリック
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ポンセット,ジーン, ミグノン,ジーン,フランソワ,ザビエル, コンスタント,パトリック filed Critical ポンセット,ジーン
Publication of JP2004500628A publication Critical patent/JP2004500628A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

コンピュータを作動させるためのコンテントでアクセス可能な方法およびシステムである。この発明の主要な3つの部分としては、コンテントを定義し、分類し、インデクシングするための第1の方法と、単調に実数を容易に配置できるように、全ての実数を指定するための第2の方法と、関連する単調実数に従ってコンテントによりソートする第3の高速リニア方法とが挙げられる。エルゴノミクスの問題は、ある高度なサーチを求める簡単なダイアローグボックスおよびボタンによって解決される。これには、テーマによるサーチの可能性が加えられる。ワード、表現またはテキストにより、あるテーマが定義され、対応する情報を得るためにこのテーマが使用される。このシステムはセマンティックス、ワードの意味を使用する。1つのテーマをサーチする場合に、テーマのワードに対してブール代数OR演算または近接制限、すなわち同じパラグラフ内に少なくともN個のワードが存在しなければならないとする制限に関連するワードのうちの、最も対応するワードを選択する。ノイズを少なくするために対応の度合に従って結果をソートする。FOCUSはワードのグループ、ワードのルーツ、同義語、「概念」(フォーカサー)を検出し、これら全てをレポジットリーに記憶するので、フルテキストエンジンではない。入力されたデータにどの知識も抽出され、FOCUSレポジットリーに記憶される。分析はデータフォーマットの識別、データの復号化、テキスト情報の言語の検出、言語学的方法の実行およびFOCUS入力フォーマットに従った結果の記憶を意味する。

Figure 2004500628
A content accessible method and system for operating a computer. The main three parts of the invention are a first method for defining, classifying and indexing the content and a second method for specifying all real numbers so that real numbers can be easily arranged monotonically. And a third fast linear method that sorts by content according to the associated monotonic real numbers. The ergonomics problem is solved by simple dialog boxes and buttons that call for some advanced searching. This adds the possibility of searching by theme. A word, expression or text defines a theme, which is used to obtain the corresponding information. This system uses semantics, the meaning of words. When searching for one theme, of the words associated with the Boolean algebraic OR operation or proximity restriction on the words of the theme, ie the restriction that there must be at least N words in the same paragraph, Select the most corresponding word. Sort the results according to the degree of correspondence to reduce noise. FOCUS is not a full-text engine because it detects groups of words, roots of words, synonyms, and "concepts" (focusers) and stores them all in the repository. Any knowledge is extracted from the input data and stored in the FOCUS repository. Analysis means identifying the data format, decoding the data, detecting the language of the textual information, performing linguistic methods, and storing the results according to the FOCUS input format.
Figure 2004500628

Description

【0001】
本願は2000年10月26日に出願された仮特許出願第60/161579号の利益を請求するものである。
【0002】
(発明の分野)
本発明はコンテントおよびコンテクストでアクセス可能なコンピュータシステムに関する。
【0003】
(背景)
現在のコンピュータシステムの大部分はコンテントではアクセスできず、むしろ一般にはパスウェイ、例えばディスクドライブ、フォルダ、恐らくはサブフォルダおよびファイルネームによってアドレスでアクセス可能である。アドレスの一例としては「C:\Program_Files\OfficeWordProcessor\Documento3042_version_5」を挙げることができる。また、コンテントでアドレス指定できるサブジェクトの一例としては「my letter to Smith of last week」(先週のスミスへのわたしのレター)を挙げることができる。
【0004】
現在までにコンピュータプロセッサおよびコンピュータシステムは同じように「コンピュータにアドレスを与え、コンピュータがアドレスのコンテントを戻す」原理に基づいて作動されてきた。このことは人の心が明らかに行っている方法と全く逆である。このような逆のプロセスはコンピュータを使用する際に人が有する基本的な問題を考慮できる。すなわち人とコンピュータは情報を逆に処理している。人は他人に「あなたは1972年4月14日の午後7時34分のことを覚えていますか?」とは質問せず、むしろ「スペアリブを食べたピアノバーのあるこのレストランに我々がいた時を覚えていますか?」と質問する可能性が高い。レストラン、ピアノバーおよびスペアリブは基本的な記憶内容であり、人は事象の日にちについては基本的には関心がない。
【0005】
これまでコンピュータに対しコンテントでアドレス指定することに関する基本的な努力が開始されている。しかしながら、コンピュータ処理の全内容を検討しなければならない。相対的に述べれば、ファイルの特定アドレス指定および情報配列の同様な特徴の逆原理から発展した原理に基づき、コンテントによるアドレス指定を構築することは困難である。
【0006】
アプリケーションの最適モードでコンテントでアクセス可能なコンピュータシステムを構築するには、どのソースからのコンテントも、例えばネットワークから得られるデータを制御したり、プログラムによってコンテントを記憶する必要がある。このシステムのどの構築ブロックも最適にすることにより、システムはシステムへのコンテントフローを取り扱い、処理するのに十分高速となる。かかるシステムをポータブルかつロバストにすることはハードウェア、メモリおよびアイテムのサイズだけでなくオペレーティングシステムを独立した状態に設計することを意味する。コンテントでアクセス可能なシステムはそれ自身がオペレーティングシステムとなっている。
【0007】
このことは次のことによって例示される。テキストファイルをセーブする際にファイルネームを聞かれたことに驚くようなコンピュータユーザーは実際にはいない。しかしながら、良好なコンテントでアドレス指定可能なシステムではこのような質問はなされない。だれも知らないネームによりファイルを検索するのではなく、ファイルクリエータは人が「my letter to Smith of last week」のような簡単な質問をすることさえも忘れてしまっている可能性がある。
【0008】
今日、現在のオペレーティングシステム下のソフトウェアパッケージを実現することを条件に、良好なコンテントでアドレス指定できるシステムの実現が記載されている。人はファイルおよびシステムクロックにアクセスするために現在の物理的記憶方法および所定のソフトウェアを活用できる。これらはコンテントでアクセス可能なシステムを実現するのに必要な唯一のシステムソースである。これによって全体の携帯性が保証される。
【0009】
(発明の概要)
本発明はコンピュータを作動するための、コンテントでアクセス可能な方法およびシステムに関する。この発明の主な3つの部分としては、第1にコンテントを定義し、分類し、インデックス付与するための方法、第2に単調に容易に配置できるように、整数を含むすべての実数を指定するための方法、第3にコンテントにアクセスするのに整数を含む関連する単調実数に従ってコンテントによりソートする高速リニア方法が挙げられる。
【0010】
完全最適化コンテントを使用するコンピュータシステム(FOCUS)は平均的ユーザーが処理するのに十分簡単であり、ネットワークの速度に対処するのに十分高速である言語パッケージとして設計される。このシステムは簡潔性、速度および効率を合わせ持つ、インデクシングおよびサーチシステムであり、情報が記憶されている可能性のあるアドレスを知るのと異なり、ユーザーが得たいものはどの情報であるのかをシステムのユーザーが知ることに基づくものである。
【0011】
次の詳細な説明から、本発明の上記およびその他の特徴および利点がより明らかとなろう。
【0012】
(好ましい実施例の詳細な説明)
次の説明は本発明を実行するようになっている現在最良の態様である。この説明は限定的な意味にとってはならず、むしろ発明の一般的な原理を説明するためになされたものにすぎない。発明の範囲は特許請求の範囲を参照して決定すべきである。
【0013】
本発明はコンピュータを作動させるためのコンテントでアクセス可能な方法およびシステムに関する。機能的には本発明の主作動部分は図1に示されており、この部分は第1の、コンテントを定義し、分類し、インデックシングする方法(フォーカサー101)と、第2の、単調に容易に配置できるよう、整数を含むすべての実数を指定する方法(コーディング102)と、第3の、整数を含む関連する単調な実数に従ってコンテントによりソートする高速リニア方法103を含む。このシステムはユーザーの2倍のニーズ、すなわち(1)ユーザーが望むようなリクエストを自由に表記でき、使用が容易であること(質問104)、(2)適切であり、かつ迅速な情報105を得ることを満たすように、このシステムは設計されている。コンテントでアクセス可能な情報は、機能的にはレポジットリー106に存在する。これら最後の2つのポイントは理想的な情報検索システムと見なすことができるものを定める。
【0014】
ポイント1は、主に人間工学の問題である。ある高度なサーチを質問する簡単な対話ボックスおよびボタンはこの問題を解決する。これに対し、テーマによるサーチの可能性が加えられる。1つのテーマは単語、表記またはテキストによって定義され、対応する情報を得るのに使用される。ポイント2は、セマンティックス、単語の意味を利用するシステムによって達成される。セマンティックスを利用しようと試みる従来のシステムはヘビーな計算オーバーヘッドによって終わっていた。以下、説明するプロセスはセマンティックスの分野に入るものであるが、これらプロセスはこれまで有効であると証明されていないこの分野で現在使用されているものとはかなり離れたものである。
【0015】
FOCUSシステムのエルゴノミックス(人間工学)は簡単である。すなわち(A)テキストフィールドと、(B)ラジオボタンのテーマ、(C)コードサーチボタン、(D)意味によるサーチのボタンだけである。テキストフィールドは単なるワード(単語)のシーケンス(例えばワードのグループを定義するのに質問を使用するなど)と異なり、約束事を使用することによりワードのグループを強制できる。コードサーチはサーチコンポーネントに適用されるブール論理学を扱う。意味によるサーチは所定のテーマに対応するファイルまたはファイルのリストを通して行われる。これらファイルはワードのリストでよい。テーマは所定のテキスト内の頻度と共に、所定の概念のユーザーの表現としてユーザーが選択した簡単なワードのリストである。この簡単なワードのリストは基準からの頻度偏差値を使用する対応度によってソートできる。
【0016】
テーマをサーチする際に、テーマのワードにブール代数OR演算を行ったり、近接制限に関連するこれらワードの最大の対応度を選択する。同じパラグラフでは少なくともN個のワードが存在していなければならない。ここでNは少なくとも2であり、通常3である。次に、これら結果はノイズを減らすために対応度によってソートされる。パラグラフとはパラグラフセパレータとして認識されるものによって分離される何かである(このコードはユニコードに存在するが、簡単なASCIIテキストに対して分析する必要がある)。何らかの意味を持たせるにはパラグラフは所定の最小長さを有していなければならない。
【0017】
テーマラジオボタンはサーチすべきワードまたは表現をテーマとして見なすべきであることを示す。これらテーマは予め計算されるので、極高速セマンティックサーチを可能にする。結果としては3つのフォームでディスプレイできる。第1のフォームはドキュメントのタイトルを識別できる時にこのタイトルを使用することである。第2のフォームは、ある種類の自動アブストラクトを使用することである(ファイル内の最も対応するパラグラフ内の第1センテンスまたは第1表現、または第1の最も逸脱した表現)。第3のフォームは、テキスト事態をディスプレイするフォームである。この場合ビュープログラムが対応するパラグラフおよびワードをハイライト化するので、ヒットを通してより容易にナビゲートできる。
【0018】
基準自身をコンテントとして記録すべきであることに留意すべきである。これらコンテントは意味を伝えるコンピュータシステムのアイテムの一部である。例えば各ファイルネームに対して人はそのコンポーネントの全て、すなわちドライブID、ダイレクトリーネーム、ダイレクトリー拡張子、ファイルネーム、ファイル拡張子およびこれらの内部のワードと共に、完全なパスを記録する。
【0019】
次に、情報は何であるかを決定しなければならない。情報は2倍の性質を有すると記述できる。1つの性質は求めているデータのセットであり、そのデータセットを求める態様でもある。テキスト内では1つのワードはワードを探すのにワードを使用できるように、ある情報となり得る。しかし、1つのテキストはテーマおよび概念でもある。従って、テキストからテーマおよび概念を抽出する。ほとんどの単語が複合語であるようなドイツ語のような言語では、1つの単語の一部でも情報である。「being」なる単語は名詞または動詞でもあることも情報でもある。
【0020】
情報を検索するのに次のステップを使用する。(A)システム内に記憶されているファイルから情報を抽出または計算する。この情報は探すことができる情報であり、概念抽出ソフトウェアの現在の技術レベルに依存している。(B)瞬時に検索できるようにこの情報を記憶する。(C)取り扱うデータ量と独立した性能を有する記憶プロセスを使用する。(D)記憶されている全ての要素にアクセスするために検索システムを設ける。(E)できるだけリアルタイムに近く、これら全てを実行する。
【0021】
本検索は全ての情報コンテントにダイレクトにアクセスするレポジットリーを構築することを意味する。リニア特性とすることは第1の工程から、すなわちレポジットリーを自由にするソートルーチンから一度に利用できる任意の組のデータに対して全てのプロセスがリニアとなっていなければならない。モニタのために情報量と独立していることにより、多数のレポジットリーファイルを使用しなくてもよいだけでなく、更新のためにレポジットリーのコピーも回避できる。リアルタイムの処理は中断なく、すなわちタイムラインでブレークすることなく、生じる際の操作、例えば更新、リネーミング、移動および削除の取り扱いを行うことを意味する。
【0022】
完全最適化されたコンテントを使用するコンピュータシステム(FOCUS) FOCUSシステムの一部としてのインテリジェントフィルタリングは求めている条件または求めていない条件のリストを単に与えるだけではない。しかしながら、1つのセンテンスの運命を決定するのに数分を必要とするヘビーな計算上の負担がある技術で通常行われるが、この方法は極めて異なっている。セマンティックなコンフィギュレーションはユーザーが定義するのに望まれるテーマを示すように意味されるテキストのサンプルを示すことしか求めない。
【0023】
FOCUSのフィーディングは種々の方法で実行できる。例えばネットワークからデータを受信すると、そのコンテントの分析をトリガーできる。データベースのレコードを更新すると、同じように分析をトリガーできる。ワードプロセッサのファイルを更新することも、分析をトリガーできる。
【0024】
フォーカサーの概念
フォーカサーは次の要素の組として定義される。
(1)そのネーム、(2)フォーカサーを表示するワードまたは表現のリスト、(3)必要とされないが、オプションとしての言語の記載(フランス語、英語、....)、(4)パラグラフ内の存在を管理するいくつかのパラメータまたはワードもしくは表現のリスト。すなわち(a)パラグラフ内にあるワードまたは表現の数が少ないことは、そのパラグラフがフォーカサーに対応しないことを示す。パラグラフ内のそれらの数が少ないことは、そのパラグラフがフォーカサーに対応していないことを示す。この数はフォーカサーを検出するのに使用される。(b)パラグラフが対応する場合よりも少ないパラグラフ内のワードまたは表現の数、およびパラグラフが実際にフォーカサーに対応する場合の数よりも大きい、ワードまたは表現の数。(c)この数よりも低い対応度のスレッショルドでは、ワードはフォーカサーに属さない。このスレッショルドはファイルの構築に使用される。
【0025】
テキストからのフォーカサーの構築
所定の言語における単語の公知の一般的頻度を利用し、テキストからフォーカサーを自動的に構築することが可能である。この情報を用い、パラグラフ内にあるワードのユニークさを示す数である対応度を計算できる。この数はテキスト内のワードの頻度/一般的頻度の比である。対応度の値を少なくすることによりソーステキストから全てのワードを指定できる。最大値を有するワードはこのパラグラフに対し最も対応している。
【0026】
次の特定情報を作成することにより手動でフォーカサーを高めることも可能である。すなわち特定の情報とは(A)極めて対応する特定の表現、(B)同義語(システムによって自動的に提案できる)、(C)フォーカサーから排除すべきワードまたは表現(強制ゼロ対応値)、(D)フォーカサーを区別するワードまたは表現、すなわちこれらはフォーカサーから自動的に排除される(負の対応値)、(E)ワードを含む全ての表現を排除して受け入れられるワード。次にフォーサーは最大値を有するワードの一部によって表示される。スレッショルドはプログラムまたはユーザーによって選択できる。
フォーカサーに対するテキストの極めて簡単な例は次のとおりである。
【0027】
This is about horses. house, horseback
cavalry, @mounted_troupes.house.
【0028】
ここで、「@mounted_troupes」は極めて適切な表現である。フォーラサー事態は対応していないワードを除いたワードリスト、
すなわちCavalry,horse,houses,houseback,pmounted_troupesのように見える。
【0029】
フォーカサーの検出
フォーカサーはそれ自身何も意味しないが、パラグラフを有するテキストと比較した時の意味全てをとる。従って、フォーカサーはこのフォーカサーに関するある数のワードまたは表現が同じパラグラフ内で認識されたと称されるこの数はフォーカサーの数がパラメータであり、その値は通常約3である。フォーカサーに手動で入力された表現はフォーカサー内の1つの単語の値の3倍の値となる。
【0030】
テキストのコンテントを使用した自動ルーチング/フィルタリング
プロフィルによりルーチング/フィルタリングが定義される。あるプロフィルはポジティブなフォーカサーとネガティブなフォーカサーとの組である。メールまたはHTMLテキストまたは任意のテキストがフィルタを通過する時はいつも、定義されたフォーカサーの全てが検出され(フォーカサーの検出のパラグラフを参照)、プロフィルと比較される。ネガティブなフォーカサーが認識された場合、テキストは拒否され、少なくとも1つのポジティブなフォーカサーがあれば、テキストは取り込まれる。ポジティブなフォーカサーとネガティブなフォーカサーとの任意の組み合わせを使用できる。
【0031】
セマンティックな分析方法は所定のフォーカサーに従ってどのパラグラフも評価を行う。データと共にその評価を記録する代わりに、特定のテーマが特定の宛て先と関連している場合、その評価を使って入進情報をルーチング(またはストップ)することができる。
他方、中心レポジットリー内にこれら全てを維持でき、各ユーザーは自分のテーマとの暗黙のブール代数のAND演算をするようになっている。この方法は一部のネットワークマネージャーが、何がルーチング(またはストップ)されており、どこでルーチング(ストップ)されているかを一部のネットワークマネージャーがモニタできるようにしている。
【0032】
フィルタリングアプリケーションがファイアーウォールに到達した時にファイアーウォールを効率的にしたい場合、ファイアーウォールから逃げるデータをモニタすることを強制できる。これまでストップされていなかったものの何がストップされたか、これまでストップされていた何が通過したか、これまで決定されていなかったものは何かをチェックできるので、ファイアーウォールコントローラは情報を通過させたい人からファイアーウォールを防御しようとする試みに従って、自らのファイアーウォールをチューニングできる。当然ながら、特定のプロバイダが希望しないデータからしか送らない旨の十分な証拠を有していれば、コントローラは自分のID(IPなど)を拒絶する旨の宣言をすることもでき、このIDはFOCUSによって処理されるが、プロセスを多くスピードアップする。
【0033】
レポジットリー内でテキストを使用するフォーカサーの自動構築
レポジットリー内のテキストの任意のワードに関連する概念を自動的に構築できる。このアルゴリズムは次のとおりである。このワードを含む全てのパラグラフを入手し、次にこの概念の連設から概念を抽出する。全てのワードに対してこれを行うことは極めて時間のかかることであるので、例えば少なくとも2つの有意なワードを含む表現にこの主の抽出を限定できる。従って、ユーザーはこのような所定の表現、または概念としてのこの表現を求めることができる。
【0034】
オートマトンによるセマンティックネットワーク、シソーラス、レキシコン
次のようにメモリ内のストリングにリンクされた任意の種類の情報を表示できる。すなわち
<word><separator><type of information><separator><information>
情報が十分小さければ、これを直接オートマトン内に維持でき、そうでない場合、オートマトン内に記憶された情報は、例えばファイル内に記憶された情報への単なるアドレスとなる。
<separator> and <type of information> はできるだけコンパクトとなるような順で小さく(通常一文字)しなければならない。従って、セマンティックネットワーク、シソーラス、レキシコンなどは、これらがメモリ内に収まることができることを条件に、このように表示される。
【0035】
シリコンでのセマンティック分析/フィルタリングの実現
汎用プロセッサに基づくコントローラまたは専用RISCチップのいずれかでシリコン内に事象操作の基本ルーチンを実現できる。
【0036】
偏差を使用したテキストの自動的ビューポイント
フォーカサーに関連し、テキストないで最も適切なワードまたは表現を与えることができる。このフォーカサーはテキスト上でのビューポイントと称される。テキストとフォーカサーの双方にある最も偏差したワードまたは表現をビューポイントに単に示させるには、表現は外材的にフォーカサーになくてもよい。その理由は、表現の偏差は表現内のワードの複合偏差であるからである。1つの複合偏差は数によって分割された表現内に含まれる単一ワードの偏差の合計である。特定のビューポイントが示されない場合、ビューポイントは単に適すと自身から構築されるフォーカサーである。
【0037】
自動言語およびコードページの認識
センテンスのうちの全ての用語と、可能なキャラクターコードページ内にコード化されるプラネットの全てのディクショナリーを比較することによって、特定の言語の認識を行うことができる。この方法が過度にヘビーであることは容易に理解できる。より高速でほぼ正確な解決方法はn−アプレットの統計的分布により言語を特徴付けることである。経験によれば、4アプレットの統計分布を得ると、言語とコードページとの組み合わせをかなり良好に識別できることが判っている。これはソーティングルーチンを使って極めてストレートフォワードに実行される。ソートすべき要素は第1バイトではn−アプレットでスタートし、第2のバイトでは1でスタートし、その後、同様に続く。次に2倍をカウントし、その結果と予め構築したn−アプレットのデータベースとを比較する。このデータベースは表示できるのに十分大きいテキストに対し、同じプロセスを適用して構築される。データベースを構築するのに1メガバイトの大きさのサンプルテキストで十分であると考えられている。このデータベースは各言語/コードページの組み合わせに対し、n−アプレットとそれらに対応する頻度とからなる。
テキストとデータベースとを比較し、各ペアの言語/コードページに対しテキスト内に生じるn−アプレットの各発生の頻度を加え最高の数を選択すると言語/コードページが示される。
【0038】
この方法は所定のパラグラフに対する言語およびキャラクターコードページを認識するのに有効である。特定のキャラクターコードページを仮定すれば、より正確な別の方法がある(換言すればテキストのワードを認識できなければならない)。この方法は認識される各言語に対する頻度の高いワードの小さいディクショナリーを使用することに基づき、単一センテンス内の言語を認識することができる。この小ディクショナリー内の各ワードは1つまたは数種の言語に関連付けされる。次に、この言語に関するワードが認識されると、各言語の対応度がインクリメントされる。次に、最も高い言語の対応度を選択する。
【0039】
コンテントでアクセス可能なコンピュータ
コンテントでアクセス可能なコンピュータは3つのパラメータ、すなわち(1)レファレンス、(2)それ自身のコンテントおよび(3)位置を有するように、どのコンテントも検討する。レファレンスとはどのようにしてコンテントに到達するかをホストソフトウェアに示すバイトのストリングである。このレファレンスはファイルネーム、メモリ内のアドレス、データベースレコード内のフィールド、アーカイブ内のファイルなどとなり得る。レファレンスの前にはコンテントに対し、どのソフトウェアが求められるか、すなわちファイルネームに対するファイリングシステム、アーカイブされたレファレンスのためのアーカイブプログラム、レコードのためのデータベース管理システムなどを示すコードが先行する。このストリングの残りはホストへ送られるアーギュメント、例えばデータベースマネージャーのためのSQLリクエストである。使用されるコーディングはホストに依存する。
【0040】
次にコンテントについて検討する。コンピュータ内のどのコンテントもバイトのストリングおよびこのストリングの長さとなっている。一般にこれらバイトは8ビット〜1バイトである。第3の特徴は位置である。この位置はコンピュータのメモリ内またはコンピュータの記憶エリア内の物理的位置ではない。この位置とは、ユーザーに意味のあるものを示す。テキストファイル内では、例えばこの位置は章の番号、セクションの番号、パラグラフの番号などとなり得る。データベースでは、この位置はテーブルの番号、レコードの番号、フィールドの番号、パラグラフの番号、センテンスの番号などであり得る。医療用スキャナーの画像では、この位置はXYZ座標であり、赤−緑−青のRGB擬似カラーコンテントである。近接管理を行うために主に位置が記録される。
【0041】
セマンティックス
一覧
この技術はドキュメントをオープンする前にドキュメントのコンテントを識別する方法を提供する。この技術はネットワークを介してアクセスされる大きいドキュメントでは比較的な該動作となり得る。一覧の技術はドキュメントのアブストラクトのアイデアを使用するが、ドキュメント全体のコンテントから自動的にアブストラクトを作成する。FOCUSのリングィスティックがワードのグループを抽出する際は、ドキュメントの特徴とデータの所定の本文の統計的分析とを比較することにより、文書のうちの最も特徴的であるグループを選択することは比較的容易である。
【0042】
例えば、平文に対してレファンレンスとして使用される本文はFOCUSからの大きい平文レポジットリーから取り込まれた通常の英文、仏文などと見なすことができる。データベースを分析する際にフィールドネームは通常話される言語と極めて異なることが多く、一覧のためにシステマティックに選択される可能性が高い。データベースのうちのすべてを分析し、次に対応するフォーカスでこれを選択し、現在のワードおよび表現のレファレンスリストを構築することは容易である。フォーカサーとは所定の手段に関し、他人に話している時にフォーカサーオーナーがどのように話をしているかの用語、同義語および表現のリストを示すテキストファイルである。所定の領域に対応すると見なされるテキストの組に対し、この領域はフォーカサー内で記述でき、その結果を上記のようにしようし、この領域に対するより正確なレファレンスを示すことができる。
【0043】
FOCUSが完全に実現される限り、ドキュメント自身にアクセスすることなくFOCUSレポジットリーに関し、局部的にこれらの再定義および分析を行うことができる。従って、これら技術はネットワーク環境にも適す。ドキュメントネームが選択されるか、またはディスプレイされると、FOCUS内に記録された関連する一覧をディスプレイすることが容易である。これら一覧をブラウジングすることによってユーザーは自分の現在の質問に対し、ドキュメントが関心のあるものであるか否かを迅速に識別できる。その後の質問においても一覧の度の表現も使用できる。
【0044】
ダイナミックフォーカサー
ダイナミックフォーカサーとはフィルタリング時にコンパイルされず、作成されないが、1つまたは数個のフォーカスレポジットリーでリアルタイムで分析され、作成されたフォーカサーである。上記のように、フォーカサーとは所定の手段に関し、他人に話している時にフォーカサーオーナーがどのように話をしているかの用語、同義語および表現のリストを示すテキストファイルである。フォーカサーの計算はドキュメントを分析する時間に限定されない。実際にはこの計算はユーザーが質問をしている時でも任意の時間に行うことができる。フォーマットはいかなるものでもよい。ユーザーは任意のドキュメント、特にそれらのFOCUSで別の質問によって発見されたドキュメントから一連のワードおよび/または表現をタイプしてもよいし、実際のセンテンスをタイプしてもよいし、全体のセンテンスおよびパラグラフをとらえてもよい。
【0045】
このシステムの最初の仕事は、このテキスト内のワードの全てに質問をすることである。次に、ドキュメントおよびドキュメントが存在する位置に従ってこれらワードをソートすることである。FOCUSメモリ内でパラグラフの数が記憶されている場合には、この機能は大幅に役立ち、そうでない場合、この技術はクラスタリングとして知られるものに戻る。このクラスタリングはちなみに言語学上の非常識である。受け入れできる応答時間でREAL質問としてパラグラフ全体を使用できるようにすることは、NATURAL LANGUAGEの計算におけるブレークスルーである。更に、これら質問はテキスト、画像、音楽などでの通常の質問とミックス(ブール代数演算)することができる。
【0046】
リニアソーティングルーチンを使用すると、この演算は相互対話的に実行するのに十分高速となる。
次に、精度パラメータ(ほぼ所定のパラグラフ内に発生するはずであるワードの数)に従い、ウィニングパラグラフの選択を計算する。このパラメータはスライダーまたは「+」および「−」ボタンによりモニタでき、適当な数のドキュメントを選択するまで結果を迅速に再計算できる。次に、この問い合わせの結果を対応度によってソートする。
【0047】
ユーザーにとって「ダイナミックフォーカサー」が満足でき、ユーザーがそれを再び使用したい場合、FOCUSによってこの定義「フォーカサー」およびその結果(選択されたパラグラフ)を記録できる。この演算は元のドキュメントへのアクセスを必要とせず、ネットワーク環境(例えばウェブポータル)に対しては適当となり得る。
【0048】
(フォーカサーがFOCUS内でダイナミックまたは記録される場合)フォーカサーを更新するのに同じ技術を使用できる。余分な工程はフォーカサーの先の定義の発生を消去することだけであり、この工程は元のドキュメントのアクセスを必要としない。
ドキュメントを再び参照する必要はないということは、FOCUSがドキュメント自身よりもこれらドキュメントについてより良好な知識を有していることから単に生じるものである。実際に、FOCUSは一般に所定のドキュメント内のワード数よりも15倍多い情報を記憶する。これらの更新の全てはリアルタイムで行われる。
【0049】
e−コマースのための逆フォーカサー
実際にはフォーカサーのこの用途はE−コマースだけに限定されず、このことは良好な例を提供する。E−コマースポータルでは、販売すべきアイテムを記述するボキャブラリーは通常、商人の用語である。このことは、この用語を必ずしも知らない顧客に対するナビゲーションを極めて困難にする。例えばスポーツまたはレジャーの双方では同じ物品であると見なすことができるので、分類は極めて役立つとは言えないことが多い。このジレンマに対するFOCUSの解決案は極めて簡単である。まず、どの記述も利用できる状態でポータルをスタートし、これら記述をフォーカサーとする。顧客がワードをタイプし、このワードを含む全てのフォーカサーに対し、FOCUSをリクエストし、フォーカサーがカテゴリーであるかのように回答をディスプレイする。ユーザーが自分が考えているカテゴリーを見つけない場合、ユーザーはその問い合わせを再びフレーズ化する(またはやめる)と、ゲームは再びスタートする。
【0050】
ユーザーの問い合わせの全てを単に任意のプロプリエタリーフォーマットにログインする場合、このログはE−コマースマネージャーに2つのタイプの関心のある情報を提供する。当然ながらマネージャーは自分の顧客のプロフィルを得る(かつフォーカサーが十分一貫していれば、顧客からフォーカサーを作成できる)が人がセールス中の各アイテムに対して何を望んでいるかを話している態様のプロフィルも得る。これらプロフィルはアイテムを記述するフォーカサーを更新するのに使用でき、FOCUSは自分のワードで顧客の問い合わせにどのように回答するかを迅速に習得する(やめるためのワードは回避する)。このプロセスは、どのように標準的FOCUSを適用できるかを示す。
【0051】
同様なドキュメントを検出するための一覧の使用
所定のドキュメントの一覧においてとられる表現に対するリクエストは同様なドキュメント(テキスト、イメージ、音楽など)を迅速に提供できる。
これを行うには2つの方法がある。
1つの方法はトークンを使用し、一覧自身に対する新しいリクエストを実行することであり、別の方法は、表現の各々にリクエストを実行することである。ユーザーが適当と考える任意のパラメータを使って回答をソートしなければならず、その出力は類似性によってランク付けされる。
【0052】
自動コピー検出
2つの異なるドキュメントが同じ一覧を有することは極めて可能性が低い(このようになるには2つのドキュメントにおいて一般に最大30の表現が同じとなる)。
一覧の問い合わせをし、2つ以上の回路に属すリストを出力する別個のアイテムを作動させることは極めて容易である。しかしながら、FOCUSレポジットリー内にドキュメントパラメータを記憶する時に、自動的にコピー警告を発行することも可能であり、一覧が既に存在している場合にはこれはコピーである可能性がある。当然ながらこれら技術はコピー候補を提供するにすぎない。ファイルが同じ長さを有しており、日にちがこれらファイルをコピーであると宣言するのに十分でなくても、他方、この検出はフォーマットから独立している。HTMLドキュメントをコピーするテキストプロセサのドキュメントは同じ一覧を発生する。最終的に人は直接またはアプリケーションプログラムを通して(コピーによって何を行うかを決定しなければならない。
【0053】
オープンエンドの無制限かつ可変長さのコード化された番号
単調浮動点コーディング(MFPC)
可変長さのコーディングでは、長さをコードの一部としなければならない。コンピュータのデータは常にビット(またはバイト)のストリングである。ストリングのうちの第1バイトにおける第1上方ビットはバイトにおけるストリングの長さを示す。第1バイトのうちの上方ビットにコード化する。すなわち最初のリセットビット(0)の位置はストリングの長さを示す。
【0054】
この特殊なコード化では、すべてのビットを使って値を示す。従って、この方法が最適である。必要とするスペースは絶対最小値であり、数には制限がない(最初のバイトのちの8ビット全てをセットすると、コーディングは2番目のバイトに進む)。更にストリングは二進単調であり、これによってデコードをすることなく、ソーティングおよび命令テストが可能となっている。コード化およびデコードのルーチンはストレートフォワードである。このO土かは番号のプロセッサ表示とは無関係である(大きいか、または小さいエンディアン)。コンピュータが16ビットの二進表示に同意すると、このコード化は16ビットワードのような別の単位に基づくことができる。データベース内の数値フィールドがMFPCコーディングに一致する場合、数値フィールドに対するダイナミック照合を行うことなく、二進値として全てのフィールドをソートできる。
【0055】
数値情報、すなわち整数を含む実数に対し、FOCUSは仮数内の桁数または指数の値に関し、制限をしない。図2Aから判るように、仮数201および指数202のコードに従って実数を分割できる。全体の値はこの分類によって決まる。図2Bは別の分類を示す。この分類では、例えば+無限204または−無限205を分離する場合、+1 206および−1 207および0208も分離する。これらは実際には必要ではないがあっても問題はない。図2Aでは、+コード209を有する第1の行内の仮数201、更に+コード210を有する指数202を見ることができ、これらはこのシステムではDの211としてコード化される。次のケースでは仮数201は+212であり、指数−213およびコードはC214である。C214はD211よりも小であるか、または本来的にD211はC214より大である。次のケースは仮数201が−216であり、指数202が+217であり、B218としてコード化されている。B218はC214より小であるが、−220の仮数201および−221の指数を有するコードA219よりも大である。
【0056】
図2Bを見ると判るように、仮数+212、指数−213およびコードF251を有する第4行だけでなく、仮数−216、指数+217およびコードB218を有する第8行を見ると、指数の絶対値が大きくなればなるほど数字の値が小さくなることが理解できるはずである。最初のケースではマイナスの級数に対して正であり、かつある値であり、ある値よりも1だけ大きくなり、極めて大となり、最終行の前では仮数はマイナス、すなわち負の数となる場合、極めては正であるので、数は極めて大きい級数に対してマイナスまたは何らかの値となるので、極めて大きい負の数となる。従って、F251およびB218の領域では指数の絶対値が大きくなればなるほど、その数の値は小さくなる。従って、所定のベースに対するこの補数を望むことがある。例えばベース10内の12は99−12=87となる。次に、仮数の絶対値は所定のコード化された値または所定のベースに対する値となる。これら成分をコード化する種々の底は、これら底が数の全てのコード化された要素に対して同じとなるようにコード化されている限り、実際には対応していない。(図2B)のA265、B218、C266、D267、E264、F251、G264、H262、I261、無制限の単調コード化指数または補数および仮数に対するキャラクターのストリングであるコードの組み合わせキャラクターとなるように無制限の実数をコード化できる。
【0057】
指数および仮数に対する最小長さの第1の無制限の整数を使用して任意の実数を任意の長さの数と記載できる。数を多重化する1つの方法は、底Nで記載された数を使用することであり、これら数は底N+1と記載されるので、数字内にはN+1の数は生じない。底2内でコード化する場合、複数のゼロおよび1を有する。底3でコード化する場合、その数字はN+1であり、N=2であるので1001を有し、2と他のある数字1001などを有するので、それよりも大きい数字は厳密にセパレータとして働く。Nの数は小さくなればなるほど使用される空間は少なくなるので、Nに対する数字、すなわち2または3が好ましい。コード化速度に対しては2のほうが好ましく、復号化速度に対しては3のほうが好ましいので、実際に使用される数は硬貨を投げて決められる。
【0058】
リニアソーティング
リニアソーティングをする場合、基本的にはある順序で1つのリストを基本的にはソートしなければならない。この分類はソートしたい選択された成分のミクロの値を使用する二進レベルで実行できる。バイトに対しては8ビットまたは2〜8の累乗、すなわち256の値を有する。16ビットワードを使用する際には64Kの値などを使用する。バイトと共にバイトのリストを分類する場合、スタートポインタおよびエンドポインタのアレイを搬送する利用可能な値と共に、次のバイトをポイントする整数を搬送する。バイトポインタは所定の方法、一般には第1アイテム、第2アイテム、第3アイテムなどの順で初期化される。値Xのバイトを読み取る場合、Xのスタートおよびエンドポインタを更新する。まだ双方のポインタが使用されていない場合、値はバイトに対するポインタとなり、既に全てのポインタがある値を有する場合、エンドポインタはバイトをポイントし、一方、先のエンド値に対するバイトポンタは新しいバイトをポイントする。スキャンの終了時には特定のランクに対する照合の順にバイトポインタ内に任意の値の記憶がレポートされる。
【0059】
図3はスタートポインタ301のアレイ、終了ポインタ301のアレイ、および次のポインタ303に対するポインタのアレイの状況を示す。図3には最初の3つのランク、すなわち文字XYZ304が既にソートされており、同様であると判断されており、XYZ....のシリーズ内の次の文字、すなわちA2305が検査中であることが示されている。ランクのバイトのルーチンプロセスはリスト内にある。ランクリスト内に2つ以上のアイテムがある場合、次のランクしか処理しない。このことは入力ストリングを終了させるための任意の種類のフラッギングを使用する場合に知られている。次のランクはR+1とする必要はないが、所望する任意の順のランク内とすることができる。
【0060】
MFPCに基づく日にち/期間日にちまたは期間は年、月、日、時間、分、秒、および秒の何分の1か、またはこれらの任意の組み合わせの数として表現できる。これら全ての値に対し、MFPCを使用することによって大きいか小さいかに拘わらず、時間の任意の長さを表現できる。日にちに対し、年および秒の何分の1かを除く全ての値は制限された値を有するので、簡単な二進整数として表現できる。レポジットリーでは、ここの成分と共に完全な日にちまたは期間を記録することを考えつくことができるので、5月の月を求めることはトークンリサーチでは終了しない。
【0061】
レポジットリー−論理構造
任意の個々のアイテムに最速アクセスをする最適解決方法はL字ストリングを使用している。1つのL字ストリングはオプションの水平ストリングと、少なくとも1バイトの垂直ストリングであり、垂直ストリングの各バイトは次のL字ストリングへのポインタに関連している。例えば「Albert」、「Bogart」および「Bowie」を記憶するために、L字ストリングは次のとおりとなる(図4参照)。最初のストリングの「AB」401は純粋に垂直であり、「LBERT」402は明らかに水平である。実際に「LBER」403は水平ストリングであり、「T」404はそのポインタを有する垂直ストリングである。次のストリングはフルのL字ストリングとして「OGW」405を有する。ストリングがそれ以上何もポイントしていないことを示すのに「0」406が使用される(すなわちストリングマークの終了点である)。
【0062】
テキスト情報
テキスト情報を均一に記録するためにFOCUSはユニコード規格のコーディフィケーションを使用する。このことはプラネットで使用される全てのグリフをカバーし、オープンエンドとなっている2バイトのコード化方式である。L字ストリングは所定のキャラクターをコピーしない。よくないアクセントのワードまたは一貫性なく書かれたキャラクターワードを処理するために、2つ以上の代表を検討できる。例えば数字12をキャラクター「twelve」のシーケンスまたはシーケンス「12」または数値「12」として書くことができる。この3つの表示を一度に使用することを妨げるものはFOCUSには何もない。例えばweekendのような複合語では同じことを行うことができる。このワードは「weekend」、「week−end」、「week」および「end」として全てを同じアドレスに記憶できる。
【0063】
ディスクアクセスがクリティカルな状態となった時のレポジットリーの自動分割
ディスクアクセスがボトルネックとなった時には、通常、レポジットリーの複製を作成し、ヘビーな同期化方法を誘導し、一般にリアルタイムのアプリケーションを維持する可能性が失われる。FOCUSでは使用されるソーティングルーチンのアルゴリズムに起因し、レポジットリーを複製する代わりにレポジットリーを分割することがほとんど自然である。
ソーティングアルゴリズムから1つのファイルにソートの開始をどのように送り、別のファイルにスイッチするかを誘導することは容易である。
【0064】
この場合の問題は最初の場所でレポジットリーをどのように分割するかということである。FOCUSと共に使用される用途の1つはレポジットリーを順次読み出すことである。このプログラムは最初のものの半分であるポイントまでに第2のディスク上で新しいレポジットリーを構築するのに使用される。次に読み出しに進むが、別のファイルに再び第2の半分を書き込む。元のファイルは消去する。このことは、第2の半分として元のファイルを維持し、最初の半分に記憶されたデータを消去することが好ましい。その理由は、別の分割が必要な場合、その結果、不必要に空のファイルが生じるからである。FOCUS内部の全体の管理を維持する特別コード(最低コード)として(最低ストリングと共にスタートする)基本レポジットリーにレポジットリーの番号およびネームを記憶する。
【0065】
この方式の有利な特徴はユーザーのアクセス回数に対して有しなければならないレポジットリーの数が多くなればなるほど、バックアップ方法を実行するのにかかる時間が短くなることである。バックアップの際に、ウォッチドッグは作動を維持するが、コピーが公知の状態に関与するようにフィーディングプロセスを停止する。次に、レポジットリーをコピーする。レポジットリーが多くなればなるほどこれらは短くなり、バックアップ時間も短くなる。
【0066】
レポジットリー(インデックス)管理
インクリメント/デクリメントインデックス更新w/oインデックスのコピー 通常、レポジットリーへの更新はレポジットリー自身の周期的更新をトリガーする。このことは、利用できるスペースは必要とされるスペースの2倍大きいことを意味する。FOCUSルーチンは自分のゴミ収集を行い、これによってスラックを除くためにレポジットリーのコピーの必要性を排除する。
【0067】
リアルタイムインデクシングのためのキャッチングインデックス
最終レポジットリーへ直接入力データをソートしないことによって、迅速にアクセスできるキャッシュレポジットリーのより早いソートおよびより早い作成が可能となり、よって記録情報または受信情報へのほぼリアルタイムのアクセスを行うことができる。
【0068】
数字および日にち/期間を含むインデックスファイルでの単調アクセス方法の使用
異なるタイプのデータが単調なコード化を有するという事実によって、内部エンジンは極めて限られた組の機能を有することが可能となる。すなわち、1)特定のアイテムを探す機能、2)特定のアイテムから探す機能、3)次のアイテムを探す機能を有することができる。FOCUSの重要な特徴は、アイテムが発見されない時に、リクエストが不成功であったことを語るフラグと共に、リクエストプログラムに利用できる次のアイテムが送られる。これによって呼び出しプログラムは次のコールを行うことが可能となる(置き換えプロセス参照)。
【0069】
データベースの一般化されたインデックシング
これはテーブル/記録へのレファレンスがファイルネームへのレファレンスの代わりとなる場合である。
【0070】
リアルタイムのインデックシングを行うための自動レファレンスモニタリング (所定のOSが使用するプロセスに応じ)ファイルオープニング、ファイルクローズ、ファイルへの書き込みなどへのオペレーティングシステムのコールをインターセプトすることにより事象の暦学ログを構築することができ、次にこれによってどのファイルを削除し、移動させ、ネームの書き換えをし、または更新するかを判断することが可能となる。更新されたファイルでよりスマートな方法(OSに依存する)を使用できない場合、更新を削除とそれに続く作成として見なすべきである。部分的更新は新しいパラメータを発生し、別のパラメータをキャンセルする新しい分析(例えばセマンティック)からしか一般に生じない。レファレンスがデータベース内のあるフィールドに関するものである場合、このデータベースに関する編集の自動ロギング、すなわち必要な全てのパラメータを含むロギングファイルを有するだけでよい。これらログのための容易なフォーマットはODBCである。より一般的な変更および更新はそれらのジェネレーションごとに良好に検討される。ほとんどのプロセッサによってこのレベルである種の介入が可能となる。最悪のケースでは、(例えば1つのファイルへ送るべき変更を待つ)アクセス方法を有するプロセスのうちの1つによって変化が示されるまで待機しなければならない。
【0071】
インデックシングエンジンでの非テキスト拡張
「フルテキスト」のエンジンは一般に非テキスト情報を記録できない。これを行うには2つの方法がある。すなわち1つ以上のプリフィックスを決定する方法および1つ以上のサフィックスを決定する方法がある。例えばテキスト情報が「0」のプリフィックスを付けるべきことを意味している場合、数値情報に「1」のプリフィックスを付け、日にちに「2」のプリフィックスを付け、MIDIに「3」のプリフィックスを付けることができる。テキスト情報がファイルコンテントである場合、サフィックス「0」を決定できる。このテキスト情報がファイリングシステムのためのパラメータである場合、ポストフィックスは「1」となる。ファイルネームである場合、「1」のポストフィックスに「0」を添付し、同じようなことを行うことができる。プリフィックスを付けるか、またはポストフィックスを付けるかの選択は、検索に使用されるアクセスに応じて決まる。コピーされたデータを完全に記録することが可能であり、一方のデータはプリフィックスを使用し、他方のデータはポストフィックスを使用し、双方は同じアイテムを示す。ここで、ユニコード規格が規格から検討された32の値の2つの組(0〜31および128〜143)を考慮する際、テキスト情報にはいずれのプリフィックスもポストフィックスも定義されない。これら64の値のうちの1つから、最初のプリフィックスおよびポストフィックスのためのコードが選択される。可能性のない種類のコードが生じた場合、常に拡張を可能にするように、値143を多重化できる。
【0072】
FOCUSシーケンス
種々の方法でFOCUSのフィーディングを行うことができる。例えばネットワークからのデータを受信することによってそのコンテントの分析をトリガーできる。データベースの記録を更新することによっても分析をトリガーできる。ワードプロセッサのファイルを更新することによっても分析をトリガーできる。どのプロセスを使用するにしても、全てのFOCUSの願望は専用ファイル内で考慮すべきレファレンスのリストを入手することである。分析プロセスがネットワークフィルタリングのためのようなデータの記録または維持をしないことも決定できることを即座に指摘できる。しかしながら、受け入れ不能なものとしてデータのフラグを立て、ネットワークマネージャーが受け入れ不能な情報をトレースできるように何らかの方法でそのデータを記憶することができる。
【0073】
テキストデータに対し、分析はリングィスティックおよびセマンティックを考慮するので、オンザフライで概念を識別できる。上記から判るように、データフローをルーティングするのにこれら概念を使用でき、および/または分析される他の情報と共に記憶できる。テキストを扱う際でも、FOCUSはワードのグループ、ワードのルーツ、同義語、「概念」(フォーカサー)を検出し、これら全てをそのレポジットリーに記憶する際にFOCUSはフルのテキストエンジンとはならない。このことはデータの受信時であって、ユーザーのリクエスト時ではない時に、「知識管理」がピクチャー内に入る場合である。現在の技術によって公知とできるどの知識も、データの入力時に抽出され、即座にアクセスできる場合にFOCUSレポジットリーに記憶される。リアルタイムの入力(ネットワーク着信データ)に対し、その出力と共にレファレンスが与えられる。入力は発生した何かの単なる通知である時に、分析を実行する。
【0074】
分析はデータフォーマットを識別すること、データフォーマットの復号化、テキスト情報上の言語の検出、リングィスティック手順の実行およびFOCUS入力フォーマットに従った結果の記憶を行うことを意味する。注:一般的な業務用データフォーマットを識別することは本書の範囲外である。この目的のためには多くの業務用製品を利用できる。しかしながら、HTML、SGML、XMLのようなフォーマットでの埋め込み型構造表示を抽出することは、FOCUSの一部である。
【0075】
これらプロセスの終了時にFOCUS入力ファイルは処理の準備が完了している。この情報をレポジットリーに挿入する問題は、これらファイルのソートに関係している。数学者が実証していることに拘わらず、ソーティングプロセスがどのようにリニアであるかは理解できようが、ソーティングにどのルーティングを使用しても、RAMに基づく技術はディスクをベースとするルーティングよりも速くなる。従って、同時に多数の入力ファイルが利用できる場合、FOCUSはこれらファイルを連結し、ソーティングルーティングをフィードする。1つのファイルが利用できる場合、FOCUS問い合わせプログラムによってそのデータに即座にアクセスするために、そのファイルは一度にソートされる。
【0076】
FOCUSソーティングルーティングの出力は既にFOCUSレポジットリーフォーマットを使用しているので、ユーザーは極めて迅速に最新データにアクセスできる。しかしながら、特定の物理的ディスクドライブにこれらファイルを多重化することは、問い合わせ時および更新時(特に削除時)にシステムの性能を劣化させることを意味している。従って、最終工程は各物理的ドライブでこれら一時的レポジットリーを単一の最終レポジットリーにマージすることである。このプロセスは比較的高速であるが、低い優先度のバックグラウンドで実行できる(FOCUSは自分のバックグラウンド優先度を管理する)。しかしながら、アプリケーションによっては(レポジットリーの全てが着信データを一日搬送する場合、および例えば所定の日にちの後でデータを消去すべき場合)、マージする代わりに一時的レポジットリーを維持することも可能である。
【0077】
レポジットリーにレファレンスを記録し、ID(または取り扱い)番号(無制限の整数)を与える。(ID番号からレファレンスへの)クロスレファレンスも記録する。レファレンスを削除する際に、そのクロスレファレンスを削除されたものとして更新し、そのエントリーの更なる削除を行い、この削除プロセスの終了時にクロスレファレンスを自由なものとして更新する。これら自由クロスレファレンスはレファレンス割り当てルーチンによって使用される。ユーザーは関心のある他のクロスレファレンスを記録したい時があり、ユーザーは自由にそれを行うことができる。FOCUSはデータに関連する意味と関係はなく、ユーザーだけが自由にそれを行うことができる。
【0078】
本明細書において、「無制限」なる単語を使用する時は、FOCUSがユーザーまたはプログラマーの一部に制限を強制しないことを意味する。アプリケーションプログラムはそれにもかかわらず自らのある制限を認める。例えばFOCUSは小数点以下100万の位の数字piを記憶できるが、piを求めるものは100万の位の小数をすぐにタイプできる状態にはないので、これを行うことには意味はほとんどない。更に、FOCUSは自ら制限をしないので、制限を選択することは所定のバッファまたはクラスターの寸法を定めることに影響を与え得る。ソーティングルーチンはテラバイトの情報を取り扱うのに1Kも少ないRAMで実行できるという事実は、そのように行うことは賢明でないことを意味する。いずれにせよ、バッファリングのために1Kを使用することは1Kよりも大きいアイテムをソートすることを可能にしない。FOCUSは明らかに所定のシステムにおいて利用できるRAMの量およびディスクスペースによって明らかに制限されるが、しかしながら、RAMのサイズおよびディスクスペースとうまくやれば、これらは大きくなる。
【0079】
メモリ内に入れることができるデータよりも入力データのほうが多い場合、現在の方法は最初のランクを処理し、最終プロセスのためのRAMに適合することを保証する全てのクラスを記憶することである。このことは、その後の全てのデータがそのクラスの同じ比率を有すると仮定した場合、既に読み取りの完了したRAMと読み出されない残っているRAMとの間で比例的に利用できるRAMの量よりもクラスは少なくなるはずである、ということに基づく。クラスが上記の量よりも多い場合、分類のために次のランクを使用し、プロセスが続く。どれを処理する場合でも照合順にクラスを読み出し、完全に分類を実行する。このことは一度しか起きない。更にクラスが分割されている場合、処理を行う前にクラスと共に第1サブクラスをロードする。次に、全ての分類されたデータをディスクにフラッシングし、データをRAM内で再構成し、次のサブクラスをロードし、同様な作業を続ける。
【0080】
このプロセスは完全にコヒーレントであり、かつ完全にリニアである。更にこのプロセスは、必要でないとは言えないバイトを検討した際に更に絶対的に最適にされ、1回だけ全てのバイトを検討する。(FOCUSにおけるケースである)特殊な値によってバイトストリングの終端部が与えられない場合、ストリングの長さを使用しなければならない。ランクにおける最初の値と最後の値のトラッキングを維持することによって、速度は方法の2倍であることが判る。このようにするために使用される値のビットマックを使用すると、アセンブリ言語で書かれた場合の速度を照合によって更に高めることができる。
【0081】
「アンマージング」のこの技術は、最終記憶装置に均等な一時的記憶装置を使用するものであり、現在の技術は入力データのサイズにほぼ均等な余分な記憶装置を必要とする。一時的ファイルがRAMに読み取られるとすぐにこの一時的データを削除できるので、最終ファイルにこのコンテントを再び書き込むことは同じスペースを必要とする。実際にほとんどのオペレーティングシステムはクラスター状にファイルを記憶するので、一時的ファイルは最終結果よりも若干大きい記憶装置を使用するが、一時的ファイルの数とクラスターサイズの積よりも大きい記録装置は使用しない。
【0082】
プロセス専用のRAMの量は重要ではない。約20%だけのばらつきがあることがこれまで観察されている。ここにおけるソーティングルーチンのためのRAMの構成は実現できる方法の1つである。所定の時に、RAM内には最大3つのリストが存在し得る。すなわちアイテム自体のリストと、先のロードからのファイルのリスト、および現在ロードにより記憶されたファイルリストが存在し得る。従って、データのバッファへのローディングは第1リストの終了時とそのデータこうぞうの開始点(ポインタ)との間で行われる。データのサイズ+ポインタのサイズが利用できるRAMをオーバーフローした時にローディングが終了する。
【0083】
この第3のリストは次のように作成される。そのリストが最初のランクにあるか、およびバイト値がBであるかを検討する。更に、既に存在しているファイル(これはソートの際に第2リストを読み出すことによって判る)に適合するのにBクラスのサイズがOKであるかどうかも検討する。次に、BファイルにBクラスの全てのエントリーを添付し、Bリストをスキップする。ここで、Bファイルが作成されれば、Bクラスの第1エントリーに1バイトの長さが与えられ、このエントリーは(照合に従って)B+1クラスをポイントする。全てのアイテムがそれぞれのファイルに送られると、それらのシーケンスは第2リストと置換される。これらファイルサーネームは第1リストに添付されるように移動され、第1リストのポインタの前にそれらのポインタが移動される。次に、これら2つのリストを組み合わせソートする。
【0084】
昇順、例えば「0000」、「0001」、....としてファイルネームが与えられ、それらのサーネームはこれらファイルネームが含む既に分類された文字である。これらネームはサーネームに添付し、実際のデータがソートすべきストリングよりも4バイト(例では)長いかどうか検討することができる。データを読み出すと、対応するファイルネームに直接アクセスが行われる。ダブレットをスキップする場合、これらダブレットが検出されるとすぐにスキップが行われる(第1の発生は次のアイテムを直接ポイントし、ダブレットをバイパスする)。
【0085】
過剰な数のダブレットを記憶する場合、問題が生じるにすぎない。これらダブレットはダブレット+ある添付されたストリングを含む別のファイルと同じサーネームと共に専用ファイルを必要とする。区別するには長さが2倍のサーネームを記憶することができ、サーネームが正常なファイルとなっている場合、1を加える。この他に、ダブレットは記憶フォーマットを有することができる(一次ファイルに「her blue eyes」を100万回記憶することは馬鹿げたことである....)。それにも拘わらず、最終出力のためにダブレットを拡張しなければならない。
【0086】
RAMスペースが問題である場合、ファイルネームの記憶を別個のファイル内で行うことができる。また、わずか1つのファイルネームで1000テラの記録をソートすることは明らかに馬鹿げたことであり、また、あまり可能性のないことでもある。個人のコンピュータの履歴を見ることができる限り、RAMに対するディスクスペースの比は常に約1:1000であった。
【0087】
レポジットリー論理構造(既に述べてある)
物理的記憶
RAMとディスクとの間でデータをスワップすることは、ある種のクラスタリング方式を意味する。設計によりFOCUSは4Kバイト以上のクラスターサイズ(最小値は8ビットデータの分析および小さいレポジットリーに基づく)を受け入れることができ、このクラスターサイズはユーザーにとって便利であり、最長アイテムとコンパーティブル(ほぼ2倍の大きさ)である。簡潔にするために、実現例ではクラスターサイズを任意に2の累乗に制限しており、このクラスターサイズはオペレーティングシステムのスワッピング方式が任意の場所で使用しているサイズである。このようなクラスタリング方式はL字ストリングが同じクラスター内の別のL字ストリングまたは別のクラスター内の別のL字ストリングのいずれかをポイントするように、レポジットリーのフラグメンテーションを行い、これをフラグビットで表示できる。
【0088】
これと同じように、同じクラスター内で行うことができない別のL字ストリングの割り当てを求めることをストリングが終了した時に、ストリングの終了点を搬送するだけの新しいクラスターを初期化するように、空のレポジットリーで終了する。新しいクラスターは他の任意のストリングで完了しない。例をとると、ワード「man」を記憶し、最後の「n」をイクスポートしなければならないことによって、「mankind」「manhood」「manipulation」のようなワードを有する「n」を完了させることができる。これら他のワードのうちの任意のワードの最終文字をイクスポートしなければならない場合、英語に関する限り、これらワードは補足されない機会があることは明らかである。
【0089】
実際に、レポジットリーが数メガバイトの長さであると、スラック状態はすぐに50%を越える。従って、より細かいアプローチ、すなわちサブクラスターが必要である。事を簡潔にするために、サブクラスターはクラスターの2分の1の累乗である。従って、L字ストリングの一般的アドレスは、クラスター、サブクラスターおよびバイトアドレスとなる。L字ストリングの長さが変わる時は常に、L字ストリングは異なるサイズのサブクラスターまで移動できる。FOCUSレポジットリーでは、最小長さ技術の無制限の単調整数を使って全ての数字(長さ、アドレス)がコード化される。スペース割り当てはダイナミックな無FAT割り当て(後述する)を使って行われる。
【0090】
FOCUSコンテントの構造
現在のFOCUSのL字ストリングはバイトの次のストリング、すなわちコンテント、レファレンスのID、数値を構築している。最後の2つの値は最小長さの無制限の単調整数としてコード化される。最初の値はコンテントにアクセスするのに使用されるレファレンスに関連したID、すなわちハンドルであり、その値は近接目的のために多重化された数字となる。クロスレファレンスFOCUSのL字ストリングはクロスレファレンスコード、ID、レファレンスから構成される。ここで、「コンテント」とはストリング全体である。
【0091】
FOCUSストリングの複合構造は2つの後のフィールドを意味する。ストリングの長さとはデータの長さであり、このデータの後に数値は自己の長さを含む(最小長さの無制限の単調整数を参照)。実際にIDが単調であり、位置がID内にもあるようにフィーディングが行われる場合、元の順でコピーが維持されることを条件にコンテントでソートすれば十分である。
【0092】
ファイリングシステムのためのダイナミックな無FAT割り当て
FOCUS自身はオペレーティングシステムであり、自らのファイリングシステムを利用する。このファイリングシステムは大きな利点と共に任意のオペレーティングシステムによって使用できるが、ディスクコントローラに搭載されたチップに直接システムを載せることを検討することを可能にもする。このファイリングシステムはFAT(ファイル割り当てテーブル)を使用していないが、このファイリングシステムは極めて安全に作成することが容易であり、比較的簡単に通常の全ての最適化を実行できる。クラスター割り当てを集中する代わりに、これらクラスターをクラスター自身内にチェーン化する。
【0093】
基本的なアイデアは空のファイルをクラスターのチェーンとすることである。このチェーンは各クラスターが先のクラスターと次のクラスターへのポインタを有していることを意味する。先のクラスターまたは次のクラスターが存在しない場合、ポインタは有効な論理/物理クラスターのアドレスとすることができない任意の値(通常0)にセットされる。自由チェーンと称されるこのチェーンは、ファイルの作成時にサイズが既知である場合は、ファイル全体にわたって初期化するか、または必要が生じた時に1つ以上のクラスターだけダイナミックに拡張できる。
【0094】
クラスターの割り当ては単に自由チェーンから同じ原理で構築された別のチェーンへ行われる。あるクラスターの割り当てを解除することは、このクラスターを自由チェーンに戻すことである。チェーンの数が限られている場合、これらチェーンの開始ポイントおよび終了ポイントを記憶するのに、第1クラスター(ルート)を使用できる。数が限られていない場合、この記録自身がチェーニング技術を使用する。ファイルシステムの通常の機能の全ては容易に実現できる。例えばデフラグメンテーションは最終クラスターを自由チェーンのクラスターにコピーし、自由チェーンがファイルの終了時にクラスターの連続セットである時はファイルを切り捨てることによって行われる。
【0095】
マルチプロセッシング
データベース
データベースのコンテントのレファレンス
データベースをインデクシングする際に、インデックシングのためのデータとして使用できる構造が暗黙的に与えられる。一般にテーブルT、記録R、フィールドF、パラグラフP内にワードがあることを知ることによって、このワードへのより正確なアクセスができる。この情報はポストフィックスコーディング技術(テキスト構造情報のためにも使用される)を使用してワード自身と共に記憶できる。問い合わせによって検索された情報を使って、一致のデータベースを構築できる。この能力は下記のテキスト情報で使用される概念抽出技術によって大幅に高められる。
【0096】
データベースに属すような、レポジットリー内に記憶されたアイテム、例えばタイトルなどを評価するにはいくつかの方法がある。これら評価は記録でき、更に無構造データからデータベースを構築するのに使用できる。有構造データと無構造データとをマージすることはFOCUS内で容易に達成できる。これの最も関心のある用途は、構造データ内の構造をモニタするバージョンにある。ここではコーディングのタイプは不適切である。重要な選択はこれら要素を記憶した順序に関係している。多数のアクセスパスを使用する場合、異なる順序の多数の記憶を使用できる。
【0097】
マルチ処理技術はオペレーティングシステムを呼び出さず、従ってOSとは独立している。プロセッサ間のメールボックスを使用し、これらボックスはパラメータさえも搬送できる専用ファイルネームとなる。このことは、いくつかのプロセスの内外での同期化を可能にするだけでなく、ファイルイクスプローラタイプのプログラムと共に、これらプロセスにデータを送ることも可能にする。新しいパラメータと共にコマンドを新しく実行することによって、同じ制御を得ることができるが、このイクスプローラタイプのプログラムの制御技術はあるディレクトリー内のファイルネームを見ることによってプロセスの制御パネルを得ることができるようにする。例えば「debug.005」のようなファイル名によってデバッグレベルの設定を制御できる。
【0098】
ある種のパイプラインチェインにわたってプロセスを同期化すると、ファイルが完了した時に第1プロセスが「1 out.tmp」へ出力し、これを「1 out.go」とリネームすれば十分である。次に、特定のファイルネームを探す第2プロセスがトリガーされる。多数のファイルの処理と共に、2つのプロセスを平行にすることは同期化ファイルに、例えば「1 out001.go」のような番号を付けることを単に意味する。この第2プロセスが番号が大きくなる順にこれらファイルを容易に取り込むことができる。プロセスが常駐していない時は、コーディネートをコマンドプログラム専用としなければならない。このことは、プロセスの入力ファイルおよびその他の同期化検討事項が存在することに従って、異なるプロセスを開始させる。プロセスが常駐している時は集中スケジューラを有するようにコマンドプログラムを使用できる。
【0099】
テキスト情報へのアプリケーション
テキスト自身;最適化されたユニコードの記憶
テキスト情報を均一に記録できるようにするためにFOCUSはユニコード規格のコード化方法を使用する。この方法はプラネット上で使用される全ての象形文字もカバーし、オープンエンドとなっている2バイトのコード化方式である。それにもかかわらずこの方式はテキスト情報のサイズを2倍にする。レポジットリー内に情報を記憶する方法は、このスペースを最適にする。すなわちL字ストリングは所定のキャラクターをコピーしない。ユニコードの規格はこのプラネット上の全ての象形文字に対するユニークなコード化を考慮したものであるが、利用できるシステムは悪いアクセントのワードまたは一貫性なく組み合わされたキャラクターの問題を取り扱うことはできない。道のキャラクターを示すのに通常のトークンと共にこれら全てを扱う。置換プロセッサ(アイテム23)はミススペルのワードおよび壊されたワードも取り扱う。
【0100】
1つのワードは2つ以上の表示を有することがある。数字の12はキャラクターのシーケンス「twelve」として、またシーケンス「12」として、または数値12として書くことができる。FOCUSでは一度に3つの表示を使用することを妨げるものはない。「weekend」のような複合ワードに対しても同じような状況が当てはまる。このワードは「weekend」、「week−end」、「week」および「end」として全て同じアドレスに記憶できる。ほとんどのワードが複合語であるドイツ語またはスウェーデン語のような言語に対し、FOCUSは上記のような「weekend」の例のような成分と共にワード全体を記憶する。
【0101】
文法に基づくアドレシングシステム
テキスト内のワードの発見はいくつかの方法で行うことができる。このうちの3つを説明する。a)物理アドレス、すなわちワードの最初の文字が存在するファイル内のバイトの番号、b)ワードが存在するページ番号、ライン番号およびライン上のワード番号、c)書籍の番号、章の番号、パラグラフの番号、センテンスの番号およびワード番号である。これら最初の情報は、同じセンテンス内に2つの連続するワードが存在し得るという事実に関する情報は提供しない。第2の情報は、ファイル内に行の終了部が記録されており、どれだけ長いラインが存在するか、どのラッピング技術を使用したかに関する情報を意味する。第3の情報は、文法的分析に依存している。整数多重化コード化技術を使用すると、これら全ての技術はアドレスを表示する単一の値に帰する。このことは、その他の発見方式を自由に設計できることを意味する。これに関し、パラグラフまたはセンテンスにセマンティック情報を添付することができ、これら全てはレポジットリーにテキストが送られる時に実行される。デリミッター、ミスタイプから独立したい場合、またコンポーネント自身を通してテキストにアクセスできるようになりたい場合、複合ワードをそれらのコンポーネントと共に記憶することができる。文法エンジンを使用する場合、問題を生じることなくテキストおよび数値フォームの下に番号および日にちを記憶できる。
【0102】
代数学的/論理学的表現のグラフィックレンダリング
数式を扱う人は括弧のペアを使用する数式の通常の表示をうまく使用している。ブール代数式を表現しなければならない人は、通常コード化のこの形態で実務を行っていないので、これらの人は複雑な条件を表記することが困難である。二次元表面内に式をディスプレイすることにより、括弧の必要性またはペア化を不要にすることができ、複雑な式に関する良好な理解を与える。このようなディスプレイは比較的直感的でもあり、人はかなり短時間にこれを使用していた。
【0103】
一連のラインにアイテムを入力し、ラインが先のラインよりもインデントしている場合には、式の上のラインによって形成された式の終了部に括弧が存在する。どの新しいラインもボタン(AND、OR、NOT)に示される自己のブール演算子を有することができる。FOCUSのプロトタイプでは、内在的ブールOR演算子は特定のライン上の全てのアイテムをリンクする。注:ブール論理式は2つの方法で適用でき、コンピュータ科学者が使用する方法は通常の人にとって紛らわしい。データベースのユーザーが「Brown」AND「Smith」の記録を探すとき、ユーザーは式「Brown」OR「Smith」(これら2つのワードは互いに二重である)を入力しなければならない。上記ブール演算子は通常の人が使用する演算子である。
【0104】
共起
共起とは2つのワード間のリンクとして定義される。このインクは2つのワードが共に同じパラグラフ内に存在するという事実にすぎない。研究によれば、簡単なワードの共起はセマンティックな明確性により興味ある結果を与えない。これに反し、ワードのグループまたは表面は共起ネットワークと共に使用するのにセマンティック的に十分豊富である。共起が行う基本機能は所定のリクエストから表現のリストを提供することである。この表現はこのワードで最も頻繁に生じるものであり、これら全ての表現間の共起の全ては、グラフィック表示に対して与えられる。
全ての共起計算は所定のリクエストからの結果に基づくものである。リクエストは1つのワード、1つの表現、またはワードと表現のブール代数の組み合わせとなり得る。
【0105】
共起とは、言語学における古い考えであり、所定の用語に最も頻繁に関連するワードまたは表現から興味ある情報が生じ得ることを意味する。
nが用語の数である場合、通常の共起プロセスはnの3乗となる。このことは、CPU時間が膨大となるので、大きいベースおよびおよびRAMメモリでも非現実的であることを意味する。不思議なことに、十分なほとんどの共起システムはクラスタリングとして知られるものを使用している。この技術は任意の値(通常約2Kバイト)を選択することから成り、この値の中で共起が計算される。この値は明らかに言語的な意味はない。FOCUSはこれが分析する用語のパラグラフ番号を記録でき、より重要な言語学的機素により同時派生の計算を行うことができる。
更にFOCUSが関連するワードとトンにパラグラフのクロスレファレンスを記憶する場合、全プロセスをリニアとすることができる。
【0106】
FOCUS内で共起を計算することは、最初に与えられたパラグラフ番号に関する第2の問い合わせを送ることにすぎない。次に、結果(FOCUSに関する限りリニア演算)をソートすると、問い合わせに関連する最も頻度の高いワードおよび表現を容易に入手できる。FOCUSの元では共起は1つの用語とは関連せず、全体の問い合わせと関連している。
【0107】
右ウィンドー
FOCUS相互対話サーチ機能に対するユーザーのインターフェースのキーとなる特徴は、右ウィンドーと称されるものであり、このウィンドーは販売されたプロトタイプおよび最初のバージョンのインターフェースの右上コーナーに現れるものである。ウェブインターフェース(ジャバアプレット)では、この右上ウィンドーは一部が底部ウィンドー(ファイルレファレンスと共に一覧)に移動されている。このウィンドーの主な用途は、タイプされた各キャラクターに関してユーザーと相互対話することである。
ユーザーがワードのタイプを開始すると、このウィンドーは進んでいることをFOCUSが理解していることを示すために、ユーザーのタイピングをそのまま示す。逆にウィンドーが空のままであると、タイプされたキャラクターの一部はFOCUSの知識内で反射されていないことを示す。
【0108】
ユーザーがワード内にある限り(すなわちカーソルが文字の直後にある限り)、右ウィンドー内の示唆されるディスプレイは、ディスプレイされている各ワードに対する次の異なるレターと共に、カーソル前のレターによって開始するワードのサンプルとなる。例えばユーザーのカーソルが文字「BE」の後にあり、FOCUSがワードBEE、BEEF、BENEATH、BENIGNを有する場合、単にスクリーンのスペースが限られており、ユーザーはBEFで開始するワードがディスプレイされていないので、BEFOREを見つけないことをユーザーが知るのに十分であるので、BEEおよびBENEATHだけを示す。
【0109】
ユーザーが1つのワードを終了し、すなわちユーザーが次のワードに移るために1つのスペースを入力すると、我々はFOCUSがドキュメントの数およびこれらドキュメント内の発生頻度と共に、ワードのすべての可能な正書体(これらオプションの混合ケース、アクセント、連結文字をセット)をディスプレイすることを示唆する。最後に、ユーザーがリクエストされたテキストの入力を行い、ディスプレイされた各ドキュメントレファレンスに対する回答を求めた時に、右ウィンドーはこのドキュメントの一覧をディスプレイする。
【0110】
OCRタイプの連結文字
光学的キャラクター認識エラーに対してアルファベット連結文字を扱うのに使用される置換エンジンを使用できる。過度には多い誤りをしないエンジンを仮定すると、すなわち出力を容易に読み出しできる程度に誤りをしないエンジンを仮定すると、(我々の現在の基準はファインリーダーV4である)、置換エンジンに対するデータ内では「rm」と「m」との混同のような一般的なOCRの誤りを宣言できる。「modern」をサーチすると、「modem」のようなミススペルも見つかる。メニューオプションまたはその他の適当な手段によってトリガーすべきこのような機能によってマニュアル訂正をすることなくOCRエンジンから有効な出力を維持することができ、更にこれらの間に適切なデータを探すことができる。
【0111】
ジャバアプレット+ジャバスクリプト構造
ウェブでの現在のCGI(HTML)作動モードはFOCUSと比較すると、より長い応答時間を有する。従って、できるだけ高い相互対話性を保持するように新しい方法を設計する必要があった。質問ダイアローグを取り扱うためにジャバアプレットを使用する場合もこれを行う。キーを押すたびに、ペンディングの問い合わせがないことを仮定すれば、ネットワークに数個のキャラクターだけが送られる。有利なことに、FOCUSの回答は極めて小さく(例えば2K)に維持できるので、再びネットワークの負荷は最小となる。これと対照的に、CGIスクリプトを使用するには全ページを再び描くのに送られるキャラクターの10倍以上が必要となる。同じように、問い合わせが完了し、FOCUSがそれらの一覧と共にドキュメントリストを送ると、データだけが送られ、ジャバスクリプトによてローカルにフォーマッティングが行われる。CGI方法とは10倍の改善がなされる。これらすべてにおけるキーポイントは一方の問い合わせがその時にパイプラインにあることを条件に、問い合わせが送られないようにアプレットとサーバーとの間のダイアローグを管理することである。
【0112】
マルチメディア情報へのアプリケーション
マルチメディア
テキストとは別にコンピュータに現在記憶されるデータにはサウンドと画像とが含まれる。次に、これらコードはサウンドおよび画像に関連するデータのためのプリフィックスとして使用できる。実際にテキストデータとは別に、数値として番号および多数の時間単位に換算した日にちまたは期間を記憶することもできる。これらすべてのデータタイプは異なるプリフィックスによって特徴付けできる。これによってすべてのデータを1つのレポジットリー内に維持し、記憶およびサーチの双方の速度を保証できる。テキストのコード化のためにユニコード規格を使用すると判断した場合、いくつかの2バイトのコードは有効なユニコード値とできないことが判る。従って、FOCUSのプロトタイプ的な実現例におけるテキスト用のプリフィックスは単に潜在的に有効なユニコードワードにすぎない。
【0113】
自動テキストおよび画像訂正
一部の製品が画像署名を抽出できる。リニア変換後にFOCUS内にこれら署名を挿入できる。画像に関連したテキストと共に、画像データベースをとる場合、統計的方法によりワードと表現とフォーカサーと画像署名との間で多数の訂正を行うことができる。その後、型らしい画像から署名を抽出すると、この新しい画像に対するワード、表現およびフォーカサーを提案することは可能となる。すなわち自動画像記述およびテキスト発生の方法が得られる。テキストをベースとするドキュメントでは、画像による注釈(これが存在する場合)を形成することは、これを行う別の方法である。何も存在しない場合、テキストの周辺からテーマを得ることによって同じ出力が得られる。画像に対して述べたことはサウンド、音楽、描画、ビデオなどにも拡張できる。
【0114】
サウンドへのアプリケーション
人間に関する限り、三次元ベクトル空間:スピーチ、音楽、ノイズにサウンドをプロットできる。例えばスピーチのインデクシングをするには効率的なスピーチ−テキストコンバータを待たなければならないが、このようなコンバータは現在入手できない。音声は既にMIDIファイルの形態のテキスト的な特徴を既に有しており、このMIDIファイルは叙情詩のテキストと共に演奏すべき音符のネームを搬送する。すなわち磁気テープに記録されるような連続データと異なるディスクリートデータを搬送する。MIDIフレームのサーチはワードによってテキストをサーチするのと全く同じように行うことができる。サーチがネームファイルの形態をした音楽に到達すると、ここには既に利用できるようになっているウェーブ対MIDIコンバータが存在しているが、これらコンバータは現在では単旋律の音楽に限定されている。すぐに多旋律のコンバータが入手できるような兆候はないが、入手できるようになった場合、MIDI情報方式を記憶するように戻るであろう。ウェーブ対MIDI変換では、楽器の音色を識別することも可能である。ノイズは信号の望んでいない部分とすることができるが、ノイズはノイズ除去デバイスによって一般的に処理される。しかしながらノイズも特殊効果である。このように、ノイズは分析用ソフトウェアのために入力される。オペラのサウンドトラックを検討する場合、同時にすべて三次元が得られ、これらすべての成分を識別できることと極めて掛け離れた状態となる。しかしながらまた、適当な分析用のソフトウェアが利用できるようになるとすぐに、分析プログラムから出力されて提供できる要素をすぐに記憶するようになろう。
【0115】
MIDIファイルのインデックシング
MIDIファイルにおける値は7ビットでコード化されていることに留意されたい。サーチは音符の実際のピッチを参照することなく進行するので、記憶すべきことは単に連続する音符の間の差にすぎない。従って、最初に記録される値は常にゼロとなり、このことは、これをスキップできることを意味する。音楽的にはこのことは、例えばハ調では全てが半音階転調されることを意味する。値は7ビットだけでコード化されているので、2つの音符の間の差は常に1つの単一バイトで記録できた。
【0116】
このようなコード化が可能であることは既知である。この問題は、コード化するのに何を選択するかということである。メロディチャンネル(通常モノラル)を識別しようとし、このメロディを音楽フレーズにカットするソフトウェアプログラムのニーズがある。ほとんどの人はバースまたはブリッジの最初を思い出すだけであるので、このようなスライシングプログラムを最初に基本的なものとすることができる。特定のMIDIファイルをサーチするにはキーボードで数音符を演奏するか、またはMIDI変換のためのピッチが備えられたマイクで数音符を歌う。情報は転調されているので完璧なピッチは必要でない。調子外れで歌う人は置換エンジンを使用する基本ファジー論理によって補助される。
【0117】
MIDIによる音楽のインデックシング
モノラルのサウンドトラックをMIDIデータに変換するのにウェーブ対MIDIを使用するための楽器およびプログラムが市販されている。
【0118】
音楽業界における規格の創出
このことは、ディスクダイレクト記録(D2D)、CD、DVDなどにも当てはまる。製造レベルでは音楽をミックスすると、ウェーブ対MIDI変換は不要となる。それにも拘わらず、音楽と共に誰かにMIDI楽器でメロディを演奏させることはかなり安価なことである。これをFOCUSに実行させ、プロダクションにレポジットリーを提供できる。どの音楽フレーズもアクセス可能となる。
【0119】
画像へのアプリケーション
ある種のディスクリートアクセスを容易に可能にする画像の1つのカテゴリーがある。すなわちCorel Draw、 AutCad、 DesignCadなどのCADシステムまたはベクトル作図プログラムによって作成される画像のカテゴリーがある。これら画像では全ての要素は離散的であり、その構造は公的に文書化されていなくても定義される。これら画像におけるテキストはコンピュータ化されたテキストフォームで維持されることが多く、画像成分に対する全ての情報を利用できる。一部の意味のあるポイント(例えば絵に対する中心)の位置を位置パラメータとして使用できる。
特定のグラフィックフィールドにおける特殊パターンを発見する能力または画像の特徴の一部を特徴付ける能力、例えば画像内のカラー組成、テクスチャーのタイプである静止画像を分析しようとするいくつかの試みがなされた。これらプログラムはレポジットリーに記録できる二進ビットパターンを与える。問い合わせに回答するために、レポジットリーの一部だけをスキャンすればよいように、これらビットパターンがパターン内にある種の順序を有していれば、最速サーチの結果が得られる。
【0120】
ビデオシーケンスに対し、このプロセスはシーケンスが一様な部分にカットされているのと全く同じである。一様な部分の各々は最初の画像を特徴とし、その後の全ての画像は最初の画像からの変位として決定される。これと同じように、1つのフィルムは少数の画像によって単に表示されており、静止画像の問題に戻る。動きに関連する一部の表示をビデオシーケンスから抽出することもできる。音楽シーケンスまたはビデオシーケンスへのアクセスは工業規格SMPTE(動画技術エンジニアの協会)の時間コードにより行うことができる。シーケンスの開始点でのこのコードの値は位置決めパラメータとして使用できるものである。
【0121】
次に、これら全てのタイプのデータは通常単独では生じないが、これらデータにはテキスト情報が付随する。映画では容易に利用できるテキスト情報とはスクリプトおよびダイヤローグ(サブタイトル)である。ビデオシーケンスと共にメロディのMIDIトラックに音楽情報を載せることによって音楽情報を記憶できる(通常の技術のあるキーボード奏者であれば、これを同時に行うことができるので、コストは大きな問題ではない)。これらテキストデータ上でFOCUSを作動させ、アクセス方法としてSMPTEコードを使用すると、そのテキストパラメータおよび音楽パラメータを使用する所定のシーケンスにダイレクトにアクセスすることが可能となる。
【0122】
画像署名によるサーチ
このアプリケーションは外部技術が所定の画像から意味のある署名、例えば色、組成、テクスチャーなどを抽出できることを前提としている。同時に、これら技術はパラメータを使用する傾向があり、たたみ込みまたはその他のCPU使用技術により一致点を探す。FOCUSはこれら技術をかなり異なった状態で使用する。実際にこの一般的アイデアは「グラフィックフォーカサー」を構築することである。かなり青いという理由から選択された画像の集団から、青い画像に関する制限であるパラメータをサーチし、対応するパラメータの平均値(またはブラケット)および任意の種類のテクスチャー、組成などを検出するための同じ操作により、青い画像を特徴付けるフォーカサーを構築することは容易である。新しい画像を分析する際には、テキストに対して行ったのと同じように、パラメータの一組と各グラフィックフォーカサーの値とを比較する。画像レファレンスおよび元のパラメータ(これらパラメータを使用できる場合)と共に、これら値を記録する。次に、画像の一組に対するグラフィックエディターのようなユーザーグラフィックを通し、アクセスが許可される。この方法はまだ適切であり、即座に行われる。
【0123】
有構造データドメインをダイナミックに管理するためにレポジットリー構造を使用すること
ドメインとは、問い合わせに対する応答であるサブセットにすぎない。データベースが関係し、変化する際に、同じ問い合わせは明らかに異なるドメインを発生させる。従って、ドメインは問い合わせ自体により単に定義され、これからはFOCUSによって分析される全てのことに適用される。ドメインの定義はフォーカサーによってダイナミックに行うことができ、レファレンスとして使用されるように記憶される。このようなことのアクションのフィールドをフォーカサーおよび同義語(シソーラス)として記述するのにドメインが必要である。これらの主な用途は、カテゴリーまたは分類学の役割を果たすことである。用語が与えられると、FOCUSはこのドメインが使用されているドメインの定義を知り、ユーザーがこれに対する問いを限定できるようにユーザーにこれらドメインを当てることができる。例えばcellをタイプすると、spread sheetとbiologyとの間で選択を行うことができる。1つのドメインは1つ以上のフォーカサーだけでなく、より多数の問い合わせアイテム(例えば日にちブラケット、ダイレクトリー、URLなど)によって定義できるので、ドメインの表記方法はフォーカサーの表記方法よりも広い。
【0124】
クロスレファレンス
(他の任意の非テキスト要素と同じように、これにはFOCUS内の特殊コードが与えられる。このクロスレファレンスは間接アクセスを行わなければならないたびに広範に使用される。例えばドキュメント「mydoc」で所定のワードを生じさせる予定がある。このドキュメントネームは(リネームまたは移動操作により)変わることができる。従って、このワードと共に「mydoc」としてコード化することは極めて馬鹿げたことである。その代わりに「mydoc」には実際のネーム(当分の間mydoc)をポイントしなければならないID(通常1つの番号)が与えられる。ドキュメントを移動またはリネームする場合、このIDは変更する必要はなく、このIDへのクロスレファレンスだけを更新する。ドキュメントネーム、サイズ、言語などに対し、更にデータベース内のフィールドネーム、一組のデータに対して包括的な各アイテムに対し、クロスレファレンスを使用できる。このアイテムを変更できる場合、このクロスレファレンスを使用することが特に強制される。固定されたデータに対し、クロスレファレンスを使用しないことは空間を無駄にすることを意味するだけであるが、このスペースを必要とするアプリケーションがあり得る。どのワードがパラグラフ内にあるかを記憶するために、共起の我々の実現例でもクロスレファレンスを使用する。
【0125】
ネットワークのリストによって表示された情報への応用
化学およびその他のネットワーク
FOCUSには特殊なタイプのデータ、例えば化学分子の画像を記憶することがこれまで研究されている。実際には取り扱うべきものは異なるノードおよび異なるリンクを備えたネットワークである。
迅速な回答(迅速にも拘わらず、今日特許されている24Mの分子を取り扱う)は、各ノードに対し1つの可能な表示しかしない階層的方法でネットワーク(すなわちどのノードでもスタートする)の全ての可能な表示を記述することである。ノードおよびリンクが数値コードで表示される場合、数値ソーティングにおけるネットワークを通した異なる方法のナビゲーションを単に命令するだけで、ユニークさを付与できる。ループは特殊なリンクにすぎず(我々はストリングの終了点の値の後に最低値を与えるように示唆する)、このリンクは共通ノードに対する後方へのリンク数およびループノードに対する(記述内の)前方へのリンク数によって記述されるノードにジャンプする。ノードおよびリンクの特殊グループを特殊なノードの値として容易に表示できる。記録されたネットワークは記述の際に入力される。問い合わせネットワークは、スタートする不明確でないノード(不明確なノードのうちの最も遠いノードが好ましい)を選択し、(ネットワークが含み得るノードのグループに従って)全ての可能なフォームでネットワークを記述し、FOCUSに対する対応するリクエストを実行することから成る。ノードの所定グループのファジー定義により、FOCUSに対する問い合わせの全ての回答はユーザーに対する回答とすることはできない。従って、正しい回答を選択する必要がある。
既に登録されている24Mの分子は、90Gbのレポジットリーを必要とし、アクセスは通常、適切であり、100分の1秒よりも長くない。
【0126】
現在のアプリケーションへのFOCUSの埋め込み
既に述べたように、FOCUSは現在我々が有するようなコンピュータアプリケーションの全てへの再訪問を可能にする。これは外部ルーチンとしてアプリケーションからコールできる単なる新しい機能ではなく、実際には現在の全てのプログラムの一部に埋め込みできる。例えばファイルイクスプローラーでは、コンテントへの現在の限定されたアクセスを置換するのにFOCUSを使用できる。また、ユーザーがファイルネームに関連するワードをタイプできれば、FOCUSは即座にそのワードを含む全てのファイルネームにアクセスする。終わりのないダイレクトリーのツリー構造によるそれ以上のナビゲーションは行わない。多数の人をネットワークに接続することを仮定すると、ダイレクトリーネームおよび/またはアーキテクチャにおけるある限られた約束事に関する合意によって、人は一度に他のダイレクトリーに集中できる。
【0127】
ワードプロセッシング、スプレッドシート、データベースアプリケーションでは、その時のパラグラフまたはテキストフィールドでのフォーカシングプロセスは、ユーザーがこれまでアクセスした全てのデータに関する全ての関連するパラグラフを一度に入手できるようにする。全ての関連するデータを呼び出すには任意のワード、表現またはセルをクリックするだけで十分である。見つかった情報をディスプレイするだけでなく、その結果を現在のアプリケーションに与えるために、FOCUS検索ルーチンの呼び出しも使用できる。
【0128】
ターゲットシステム
あるウィンドーから別のウィンドーに移るのに常に必要なクリップボードのコピーまたはドラッグアンドドロップ技術を使用する代わりに、問い合わせインターフェースに関連したビューイングルーティングによってターゲットシステムを使用できる。ターゲットは単一レターによって識別され、ターゲットは関連する文字をタイプすることによって選択されたアイテムを送るファイルまたはアプリケーションのいずれかから成る。コンテクスチャルメニューおよび/または文字キーを押しながら、CtrlまたはAltキーを使用することによって、ユーザーはターゲットをモニタすることが可能となり、これによってファイルのネーム、ターゲットアプリケーション、データの送りに関連する種々のオプションなどを変えることができる。基本的にはターゲットがファイルネームである場合、そのファイルに送られる全ての情報は単に添付される。このことは、現在のコピー/ドラッグアンドドロップ技術と比較して多くの時間を節約するだけでなく、ユーザーが自分の問い合わせの結果を所定のバッチに送ることができるようにする(ジャーナリストが多数の異なる論文の引用を一度に作成することを考える)。FOCUSの出力としてバッチアプリケーションのホストを利用することもできる。すなわち発見された全てのパラグラフを特定の処理ユニットへ送る。かかるシステムは既にFOCUSが自動フォーカセーションに対して使用していることである。この能力はターゲット技術、すなわち現在のファイルのターゲットファイルまたはアプリケーションへのヒットの全て、またはターゲットに対する全てのヒットまたは問い合わせを送ることに関連づけできる。
【0129】
RDBMのリンク
通常のコンピュータにおけるデータへの基本アクセスは、「データベース」を通して行われる。最も複雑なデータベースは「Relational」であるので、Relational DataBase Management Systemsの略語RDBMSが作成されている。データにアクセスする、より容易な方法であると考えられたこの方法は、データの取り扱いにおいて極めて欠点が多く、ヘビーで低速であることが判っている。FOCUSにとって構造は単にディレクトリーのためのツリー構造のような別のタイプのコンテントとなっている。以下、DBMSデータをFOCUSにどのように送るかについて示す。オプションであるが、推奨される、あるアドミニストレータがFOCUS内にどのフィールドを記録すべきかを選択できる。次に、ASCII、ユニコードまたはSGMLフォーマットでデータベースをダンピングすることによって単に行うことができる初期分析を行い、次に(例えば通常のテキストによって行うように)FOCUSによりこのフォーマットを分析する。(数百メガバイトの)小さいデータベースにおいて、リアルタイムの更新が問題とならない場合、この方法を周期的に繰り返すことができる。しかしながら、ベースが数テラバイトの大きさであるか、またはリアルタイムの応答が望まれる場合、更新方法が必要である。どのケースにおいてもエリアスファイルはネットワークドキュメントへのポータルまたはアクセスに対して行われるように、FOCUSによって記憶されたレファレンスを元のレコード/ドキュメントへリダイレクトする。中間フォーマットはXML(この目的のためにはHTML、SGMLおよび全ての有構造テキストフォーマットが等価的である)であると仮定する。
【0130】
データの選択:アドミニストレータはベース構造から分析すべきフィールドを選択し、内容に対しFOCUSが関連付けするXMLタグにフィールドネームを変更するか維持するかを示す。
初期分析:上記のように、この分析はベース選択されたフィールドの単純なダンプである。
更新:この解決方法は元の構造と同じ構造を有する仮想テーブルを使用することであり、同じパラメータを有する初期分析に対するのと同じように、この仮想テーブルを周期的にダンプする。FOCUSは他の全てのドキュメントに対して行っているように、これまでの発生を削除することによって記録の履歴を取り扱う。第2の解決方法はより複雑であるが、より効率的である。この方法は同じ結果を得るのにDBMSの内部ロッギングフォーマットを読み出すことから成る。第1の解決案は、DBMSを使った全てのアプリケーションに対する若干の変更を意味するが、内部コーディングの知識を意味しない。一方、第2解決案はアプリケーションとの干渉を意味しないが、内部構造の知識を意味する。
【0131】
以上で、特定の実施例およびその応用により開示した発明について説明したが、当業者であれば特許請求の範囲に記載した発明の範囲から逸脱することなく、種々の変形および変更が可能である。
【図面の簡単な説明】
【図1】
コンテントでアクセスされるコンピュータシステムの機能アクセスを示す。
【図2】
(A)は単調番号不要シーケンスのネーミングを示し、(B)は単調番号付けシーケンスのネーミングのためのより細部を示す。
【図3】
リニアソーティング技術の一部を示す。
【図4】
L字形レポジットリーファイルを示す。
[0001]
This application claims the benefit of provisional patent application Ser. No. 60 / 161,579, filed on Oct. 26, 2000.
[0002]
(Field of the Invention)
The present invention relates to content and context accessible computer systems.
[0003]
(background)
Most modern computer systems are not accessible by content, but rather are generally addressable by pathway, for example, disk drives, folders, and possibly subfolders and filenames. As an example of the address, "C: \ Program_Files \ Office WordProcessor \ Documento 3042_version_5" can be cited. An example of a subject that can be addressed by content is "my letter to Smith of last week" (my letter to Smith last week).
[0004]
To date, computer processors and computer systems have likewise operated on the principle of "giving an address to a computer and returning the content of the address". This is exactly the opposite of the way the human mind clearly does. Such a reverse process can take into account the fundamental problems that humans have when using a computer. That is, people and computers are processing information in reverse. People did not ask others, "Do you remember 7:34 pm on April 14, 1972?" Rather, "we were at this restaurant with a piano bar with spare ribs. Do you remember the time? " Restaurants, piano bars and spare ribs are basic memories, and people are basically not interested in the date of the event.
[0005]
So far, basic efforts have begun on addressing computers with content. However, the full content of computer processing must be considered. Relatively speaking, it is difficult to construct content-based addressing based on principles that evolved from the inverse principle of specific addressing of files and similar features of information arrays.
[0006]
To build a computer system that can be accessed with content in the optimal mode of the application, the content from any source needs to control data obtained, for example, from a network, or store the content programmatically. By optimizing any of the building blocks of the system, the system is fast enough to handle and process the content flow to the system. Making such a system portable and robust means designing the operating system independent as well as the size of the hardware, memory and items. The system accessible by the content itself is an operating system.
[0007]
This is illustrated by the following. No computer user is actually surprised to hear a file name when saving a text file. However, such a question is not asked in a good content addressable system. Rather than searching for a file by a name that no one knows, the file creator may have forgotten that a person even asks a simple question, such as "my letter to Smith of last week."
[0008]
Today, the realization of a system that can be addressed with good content is described, provided that the software package under the current operating system is realized. One can take advantage of current physical storage methods and certain software to access files and the system clock. These are the only system sources needed to implement a content accessible system. This guarantees overall portability.
[0009]
(Summary of the Invention)
The present invention relates to a content-accessible method and system for operating a computer. The three main parts of the invention are: first, a method for defining, classifying and indexing the content; second, specifying all real numbers, including integers, so that they can be easily arranged monotonically. Third, a fast linear method of sorting by content according to an associated monotonic real number, including an integer, to access the content.
[0010]
Computer systems using fully optimized content (FOCUS) are designed as language packages that are simple enough for the average user to handle and fast enough to handle the speed of the network. This system is an indexing and search system that combines simplicity, speed and efficiency. Unlike knowing the addresses where information may be stored, the system determines what information the user wants. Based on what users know.
[0011]
The above and other features and advantages of the present invention will become more apparent from the following detailed description.
[0012]
(Detailed description of preferred embodiments)
The following description is the presently best mode of carrying out the invention. This description is not meant to be limiting, but rather to illustrate the general principles of the invention. The scope of the invention should be determined with reference to the claims.
[0013]
The present invention relates to content-accessible methods and systems for operating a computer. Functionally, the main working part of the present invention is shown in FIG. 1, which is a first method for defining, classifying and indexing content (focuser 101) and a second, monotonic method. Includes a method (coding 102) for specifying all real numbers, including integers, for easy placement, and a third, fast linear method 103, which sorts by content according to the associated monotonic real numbers, including integers. The system provides twice the needs of the user, ie, (1) the ability to freely write requests as desired by the user, ease of use (question 104), and (2) appropriate and quick information 105. This system is designed to meet the gains. The information accessible by the content exists in the repository 106 functionally. These last two points define what can be considered an ideal information retrieval system.
[0014]
Point 1 is mainly about ergonomics. Simple dialog boxes and buttons to query some advanced searches solve this problem. On the other hand, the possibility of searching by theme is added. One theme is defined by words, notations or text and is used to get the corresponding information. Point 2 is achieved by semantics, a system that utilizes the meaning of words. Traditional systems that attempt to exploit semantics have ended with heavy computational overhead. Although the processes described below fall into the field of semantics, these processes are far from those currently used in this area, which have not been proven to be effective.
[0015]
The ergonomics of the FOCUS system are simple. That is, there are only (A) a text field, (B) a radio button theme, (C) a code search button, and (D) a search button based on meaning. Text fields are different from mere sequences of words (eg, using a question to define a group of words), and can enforce groups of words by using conventions. Code search deals with Boolean logic applied to search components. The search by meaning is performed through a file or a list of files corresponding to a given theme. These files may be lists of words. A theme is a list of simple words that the user has selected as the user's expression of a given concept, along with the frequency in a given text. This list of simple words can be sorted by correspondence using the frequency deviation from the reference.
[0016]
When searching for a theme, perform a Boolean algebraic OR operation on the words in the theme or select the maximum correspondence of these words in relation to proximity restrictions. There must be at least N words in the same paragraph. Here, N is at least 2, usually 3. These results are then sorted by correspondence to reduce noise. A paragraph is something that is separated by what is recognized as a paragraph separator (this code exists in Unicode, but needs to be analyzed against simple ASCII text). To be meaningful, a paragraph must have a certain minimum length.
[0017]
The theme radio button indicates that the word or expression to be searched should be considered as a theme. Since these themes are pre-calculated, they enable very fast semantic search. As a result, it can be displayed in three forms. The first form is to use this title when the title of the document can be identified. The second form is to use some kind of automatic abstract (the first sentence or first expression in the most corresponding paragraph in the file, or the first most deviant expression). The third form is a form that displays a text event. In this case, the view program highlights the corresponding paragraph and word, so that it is easier to navigate through the hits.
[0018]
It should be noted that the reference itself should be recorded as content. These contents are part of the computer system item that conveys meaning. For example, for each filename, one records the complete path, along with all of its components: drive ID, directory name, directory extension, file name, file extension and words inside them.
[0019]
Next, you must determine what the information is. Information can be described as having twice the nature. One property is the set of data that is being sought, and is also the manner in which that data set is sought. Within a text, a word can be some information so that the word can be used to find the word. However, one text is also a theme and a concept. Therefore, themes and concepts are extracted from the text. In languages such as German, where most words are compound words, even part of one word is information. The word "being" can be either a noun or a verb or information.
[0020]
Use the following steps to retrieve information. (A) Extract or calculate information from files stored in the system. This information is searchable and depends on the current technology level of the concept extraction software. (B) This information is stored so that it can be searched instantaneously. (C) Use a storage process having performance independent of the amount of data to be handled. (D) A search system is provided to access all stored elements. (E) Perform all of these as close to real time as possible.
[0021]
This search means building a repository that directly accesses all information content. Being linear in nature requires that all processes be linear for any set of data available at one time from the first step, ie, from a repository free sorting routine. Being independent of the amount of information for monitoring not only does not require the use of multiple repository files, but also avoids copying of the repository for updates. Real-time processing means handling operations as they occur, such as updating, renaming, moving and deleting, without interruption, ie without breaking on the timeline.
[0022]
Computer System Using Fully Optimized Content (FOCUS) Intelligent filtering as part of a FOCUS system does not merely provide a list of wanted or not wanted conditions. However, this method is quite different, although usually done with heavy computationally intensive techniques that require several minutes to determine the fate of a sentence. Semantic configurations only require that the user present a sample of text that is meant to indicate the desired theme to define.
[0023]
FOCUS feeding can be performed in various ways. For example, receiving data from a network can trigger analysis of that content. Updating a record in the database can trigger an analysis in the same way. Updating the word processor file can also trigger the analysis.
[0024]
Focuser concept
Focusers are defined as a set of the following elements:
(1) its name, (2) a list of words or expressions that indicate the focuser, (3) an optional but optional language description (French, English, ...), (4) a paragraph in the paragraph. A list of some parameters or words or expressions that govern existence. That is, (a) a small number of words or expressions in a paragraph indicates that the paragraph does not correspond to a focuser. A low number of them in a paragraph indicates that the paragraph does not correspond to a focuser. This number is used to detect the focuser. (B) The number of words or expressions in a paragraph that is less than if the paragraph corresponds, and the number of words or expressions that is greater than if the paragraph actually corresponds to a focuser. (C) At a threshold with a degree of correspondence lower than this number, the word does not belong to the focuser. This threshold is used to build the file.
[0025]
Building a focuser from text
Using known general frequencies of words in a given language, it is possible to automatically construct a focuser from text. Using this information, the degree of correspondence, which is a number indicating the uniqueness of the word in the paragraph, can be calculated. This number is the ratio of the frequency of the words in the text / the general frequency. You can specify all words from the source text by reducing the correspondence value. The word with the largest value corresponds most to this paragraph.
[0026]
It is also possible to increase the focuser manually by creating the following specific information: That is, the specific information is (A) a very corresponding specific expression, (B) a synonym (which can be automatically proposed by the system), (C) a word or expression to be excluded from the focuser (forced zero corresponding value), ( D) Words or expressions that distinguish the focuser, i.e., words that are automatically excluded from the focuser (negative corresponding values), and (E) words that are accepted excluding all expressions including the word. The forcer is then indicated by the part of the word that has the maximum value. The threshold can be selected by the program or by the user.
A very simple example of a text for Focuser is as follows:
[0027]
This is about horses. house, horseback
cavalry, @mounted_tropes. house.
[0028]
Here, “$ mounted_tropes” is a very appropriate expression. The word list excluding unsupported words,
That is, it looks like Cavarry, horse, houses, houseback, and pmounted_tropes.
[0029]
Focuser detection
Focusers do not mean anything by themselves, but take all the meanings when compared to text with paragraphs. Thus, the focuser is said to have a certain number of words or expressions relating to this focuser recognized in the same paragraph, this number being a parameter of the number of the focuser, whose value is usually about 3. The expression manually entered in the focuser will be three times the value of one word in the focuser.
[0030]
Automatic routing / filtering using text content
The routing defines the routing / filtering. Some profiles are a pair of positive and negative focusers. Whenever an email or HTML text or any text passes through the filter, all of the defined focusers are detected (see paragraph Focuser detection) and compared to the profile. If a negative focuser is recognized, the text is rejected, and if there is at least one positive focuser, the text is captured. Any combination of positive and negative focusers can be used.
[0031]
Semantic analysis methods evaluate every paragraph according to a given focuser. Instead of recording that rating along with the data, if a particular theme is associated with a particular destination, that rating can be used to route (or stop) entry information.
On the other hand, all of these can be maintained in the central repository, with each user performing an implicit Boolean algebra AND operation with their theme. This method allows some network managers to monitor what is being routed (or stopped) and where is being routed (stopped).
[0032]
If you want the filtering application to be efficient when it reaches the firewall, you can force it to monitor data that escapes the firewall. The firewall controller lets you pass information so you can check what has been stopped but what has been stopped, what has been stopped so far, and what has not been previously determined. You can tune your firewall as you try to defend it from the people you want. Of course, if a particular provider has sufficient evidence that it sends only undesired data, the controller can also declare that his or her ID (such as IP) will be rejected, Processed by FOCUS, but speeds up the process a lot.
[0033]
Automatically build focusers using text in the repository
Concepts associated with any word of text in the repository can be automatically constructed. The algorithm is as follows. Obtain all paragraphs containing this word, and then extract the concept from the sequence of this concept. Doing this for every word can be extremely time consuming, so that we can limit this extraction to, for example, expressions containing at least two significant words. Thus, the user can seek this predetermined expression, or this expression as a concept.
[0034]
Automaton Semantic Network, Thesaurus, Lexicon
Any kind of information linked to a string in memory can be displayed as follows: Ie
<Word><separator><type of information><separator><information>
If the information is small enough, it can be maintained directly in the automaton; otherwise, the information stored in the automaton will simply be the address to the information stored in the file, for example.
<Separator> and <type of information> must be small (usually one character) in order to be as compact as possible. Thus, semantic networks, thesauri, lexicons, etc. are displayed this way, provided they can fit in memory.
[0035]
Realization of semantic analysis / filtering in silicon
The basic routine of event manipulation can be implemented in silicon either on a general purpose processor based controller or on a dedicated RISC chip.
[0036]
Automatic viewpoint of text using deviation
The most relevant words or expressions associated with the focuser can be given without text. This focuser is called a viewpoint on the text. In order for the viewpoint to simply show the most deviated word or expression in both the text and the focuser, the expression need not be externally in the focuser. The reason for this is that the deviation of the expression is a compound deviation of the words in the expression. A compound deviation is the sum of the deviations of a single word contained in the expression divided by a number. If a particular viewpoint is not shown, the viewpoint is simply a focuser built from itself when appropriate.
[0037]
Automatic language and code page recognition
By comparing all terms in the sentence with all dictionaries of the planet coded in the possible character code pages, recognition of a particular language can be performed. It is easy to see that this method is overly heavy. A faster and more accurate solution is to characterize the language with a statistical distribution of n-applets. Experience has shown that obtaining a statistical distribution of four applets allows a fairly good discrimination of language and code page combinations. This is performed very straight forward using a sorting routine. Elements to be sorted start with an n-applet in the first byte, start with a 1 in the second byte, and so on. Next, the double is counted, and the result is compared with the database of the n-applet constructed in advance. This database is built by applying the same process to text that is large enough to be displayed. One megabyte of sample text is considered sufficient to build the database. This database consists of n-applets and their corresponding frequencies for each language / code page combination.
Comparing the text with the database, for each pair of language / code pages, adding the frequency of each occurrence of n-applet occurring in the text and selecting the highest number indicates the language / code page.
[0038]
This method is useful for recognizing the language and character code page for a given paragraph. Assuming a particular character code page, there is another more accurate way (in other words, it must be able to recognize words of text). This method can recognize languages in a single sentence based on using a small dictionary of frequent words for each language to be recognized. Each word in this sub-dictionary is associated with one or several languages. Next, when a word related to this language is recognized, the degree of correspondence of each language is incremented. Next, the highest language correspondence is selected.
[0039]
Computer accessible by content
A computer accessible with content considers any content as having three parameters: (1) a reference, (2) its own content, and (3) a location. A reference is a string of bytes that tells the host software how to reach the content. This reference can be a file name, an address in memory, a field in a database record, a file in an archive, and so on. The reference is preceded by a code indicating what software is required for the content, i.e., a filing system for file names, an archive program for archived references, a database management system for records, etc. The rest of this string is an argument sent to the host, for example an SQL request for the database manager. The coding used depends on the host.
[0040]
Next, consider the content. Every content in the computer is a string of bytes and the length of this string. Generally, these bytes are 8 bits to 1 byte. The third feature is location. This location is not a physical location in the computer's memory or in the computer's storage area. This position indicates something meaningful to the user. In a text file, for example, this position can be a chapter number, a section number, a paragraph number, and so on. In a database, this location can be a table number, a record number, a field number, a paragraph number, a sentence number, etc. In the image of the medical scanner, this position is in XYZ coordinates and is red-green-blue RGB pseudo color content. The position is mainly recorded to perform proximity management.
[0041]
Semantics
List
This technique provides a way to identify the content of a document before opening the document. This technique can be relatively comparable for large documents accessed over a network. The listing technique uses the idea of a document abstract, but automatically creates an abstract from the content of the entire document. When the FOCUS linguistics extracts a group of words, selecting the most distinctive group of documents by comparing the characteristics of the document with a statistical analysis of a given body of data. Relatively easy.
[0042]
For example, text used as a reference for plain text can be considered as normal English, French, etc., taken from a large plain text repository from FOCUS. When analyzing a database, field names are often very different from commonly spoken languages and are likely to be systematically selected for listing. It is easy to analyze all of the database and then select it with the corresponding focus and build a reference list of current words and expressions. A focuser is a text file showing a list of terms, synonyms and expressions of how a focuser owner is speaking when talking to another person about a given means. For a set of text that is deemed to correspond to a given region, this region can be described in the focuser, and the results can be used as described above to indicate a more accurate reference to this region.
[0043]
As long as FOCUS is fully implemented, these redefinitions and analysis can be performed locally on the FOCUS repository without accessing the document itself. Therefore, these techniques are also suitable for network environments. Once a document name is selected or displayed, it is easy to display the relevant listing recorded in FOCUS. By browsing these lists, users can quickly identify whether a document is of interest to their current question. The expression of the degree of the list can be used in the subsequent questions.
[0044]
Dynamic Focuser
A dynamic focuser is a focuser that is not compiled and created during filtering, but is created and analyzed in real time with one or several focus repositories. As noted above, a focuser is a text file that provides a list of terms, synonyms, and expressions of how a focuser owner is speaking when talking to another person for a given means. Focuser calculations are not limited to the time to analyze the document. In practice, this calculation can be done at any time, even when the user is asking a question. The format can be any. The user may type a series of words and / or expressions from any document, especially those documents discovered by another question in their FOCUS, may type actual sentences, You may capture paragraphs.
[0045]
The first task of the system is to ask all the words in this text. Next, sort these words according to the document and the location where the document resides. If the number of paragraphs is stored in the FOCUS memory, this feature is of great use; otherwise, the technique reverts to what is known as clustering. This clustering is linguistically insane. Making the whole paragraph available as a REAL question with an acceptable response time is a breakthrough in NATURAL LANGUAGE calculations. In addition, these questions can be mixed (Boolean) with regular questions in text, images, music, etc.
[0046]
Using a linear sorting routine, this operation is fast enough to be performed interactively.
Next, the choice of the winning paragraph is calculated according to the accuracy parameter (the number of words that should occur in approximately a given paragraph). This parameter can be monitored with a slider or "+" and "-" buttons, and the results can be quickly recalculated until the appropriate number of documents are selected. Next, the result of this inquiry is sorted by the degree of correspondence.
[0047]
If the user is satisfied with the "dynamic focuser" and he wants to use it again, FOCUS can record this definition "focuser" and its result (selected paragraph). This operation does not require access to the original document and may be appropriate for a network environment (eg, a web portal).
[0048]
The same technique can be used to update the focuser (if the focuser is dynamic or recorded in FOCUS). The only extra step is to eliminate the occurrence of the previous definition of the focuser, and this step does not require access to the original document.
The fact that the documents do not need to be referenced again merely stems from the fact that FOCUS has better knowledge of these documents than the documents themselves. In fact, FOCUS typically stores 15 times more information than the number of words in a given document. All of these updates occur in real time.
[0049]
Inverse focuser for e-commerce
In practice, this use of the focuser is not limited to E-commerce alone, which provides a good example. In an e-commerce portal, the vocabulary describing the item to be sold is usually in merchant terms. This makes navigation very difficult for customers who do not necessarily know the term. Classification is often not very useful because, for example, both sports or leisure can be considered the same item. The FOCUS solution to this dilemma is quite simple. First, start the portal with any descriptions available, and use these descriptions as focusers. The customer types a word, requests FOCUS for all focusers containing this word, and displays the answer as if the focuser was a category. If the user does not find the category he is thinking about, he rephrases (or stops) the query and the game starts over.
[0050]
If all of the user's queries are simply logged into any proprietary format, this log provides the E-commerce manager with two types of information of interest. Of course, the manager gets his customer's profile (and if the focuser is sufficiently consistent, he can create a focuser from the customer) but talks about what a person wants for each item being sold Also get the profile of These profiles can be used to update the focuser that describes the item, and FOCUS quickly learns how to answer customer inquiries with its own words (avoid quitting words). This process shows how standard FOCUS can be applied.
[0051]
Using lists to find similar documents
Requests for representations taken in a given list of documents can quickly provide similar documents (text, images, music, etc.).
There are two ways to do this.
One way is to use the token and make a new request for the list itself; another way is to make a request for each of the representations. The answers must be sorted using any parameters that the user considers appropriate, and the output is ranked by similarity.
[0052]
Automatic copy detection
It is very unlikely that two different documents will have the same list (this would typically result in up to 30 representations being the same in the two documents).
It is very easy to operate a separate item that queries a list and outputs a list belonging to more than one circuit. However, it is also possible to automatically issue a copy warning when storing the document parameters in the FOCUS repository, and this may be a copy if the list already exists. Of course, these techniques only provide copy candidates. On the other hand, even though the files have the same length and the date is not enough to declare these files as copies, this detection is format independent. Text processor documents that copy HTML documents produce the same list. Ultimately, one has to decide what to do, directly or through an application program (by copying.
[0053]
Open-ended, unlimited, variable-length coded numbers
Monotone floating point coding (MFPC)
In variable length coding, the length must be part of the code. Computer data is always a string of bits (or bytes). The first upper bit in the first byte of the string indicates the length of the string in bytes. Encode into the upper bit of the first byte. That is, the position of the first reset bit (0) indicates the length of the string.
[0054]
This special encoding uses all bits to indicate the value. Therefore, this method is optimal. The space required is an absolute minimum, and there is no limit on the number (setting all eight bits after the first byte causes the coding to proceed to the second byte). In addition, the strings are binary monotonic, which allows sorting and instruction testing without decoding. The coding and decoding routines are straight forward. This is independent of the processor representation of the number (large or small endian). If the computer agrees with a 16-bit binary representation, this encoding can be based on another unit, such as a 16-bit word. If the numeric fields in the database match the MFPC coding, all fields can be sorted as binary values without performing a dynamic match on the numeric fields.
[0055]
For numerical information, ie, real numbers including integers, FOCUS places no restrictions on the number of digits in the mantissa or the value of the exponent. As can be seen from FIG. 2A, the real number can be divided according to the codes of the mantissa 201 and the exponent 202. The overall value depends on this classification. FIG. 2B shows another classification. In this classification, for example, when + infinity 204 or −infinity 205 is separated, +1 206 and −1 207 and 0208 are also separated. These aren't really necessary, though they aren't really necessary. In FIG. 2A, a mantissa 201 in the first row with a + code 209 and an exponent 202 with a + code 210 can be seen, which are coded as 211 in D in this system. In the next case, the mantissa 201 is +212, the exponent -213 and the code are C214. C214 is smaller than D211 or D211 is inherently larger than C214. In the next case, the mantissa 201 is -216 and the exponent 202 is +217, which is coded as B218. B218 is smaller than C214 but larger than code A219 which has a mantissa 201 of -220 and an exponent of -221.
[0056]
As can be seen from FIG. 2B, not only the fourth line with mantissa + 212, exponent-213 and code F251, but also the eighth line with mantissa-216, exponent + 217 and code B218, the absolute value of the exponent is It should be understood that the higher the value, the lower the value of the number. If in the first case it is positive for the negative series and is a value, it is one more than a certain value and very large, and before the last line the mantissa is negative, ie a negative number, Since it is very positive, the number will be negative or some value for a very large series, so it will be a very large negative number. Therefore, in the regions F251 and B218, the larger the absolute value of the exponent, the smaller the value of the number. Thus, one may want this complement for a given base. For example, 12 in the base 10 is 99-12 = 87. Next, the absolute value of the mantissa is a predetermined coded value or a value for a predetermined base. The various bases that encode these components do not actually correspond, as long as these bases are coded to be the same for all coded elements of the number. (FIG. 2B) A265, B218, C266, D267, E264, F251, G264, H262, I261, unlimited monotonic coded exponent or unlimited real number to be a code combination that is a string of characters to the complement and mantissa Can be coded.
[0057]
Any real number can be described as a number of any length using the first unlimited integer of minimum length for the exponent and the mantissa. One way of multiplexing the numbers is to use the numbers described in base N, and since these numbers are described as base N + 1, there will not be N + 1 numbers in the numbers. When coding in base 2, it has multiple zeros and ones. When coding in base 3, the number is N + 1, where N = 2 has 1001, and has 2 and some other number 1001, etc., so larger numbers serve exactly as separators. Since the smaller the number N is, the less space is used, a number for N, ie 2 or 3, is preferred. Since 2 is preferable for the encoding speed and 3 is preferable for the decoding speed, the number actually used is determined by throwing coins.
[0058]
Linear sorting
In the case of linear sorting, basically one list must be sorted in a certain order. This classification can be performed at the binary level using the micro values of the selected components that you want to sort. For a byte, it has 8 bits or a power of 2-8, ie, a value of 256. When a 16-bit word is used, a value of 64K or the like is used. When sorting a list of bytes along with a byte, it carries an integer pointing to the next byte, with the available values carrying an array of start and end pointers. The byte pointer is initialized in a predetermined manner, typically in the order of a first item, a second item, a third item, and so on. When reading a byte of value X, update the X start and end pointers. If both pointers have not been used yet, the value will be a pointer to a byte; if all pointers already have a value, the end pointer will point to the byte, while the byte pointer for the previous end value will point to a new byte. Point. At the end of the scan, the storage of any value in the byte pointer is reported in the order of the match for the particular rank.
[0059]
FIG. 3 shows the status of the array of start pointers 301, the array of end pointers 301, and the array of pointers for the next pointer 303. In FIG. 3, the first three ranks, ie, the characters XYZ 304, have already been sorted and determined to be the same, and XYZ. . . . , The next character in the series, A2305, is being tested. The rank byte routine process is in the list. If there is more than one item in the rank list, only the next rank is processed. This is known when using any kind of flagging to terminate an input string. The next rank need not be R + 1, but can be in any desired rank.
[0060]
MFPC-based date / period A date or period can be expressed as a number of years, months, days, hours, minutes, seconds, and fractions of a second, or any combination thereof. For all these values, any length of time, whether large or small, can be represented by using MFPC. For dates, all but a few fractions of a year and seconds have restricted values and can be represented as simple binary integers. The search for the month of May does not end with token research, since the repository can come up with recording the complete date or period with the components here.
[0061]
Repository-logical structure
The best solution for the fastest access to any individual item uses an L-string. One L-string is an optional horizontal string and a vertical string of at least one byte, each byte of the vertical string being associated with a pointer to the next L-string. For example, to store “Albert”, “Bogart” and “Bowie”, the L-shaped string would be as follows (see FIG. 4): The “AB” 401 of the first string is purely vertical, and the “LBERT” 402 is clearly horizontal. In fact, "LBER" 403 is a horizontal string and "T" 404 is a vertical string with that pointer. The next string has “OGW” 405 as a full L-string. A "0" 406 is used to indicate that the string no longer points (i.e., the end of the string mark).
[0062]
Text information
FOCUS uses Unicode standard codification to record text information uniformly. This is an open-ended 2-byte encoding scheme that covers all glyphs used in the planet. An L-shaped string does not copy a given character. More than one representative can be considered to handle bad accent words or inconsistently written character words. For example, the number 12 can be written as a sequence of characters "twelve" or a sequence "12" or a number "12". There is nothing in FOCUS that prevents using these three displays at once. The same can be done for compound words like weakend, for example. This word can all be stored at the same address as "weekend", "week-end", "week" and "end".
[0063]
Automatic partitioning of repository when disk access becomes critical
When disk access becomes a bottleneck, it typically creates duplicates of the repository, guides heavy synchronization methods, and generally loses the potential to maintain real-time applications. Due to the algorithm of the sorting routine used in FOCUS, it is almost natural to split the repository instead of duplicating the repository.
It is easy to tell the sorting algorithm to send the start of the sort to one file and to switch to another file.
[0064]
The problem in this case is how to split the repository in the first place. One application used with FOCUS is to sequentially read out a repository. This program is used to build a new repository on the second disk by a point which is half the first. Then proceed to read, but write the second half again to another file. Delete the original file. This preferably keeps the original file as the second half and erases the data stored in the first half. The reason is that if another split is required, this would result in an unnecessary empty file. Store the repository number and name in the base repository (starting with the lowest string) as a special code (lowest code) that maintains overall control within FOCUS.
[0065]
An advantageous feature of this scheme is that the greater the number of repositories that must be possessed for the number of user accesses, the shorter the time it takes to execute the backup method. During a backup, the watchdog remains active but stops the feeding process so that the copy participates in a known state. Next, copy the repository. The more repositories, the shorter they will be, and the shorter the backup time.
[0066]
Repository (index) management
Increment / Decrement Index Update Copy w / o Index Normally, updates to the repository trigger a periodic update of the repository itself. This means that the available space is twice as large as the required space. The FOCUS routine performs its own garbage collection, thereby eliminating the need for a repository copy to remove slack.
[0067]
Catching index for real-time indexing
Not sorting the input data directly into the final repository allows for faster sorting and faster creation of a rapidly accessible cache repository, thus providing near real-time access to recorded or received information.
[0068]
Using monotonic access methods with index files containing numbers and dates / periods
The fact that different types of data have a monotonic encoding allows the internal engine to have a very limited set of functions. That is, it can have 1) a function of searching for a specific item, 2) a function of searching for a specific item, and 3) a function of searching for the next item. An important feature of FOCUS is that when no item is found, the next item available to the request program is sent, along with a flag stating that the request was unsuccessful. This allows the calling program to make the next call (see the replacement process).
[0069]
Generalized indexing of databases
This is where a reference to a table / record replaces a reference to a file name.
[0070]
Automatic reference monitoring for real-time indexing (according to the process used by a given OS) Builds a calendar log of events by intercepting operating system calls for file opening, file closing, writing to files, etc. Which can then be used to determine which files to delete, move, rename, or update. If a smarter method (OS dependent) cannot be used with the updated file, the update should be viewed as a deletion followed by a creation. Partial updates generally only result from new analyzes (eg, semantics) that generate new parameters and cancel other parameters. If the reference is for a field in the database, it is only necessary to have an automatic logging of edits for this database, ie a logging file containing all necessary parameters. An easy format for these logs is ODBC. More general changes and updates are well considered by their generation. Most processors allow some level of intervention at this level. In the worst case, one has to wait until a change is indicated by one of the processes having an access method (eg waiting for a change to be sent to one file).
[0071]
Non-text extension in indexing engine
"Full text" engines generally cannot record non-text information. There are two ways to do this. That is, there are a method of determining one or more prefixes and a method of determining one or more suffixes. For example, if the text information means that a prefix of “0” should be added, a prefix of “1” is added to the numerical information, a prefix of “2” is added to the date, and a prefix of “3” is added to MIDI. be able to. If the text information is file content, the suffix "0" can be determined. If this text information is a parameter for the filing system, the postfix will be “1”. If it is a file name, the same can be done by appending a "0" to the "1" postfix. The choice of prefixing or postfixing depends on the access used for the search. It is possible to record the copied data completely, one using a prefix and the other using a postfix, both indicating the same item. Here, when the Unicode standard considers two sets of 32 values (0-31 and 128-143) considered from the standard, no prefix or postfix is defined in the text information. From one of these 64 values, the code for the initial prefix and postfix is selected. The value 143 can be multiplexed so as to always allow for expansion in the unlikely type of code.
[0072]
FOCUS sequence
FOCUS feeding can be performed in various ways. For example, receiving data from a network can trigger analysis of that content. The analysis can also be triggered by updating records in the database. Updating the word processor file can also trigger the analysis. Whatever process is used, the desire of all FOCUS is to obtain a list of references to consider in a dedicated file. It can be immediately pointed out that the analysis process can also decide not to record or maintain data, such as for network filtering. However, the data can be flagged as unacceptable and the data stored in some way so that the network manager can trace the unacceptable information.
[0073]
For textual data, the analysis considers linguistics and semantics so that concepts can be identified on the fly. As can be seen from the above, these concepts can be used to route data flows and / or stored along with other information to be analyzed. Even when dealing with text, FOCUS detects groups of words, roots of words, synonyms, and "concepts" (focusers), and FOCUS is not a full text engine in storing all of them in its repository. This is the case when "knowledge management" is in a picture at the time of data reception and not at the time of a user request. Any knowledge that can be known by current technology is extracted at the time of data entry and stored in the FOCUS repository if it is immediately accessible. A reference is provided to the real-time input (network incoming data) along with its output. Perform the analysis when the input is just a notification of something that has occurred.
[0074]
Analysis means identifying the data format, decoding the data format, detecting the language on the text information, performing the linguistic procedure, and storing the results according to the FOCUS input format. Note: Identifying common business data formats is beyond the scope of this document. Many commercial products are available for this purpose. However, extracting embedded structure representations in formats such as HTML, SGML, and XML is part of FOCUS.
[0075]
At the end of these processes, the FOCUS input file is ready for processing. The problem of inserting this information into the repository is related to the sorting of these files. Despite the fact that the mathematicians have demonstrated that the sorting process is linear, no matter what routing is used for sorting, RAM-based techniques are more efficient than disk-based routing. Will also be faster. Thus, if multiple input files are available at the same time, FOCUS will concatenate these files and feed the sorting routing. If one file is available, the file is sorted at a time for immediate access to the data by the FOCUS query program.
[0076]
Since the output of the FOCUS sorting routing already uses the FOCUS repository format, the user can access the latest data very quickly. However, multiplexing these files on a particular physical disk drive means that the performance of the system is degraded at the time of inquiry and update (particularly at the time of deletion). Thus, the final step is to merge these temporary repositories on each physical drive into a single final repository. This process is relatively fast, but can be run in a low priority background (FOCUS manages its background priority). However, in some applications (if all of the repositories carry incoming data for a day and, for example, data should be deleted after a certain date), it is also possible to maintain a temporary repository instead of merging. .
[0077]
Record the reference in the repository and give it an ID (or handling) number (an unlimited integer). Also record the cross reference (from ID number to reference). When deleting a reference, the cross reference is updated as deleted, the entry is further deleted, and the cross reference is updated as free at the end of the deletion process. These free cross references are used by the reference allocation routine. Sometimes a user wants to record another cross-reference of interest, and the user is free to do so. FOCUS has nothing to do with the meaning associated with the data and only the user is free to do so.
[0078]
As used herein, the use of the word "unlimited" means that FOCUS does not impose restrictions on the user or some of the programmers. The application program nevertheless recognizes certain restrictions of itself. For example, FOCUS can store a number pi in the millionth place after the decimal point, but there is little point in doing this because the one seeking the pi is not ready to type a decimal in the millionth place. In addition, since FOCUS does not limit itself, selecting a limit can affect sizing a given buffer or cluster. The fact that the sorting routine can be executed with as little as 1K of RAM to handle terabytes of information means that doing so is unwise. In any case, using 1K for buffering does not allow sorting items larger than 1K. FOCUS is obviously limited by the amount of RAM and disk space available in a given system, however, if done well with the size and disk space of RAM, they will be large.
[0079]
If there is more input data than can fit in memory, the current method is to process the first rank and store all classes that ensure RAM fit for the final process. . This is less than the amount of RAM available proportionally between the RAM that has already been read and the remaining RAM that has not been read, assuming that all subsequent data has the same ratio of that class. Based on the fact that classes should be few. If the class is greater than the above amount, the next rank is used for classification and the process continues. Regardless of which processing is performed, the classes are read out in the order of collation, and the classification is performed completely. This happens only once. If the class is further divided, the first subclass is loaded together with the class before processing. Next, flush all classified data to disk, reconstruct the data in RAM, load the next subclass, and continue with the same work.
[0080]
This process is completely coherent and completely linear. Furthermore, the process is further absolutely optimized when considering bytes that are not necessary, and considers all bytes only once. If the special value (which is the case in FOCUS) does not give the end of the byte string, the length of the string must be used. By keeping track of the first and last values in the rank, it turns out that the speed is twice that of the method. The use of a bit-mac of the value used to do this allows the speed when written in assembly language to be further increased by verification.
[0081]
This technique of "unmerging" uses temporary storage equal to the final storage, and current techniques require extra storage approximately equal to the size of the input data. Rewriting this content to the final file requires the same space, as this temporary data can be deleted as soon as the temporary file is read into RAM. In fact, most operating systems store files in clusters, so temporary files use storage that is slightly larger than the end result, but use storage devices that are larger than the number of temporary files times the cluster size. do not do.
[0082]
The amount of RAM dedicated to the process is not important. Variations of only about 20% have been observed to date. The configuration of the RAM for the sorting routine here is one of the feasible methods. At any given time, there can be up to three lists in RAM. That is, there may be a list of items themselves, a list of files from previous loads, and a list of files stored by the current load. Therefore, the loading of the data into the buffer is performed between the end of the first list and the starting point (pointer) of the data. Loading ends when data size + pointer size overflows available RAM.
[0083]
This third list is created as follows. Consider whether the list is in the first rank and if the byte value is B. Also consider whether the size of the B class is OK to match an already existing file (which can be found by reading the second list during sorting). Next, all entries of the B class are attached to the B file, and the B list is skipped. Here, if the B file is created, the first entry of the B class is given a one-byte length, and this entry points (according to the collation) to the B + 1 class. When all items have been sent to their respective files, their sequence is replaced with a second list. These file names are moved to be attached to the first list, and the pointers are moved before the pointers in the first list. Next, these two lists are combined and sorted.
[0084]
Ascending order, for example, "0000", "0001",. . . . , And their surnames are the already classified characters that these filenames contain. These names can be appended to the surname to determine if the actual data is 4 bytes (in the example) longer than the string to be sorted. When the data is read, the corresponding file name is directly accessed. When skipping doublets, skipping occurs as soon as these doublets are detected (the first occurrence points directly to the next item and bypasses the doublet).
[0085]
Storing an excessive number of doublets is only a problem. These doublets require a dedicated file with the same signature as the doublet plus another file containing some attached strings. To distinguish them, a double name can be stored, and if the name is a normal file, 1 is added. In addition, the doublet can have a storage format (storing "her blue eyes" one million times in the primary file is ridiculous ...). Nevertheless, the doublet must be extended for final output.
[0086]
If RAM space is an issue, the storage of the filename can be done in a separate file. Also, sorting 1000 tera records with just one file name is obviously ridiculous and unlikely. As far as the personal computer history can be seen, the ratio of disk space to RAM was always about 1: 1000.
[0087]
Repository logic structure (as already mentioned)
Physical memory
Swapping data between RAM and disk implies some sort of clustering scheme. By design, FOCUS can accept cluster sizes of 4K bytes or more (the minimum value is based on analysis of 8-bit data and a small repository), which is convenient for the user and can be combined with the longest item (almost 2). Twice the size). For simplicity, the implementation limits the cluster size arbitrarily to a power of two, which is the size that the operating system swapping scheme uses anywhere. Such a clustering scheme performs fragmentation of the repository so that the L-string points either to another L-string in the same cluster or another L-string in another cluster, and this is flagged with a flag bit. Can be displayed.
[0088]
Similarly, when the string has finished seeking another L-string assignment that cannot be done in the same cluster, it initializes a new cluster that only carries the end of the string. Ends with a repository of. The new cluster does not complete with any other strings. By way of example, completing "n" with words like "mankind", "manhood", "manipulation" by storing the word "man" and having to export the last "n" Can be. If the last character of any of these other words has to be exported, it is clear that as far as English is concerned, there is an opportunity for these words not to be supplemented.
[0089]
In fact, if the repository is a few megabytes long, the slack condition can easily exceed 50%. Therefore, a finer approach, sub-clusters, is needed. For simplicity, the subcluster is a power of one half of the cluster. Thus, the general addresses of an L-shaped string are cluster, subcluster, and byte addresses. Whenever the length of the L-string changes, the L-string can move to sub-clusters of different sizes. In the FOCUS repository, all digits (length, address) are encoded using an unlimited single-adjustment number of the minimum length technique. Space allocation is performed using dynamic FAT-free allocation (described below).
[0090]
Structure of FOCUS content
The current FOCUS L-string builds the next string of bytes: content, reference ID, and numeric value. The last two values are coded as unlimited single adjustment numbers of minimum length. The first value is the ID, or handle, associated with the reference used to access the content, and its value will be a multiplexed number for proximity purposes. The L-shaped string of the cross reference FOCUS includes a cross reference code, an ID, and a reference. Here, "content" is the entire string.
[0091]
The composite structure of the FOCUS string means two subsequent fields. The length of the string is the length of the data, after which the numeric value includes its own length (see unlimited single adjustment number of minimum length). When the feeding is performed such that the ID is actually monotonous and the position is also within the ID, it is sufficient to sort the contents on condition that the copy is maintained in the original order.
[0092]
Dynamic FAT-free allocation for filing systems
FOCUS itself is an operating system and uses its own filing system. While this filing system can be used by any operating system with great advantages, it also makes it possible to consider mounting the system directly on a chip mounted on a disk controller. Although this filing system does not use a FAT (File Allocation Table), this filing system is extremely easy to create and can perform all normal optimizations relatively easily. Instead of concentrating cluster assignments, chain these clusters within the cluster itself.
[0093]
The basic idea is to make an empty file a chain of clusters. This chain means that each cluster has a pointer to the previous cluster and the next cluster. If there is no previous or next cluster, the pointer is set to any value (usually 0) that cannot be a valid logical / physical cluster address. This chain, called the free chain, can be initialized throughout the file, if the size is known at the time the file is created, or can be dynamically expanded by one or more clusters when needed.
[0094]
Cluster assignment is simply done from the free chain to another chain built on the same principle. Unassigning a cluster is returning it to the free chain. If the number of chains is limited, a first cluster (root) can be used to store the start and end points of these chains. If the number is not limited, the record itself uses the chaining technique. All of the usual functions of a file system can be easily implemented. For example, defragmentation is performed by copying the final cluster into the clusters of the free chain and truncating the file if the free chain is a continuous set of clusters at the end of the file.
[0095]
Multi-processing
Database
Database content reference
When indexing a database, a structure that can be used as data for indexing is implicitly provided. In general, knowing that a word is in table T, record R, field F, paragraph P allows more accurate access to this word. This information can be stored with the word itself using postfix coding techniques (also used for text structure information). A database of matches can be constructed using the information retrieved by the query. This ability is greatly enhanced by the concept extraction techniques used in the textual information below.
[0096]
There are several ways to evaluate items stored in the repository, such as titles, that belong to a database. These assessments can be recorded and further used to build a database from unstructured data. Merging structured and unstructured data can be easily achieved in FOCUS. The most interesting application of this is in the version that monitors the structure in the structure data. Here the type of coding is inappropriate. An important choice is related to the order in which these elements are stored. If multiple access paths are used, multiple stores in different orders can be used.
[0097]
Multi-processing technology does not call the operating system and is therefore independent of the OS. Using mailboxes between processors, these boxes are dedicated file names that can even carry parameters. This not only allows synchronization inside and outside some processes, but also allows data to be sent to these processes along with a file explorer type program. The same control can be obtained by executing the command anew with the new parameters, but the control technology of this Explorer type program allows the control panel of the process to be obtained by looking at the file names in a directory. To For example, the setting of the debug level can be controlled by a file name such as “debug.005”.
[0098]
When synchronizing processes across some kind of pipeline chain, it suffices that the first process outputs to "1 out.tmp" when the file is complete and renames it to "1 out.go". Next, a second process of searching for a particular file name is triggered. Making the two processes parallel, along with the processing of multiple files, simply means numbering the synchronized files, for example, "1 out001.go". The second process can easily retrieve these files in the order of increasing numbers. If the process is not resident, the coordination must be dedicated to the command program. This will start a different process depending on the existence of the process input file and other synchronization considerations. When the process is resident, a command program can be used to have a centralized scheduler.
[0099]
Application to text information
Text itself; optimized Unicode storage
In order to uniformly record text information, FOCUS uses a coding method according to the Unicode standard. This method is an open-ended two-byte encoding scheme that covers all glyphs used on the planet. Nevertheless, this scheme doubles the size of the text information. The way information is stored in the repository optimizes this space. That is, the L-shaped string does not copy the predetermined character. Although the Unicode standard allows for unique encoding for all hieroglyphs on this planet, available systems cannot handle the problem of badly accented words or inconsistently combined characters. Treat all of these with regular tokens to indicate the way character. The replacement processor (item 23) also handles misspelled words and broken words.
[0100]
One word may have more than one indication. The number 12 can be written as the sequence of characters "twelve" and as the sequence "12" or as the number 12. Nothing in FOCUS prevents using three displays at a time. A similar situation applies to compound words such as "weekend". This word can be stored at the same address as "weekend", "week-end", "week" and "end". For languages such as German or Swedish where most words are compound words, FOCUS stores the entire word with components such as the "weekend" example above.
[0101]
Addressing system based on grammar
Finding words in text can be done in several ways. Three of these will be described. a) the physical address, ie the number of the byte in the file where the first character of the word is present; b) the page number, the line number and the word number on the line where the word is present; c) the book number, chapter number, paragraph. Number, sentence number and word number. These initial information do not provide any information on the fact that there may be two consecutive words in the same sentence. The second information indicates the end of the line recorded in the file, information about how long a line exists, and what wrapping technique was used. The third piece of information relies on grammatical analysis. Using integer multiplexing coding techniques, all these techniques result in a single value representing the address. This means that other discovery schemes can be designed freely. In this regard, semantic information can be attached to a paragraph or sentence, all of which is performed when the text is sent to the repository. If you want to be independent of delimiters, mistypes, and want to be able to access text through the components themselves, compound words can be stored with those components. When using a grammar engine, numbers and dates can be stored under text and numeric forms without problems.
[0102]
Graphic rendering of algebraic / logical expressions
Those who work with mathematical formulas make good use of the usual display of mathematical formulas that use parenthesis pairs. It is difficult for these people to express complex conditions because those who have to express Boolean algebra usually do not practice this form of coding. By displaying the equations in a two-dimensional surface, the need for parentheses or pairing can be eliminated, giving a good understanding of complex equations. Such displays are also relatively intuitive, and people have used them for quite a short time.
[0103]
If you enter an item in a series of lines and the line is indented than the previous line, there is a parenthesis at the end of the expression formed by the line above the expression. Every new line can have its own Boolean operator shown on the buttons (AND, OR, NOT). In the FOCUS prototype, the intrinsic Boolean OR operator links all items on a particular line. Note: Boolean expressions can be applied in two ways, and the method used by computer scientists is confusing to ordinary people. When a database user looks for a record of "Brown" AND "Smith", the user must enter the expression "Brown" OR "Smith" (these two words are double with each other). The Boolean operator is an operator used by ordinary people.
[0104]
Co-occurrence
Co-occurrence is defined as a link between two words. This ink is just the fact that the two words are both in the same paragraph. Studies show that simple word co-occurrence does not yield interesting results due to semantic clarity. In contrast, groups or surfaces of words are semantically rich enough for use with co-occurrence networks. The basic function performed by co-occurrence is to provide a list of expressions from a given request. This representation is the one that occurs most frequently in this word, and all of the co-occurrences between all these representations are given to the graphic display.
All co-occurrence calculations are based on the results from a given request. The request can be a single word, a single expression, or a combination of Boolean algebra of words and expressions.
[0105]
Co-occurrence is an old idea in linguistics and means that interesting information can arise from words or expressions most frequently associated with a given term.
If n is the number of terms, the usual co-occurrence process is n raised to the third power. This means that even large base and RAM memories are impractical because of the enormous CPU time. Curiously, most sufficient co-occurrence systems use what is known as clustering. This technique consists in choosing an arbitrary value (usually about 2 Kbytes) in which the co-occurrence is calculated. This value has obviously no linguistic meaning. FOCUS can record the paragraph numbers of the terms it analyzes, and can perform concurrent calculations with more important linguistic elements.
Further, if FOCUS stores the cross-reference of paragraphs in the relevant words and tons, the whole process can be linear.
[0106]
Calculating the co-occurrence in FOCUS is simply sending a second query for the first given paragraph number. Then, sorting the results (linear as far as FOCUS is concerned) makes it easier to get the most frequent words and expressions related to the query. Under FOCUS, co-occurrence is not related to one term, but to the whole query.
[0107]
Right window
A key feature of the user's interface to the FOCUS interactive search function is what is referred to as the right window, which appears in the upper right corner of the prototype and first version interface sold. In the web interface (Java applet), this upper right window has been partially moved to the bottom window (listed with file references). The main use of this window is to interact with the user about each character typed.
When the user starts typing a word, this window shows the user's typing verbatim to indicate that FOCUS knows that he is going. Conversely, if the window is left empty, it indicates that some of the typed characters are not being reflected within FOCUS knowledge.
[0108]
As long as the user is within the word (ie, as long as the cursor is immediately after the character), the suggested display in the right window will be the word starting with the letter before the cursor, along with the next different letter for each word being displayed. Sample. For example, if the user's cursor is after the character "BE" and FOCUS has the words BEE, BEEF, BENATH, BENIGN, the screen space is simply limited and the user will not see the word starting with BEF, , BEEORE only, since it is enough for the user to know that it will not find BEFORE.
[0109]
When the user ends one word, ie the user enters one space to move on to the next word, we assume that FOCUS, along with the number of documents and the frequency of occurrence in these documents, (Set a mixed case, accent, and concatenated characters for these options). Finally, when the user enters the requested text and asks for an answer for each displayed document reference, the right window displays this list of documents.
[0110]
OCR type concatenated characters
The replacement engine used to handle alphabetically concatenated characters for optical character recognition errors can be used. Assuming an engine that does not make too many errors, that is, an engine that does not make errors so that the output can be read easily (our current criterion is Finereader V4), the data in the data for the replacement engine is " Common OCR errors can be declared, such as confusion between "rm" and "m". If you search for "modern", you will find misspellings like "modem". Such a function, which should be triggered by a menu option or other suitable means, allows to maintain a valid output from the OCR engine without manual correction and to search for suitable data between them.
[0111]
Java applet + Javascript structure
Current CGI (HTML) mode of operation on the web has a longer response time when compared to FOCUS. Therefore, it was necessary to design a new method to maintain the highest possible interactivity. Do this also if you use a Java applet to handle the question dialogue. Each time you press a key, only a few characters are sent to the network, assuming no pending queries. Advantageously, the response of the FOCUS can be kept very small (eg 2K), again minimizing the load on the network. In contrast, using a CGI script requires more than ten times the character sent to redraw the entire page. Similarly, when the query is completed and FOCUS sends the document list with their list, only the data is sent and the formatting is done locally by Javascript. A 10-fold improvement over the CGI method. The key point in all of these is to manage the dialog between the applet and the server so that queries are not sent, provided that one query is currently in the pipeline.
[0112]
Application to multimedia information
Multimedia
Data currently stored on the computer apart from text includes sounds and images. These codes can then be used as prefixes for data related to sound and images. Actually, apart from the text data, it is also possible to store numbers and dates or periods converted into a number of time units as numerical values. All these data types can be characterized by different prefixes. This keeps all data in one repository and guarantees both storage and search speed. If we decide to use the Unicode standard for text encoding, we know that some 2-byte codes cannot be valid Unicode values. Thus, the prefix for text in a prototype implementation of FOCUS is merely a potentially valid Unicode word.
[0113]
Automatic text and image correction
Some products can extract image signatures. After the linear conversion, these signatures can be inserted into the FOCUS. When taking an image database with text associated with the image, a number of corrections can be made between words and expressions, focusers and image signatures by statistical methods. Subsequent extraction of the signature from the type-like image makes it possible to propose words, expressions and focusers for this new image. That is, a method of automatic image description and text generation is obtained. For text-based documents, creating annotations with images (if they exist) is another way to do this. If nothing exists, the same output is obtained by getting the theme around the text. What has been said about images can be extended to sounds, music, drawings, videos, etc.
[0114]
Application to sound
As far as humans are concerned, we can plot sound in three-dimensional vector space: speech, music, noise. For example, indexing speech requires waiting for an efficient speech-to-text converter, but such converters are not currently available. The speech already has textual characteristics in the form of a MIDI file, which carries the name of the note to be played along with the text of the lyrics. That is, it carries discrete data different from continuous data recorded on a magnetic tape. Searching for MIDI frames can be performed in much the same way as searching for text by word. When the search reaches music in the form of a name file, there are wave-to-MIDI converters already available, but these converters are currently limited to monophonic music. There is no indication that a multi-melody converter will be available soon, but when it becomes available, it will revert to storing the MIDI information scheme. In the wave-to-MIDI conversion, it is also possible to identify the timbre of a musical instrument. Although noise can be an unwanted part of the signal, noise is typically handled by denoising devices. However, noise is also a special effect. Thus, noise is input for the analysis software. When considering the soundtrack of an opera, all three dimensions are obtained at the same time, far from being able to identify all these components. However, as soon as the appropriate analytical software becomes available, it will soon memorize the elements that can be provided and provided by the analytical program.
[0115]
Indexing MIDI files
Note that the values in the MIDI file are coded in 7 bits. Since the search proceeds without reference to the actual pitch of the notes, all that needs to be stored is the difference between successive notes. Therefore, the first recorded value is always zero, which means that it can be skipped. Musically, this means, for example, that in C key everything is chromatically transposed. Since the value is coded with only 7 bits, the difference between two notes could always be recorded in one single byte.
[0116]
It is known that such encoding is possible. The problem is what to choose for coding. There is a need for a software program that attempts to identify the melody channel (usually monaural) and cuts this melody into musical phrases. Such a slicing program can be basic at first because most people only remember the beginning of a berth or bridge. To search for a particular MIDI file, play a few notes on a keyboard or sing a few notes on a microphone equipped with a pitch for MIDI conversion. Because the information is transposed, perfect pitch is not required. Singers out of tune are assisted by basic fuzzy logic that uses a replacement engine.
[0117]
Music indexing by MIDI
Instruments and programs are commercially available for using wave-to-MIDI to convert monaural soundtracks to MIDI data.
[0118]
Creating standards in the music industry
This also applies to disc direct recording (D2D), CD, DVD, and the like. At the manufacturing level, mixing music eliminates the need for wave-to-MIDI conversion. Nevertheless, having someone play a melody on a MIDI instrument with music is quite cheap. This can be done by FOCUS and provide a repository for production. Any music phrase will be accessible.
[0119]
Application to images
There is one category of images that facilitates some kind of discrete access. That is, there is a category of an image created by a CAD system such as Corel Draw, AutoCad, DesignCad or a vector drawing program. In these images, all elements are discrete and their structure is defined even if they are not publicly documented. The text in these images is often maintained in a computerized text form, and all information about the image components is available. The location of some meaningful points (eg, the center for the picture) can be used as a location parameter.
Some attempts have been made to analyze the ability to find special patterns in certain graphic fields or to characterize some of the features of an image, such as a still image, which is a type of color composition, texture in an image. These programs provide a binary bit pattern that can be recorded in the repository. The fastest search results are obtained if these bit patterns have some sort of order in the pattern, so that only a portion of the repository is scanned to answer the query.
[0120]
For a video sequence, this process is exactly the same as the sequence being cut into uniform parts. Each uniform portion features the first image, and all subsequent images are determined as displacements from the first image. Similarly, one film is simply represented by a small number of images, returning to the problem of still images. Some representations related to motion can also be extracted from the video sequence. Access to music or video sequences can be provided by the time code of the industry standard SMPTE (Association of Motion Picture Technology Engineers). The value of this code at the start of the sequence can be used as a positioning parameter.
[0121]
Second, all these types of data usually do not occur alone, but they are accompanied by textual information. Textual information that is readily available in movies is scripts and dialogues (subtitles). The music information can be stored by placing the music information on the MIDI track of the melody along with the video sequence (the cost is not a major issue since a keyboard player with ordinary skills can do this at the same time). When the FOCUS is operated on these text data and the SMPTE code is used as an access method, it is possible to directly access a predetermined sequence using the text parameter and the music parameter.
[0122]
Search by image signature
This application assumes that external technologies can extract meaningful signatures, such as colors, compositions, textures, etc., from a given image. At the same time, these techniques tend to use parameters and seek concordance by convolution or other CPU-based techniques. FOCUS uses these techniques in very different ways. In fact, the general idea is to build a "graphic focuser". The same operation to search for parameters that are restrictions on the blue image from a group of images selected because it is quite blue, and to find the mean (or bracket) of the corresponding parameters and any kind of texture, composition, etc. It is easy to build a focuser that characterizes blue images. When analyzing a new image, a set of parameters is compared to the value of each graphic focuser, as was done for text. Record these values along with the image reference and the original parameters (if these parameters are available). Access is then granted through a user graphic, such as a graphic editor, for a set of images. This method is still appropriate and takes place immediately.
[0123]
Using a repository structure to dynamically manage structured data domains
A domain is just a subset that is the response to a query. As the database is involved and changes, the same query will obviously generate different domains. Thus, the domain is simply defined by the query itself, and from now on applies to everything analyzed by FOCUS. The definition of the domain can be done dynamically by the focuser and is stored for use as a reference. A domain is needed to describe the action fields of such things as focusers and synonyms (thesaurus). Their primary use is to serve as a category or taxonomy. Given the terms, FOCUS knows the definition of the domain in which this domain is used and can assign these domains to the user so that the user can limit their questions to it. For example, typing cell allows you to make a choice between spreadsheet and biology. Since a domain can be defined not only by one or more focusers but also by a larger number of query items (eg, date brackets, directories, URLs, etc.), the notation of the domain is wider than that of the focuser.
[0124]
Cross reference
(Like any other non-text element, it is given a special code in FOCUS. This cross-reference is used extensively every time an indirect access must be made. For example, in the document "mydoc" There is going to be a given word, this document name can be changed (by a rename or move operation), so coding it as "mydoc" with this word is extremely ridiculous. "Mydoc" is given an ID (usually one number) that must point to the actual name (mydoc for the time being) .When moving or renaming a document, this ID does not need to be changed; Update only the cross-reference to the document name You can use a cross-reference for each item that is comprehensive for the size, language, etc., as well as field names in the database, a set of data, and if you can change this item, use this cross-reference. Especially enforced. For fixed data, not using a cross-reference only wastes space, but there may be applications that need this space. To remember if there is one, our implementation of co-occurrence also uses a cross-reference.
[0125]
Application to information displayed by a list of networks
Chemistry and other networks
FOCUS has been studied for storing a special type of data, for example, images of chemical molecules. What is actually to be handled is a network with different nodes and different links.
The quick answer (which deals with the 24M molecule, which is patented today, despite the quickness) is a one-way display-only hierarchical method for each node, for all of the networks (ie starting at any node). Describe the possible indications. Where nodes and links are represented by numerical codes, uniqueness can be imparted by simply commanding different ways of navigation through the network in numerical sorting. The loop is just a special link (we suggest giving the lowest value after the value of the end of the string), this link is the number of backward links to the common node and the forward link (in the description) to the loop node. Jump to the node described by the number of links to. Special groups of nodes and links can be easily displayed as special node values. The recorded network is entered at the time of description. The query network selects a non-ambiguous node to start (preferably the furthest node of the ambiguous nodes), describes the network in all possible forms (according to the group of nodes that the network may contain), and describes the FOCUS Executing the corresponding request for. Due to the fuzzy definition of a given group of nodes, not all replies to inquiries to FOCUS can be replies to the user. Therefore, it is necessary to select the correct answer.
Already registered 24M molecules require a 90 Gb repository and access is usually adequate, no longer than one hundredth of a second.
[0126]
Embedding FOCUS in current applications
As already mentioned, FOCUS allows re-visits to all of the computer applications we currently have. This is not just a new feature that can be called from an application as an external routine, but it can actually be embedded in part of all current programs. For example, in a file explorer, FOCUS can be used to replace the current limited access to content. Also, if the user can type a word associated with a file name, FOCUS will immediately access all file names containing that word. No further navigation is provided by an endless directory tree structure. Assuming a large number of people are connected to the network, the agreement on directory names and / or certain limited conventions in the architecture allows people to focus on other directories at once.
[0127]
In word processing, spreadsheet, and database applications, the focusing process on the current paragraph or text field allows the user to get at once all relevant paragraphs for all data that has been accessed. It is sufficient to click on any word, expression or cell to recall all relevant data. In addition to displaying the information found, calls to the FOCUS search routine can also be used to provide the results to the current application.
[0128]
Target system
Instead of using the clipboard copy or drag and drop techniques that are always needed to move from one window to another, the target system can be used with the viewing routing associated with the query interface. The target is identified by a single letter, and the target consists of either a file or an application that sends the selected item by typing the relevant letter. By using the Ctrl or Alt key while holding down the contextual menu and / or character keys, the user can monitor the target, thereby allowing the various names associated with the file name, target application, and data transmission. Options can be changed. Basically, if the target is a file name, all information sent to that file is simply appended. This not only saves a lot of time compared to current copy / drag and drop technology, but also allows users to send the results of their queries to a given batch (journalists can Consider creating citations for different papers at once). A batch application host can also be used as the output of FOCUS. That is, it sends all found paragraphs to a particular processing unit. Such a system is what FOCUS already uses for automatic focusing. This capability can be associated with the target technology, that is, sending all hits to the target file or application of the current file, or all hits or queries to the target.
[0129]
RDBM link
Basic access to data on a typical computer is through a "database". Since the most complex database is "Relational", the abbreviation RDBMS for Relational DataBase Management Systems has been created. This method, which was considered to be an easier way to access the data, has proven to be extremely flawed in handling data and is heavy and slow. For FOCUS, the structure is simply another type of content, such as a tree structure for directories. The following shows how DBMS data is sent to FOCUS. Optional, but recommended, allows one administrator to select which fields to record in the FOCUS. Next, an initial analysis, which can be performed simply by dumping the database in ASCII, Unicode or SGML format, is performed, and then this format is analyzed by FOCUS (eg, as with regular text). For small databases (hundreds of megabytes), if real-time updates are not a problem, the method can be repeated periodically. However, if the base is several terabytes in size or a real-time response is desired, an update method is needed. In each case, the alias file redirects the reference stored by FOCUS back to the original record / document, as would be done for portal or access to the network document. Assume that the intermediate format is XML (HTML, SGML and all structured text formats are equivalent for this purpose).
[0130]
Data selection: The administrator selects the field to be analyzed from the base structure and indicates whether to change or keep the field name in the XML tag that FOCUS associates with the content.
Initial Analysis: As described above, this analysis is a simple dump of the base selected field.
Update: This solution is to use a virtual table with the same structure as the original structure, and dump this virtual table periodically, as for an initial analysis with the same parameters. FOCUS handles the history of the record by removing previous occurrences, as it does for all other documents. The second solution is more complex but more efficient. This method consists in reading the internal logging format of the DBMS to achieve the same result. The first solution implies slight changes to all applications using DBMS, but does not imply knowledge of internal coding. On the other hand, the second solution does not mean interference with the application, but does mean knowledge of the internal structure.
[0131]
The invention disclosed by the specific embodiment and its application has been described above. However, those skilled in the art can make various modifications and changes without departing from the scope of the invention described in the claims.
[Brief description of the drawings]
FIG.
Figure 6 illustrates functional access of a computer system accessed by content.
FIG. 2
(A) shows the naming of a monotonic numberless sequence, and (B) shows more details for the naming of a monotonic numbering sequence.
FIG. 3
This shows a part of the linear sorting technology.
FIG. 4
3 shows an L-shaped repository file.

Claims (36)

(a)コンテントを定義する工程と、
(b)コンテントを分類する工程と、
(c)コンテントをインデクシングする工程とを備えた、コンピュータを作動させるためのコンテントでアクセス可能なシステムのための方法
(A) defining content;
(B) classifying the content;
(C) indexing the content, comprising: a content accessible system for operating a computer comprising:
スキーム内に全ての実数を指定する工程を更に備え、前記実数を単調に容易に配置できる、請求項1記載の方法。The method of claim 1, further comprising the step of specifying all real numbers in a scheme, wherein the real numbers can be easily and monotonically located. リニアで、かつ高速のソーティング方法に従い、コンテントによってソートする工程を更に含む、請求項1記載の方法。The method of claim 1, further comprising the step of sorting by content according to a linear and fast sorting method. スキームに従って全ての実数を指定する工程を備え、前記実数を単調に容易に配置できる、コンピュータを作動させるためのコンテントでアクセス可能なシステムのための方法。A method for a content accessible system for operating a computer, comprising the step of specifying all real numbers according to a scheme, wherein said real numbers can be easily and monotonically arranged. 関連する単調な実数に従ってコンテントによりソートする工程を更に含み該ソートする工程がリニアで、かつ高速である、請求項4記載の方法。5. The method of claim 4, further comprising the step of sorting by content according to an associated monotonic real number, said sorting step being linear and fast. リニアで、かつ高速なソーティング方法に従い、コンテントによりソートする工程を含む、コンピュータを作動させるためのコンテントでアクセス可能なシステムのための方法。A method for a content accessible system for operating a computer, comprising the step of sorting by content according to a linear and fast sorting method. (a)スキームにより全実数を指定する工程を含み、前記実数を単調に容易に配置でき、
(b)関連する単調な実数に従ってコンテントによりソートする工程を更に備え、該ソーティング工程がリニアで、かつ高速である、コンピュータを作動させるコンテントでアクセス可能なシステムのための方法。
(A) including a step of designating all real numbers by a scheme, wherein the real numbers can be easily and monotonously arranged;
(B) A method for a computer-operated content-accessible system that further comprises sorting by content according to an associated monotonic real number, wherein the sorting process is linear and fast.
(a)コンテントを定義し、分類し、インデクシングする工程と、
(b)リニアで、かつ高速なソーティング方法に従ってコンテントによりソートする工程を更に含む、コンピュータを作動させるための、コンテントでアクセス可能なシステムのための方法。
(A) defining, classifying and indexing the content;
(B) A method for a content accessible system for operating a computer, further comprising sorting by content according to a linear and fast sorting method.
(a)コンテントを定義し、分類し、インデクシングする工程と、
(b)全ての実数を指定するための工程を備え、前記実数を単調に容易に配置できる、コンピュータを作動させるためのコンテントでアクセス可能なシステムのための方法。
(A) defining, classifying and indexing the content;
(B) A method for a content accessible system for operating a computer, comprising the step of specifying all real numbers, wherein said real numbers can be easily and monotonically arranged.
(a)コンテントを定義し、分類し、インデクシングする工程と、
(b)全ての実数を指定するための工程を備え、前記実数を単調に容易に配置できる、コンピュータを作動させるためのコンテントでアクセス可能なシステムのための方法。
(c)関連する単調な実数に従ってコンテントによってソートする工程を備え、前記ソートする工程がリニアで、かつ高速である、コンピュータを作動させるためのコンテントでアクセス可能なシステムのための方法。
(A) defining, classifying and indexing the content;
(B) A method for a content accessible system for operating a computer, comprising the step of specifying all real numbers, wherein said real numbers can be easily and monotonically arranged.
(C) A method for a content accessible system for operating a computer, comprising the step of sorting by content according to an associated monotonic real number, said sorting step being linear and fast.
(a)フォーカサー(Focuser)を利用する工程を更に備え、該工程が、更に
(b)オプションの水平ストリングおよび少なくとも1バイトの垂直ストリングを更に備えるL字ストリングを利用する工程と、
(c)関連する垂直ストリングの少なくとも1バイトにより次のL字ストリングをポイントする工程を更に備える、請求項10記載の方法。
(A) utilizing a Focuser, the step further comprising: (b) utilizing an L-shaped string further comprising an optional horizontal string and at least one byte of a vertical string;
The method of claim 10, further comprising: (c) pointing to a next L-shaped string by at least one byte of an associated vertical string.
ソフトウェアのゴミ収集を効率的に実行するために、デフラグメンテーションを利用する工程を更に含む、請求項11記載の方法。The method of claim 11, further comprising utilizing defragmentation to efficiently perform software garbage collection. (a)サブクラスターを利用する工程と、
(b)クラスターの2分の1の累乗としてサブクラスターを定義する工程と、 (c)連続するクラスター、サブクラスターおよびバイトアドレスにより一般にL字ストリングをアドレッシングする工程を更に含む、請求項11記載の方法。
(A) using a sub-cluster;
12. The method of claim 11, further comprising: (b) defining a subcluster as a power of a half of the cluster; and (c) addressing the L-shaped string generally by consecutive clusters, subclusters, and byte addresses. Method.
(a)長さおよびアドレスを含む全ての数をFocus(完全最適化コンテントを使用するコンピュータシステム)のレポジットリー内に単調整数としてコード化する工程と、
(b)前記単調実数に従って前記整数をコード化する工程を更に含む、請求項11記載の方法。
(A) encoding all numbers, including length and address, as a single adjustment number in the repository of Focus (a computer system using fully optimized content);
The method of claim 11, further comprising: (b) encoding the integer according to the monotonic real number.
(a)フォーカサーのL字ストリングに対し、バイトのストリングを構築する工程と、
(b)コンテント、レファレンスのID、数値により前記ストリングを構成する工程とを更に含む、請求項14記載の方法。
(A) constructing a string of bytes for the L-shaped string of the focuser;
15. The method of claim 14, further comprising: (b) configuring the string with content, reference ID, and numerical value.
(a)2つの数値フィールド、データの長さ+データフィールドの長さを利用する工程と、
(b)単調整数により前記数値フィールドをコード化する工程と、
(c)単調IDおよびID内の単調位置を利用し、コンテントでソーティングする工程とを更に備えた、請求項15記載の方法。
(A) utilizing two numeric fields, data length + data field length;
(B) encoding the numeric field with a single adjustment number;
(C) utilizing a monotonic ID and a monotonic location within the ID to sort by content.
(a)クラスターのチェーンとして空のファイルを選択する工程と、
(b)各クラスター内で2つのポインタを利用する工程と、
(c)1つのポインタを前のクラスターにポイントする工程と、
(d)第2のポインタを次のクラスターにポイントする工程と、
(e)次のクラスターまたは前のクラスターが存在しない場合に、任意の有効でないアドレスの値にポインタを設定する工程とを備えた、請求項16記載の方法。
(A) selecting an empty file as a chain of clusters;
(B) using two pointers in each cluster;
(C) pointing one pointer to the previous cluster;
(D) pointing the second pointer to the next cluster;
(E) setting a pointer to any invalid address value if the next or previous cluster does not exist.
(a)クラスターの空のチェーンをフリーチェーンとして初期化する工程と、 (b)ファイルの作成時にファイルのサイズが既知である場合、全ファイルにわたって前記フリーチェーンを初期化する工程と、
(c)必要とされる1つ以上のクラスターによりフリーチェーンをダイナミックに拡張する工程と、
(d)フリーチェーンから別のチェーンへ割り当てる工程と、
(e)クラスターをフリーチェーンに戻すことによりクラスターの割り当てを解除する工程と、
(f)第1クラスターにおける各チェーンの開始ポイントおよび終了ポイントを記憶する工程を備え、前記第1クラスターがルートであり、
(g)最終クラスターをフリーチェーンのクラスター内にコピーすることによりデフラグメンテーションを行い、前記フリーチェーンが前記ファイルの終了時にクラスターの連続する組である時にファイルを切り捨てる工程を更に備えた、請求項17記載の方法。
(A) initializing an empty chain of the cluster as a free chain; and (b) initializing the free chain across all files if the size of the file is known when the file is created.
(C) dynamically expanding the free chain with one or more required clusters;
(D) allocating from a free chain to another chain;
(E) deallocating the cluster by returning the cluster to the free chain;
(F) storing a start point and an end point of each chain in a first cluster, wherein the first cluster is a root;
18. The method of claim 17, further comprising the step of: (g) performing defragmentation by copying the final cluster into a cluster of a free chain, and truncating files when the free chain is a contiguous set of clusters at the end of the file. The described method.
(a)オペレーティングシステムを呼び出ししない、オペレーティングシステムと独立したマルチプロセッシング技術を利用する工程と、
(b)プロセッサ間でメールボックスを利用する工程と、
(c)パラメータを搬送する前記メールボックスのためのファイルネームを専用する工程とを備えた、請求項10記載の方法。
(A) using an operating system-independent multiprocessing technique that does not call the operating system;
(B) using a mailbox between processors;
(C) dedicating a file name for the mailbox carrying parameters.
(a)複数のプロセッサの内外で同期化を行う工程と、
(b)ファイルエクスプローラータイプのプログラムにより複数のプロセッサへデータを送る工程と、
(c)ファイルエクスプローラータイプのプログラムによりダイレクトリー内のファイルネームを探すことによりプロセッサの制御パネルを得る工程とを更に備えた、請求項19記載の方法。
(A) performing synchronization inside and outside the plurality of processors;
(B) sending data to a plurality of processors by a file explorer type program;
20. The method of claim 19, further comprising the step of: (c) obtaining a control panel of the processor by searching for a file name in the directory with a file explorer type program.
(a)パイプラインチェーンにわたってプロセスを同期化する工程と、
(b)最初のプロセスの出力を「1 out.tmp」へ出力する工程と、
(c)ファイルが完了した時にこれを「1 out.go」にリネームする工程と、
(d)特定のファイルネームを探す工程と、
(e)ファイルネームに遭遇した時に第2プロセスをトリガーする工程と、
(f)「1 out001.go」のようにナンバリングすべきファイルを同期化する工程と、
(g)多数のファイルの処理と共に2つのプロセスを並列にする工程を更に備えた、請求項20記載の方法。
(A) synchronizing processes across the pipeline chain;
(B) outputting the output of the first process to “1 out.tmp”;
(C) renaming the file to “1 out.go” when the file is completed;
(D) searching for a specific file name;
(E) triggering a second process when a file name is encountered;
(F) synchronizing files to be numbered, such as “1 out001.go”;
21. The method of claim 20, further comprising: (g) parallelizing the two processes with the processing of multiple files.
(a)プロセスが常駐していない時に、コマンドプログラムにコーディネーションを専用させる工程と、
(b)プロセスの出力ファイルの存在に従って、異なるプロセスを開始させる工程と、
(c)プロセスが常駐である時に集中スケジューラとしてコマンドプログラムを利用する工程を更に備えた、請求項21記載の方法。
(A) dedicating a command program to coordination when the process is not resident;
(B) starting a different process according to the existence of the output file of the process;
The method of claim 21, further comprising the step of: (c) utilizing the command program as a centralized scheduler when the process is resident.
(a)データベースをインデックシングする工程と、
(b)インデックシングのために暗黙に与えられた構造を利用する工程と、
(c)1つのワードのためのデータ構造情報を記憶する工程と、
(d)前記情報に対するテーブルT、レコードR、フィールドF、パラグラフP内にあるワードを利用する工程と、
(e)ポストフィックスコード化方法を利用し、ワード自体と共に前記情報を記憶する工程とを更に備えた、請求項22記載の方法。
(A) indexing the database;
(B) using an implicitly provided structure for indexing;
(C) storing data structure information for one word;
(D) using a word in table T, record R, field F, paragraph P for the information;
(E) utilizing a post-fix coding method to store the information along with the words themselves.
(a)フォーカサーのためにネームを特定する工程と、
(b)フォーカサーを示すワードおよび表現のリストを関連付ける工程と、
(c)フォーカサーが使用する言語を特定する工程と、
(d)フォーカサーのいくつかのパラメータを特定する工程とを更に備え、該パラメータを特定する工程が、
(1)パラグラフ内のワードまたは表現の数を表示することを含み、このうちのパラグラフ内に発見されるより少ない方の数は前記フォーカサーに対するパラグラフが対応していないことを示し、
(2)更にパラグラフ内のワードまたは表現の数を検討する工程を備え、その数が小さい場合、パラグラフが対応する可能性があり、その数よりも大きい場合、パラグラフがフォーカサーに対し実際に対応しており、
(3)更に対応度に関してスレッショルドよりも上か下かを判断し、このスレッショルドよりも低い場合、ワードはフォーカサーに属していないと判断する、請求項10記載の方法。
(A) identifying a name for the focuser;
(B) associating a list of words and expressions indicating a focuser;
(C) identifying the language used by the focuser;
(D) identifying some parameters of the focuser, wherein identifying the parameters comprises:
(1) including indicating the number of words or expressions in the paragraph, the lesser number found in the paragraph indicating that the paragraph for the focuser does not correspond;
(2) further comprising the step of examining the number of words or expressions in the paragraph, if the number is small, the paragraph may correspond; if it is larger, the paragraph actually corresponds to the focuser And
(3) The method according to claim 10, further comprising determining whether the degree of correspondence is above or below a threshold, and if it is lower than the threshold, determining that the word does not belong to the focuser.
(a)所定言語におけるワードの既知の一般的頻度を利用してテキストからフォーカサーを構築する工程と、
(b)全体として、言語におけるワードの一般的頻度でテキスト内のワードの頻度を割った比として、対応度の数を定める工程と、
(c)対応度の数を計算する工程と、
(d)パラグラフ内に発見されるワードのユニークさを表示する工程と、
(e)対応度の値を減少することによりソーステキストから全てのワードの順序を定める工程と、
(f)最大の対応度の値を有するワードをパラグラフに対して最も対応するワードとして表示する工程とを更に備えた、請求項24記載の方法。
(A) constructing a focuser from text utilizing a known general frequency of words in a given language;
(B) determining, as a whole, the number of correspondences as a ratio of the frequency of words in the text divided by the general frequency of words in the language;
(C) calculating the number of degrees of correspondence;
(D) displaying the uniqueness of the word found in the paragraph;
(E) ordering all words from the source text by decreasing the degree of correspondence value;
26. The method of claim 24, further comprising the step of: (f) displaying the word having the highest degree of correspondence value as the most corresponding word for the paragraph.
テキスト内のワードの対応する数を利用することによりフォーカサーを自動的に構築する工程を更に含む、請求項24記載の方法。25. The method of claim 24, further comprising automatically constructing a focuser by utilizing a corresponding number of words in the text. (a)手動でフォーカサーを高める工程と、
(b)特定の情報を創出する工程を更に備え、該情報が(1)極めて対応している特定の表現と、(2)(システムによって自動的に提案できる)同義語と、(3)フォーカサーから排除すべきワードまたは表現(強制的にゼロにされる対応度の値)と、(4)フォーカサーを区別し、すなわちフォーカサーから自動的に排除されたワードまたは表現(負の対応度の値)と、(5)ワードを含む全ての表現を除いえ受け入れられるワードとを含む、請求項24記載の方法。
(A) manually raising the focuser;
(B) further comprising the step of creating specific information, the information being (1) a specific expression that corresponds very closely; (2) synonyms (automatically suggested by the system); and (3) a focuser. (4) to distinguish the focuser, ie words or expressions automatically excluded from the focuser (negative correspondence values) 25. The method of claim 24, comprising: (5) a word that is acceptable except for all expressions that include the word.
(a)同じパラグラフ内でフォーカサーに関係するワードまたは表現のパラグラフ数を認識する工程と、
(b)よって前記フォーカサーを検出する工程を更に備えた、請求項27記載の方法。
(A) recognizing the number of paragraphs of the word or expression relating to the focuser in the same paragraph;
28. The method of claim 27, further comprising the step of: (b) detecting the focuser.
フォーカサーに関係するワードまたは表現の前記パラグラフ数を3として設定する工程を更に含む、請求項28記載の方法。29. The method of claim 28, further comprising setting the number of paragraphs of a word or expression related to a focuser as three. (a)正および負のフォーカサーの一組であるプロフィルによりルーティングを定める工程と、
(b)正および負のフォーカサーの一組であるプロフィルによりフィルタリングを定める工程と、
(c)負のフォーカサーが認識された場合にテキストを拒絶し、少なくとも1つの正のフォーカサーが検出された場合にテキストを受け入れる工程とを更に備えた、請求項28記載の方法。
(A) routing by a profile that is a set of positive and negative focusers;
(B) defining filtering by a profile that is a set of positive and negative focusers;
29. (c) rejecting the text if a negative focuser is recognized and accepting the text if at least one positive focuser is detected.
(a)テキストレポジットリー内の任意のワードに関連する概念を自動的に構築する工程と、
(b)アルゴリズムに従う工程とを更に備えた、請求項25記載の方法。
(A) automatically constructing concepts associated with any word in the text repository;
26. The method of claim 25, further comprising: (b) following an algorithm.
(a)ワードを含むテキスト内の全てのパラグラフを収集する工程と、
(b)パラグラフの連接から概念を抽出する工程とを更に備えた、請求項31記載の方法。
(A) collecting all paragraphs in the text including the word;
(B) extracting the concepts from the concatenation of paragraphs.
少なくとも2つの意味のあるワードを含む表現に前記抽出を制限する工程を更に含む、請求項32記載の方法。33. The method of claim 32, further comprising the step of restricting said extraction to expressions containing at least two meaningful words. (a)ドキュメントを開ける前にドキュメントを識別する工程を更に備え、該識別する工程が、
(b)1つ以上のフォーカサーを利用する工程と、
(c)1つ以上のフォーカサーを前記1つ以上のフォーカサーのレポジットリー内のドキュメントに適用する工程と、
(d)前記ドキュメントの一覧を発生する工程を備え、前記一覧が前記1つ以上のフォーカサーによって作成された前記ドキュメントのアブストラクトである、請求項33記載の方法。
(A) further comprising the step of identifying the document prior to opening the document, wherein the identifying comprises:
(B) using one or more focusers;
(C) applying one or more focusers to documents in the one or more focuser repositories;
34. The method of claim 33, comprising: (d) generating the list of documents, wherein the list is an abstract of the document created by the one or more focusers.
(a)1つ以上のFOCUSレポジットリーを分析し、これをリアルタイムで創出する工程と、
(b)ダイナミックなフォーカサーをコンパイルし、創出する工程を更に備え、前記ダイナミックなフォーカサーがリアルタイムで発生される、請求項34記載の方法。
(A) analyzing one or more FOCUS repositories and creating them in real time;
35. The method of claim 34, further comprising: (b) compiling and creating a dynamic focuser, wherein the dynamic focuser is generated in real time.
レポジットリーを分割する工程を更に備え、不要な空のディスクスペースを残すことなく、その後、オーバーフローした部分を分割できる、請求項35記載の方法。36. The method of claim 35, further comprising the step of splitting the repository, wherein the overflowed portion can then be split without leaving unnecessary empty disk space.
JP2001535842A 1999-10-26 2000-10-26 Reverse computer system based on content access instead of address access and optimal implementation thereof Withdrawn JP2004500628A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16157999P 1999-10-26 1999-10-26
PCT/IB2000/001697 WO2001033419A2 (en) 1999-10-26 2000-10-26 Access by content based computer system

Publications (1)

Publication Number Publication Date
JP2004500628A true JP2004500628A (en) 2004-01-08

Family

ID=22581785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001535842A Withdrawn JP2004500628A (en) 1999-10-26 2000-10-26 Reverse computer system based on content access instead of address access and optimal implementation thereof

Country Status (4)

Country Link
EP (1) EP1252585A2 (en)
JP (1) JP2004500628A (en)
AU (1) AU1171001A (en)
WO (1) WO2001033419A2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1169195A (en) * 1995-01-23 1997-12-31 英国电讯有限公司 Method and/or system for accessing information
CA2184518A1 (en) * 1996-08-30 1998-03-01 Jim Reed Real time structured summary search engine
GB9705469D0 (en) * 1997-03-17 1997-05-07 British Telecomm Re-usable database system
DE69805437T2 (en) * 1997-10-21 2002-12-12 British Telecomm Public Ltd Co INFORMATION MANAGEMENT SYSTEM
DE19811352C2 (en) * 1998-03-16 2000-01-13 Siemens Ag System and method for searching on networked computers with information stocks using software agents

Also Published As

Publication number Publication date
EP1252585A2 (en) 2002-10-30
AU1171001A (en) 2001-05-14
WO2001033419A9 (en) 2002-08-29
WO2001033419A2 (en) 2001-05-10
WO2001033419A3 (en) 2003-05-15

Similar Documents

Publication Publication Date Title
Kowalski et al. Information storage and retrieval systems: theory and implementation
Kowalski Information retrieval systems: theory and implementation
US7490034B2 (en) Lexicon with sectionalized data and method of using the same
US5099426A (en) Method for use of morphological information to cross reference keywords used for information retrieval
JP4467184B2 (en) Semantic analysis and selection of documents with knowledge creation potential
US7987189B2 (en) Content data indexing and result ranking
US20050203900A1 (en) Associative retrieval system and associative retrieval method
JPH0424869A (en) Document processing system
US20080288442A1 (en) Ontology Based Text Indexing
JPH0484271A (en) Intra-information retrieval device
US8229970B2 (en) Efficient storage and retrieval of posting lists
JP2957875B2 (en) Document information search device and document search result display method
JP2005242416A (en) Natural language text search method and device
JP2007133682A (en) Full text retrieval system and full text retrieval method therefor
TWI290684B (en) Incremental thesaurus construction method
JP2004500628A (en) Reverse computer system based on content access instead of address access and optimal implementation thereof
JPH06231178A (en) Document retrieving device
Ibekwe‐SanJuan Constructing and maintaining knowledge organization tools: a symbolic approach
TW482962B (en) Method of automatic extracting for key features in digital document
Maarek Automatically constructing simple help systems from natural language documentation
JP2001101184A (en) Method and device for generating structurized document and storage medium with structurized document generation program stored therein
KR20020003701A (en) Method of automatic key feature extraction for a digital document
JP4248828B2 (en) Document processing apparatus, document processing method, and recording medium
JP2006501545A (en) Method and apparatus for automatically determining salient features for object classification
Kadam Develop a Marathi Lemmatizer for Common Nouns and Simple Tenses of Verbs

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071029

A072 Dismissal of procedure

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20080325

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080401