JPH08508123A - 言語認識照合システム - Google Patents

言語認識照合システム

Info

Publication number
JPH08508123A
JPH08508123A JP6521006A JP52100694A JPH08508123A JP H08508123 A JPH08508123 A JP H08508123A JP 6521006 A JP6521006 A JP 6521006A JP 52100694 A JP52100694 A JP 52100694A JP H08508123 A JPH08508123 A JP H08508123A
Authority
JP
Japan
Prior art keywords
comparison
text
ordering
language
string
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.)
Pending
Application number
JP6521006A
Other languages
English (en)
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 JPH08508123A publication Critical patent/JPH08508123A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/02Indexing scheme relating to groups G06F7/02 - G06F7/026
    • G06F2207/025String search, i.e. pattern matching, e.g. find identical word or best match in a string
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/917Text
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)
  • Character Discrimination (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 言語識別テキスト比較を提供する方法および装置である。比較を行う新規な方法および装置であって、任意のUnicodeストリングのテキスト比較を行う方法および装置が提供される。どの言語の場合も、言語の特徴に基づいて順序づけが定義される。そして、対話式比較機能が実行され、ストリング対の関係が判断される。そのストリングが検査され、事前に定義した文字の優先順位に基づいて、1文字ずつ比較が行われる。

Description

【発明の詳細な説明】 言語認識照合システム 著作権所有表記 本特許出願の一部には、著作権保護の対象となる内容が含まれている。著作権 者は、米国特許商標局の特許ファイルまたは記録に記載されている特許文書また は特許開示のままの何人のファクシミリ複製も妨げるものではないが、そうでな い場合は、著作権を留保する。 関連特許出願の相互参照 特許出願は、特許出願(発明者:Debra L.Orton、David B.Goldsmith、Christo pher P.Moeller、およびAndrew G.Heninger、発明の名称:Object Oriented Fram e work System、1992年12月23日出願、被譲渡人:Taligent)の関連出願であり 、これを引用して本明細書の一部とする。 技術分野 本発明は、コンピュータ・システムにおける改良に関し、特に、言語識別テキ スト比較に関する。 背景技術 ワークステーション・ソフトウェアの開発者の間では、柔軟性のあるソフトウ ェア環境を提供し、ユーザインタフェースの一貫性を維持することがますます重 要である。この種の操作環境を提供しようとする初期の試みは、米国特許第4,68 6,522号(Hernandez他)に開示されている。この特許では、グラフィックとテキ ストの結合処理システムが開示され、ユー ザがカーソル位置で動的メニューをインボークし、そのメニューから種々の機能 をインボークすることができる。この種のユーザとの自然な対話により、ユーザ インタフェースが改善され、アプリケーションがより直観的なものになった。テ キストを比較することは初期のシステムから発展してきた。今日のコンピュータ ・システムは、情報の膨大なデータベースをフルテキスト比較するのを容易にし たが、初期のシステムにおけるテキスト中の特定のフィールドは、このようにコ ンピュータシステムに匹敵するものであった。比較システムに現在でもなお不足 しているものと言えば、情報を言語認識比較する能力がある。テキストを正確で 適正に比較し、ソートするには、例えば、ある特定の言語の種々のスペリングは 、全て、ソートオペレーションで照合すべきである。本出願人が承知しているど の公知文献にも、本発明が提案している解決方法が記載されていない。 発明の開示 従って、本発明の主な目的は、言語認識可能キスト比較を提供することにある 。 比較を行うための新規なシステムと方法であって、任意のUnicodeストリング のテキスト比較を行うシステムと方法が提供される。どの言語の場合も、順序付 けはその言語の特徴に基づいて定義される。そして、比較機能が実行されて、ス トリング対の関係が判断される。ストリングが検査され、事前に定義された文字 の優先順位(precedence)に基づいて、1文字以上づつ比較され、一致したか否 かが判断される。 図面の簡単な説明 第1図は本発明によるパーソナル・コンピュータシステムを示すブロック図で ある。 第2図は本発明によるUnicodeOrderの論理構成を示す図である。 第3図は本発明による英語の場合のUnicodeOrdersを示す図である。 第4図は本発明によるUnicode構造例を示す図である。 第5図は本発明によるストリング比較を行うためのデータ構造を示す図である 。 第6図は本発明による制御とグループ化のフローを示す図である。 第7図は本発明による最後のUnicodeOrderに基づくUnicodeを示す図である。 第8図は本発明による詳細なロジックを示すフローチャートである。 第9図は本発明によるディスプレイの例を示す図である。 発明を実施するための最良の形態 本発明は、パーソナルコンピュータ、例えば、IBM(登録商標)社のPS/2( 登録商標)またはApple(登録商標)社のMacintosh(登録商標)コンピュータ 上のオペレーティング・システムにより実施されるのが好ましい。第1図は代表 的なハードウェア環境を示す。このハードウェア環境は、本発明によるワークス テーションの典型的なハードウェア構成を示す。このワークステシーョンは慣用 のマイクロプロセッサのようなCPU(central processing unit)10と、シス テム・バス12を介して相互接続された多数の他のユニットとを有する。第1図に 示すワークステーションは、RAM(random access memory)14と、ROM(re ad only memory)16と、ディスク・ユニット20のような周辺デバイスをバスに接 続するため のI/Oアダプタ18と、ユーザ・インタフェース・アダプタ22と、ワークステーシ ョンをデータ処理ネットワークに接続するための通信アダプタ34と、バスをディ スプレイデバイス38に接続するためのディスプレイアダプタ36とを含む。ユーザ ・インタフェース・アダプタ22はキーボード24、マウス26、スピーカ28、マイク ロホン32、および/または、タッチ・スクリーン・デバイス(図示せず)のよう な他のユーザ・インタフェース・デバイスをバスに接続するためのものである。 ワークステーションには、オペレーティング・システム、例えば、Apple社のSys tem7(登録商標)オペレーティング・システムが駐在している。 どの文字コード化方式の場合も、自然言語を適正にアルファベット順に順序づ けるための情報は充分でない。Macintoshでは、例えば、単純なバイト単位の比 較であるために、得られる結果が次のように不正確になる。 テキスト照合クラスには、広範囲の自然言語を正確に照合するための準備と、こ れらの言語をサーチするための正確な自然言語の準備が含まれる。 自然言語照合機能 自然言語のテキストを正確かつ適正に比較しソートするには、次のような機能 が要求される。これらの機能は、比較オブジェクトを構築しているプログラマに とっては最も重要である。異種言語に対して事前に定義された比較オブジェクト の集合も利用可能である。 A.順序づけ優先順位 ストリング中の最初の1次相違(primary difference)によって、結果として 得られる順序づけが決まり、他の文字が何であるかは問わない。 例: cat<dog このストリング中に1次相違がない場合は、ストリング中の最初の2次相違(se condary difference)によって、結果として得られる順序づけが決まる。 言語の中には、1次、2次および3次順序づけが必要なものもある。例えば、 チェコ語では、大小文字の相違は3次相違(tertiary difference) 基本文字は1次相違(AとB)である。これらの言語の場合、ストリング中に1 次または2次相違がない場合、ストリング中の最初の3次相違によって、結果と して得られる順序づけが決まる。 B.グループ化文字(grouped characters) ある種の言語を照合する際、文字のシーケンスはアルファベットの1文字であ るかのように扱われる。 例: cx<chx<dx C.拡張文字(expanding characters) 言語の中には、単一文字がアルファベットの文字のシーケンスであるかのよう に扱われるものもある。 D.無視される文字 文字の中には照合時に無視されるものがある。すなわち、これらの文字は、ス トリングの残り部分に他に相違がないのでなければ、意味がないものである。 例: ax<a-x<a-xx 例: blackbird<black-bird<blackbirds このようなふるまいを有する特定の文字は、特定の言語に依存する。"a" でない。"ch"はスペイン語ではグループ化文字であるが、英語ではそうでない。 等々。順序づけも1つの言語内で異なる場合がある。例えば、" には、ユーザは修正されたドイツ語順序づけを要望することができる。 クラス記述 次のようなクラスがテキスト比較とサーチのために用意されている。 ・ TTextOrder ・ TTableBasedTextOrder TTextOrder TTextOrderは2つのテキスト・オブジェクトを比較するためのプロトコルを定 義している抽象基底クラスである。そのサブクラスは、テキストをソートまたは サーチするのに役立つプリミティブ機構を提供する。TTextOrderは、ユーザのロ ケール(locale)における必須フィールドである。 比較結果: 2つのテキスト・オブジェクトを比較することにより、次のような 結果、すなわち、 kSourcePrimaryLess,kSourceSecondaryLess, kSourceTertiaryLess,kSourceEqual,kSourceTertiaryGreater, kSourceSecondaryGreater,または kSourcePrimaryGreater を返すことができる。ストリングがビットごとに等しいか、あるいは、所定の文 字に対して等価のUnicodeシーケンスが存在する場合にのみ、2 きるかのいずれかである。 3次比較結果("kSourceTertiaryLess"または "kSourceTertiaryGreater")は、ストリング中に1次または2次相違はないが、 ストリング中に3次相違(すなわち、'a'と'A'のような大小文字の相違)がある ときに返される。2次比較結果("kSourceSecondaryLess" うに、アクセントの相違)があるときに返される。 1次比較結果("kSourcePrimaryLess"および"kSourcePrimaryGreater")は、 ストリング中に1次相違(つまり、aとbのように文字の相違)があるとき返さ れる。これには、これらストリングの一方の最後までに1次相違はないが、他方 のストリングが無視不可能な別の文字を含んでいるような場合も含まれる。 文字順序づけ: 次の定数は、文字の順序づけ強度を示すために使用される。す なわち、kPrimaryDifference,kSecondaryDifference,kTertiaryDifference,およ びkNoDifferenceである。1次相違とは、一方の文字が他方の文字よりも強度が 強いことを意味する(すなわち、'b'と'a') 。2次相違とは、一方の文字が他方の文字よりも弱さが大きい(weakly 次相違とは、一方の文字が他方の文字よりも弱さが非常に大きい(veryweakly g reater)ことを意味する(大小文字の相違のように、'A'と'a')。2つの文字は 、Unicodeコード化が等価であるとき「相違がないもの」とみなされる。コール 側は、SetOnlyUsePrimaryDifference()をコールすることにより、2次、3次お よび無視可能相違を無視することを選択することができる。例えば、英語で、大 文字小文字を区別する突合わせ(case-sensitive matching)を行うとき、この フラグがFALSEにセットされることになるであろう。しかも、コール側は次のも のをコールすることにより、3次相違を無視することができる。 辞書ベースの照合 TTableBasedTextOrderオブジェクトには、辞書ベースの照合の機能が含まれな いので、照合順序がテキスト中の文字から推論できないとき、この機能が必要に なる。例えば、St.という略語はあいまいなので、Saintとしても、St.として も、Streetとしてもソートされる可能性がある。このふるまいはサブクラス化に よって得ることができるので、Pink 1.0では、辞書ベースの照合は計画されてい ない。 本発明の好ましい実施態様による例 テキスト比較の内部構造 このセクションでは、言語認識可能テキスト比較を行うときに使用されるプロ セスの内部構造(internals)について説明する。Taligent社の比較プロセスに よると、どのUnicode(登録商標)ストリングも比較することができる。Unicode はUnicode,Incの商標である。Unicodeの詳しい説明は、Unicode社の"The Unicod e Standard: Worldwide Character Encoding,Versio n 2.0,Volumes 1,2"(Add ison-Wesley Publishing Company,Inc.ISBN 0-201-56788-1,ISBN 0-201-608 45- 6)を参照されたい。この標準は、より限定された文字セットにも適応可能であ る。次に示す情報は比較の論理的プロセスを述べたものである。 Macintosh(登録商標)社の照合システムでは、1次順序づけと2次順序づけ が本質的に同様の方法で行われる。しかし、この照合システムには、これ以上の 特徴もなければ、この情報をアクセスするときのモジュ <<Z>>vient-it avant<<a>>? algorithme de tri respectant langues くの機能(例えば、フランス語アクセント)を備えている。しかし、ストリング 全体を変換する必要があるが、サーチでも使用できるテーブル・ベース機構を備 えておらず、2つのストリングのどこで弱一致検査(weak-identity check)が 失敗したかを判別するための情報も備えていない。簡単な構築方法も備えていな いし、マージ方法も備えていない。 Orderings TUnicodeOrderingは、ストリング中の文字に対応する UnicodeOrder(UO)情報を含む。この情報は第2図に示すフィールドからなって いる(すなわち、UnicodeOrderの論理構成−マシンに依存する。これらのフィー ルドを少量の情報にパックすることができる)。 TUnicodeOrdering 1次フィールド210は、文字の基本的な最大ソート順序を示す。2次フィール ド220は、ストリング中の文字の1次順序が同じである場合に使用されるだけで ある。フランス語のような多くのヨーロッパ語では、これはアクセントの相違に 対応している。3次順序230は、1次順序と2次順序が同一である場合に使用さ れるだけである。大部分のヨーロッパ語では、これは大文字小文字の相違に対応 している。例えば、第3図は英語のUnicodeOrdersを示す。 2つのストリングxとyが、テキスト比較により1次相違があり、xの最初の 1次相違がyより小さいとき、xがyより1次大(primary-greater)と言い、 x<<<yと書く。同様に、xは、yより2次大(secondary-greater)(x< <y)であることも、yより3次大(tertiary-greater)(x<y)であること も、yと等価(x=y)であることもあり得る。ストリング間に、1次、2次ま たは3次相違がない場合は、これらはテキスト比較により等価(x=y)である 。 Ignorable文字 1次相違の点から、文字を無視した方がよい場合がある。例えば、英語の単語 のハイフンはignorableである。すなわち、blackbird<<black-bird<<blackb irds<<blackbirdsである。ignorable値(=2)を1次値として使用して、こ れを区別する。ignorable UnicodeOrderは、2次値 がノンゼロのとき2次相違と考える。そうでない場合は、3次値がノンゼロのと き3次相違と考えられる。そうでない場合は、UnicodeOrderは完全にignorable である(比較はUnicodeOrderが存在しないかのように進められる)。 マップなし文字(Unmapped Characters) Unicodeでは、可能な1次UnicodeOrdersが65,534個存在する。しかし、比較に は、可能な全てのUnicodeの値を含まないことが多い。例えば、フランス語の比 較では、虞らく、ヘブライ文字をソートするための値は含まれないであろう。比 較領域外にある任意の文字xは、65,536+Unicode(x)にマッピングされる。比 較対象文字の1次値は、下位範囲(2..65,535)か、あるいは、上位範囲(131,0 72 ..196,607)かのいずれかに割り当てることができる。よって、比較では、マ ッピングされていない全ての文字を、マッピングされた文字の前か、その後か、 あるいは、中間の任意の個所にあるものとして扱うことができる。例えば、マッ ピングされていない全て文字を、aとbの間に置くには、第4図に示すようなUn icode構造が採用されることになる。 向き(orientation) フランス語では、アクセントの順序づけは独特の方法で行われる。アクセント は、1次文字が同一である場合に意味を持つだけであり、アクセントには2次相 違がある。しかし、1次文字や大文字小文字の相違とは異なり、2つのストリン グの順序を判断するのは、最後のアクセントの相違である。例えば、次のストリ ングはフランス語では順番通りになっ 番目のストリングでは考慮されない。それは、その後にアクセントの相違がある からである)。 フランス語の順序づけ 2次または3次相違があるときは、いつでも、フランス語スタイルのUnicodeO rder(isSecondaryBackwardまたはisTertiaryBackward)をセットすることがで きる。2つのUnicodeOrdersを比較しているとき、いずれかが逆方向(backward )にセットされている場合は、これらの2つのUnicodeOrdersの比較では、その クラス(2次または3次)の前のUni-codeOrdersはオーバライドされる。 多重マッピング 実際は、上述したことよりも複雑である。というのは、 ・単一文字はUnicodeOrdersのシーケンス(分割文字と呼ばれる)にマッピング することができる。 ・文字のシーケンスは単一UnicodeOrder(グループ化文字と呼ばれる)にマッピ ングすることができる。 例:1次順序づけでは、スペイン語のchはcとdの間の単一文字としてソート される。 一般的に、Taligent社の照合プロセスは、1つ(または、2つ以上)文字のシー ケンスが、1つ(または2つ以上)のUnicodeOrdersのシーケ ンスにマッピングされる全ての場合をサポートする。Taligent社の照合プロセス はグループ化文字と分割文字との組合せである。 ・文字によっては、結果として得られるUnicodeOrdersを、順番に並べ替えるこ とができる。 例: この最後の特徴は、異なる順序で現れるignorable文字(アクセントのような文 字)に起因するものである。ある書体(タイ語のような書体)では、文字は発音 または照合の順序とは異なる順序で書かれる。基本テキスト比較プロセスでは、 タイ語に見られるような複雑なシーケンスはないが、このような言語を扱うのに 用いることができる、より洗練された辞書ベースのUnicodeOrdersを許可するた め、サブクラス化のためのフレームワークを提供する。 UnicodeOrderの反復 論理的に言うと、2つのストリングが比較されるときは、常に、2つのストリ ングはそれぞれUnicodeOrdersのシーケンスにマッピングされる。この処理は、 比較とストリングから作られるCompareTextIteratorを用いて行われる。Nextメ ソッドがコールされるたびに、次のUnicodeOrderがストリングから取り出される 。そのストリングが使い尽くされる(exhaust)と、その1次値がEOFであるU nicodeOrderが返される。2つのストリングを比較する際に、意味のある相違が どこで現れたかを知ることは重要なことである。CompareTextIteratorを照会し て、現在のストリングのゼロ基底:オフセット(ストリングの先頭のオフセット はゼロである) を取り出すことができる。これは、取り出されたばかりのUnicodeOrderの直前の テキストの最後のオフセットである。例えば、ストリング"achu"では、ストリン グのオフセットを取り出し、しかも、比較順序をgetするため、SpanishComapare TextIteratorがコールされるものとする。次のような結果が得られる(ただし、 UO(x)はxに対応するUnicodeOrderである)。 0,UO(a),1,UO(ch),3,UO(u),4 内部的には、反復子はComparisonを用いて、文字をUnicodeOrdersにマッピン グする。単純な1-1の突き合わせの場合は、文字は辞書の中で突き合わされる。 この処理により、大部分の文字へのアクセスが高速化される。グループ化文字ま たは分割文字があると、第2の機構を用いて、複雑になったアクセスを容易にす る。例えば、次のように順序付けされているものとする。 この順序づけは第5図に示すデータ構造で表されている。第5図において、′ ,-,a,b,d,またはeを参照するラベル500がアクセスされ、マッピングが直接的 (鋭アクセントとハイフンはignorable文字である)である。ラ シーケンスの先頭のUnicodeOrdersであり、第2の情報は、1つ以上の追 し、テーブルにストアされた情報を前処理して、UnicodeOrdersのリストを提供 することができる。これは、残りの文字に対応するUnicodeOrders を調べることにより行われる。この最適化は次の2つの条件で行われる。すなわ ち、文字のシーケンスは再順序づけアクセント(reordering accents)を含むこ とができない。テキスト比較を完了させなければならない。(全ての文字は対応 するUnicodeOrdersを持っていなければならない)。こ UnicodeOrderが続く。 ラベル550の場合には、追加文字はラベル520のように最適化することができな い。というのは、zがまだマッピングされていないからである。ラベル530では 、cchがアクセスされると、最初、cが検査され、2番目の辞書を指しているポ インタを見つける。この2番目の辞書はcが存在するか否かが検査され、3番目 の辞書を指しているポインタを見つける。3番目の辞書にはhがあるので、突き 合わせが行われ、UnicodeOrder<7,0,0>を返す。ラベル540では、ストリングにcc oがある場合は、最後の突き合わせは失敗することになるので、ccに対応するUni codeOrdersのシーケンスが返されることになる。ここで注意すべきことは、失敗 したケースでは、シーケンスが存在しない場合のシーケンスを常に含んでいるの で、バックアップは必要ではない。最後に、ラベル560では、不一致の文字xに 遭遇するとき、その値は64K+UnicodeOrder(x),0,0である。その結果、Unico deOrderは内部的にキャッシュされ、1つづつ返される。 アクセントの再順序付け ある非スペーシング・マーク(アクセント)は、ストリング中に異なる順序で 現れる。活字印刷上、相互に作用し合うのでなければ、解釈が同一になる。例え ば、a+underdot+circumflexは、a+circumflex+underdotと等価である。全 てのUnicodeの非スペーシング・マークは、関 連する非スペーシング優先順位(スペーシング・マークはnull優先順位を有する )を有する。ゼロでない優先順位をもつ文字に遭遇すると、再順序づけプロセス (reordering process)がインボークされる。本質的には、ノンnullの優先順位 マークのシーケンスがソートされ、そのUnicodeOrdersがそのソートされたシー ケンスで返される。反復子がストリング位置を要求する場合は、返されなかった 最初のUnicodeOrderの前の位置が返される。 例: underdot(アンダードット)はcircumflex(シルコンフレックス)よりも、非 スペーシング優先順位が大きいので、反復子はaのUnicodeOrderを返し、ついで 、diaeresis(分音記号)のUnicodeOrderを返し、次に、underdotのUnicodeOrde rを返す。しかし、diaeresisとbreve(短音記号)は非スペーシング優先順位が 同一なので(活字印刷上、これらは相互に ングされない」ことを意味する。 制御の流れから見たとき、グループ化は分割と再順序づけの後で行わ は、グループ化の結果は第6図に示すようになる。 制御の流れ ストリングを比較するとき、2つの場合が良く起こる。UnicodeOrders が完全に等しい場合(1次と、2次と、3次)と、完全に異なる場合(1次が異 なる)とである。前者の場合では、左側のメイン・カラムが上から下に向かって 辿られていき、そのとき2番目のケースでは、左側の2番目のカラムが辿られて いく。これらの典型的な場合では、オペレーションの数が非常に少なくなる。 この制御の流れは論理的プロセスを表している。数多くの最適化も、マシンの アーキテクチャに依存してパフォームすることができる。例えば、UnicodeOrder が適正に構成されている場合は、1つの機械命令で、1次、2次および3次の等 しいか否かの検査を行うことができる。 ユーザは、比較に対して望まれる強度により、このプロセスに対するオプショ ンを指定することができる。例えば、userMatchStrengthパラメタは、正規(nor mal)にセットすることも、primaryAndSecondaryOnlyにセットすることもできる 。(ただし、3次フィールドは、例えば、a=Aのように、突き合わせる必要は ない)。あるいは、primaryMatchOnly ように、1次フィールドで突き合わせるだけでよい)。 テキスト比較の構築 マッピングが追加されると、常に、比較におけるその文字と最後の文字との間 の関係の強度を指定しなければならない。すなわち、等価(equal)か、1次お よび2次等価(primary&secondary equal)か、2次等価(sec-ondary equal) か、あるいは、厳密大(strictly greater)を指定しなければならない。(マッ ピングが比較の最初である場合は、「最後の」マッピングは<ignorable,0,0>で あると仮定される。)これらは、それぞれ、第7図に示すように、テキスト比較 における最後のUnicodeOrderに基づき、 UnicodeOrderを生成する。(以下、1次、2次および3次を、それぞれp、s、 tと略称する)。 Next CharacterOrder 3次または2次相違の向き(orientation)も指定しなければならない。すな わち、正規またはフランス語の相違を指定しなければならない。指定された場合 は、次の数多くの代替案の中から1つを追加することにより、新しい文字マッピ ングを追加することができる。 a.単一文字x1 b.グループ化文字x1..xn c.分割文字x1/y1..yn (x1は≧last+y1..ynに拡張される) d.グループ化/分割文字x1..xn/y1..yn (x1..xnは≧last+y1..ynに拡張される) e.マッピングなし (マッピングされない文字) 上記のように、x2..xnまたはy1..ynが現れると、常に、これらが定義されるまで 比較は完了しない。例えば、x/y1..ynが追加されると、xは上記テーブルに従っ て新しいUnicodeOrderをgetするが、他のyはそのUnicodeOrderが定義されるま で保留状態(hold)に置かれる。これらが定義されると、xはUO(x)+UO(y1 )+...+UO(yn)にマッピングされる。 一度、テキスト比較(Text Comparison)が形成されると、そこに入っている データは最初の要素から最後の要素までを繰り返すことにより、取り出すことが できる。 テキスト比較のマージング 一度、テキスト比較が形成されると、文字の順序づけが行なわれる。1番目の 比較に含まれる全てのマッピング(マッピングされない文字を除く)が維持され 、2番目からの新しいマッピングは可能な限り多く維持されるように、2番目の テキスト比較を、1番目のテキスト比較にマージすることができる。この例とし ては、フランス語テキスト比較をアラビア語テキスト比較にマージする例がある 。アラビア文字(句読点のように両方のテキスト比較に共通する文字を含む)間 の関係は、全て保存した方が良い。アラビア語テキスト比較の範囲外の新しい文 字(例えば、ラテン文字)間の関係が追加される。 マージング・プロセス 次の方法でTC2を繰り返して、3番目のテキスト比較TC3を行い、次のよう に新たにマッピングを追加する。新しい文字bに対して、それぞれ、TC2にお ける前にマッピングしたmostRecentとの関係を忘れないようにする。 1.bが既にTC1にある場合は、bをスキップし、mostRecentをbにリセット する。 2.幾つかの文字や、bからの文字のサブストリングが、既にTC1にある場合 は、 それをスキップする。 3.そうでない場合は、bを可能な限りmostRecentの「近くに」なるように追加 し、mostRecentをbにリセットする。すなわち、b=mostRecentである場合は、 直後にそれを追加する。b>mostRecentである場合は、mostRecentよりも少なく とも3次大である最初の要素の直前にbを追加 する。b>>mostRecentである場合は、mostRecentよりも少なくとも2次大である 最初の要素の直前にそれを追加する。b>>>mostRecentである場合は、mostRecen tよりも少なくとも1次大である最初の要素の前にそれを追加する。 例:テキスト比較が次のようになっているものと仮定する。 TC1:=...u=v<w<<x<<<z... TC2マップ TC3結果 u=b u=b=v<w<<x<<<z u<b u=v<b<w<<x<<<z u<<b u=v<w<<b<<x<<<z u<<<b u=v<w<<x<<<b<<<z ロジックのフローチヤート 第8図は本発明による詳細ロジックのフローチャートを示す。処理は機能ブロ ック200から開始され、機能ブロック200にて、一時的結果を事前に決めた値に初 期化する。そして、入力ブロック202にて、次のソース・キー(source key)と 次のターゲット・キー(target key)を取得する。判定ブロツク204にて、テス トを行い、ソース1次(source primary)がターゲット1次(target primary) と同じ値をもっているどうかを判断する。ソース1次が等しくない場合は、判定 ブロック214にて別のテストを行い、ソース1次がignorableかどうかを判断する 。ignorableである場合は、判定ブロック220にて、別のテストを行い、サーチ・ キー(search key)に1次突合わせ(primary match)だけを含めるべきか、幾 つかの追加2次情報を含めるべきかを判断する。 1次突合わせだけが必要な場合は、突合わせは完了しており、制御を入力ブロ ック260に渡して次のソース・キーを取得し、その後、制御を判定ブロック204に 渡す。判定ブロック220にて、2次突合わせも必要であると判定された場合は、 判定ブロック230にてテストを行い、ソース2次(source secondary)がignorab leかどうかを判定する。ソース2次がignorableでない場合、ソース位置と、タ ーゲット位置と、2次位置で、equalをGREATERにセットして、一時的結果を更新 する。そして、制御を入力ブロック260に渡し、次のソース・キーを取得し、そ の後、制御を判定ブロック204に渡す。判定ブロック230にて判定した結果、ソー ス2次がignorableである場合は、判定ブロック232にて、別のテストを行い、2 次突合わせだけが必要であるかどうか、あるいは3次情報が既にセーブされてい るかどうかを判断する。肯定判定された場合は、制御を入力ブロック260に渡し 次のソース・キーを取得し、その後、制御を判定ブロツク204に渡す。否定判定 された場合は、ソース位置と、ターゲット位置と、2次位置がequalGをREATERに セットして、一時的結果を更新する。そして、制御を入力ブロック260に渡し、 次のソース・キーを取得し、その後、制御を判定ブロック204に渡す。 判定ブロック214にて、ソース1次がignorableでないと判定された場合は、判 定ブロック216にて、別のテストを行い、ターゲット1次がignarbleであるかど うかを判定する。肯定判定された場合は、判定ブロック222にて、別のテストを 行い、サーチ・キーに1次突合わせだけを含めるべきか、幾つかの追加2次情報 を含めるべきかを判定する。1次突合わせだけが必要な場合は、突合わせは完了 しており、制御を入力ブロック262に渡し、次のターゲット・キーを取得し、そ の後、制御を判定ブロック204に渡す。否定判定された場合は、判定ブロック234 にて、別の テストを行い、ターゲット2次がignorableであるかどうかを判定する。肯定判 定された場合、ソース位置と、ターゲット位置と、2次比較が、equalをESSにセ ットして、一時的結果を更新する。そして、制御を入力ブロツク262に渡し、次 のターゲット・キーを取得し、その後、制御を判定ブロック204に渡す。判定ブ ロック236にて判定した結果、ターゲット2次がignorablでない場合は、判定ブ ロック236にて、別のテストを行い、2次突合わせが必要であるかどうか、ある いはセーブされた3次またはソース3次(source tertiary)がignorableにセッ トされているかどうかを判定する。肯定判定された場合は、制御を入力ブロック 262に渡し、次のターゲット・キーを取得し、その後、制御を判定ブロック204に 渡す。否定判定された場合は、ソース位置と、ターゲット位置と、2次比較がeq ualをLESSにセットして、一時的結果を更新する。そして、制御を入力ブロック2 62に渡し、次のターゲット・キーを取得し、その後、制御を判定ブロック204に 渡す。 判定ブロック216にて判定した結果、ターゲット1次がignorableである場合は 、ソース位置と、ターゲット位置と、1次比較がequalを1次比較結果にセット して、一時的結果を更新し、制御を判定ブロック210に渡す。 判定ブロック204にて判定した結果、ソース1次がターゲット1次と等価であ る場合は、別のテストを行い、ソース1次がEOF(End of File)文字と等価 かどうかを判定する。肯定判定された場合は、一時的結果が出力端末208に返さ れる。否定判定された場合は、制御を判定ブロック210に渡し、ソース2次がタ ーゲット2次と等価かどうかを判断する。否定判定された場合は、判定ブロック 224にて別のテストを行い、ソースとターゲット情報がセーブされているかどう かを判定する。肯定判定さ れた場合は、制御を入力ブロック202に渡し、次のソースとターゲット・キーを 取得する。否定判定された場合は、機能ブロック246にて、一時的結果を、ソー ス位置と、ターゲット位置と、次比較結果が等しくなるようにセットし、制御を 入力ブロック202に渡し次のソースとターゲット・キーを取得する。 判定ブロック210にて判定した結果、ソース2次がターゲット2次と等価であ る場合は、判定ブロック212にて、別のテストを行い、ソース3次がターゲット 3次と一致しているかどうかを判断する。肯定判定された場合は、制御を入力ブ ロック202に渡し、次のソースとターゲット・キーを取得する。否定判定された 場合は、判定ブロック226にて別のテストを行い、ソースとターゲット情報がセ ーブされているか、あるいは、3次情報がセーブされているかを判定する。肯定 判定された場合は、制御を入力ブロック202に渡し、次のソースとターゲット・ キーを取得する。否定判定された場合は、機能ブロック246にて、一時的結果を 、ソース位置と、ターゲット位置と、3次比較結果に等しくなるようにセットし 、制御を入力ブロック202に渡し、次のソースとターゲット・キーを取得する。 第9図は本発明によるディスプレイの例を示す。このディスプレイは、言語属 性を任意の特定言語と関連付けることができるシステムに対応している。このシ ステムの場合、ユーザは任意の特定の言語に対して好ましいテキスト比較を選択 し、そのテキスト比較をマークのないテキスト(言語属性を持たないテキスト) と関連づけることができる。さらに、ユーザは新しいテキスト比較を行うか、あ るいは、既存のテキスト比較を修正することもできる。編集時には、ユーザに、 第9図に示すように、比較でのマッピングを、昇順にリストアップしたテーブル が提供される。標 準テーブルを編集する場合のように、ユーザはマウスを使って1つ以上のマッピ ングを選択することができる。選択された項目は、削除するか、カットするか、 コピーするか、あるいは、ドラグによって移動することができる。新しいマッピ ングは任意の個所に挿入することもできる。 左端のカラム900は現在のマッピングと前の(上部)マッピングとの関係を示 す。そのカラムでクリックすると、選択シンボルを有するポツプアップ・メニュ ーが表示される。選択シンボルは、1次大、2次大、3次大、または等価と;フ ランス語2次および/またはフランス語3次を示す直交セット(orthogonal set )とである。 特殊なマッピングが1つある。それはマップなし文字のマッピングであり、マ ップなし文字がその個所でgoすることを示す記号を含む。このようなロケーショ ンは、テキスト比較では、常に、正確に1つ存在するので、このマッピングは特 別な扱いを受ける。このようなロケーションが削除されると、これはマッピング の最後に現れる。別のロケーションがペースト・インされると、既存のマップな し文字のマッピングは除去される。中央の列910にはマッピングの主要な(1つ 以上の)文字が入っている。右端の列には、拡張文字がある場合は、その拡張文 字が入っている。これらの編集の仕方は、システムの他のテキストとまったく同 じである。 高速言語識別サーチ 序 内破音(imploding)、破裂音(exploding)、ignorabl、1次/次/3次の問 題が、調度、照合と関係があるように、これらはサーチにも関係す ある。テキストの高速(サブリニア)サーチには、数多くのプロセスが存在する 。しかし、これらのプロセスはいずれも、これらの言語識別要件を扱っていない 。これらの問題を扱うため、本発明の好ましい実施例では、サブリニアでしかも 言語識別であるBoyer-Mooreプロセス(BM)の改良版を採用している。このBMプ ロセスは、Boyer,R.&Moore,S.;AFast String Searching Algorithm,Commun.AC M 20,pp.762-772(1977)に詳細に開示されている。その文献名を記載して本明 細書の一部とする。 好ましい実施例では、テキスト比較で生成される同一のデータを使用すること もできる。その結果、サーチと照合の同期がとられている。このことは、新しい Text Comparisonを作るために、ユーザが採用した同一の修正が、正しい言語識 別サーチを作るのにも充分である、という意味である。比較に必要なもの以外に は、サーチには、2つの派生情報が必要になる。これらの必要情報を次に説明す る。高速サーチプロセスの中には逆方向に処理しないものもある。その代わり、 これらの拘束サーチプロセスは、突合わせが失敗した場合、ストリングの後の最 初の文字を検査する(例えば、Sunday,D.M.A very fastsubstring search algor ithm.Commun.ACM33.8,pp.132-142(Aug.1990)。この手法では、長さの異なる 2つのストリングが突き合すことができるので、言語識別比較をうまくできない 。パターンの「最後」に一致する、ターゲットのストリングの「最後」がどこに 位置するかを効率よく判定することができない。次の例では、文字が英語の順序 になっており、次のような簡単な人工的なText Comparisonを用いることにする 。 ^(ノンスペーシングcircumflex: ignorable) ここで注意すべきことであるが、照合のためには、内破音文字と破裂音文字と の相違は重要であるが、サーチでは、一般的に意味がない。すな 重要となる1つのケースはパターンの最後にある。すなわち、baはbaed内で見つ けるべきであり、baad内で見つけるべきではない。 テキスト比較の強化機能 Text Comparisonに対して次のように機能が強化されている。 a.マッピングのデータベースはストリングを逆順にも処理できなければならな い。特に、内破音マッピングと破裂音マッピングを逆順に検索できなければなら ない。 例:eに対するUnicode順をルックアップし、ついで、o(逆方向に進む)に より、φが生成される。 b.小さい方の破裂音文字に一致する可能性のある文字のシーケンスは、データ ベースに含まれ、小さい方の幅へマッピングされなければならない。 例:ooを含む必要はない。というのは、o-の積に一致し、長さが同じだからで ある。しかし、aeは含めておかなければならない。というのは、 c.Text Comparisonは、ストリングが処理されるとき、累積最小一致長(cumul ative minimal match length)(下述を参照)を返すことができなければならな い。 例:eを処理し、ついで、aを処理する(逆方向処理であることを忘れ 長は1になる。 プロセスの概要 プロセスは次のような基本構造を有する。 目標: ターゲット・ストリング内のパターン・ストリングをサーチする。 入力: パターン・ストリング、ターゲット・ストリング、強度(1次、2次、 3次、ビット単位)、Text Comparison。 プロセス: Boyer-Mooreの場合のように、最初のステップでは、Text Comparisonでパター ン・ストリングを前処理し、インデックス・テーブル(index table)を作成す る。(詳細は次のセクションで説明する)。メイン・ループでは、パターン・ス トリングはターゲット内を順次シフトされる。新しいロケーションごとに、パタ ーン・ストリングが最後から処理され、一致するものを探していく。Text Compa risonはターゲット・ストリングを逆順に処理し、Unicode Orderings(UO)をル ックアップする。突合わせに失敗した場合、インデックス・テーブルを用いて、 パターン・ストリングを、指定された量だけシフトされる。 パターンの前処理 次に、パターン・ストリングを前処理するときのプロセスを説明する。このプ ロセスは作業の大部分を占める。論理シーケンスを中心に説明し、混乱を避ける ため、最適化の説明は省略する。好ましい実施態様では、順逆方向のサーチが共 にサポートされているので、基本的な最適化は2 つのインデックス・テーブルを作成することである。逆方向のサーチのためのテ ーブルとパターンを作成するときは、プロセスの中で然るべき変更が行われる。 1.ストリングを探すためUnicode Orderingsを検索するにれにより、内破音文 字および破裂音文字と、overdotやunderdotのような再順序づけアクセントとが 正規化されることになる)。 2.Orderings(順序づけ)を入力の強度に従ってリセットする。 ・ 入力強度が2次の場合は、3次値をゼロアウトする。 ・ 入力強度が1次の場合は、2次値と3次値をゼロアウトする。 3.null相違を有するignorable Unicode Orderingsを全て除去する(ステップ 2を実行した後で)。 注意: ・ 入力強度が3次の場合は、null相違を有するignorable Unicode Or-derin gsを除去する(例えば、Right-Left Mark)。 ・ 入力強度が2次の場合は、3次またはnull相違を有する全てのig-norable Unicode Orderingsを除去する。 ・ 入力強度が1次の場合は、2次か、3次か、あるいはnull相違の全てのig norable Unicode Orderingsを除去する(例えば、非スペーシング・マーク)。 4.Text Comparisonの情報から、パターン内の各位置での最小末尾一致長(min imum trailing match length-MTML)を計算する。最小末尾一致長は、パタ ーンの最後の末尾要素と突き合わされるストリングの最小長さである。 大7文字までの長さを突き合わせることができる。ignorableがある場合は、無 限に長いストリングを突き合わせることができる(b^a^e^d^^^^a^af)]。 このパターンのMTMLのテーブルは、次のようになる。(英字は対応するUnicod e Orderingsを表す)。 5.Boyer-Mooreは、位置によりインデックスされる1つのテーブルと、文字に よりインデクッスされる1つのテーブルとを使用している。この改良版では、文 字によりインデックスされる1つのテーブルは、Unicode Orderingによるインデ クシングに対応している。パターンストリングに対するインデックス・テーブル は、Boyer-Mooreの場合のように、Unicode Orderingsのリストを、後ろから前に 向かって横切ることにより作成されるが、次のような変更がなされている。 任意の位置のインデックスは、その位置にあるUnicode Orderingとの突合わせ が失敗した場合、その位置の処理済みストリングを、どれだけシフトすべきかを 示す。インデックス値は、現在の末尾のサブストリングがパターンの中で次に見 つかるように、(MTMLテーブルを用いて)シフトすべき最小量になっていな ければならない 例: パターンobaexydbaeが与えられると、シフト・テーブルは次のようにな る(英字は対応するUnicode Orderingsを表す)。 ターゲット・テキスト(¨)内のdで、oと一致しないものとする。この場合 のシフト値は5である。というのは、右端に現れるobaeが、長さ5(≠)の末尾 シーケンスの後に置かれているためである。 6.莫大な数のUnicode Orderingが可能であるが、その数は、Boyer-Mooreの8 ビットASCII版のように、調度256個ではない。速度と記憶の理由から、Unicode Orderingによりインデックスされるインデックス・テーブルは、整数の小さな配 列(例えば、256個の整数)よりなる。所定のUnicode Orderingに対するテーブ ルに、シフト値を加えると、そのUnicode Orderingは、配列によってカバーされ る範囲内の整数にハッシング(hashing)される。 1次強度だけが必要なときは、配列サイズのモジュロを用いることにより、こ のことが行われるにれが2の倍数となるように選択されている場合は、モジュロ はマスキングだけである)。2次以上が必要な場合には、2次か、あるいは、2 次および3次の両方が、モジュロを使用する前に、XOR演算される。 複数のシフト値が存在すると(モジュロの衝突のために)、これらシフト値の 最小値が記録される。最小値は最終的には最適値未満であるかもしれないが、実 際には、パフォーマンス全体に重大な影響を与えることはない。 処理済みパターンによるサーチ ターゲット・ストリングを処理済みパターンと突き合わせるとき、好ましい実 施態様で反映されるように、標準Boyer-Mooreプロセスに、次のような変更を加 えて、使用することができる。 1.ターゲット・テキストから文字を検索するとき、これらの文字をUnicode Or deringsに変換する(このことは各文字がアクセスされるとき行われるので、タ ーゲット・テキスト全体を変換する必要はない)。テキスト全体の繰返しは逆順 で行われる。処理されたパターンの作成時に使用されたものと同一の正規化(上 述したパターンの前処理の項目1−3)が使用され、強度がリセットされ、igno rableが除去される。 2.テキストから派生した各Unicode Orderingを、パターンを用いて、明示的に テストする。一致しない場合は、インデックステーブルを用いて、シフト値を見 つける。 3.一致した場合は、プロセスはストリングのendの後も検査しなければならな い。次の条件が生起された場合は、突合わせが失敗し、プロセスは1だけシフト され、サーチを続行する。 ・ 入力強度よりも強いignorableがendの後に存在する場合。 例:xxba^xxの中のbaを見つける。 るべきでない。 ・ ストリングのendにまたがって内破音文字が存在ある場合。例:baはbaed で見つけるべきで、baadで見つけるべきでない。(これをユーザ・オプションし て、制御を強化することができる) ステートテーブル方法 言語識別サーチャを構築するもう1つの方法は、種々の形体(baedと シンを作成することである。しかし、一般的には、この手法は、同様に、サブリ ニア法、例えば、Gonnet,G.H.and Baeza-Yates,R.Handbook of Algorithms and Data Structures−In Pascal and C.Seconded.Addison-Wesley,Workingham,UK 1991に記載されている方法をパフォームしない。しかし、ここで重要な問題は、 Text Comparisonに比較して、各方法で必要になる比較の数に基づき、ステート ・テーブル内の文字当たりのルックアップ時間に基づいている。Text Compariso nでは、ルックアップ時間は文字が内破音または破裂音でない限り極めて短い。 よって、そのパフォーマンスはそのような文字のターゲット・テキストに含まれ る割合に依存する。この割合は一般的に非常に少ない。そのような文字が含まれ る割合が大きいターゲット言語であるかどうかを示すフラグを、Text Compariso nにストアすることにより、どの手法を採用すべきかを実行時に選択することが できる。 以上、特定のシステム環境における好ましい実施態様を説明したが、本発明は 、請求の範囲の精神と範囲を逸脱しない限り、変更を加えて、他の異なるハード ウェアおよびソフトウェア環境で実施することができることは、当業者にとって 当然のことである。
【手続補正書】特許法第184条の8 【提出日】1995年2月10日 【補正内容】 (原文明細書第1頁) 明細書 言語認識照合システム 著作権所有表記 本特許出願は一部に著作権保護の対象となる内容を含んでいる。特許書類また は特許開示事項を、米国特許商標局の特許フアイルまたは記録のとおり、何人が ファクシミリ複製しても、それを著作権者は妨げるものではないが、そうでない 場合には、一切の著作権を留保するものである。 技術分野 本発明は、コンピュータ・システムにおける改良に関し、特に、言語識別テキ スト比較に関する。 背景技術 ワークステーション・ソフトウェアの開発者の間では、柔軟性のあるソフトウ ェア環境を提供し、ユーザインタフェースの一貫性を維持することがますます重 要になっている。この種の操作環境を提供しようとする初期の試みは、米国特許 第4,686,522号(Hernandez他)およびEP A 0 192 927号に開示されている。これ ら2つの特許では、グラフイックとテキストの結合処理システムが開示され、ユ ーザがカーソル位置で動的メニューを呼び出し、そのメニューから種々の機能を 呼び出すことができる。この種のユーザとの自然な対話により、ユーザインタフ ェースが改善され、アプリケーシヨンがより直観的なものになった。 EP A 0 310 283号には、多言語データベースシステムが開示されている。この 多言語データベースシステムは、多言語環境で遭遇する多言語の言葉よりなるデ ータベースを維持することにより多言語ソート・オペレーションをパフォームす る。多言語データベースは、ソート・キー・インデックスによるソート・オペレ ーション中か、あるいは比較オペレーション中にアクセスされる。多言語データ ベースには、それぞれサポートされる言語ごとに、各データセグメントに対し て少なくとも1つのソート・キーを有する。特定の言語に関連するソート・キー ・セットは、それぞれ、予め定めた言語基準に従って並べられている。その結果 、当該ソート・キーを用いて多言語データベースにアクセスすることにより、当 該言語に対して、正しい照合順に、語が取り出される。多言語データベースにア クセスする方法は、多言語のアルファベットからのキャラクタに基づいた語であ って、最初、多言語データベースにストアされていた語を利用する。そして、そ の語はエンコードされ、多言語データベースによりサポートされる各言語ごとに 、各語に対して1つのソート・キーが形成される。そして、形成されたソート・ キーは、データ・ストアにストアされる対応情報の指示とともに、インデックス でソートする順にストアされる。同様に、データ・ストアをアクセスすることに より多言語比較を行なって、2つの異なる言語に対して、ソート・キーの手段に より2つの異なる語を取り出すことができる。 参照でクリチカルなことは、多言語環境で見付け出された語を全て多言語デー タベースにストアしなければならないことである。個々のデータファイルはサポ ートされる各言語に供給され、そのデータファイルを用いてマスタファイルを、 予め定めた様式で修正することができる。特に、その修正により、ストアされた 語は、それぞれ、自然な表現から、普通の言語キャラクタ・セット内部表現とは 無関係な形式に変換される。ストアされた語が予め定めた様式でコード化された 後に、コード化されない語ではなく、コード化されストアされた語(言語に無関 係)を用いて、ソートまたは比較を行なうことができる。 その参照は本発明とは全く異なるものである。というのは、本発明では、差が 検知されるまで、キャラクタごとに、テキスト・ストリングの比較が行われる。 所定の言語の各キャラクタに対して順番を定義し、順番をストアすることにより 、新規なプロセスが開始される。そして、2つのテキスト・ストリングはそれら のテキスト・ストリングをストアし、2つのテキスト・ストリングからそれぞれ 1つのキヤラクタを順次取り出すことにより比較される。取り出されたキャラク タを用いて、予め定めたデータベースをアクセスし、各キャラクタに対して順番 を取り出す。そして、順番が比較される。比較した結果、差がある場合は、その 差を用いてテキスト・ストリングの照合順番を決定する。 (原文明細書第25頁) 3.一致した場合は、プロセスはストリングのendの後も検査しなければならな い。次の条件が生起された場合は、突合わせが失敗し、プロセスは1だけシフト され、サーチを続行する。 ・ 入力強度よりも強いignorableがendの後に存在する場合。 例:xxba^xxの中のbaを見つける。 ない。 ・ ストリングのendにまたがって内破音文字が存在ある場合。例:baはbaed で見つけるべきで、baadで見つけるべきでない。(これをユーザ・オプションし て、制御を強化することができる) 請求の範囲 1.第1テキスト・ストリングと第2テキスト・ストリング(202)の間の照合 順番を確立するコンピュータ・システム(10-38)において、 (a)プロセツサ(10) (b)該プロセッサ(10)に接続したメモリ(14)であって、第1テキスト・ス トリングと第2テキスト・ストリング(202)を含む情報をストアする記憶領域 を含むメモリ(14)と、 (c)該メモリにストアされたプログラムであって、前記プロセッサを制御して 、前記メモリにストアされている情報(202;500-550)を取り出し、取り出され た情報(218)を操作し、操作された情報をメモリ(240)にストアするプログラ ムと、 (d)該プログラムにより制御される手段であって、各キャラクタ(910)に対 して、少なくとも1つの順番値を、当該言語の予め定めたキャラクタ優先順位に 基づき定義し、前記メモリ(14)の全キャラクタに対して順番値(500-560)を ストアする手段と、 (e)前記プログラムにより制御される手段であって、前記第1テキスト・スト リングからの第1キャラクタ(202)と、前記第2テキスト・ストリングからの 第2キャラクタ(202)を含むキャラクタ(910)の対を、前記メモリから取り出 す手段と、 (f)前記第1キャラクタおよび第2キャラクタに応答して、前記第1キャラク タおよび第2キャラクタ(500-550,202)のそれぞれに対して、順番値を取り出 す手段と、 (g)取り出された順番値を比較する手段であって、前記第1キャラクタ・スト リングおよび第2キャラクタ・ストリング(240-262)の差を決定する手段と、 (h)前記プログラムにより制御される手段であって、前記差に応答して、前記 第1キャラクタ・ストリング(202)および第2キャラクタ・ストリング(202) の間の照合順番(240-252)を決定する手段と を備えたことを特徴とするコンピュータ・システム。 2.請求の範囲第1項において、 前記プロセッサ(10)および前記メモリ(14)に接続された(36,12)ディス プレイ装置(38)であって、前記プロセッサ(10)により制御され、前記メモリ (14)にス トアされた情報であって、アイコン・グラフィックを含む情報をディスプレイす るディスプレイ装置(38)と、 ユーザにより制御される選択装置(26)であって、前記ディスプレイ装置(38 )上にディスプレイされる情報を選択する選択装置(26)と、 該選択装置によるアイコン・グラフィックの選択に応答して、前記プログラム を命令し、前記第1キャラクタ・ストリング(530)および第2キャラクタ・ス トリング(540)を、前記メモリ(14)から取り出す手段と をさらに含むことを特徴とするコンピュータ・システム。 3.請求の範囲第1項において、順番値を定義する手段(900-910)は、 選択されたキャラクタ(910)と、選択されたキャラクタ(900)に関連する順 番値をリストアップしたテーブルを、言語の予め定めたキャラクタ優先順位に基 づき作成する手段と、 該手段により作成されたテーブルを前記メモリ(14)にストアする手段と を備えたことを特徴とするコンピュータ・システム。 4.請求の範囲第3項において、前記テーブル作成手段は、 キャラクタのセットを含むとともに、キャラクタの選択されたセット(210-23 0)に関する、1次順序付け、2次順序付け、3次順序付け、拡張順序付け、グ ループ順序付け、ignorable2次順序付け、ignorable3次順序付け、フランス語 2次順序付け、フランス語3次順序付けを含むテーブルを作成する手段 を備えたことを特徴とするコンピュータ・システム。 5.請求の範囲第1項において、各キャラクタに対する少なくとも1つの順番値 を定義する手段は、ユーザにより制御される手段であって、各キャラクタに関連 する順番値を、望ましい比較結果(900-910)により、変換する手段を備えたこ とを特徴とするコンピュータ・システム。 6.請求の範囲第1項において、前記第1テキスト・ストリング(202)は、第 1の 予め定めたキャラクタ優先順位を有する第1の言語に属するキャラクタよりなり 、 前記第2テキスト・ストリング(202)は、第2の予め定めたキャラクタ優 先順位を有する第2の言語に属するキャラクタよりなり、 前記定義手段は、 各キャラクタに対して、少なくとも1つの第2順番値(220)を、前記第2の言 語の予め定めたキャラクタ優先順位に基づき定義する手段と、 前記第1および第2順番値(240-252)をマージする手段と を備えたことを特徴とするコンピュータ・システム。 7.請求の範囲第1項において、前記プロセッサ(10)および前記メモリ(14) に接続された(36,12)ディスプレイ装置(38)であって、前記プロセッサ(10 )により制御され、前記メモリ(14)にストアされた情報であって、アイコン・ グラフィックを含む情報をディスプレイするディスプレイ装置(38)と、 前記定義手段はプログラムにより制御される手段であって、順番値を各キャラ クタ(900-910)に割り当てるために、テーブル状のディスプレイを生成する手 段とをさらに含むことを特徴とするコンピュータ・システム。 8.請求の範囲第1項において、前記定義手段は、 各キャラクタに対する1次、2次および3次順番値を、言語の予め定めたキャ ラクタ優先順位に基づき定義する手段と、 全キャラクタに対する1次、2次、3次順番値をメモリにストアする手段(10 )と、 前記プログラムにより制御される手段であって、1次、2次、3次順番値(50 0-550,222-262)の間の比較の強度を決定する手段と、 をさらに備えたことを特徴とするコンピュータ・システム。 9.第1テキスト・ストリングと第2テキスト・ストリングの照合順番と、ある 言語に属するキャラクタよりなる第1テキスト・ストリングと第2テキスト・ス トリングの照合順番を確立する方法であって、該方法はコンピュータ・システム 上でオペレート可能であり、該コンピュータ・システムはプロセッサ(10)と、 該プ ロセッサに接続された(12)メモリ(14)であって、前記第1テキスト・ストリ ング(530)と前記第2テキスト・ストリング(540)を含む情報をストアするた めの記憶領域を含むメモリを有する方法において、 (a)各キャラクタに対して少なくとも1つの順番値を、言語の予め定めたキャ ラクタ優先順位(500)に基づき定義するステップと、 (b)全キャラクタ(500-560)に対する順番値を前記メモリ(14)にストアす るステップと、 (c)前記第1テキスト・ストリング(530)からの第1キャラクタと、前記第 2テキスト・ストリング(540)からの第2キャラクタを含むキャラクタの対を 、前記メモリ(14)から取り出すステップと、 (d)前記第1キャラクタに対する順番値(900)と、前記第2キャラクタに対 する順番値(910:500-550;214)とを取り出すステップと、 (e)取り出された順番値を比較し、前記第1および第2テキスト・ストリング (218)の差を決定するステップと、 (f)該差に基づき、前記第1テキスト・ストリング(530)と前記第2テキス ト・ストリング(540)の照合順番(240-252)を決定するステップと を備えたことを特徴とする方法。 10.請求の範囲第9項において、コンピュータ・システム(10-38)は、 前記プロセッサ(10)および前記メモリ(14)に接続された(36,12)ディス プレイ装置(38)であって、前記プロセッサ(10)により制御され、前記メモリ (14)にストアされた情報であって、アイコン・グラフイックを含む情報をディ スプレイするディスプレイ装置(38)と、 ユーザにより制御される選択装置(26)であって、前記ディスプレイ装置(38 )上にデイスプレイされる情報を選択する選択装置(26)と を有し、 前記方法は、前記アイコン・グラフィックが前記選択装置(26)により選択さ れたとき、前記第1および第2テキスト・ストリング(202)のキャラクタを、 前記メモリ(14)から取り出すステップをさらに備えた ことを特徴とする方法。 11.請求の範囲第9項において、前記ステップ(a)は、 (a1)選択されたキヤラクタ(910)とそれらのキャラクタに関連する順番値(9 00)を、言語の予め定めたキャラクタ優先順位に基づき、リストアップしたテー ブルを作成するステップと、 (a2)作成されたテーブルを前記メモリ(14)にストアするステップとを備えた ことを特徴とする方法。 12.請求の範囲第11項において、前記ステップ(a1)は、キャラクタのセット を含むとともに、キャラクタの選択されたセット(210-230)に関する、1次順 序付け、2次順序付け、3次順序付け、拡張順序付け、グループ順序付け、igno rable2次順序付け、ignorable3次順序付け、フランス語2次順序付け、フラン ス語3次順序付けを含むテーブルを作成するステップを備えたことを特徴とする 方法。 13.請求の範囲第9項において、ステップ(a)は、各キャラクタに関連する順 番値を、望ましい比較結果(220-262)により、変更するステップ(a3)を備え たことを特徴とする方法。 14.請求の範囲第9項において、前記第1テキスト・ストリング(202)は、第 1の予め定めたキャラクタ優先順位を有する第1の言語に属するキャラクタより なり、 前記第2テキスト・ストリング(202)は、第2の予め定めたキャラクタ優先 順位を有する第2の言語に属するキャラクタよりなり、 (a4)各キャラクタに対して少なくとも1つの第1順番値を、前記第1言語の予 め定めたキャラクタ(210)優先順位に基づき定義するステップと、 (a5)各キャラクタに対して、少なくとも1つの第2順番値を、前記第2の言語 の予め定めたキャラクタ(220)優先順位に基づき定義するステップと、 (a6)前記第1および第2順番値(240-252)をマージするステップと を備えたことを特徴とする方法。 15.請求の範囲第9項において、前記コンピュータ・システムは、前記プロセッ サ(10)および前記メモリ(14)に接続された(36,12)ディスプレイ装置(38 )であって、前記プロセッサ(10)により制御され、前記メモリ(14)にストア された情報であって、アイコン・グラフィックを含む情報をディスプレイするデ ィスプレイ装置(38)を備え、 前記ステップ(a)は、順番値を各キャラクタ(900-910)に割り当てるため に、テーブル状のディスプレイを生成するステップ(a7)を備えたことを特徴と する方法。 16.請求の範囲第9項において、前記ステップ(a)は、 (a8)各キャラクタに対して、1次(210)、2次(220)、3次(230)順番値 を、言語の予め定めたキャラクタ優先順位に基づき定義するステップと、 (a9)全キャラクタに対する前記1次、2次、3次順番値を前記メモリ(14)に ストアするステップと、 (a10)1次、2次、3次順番値(500-550;222-262)の比較の強度を定義するス テップと を備えたことを特徴とする方法。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CZ,DE,DK,ES,FI,GB,H U,JP,KP,KR,KZ,LK,LU,LV,MG ,MN,MW,NL,NO,NZ,PL,PT,RO, RU,SD,SE,SK,UA,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.言語識別性に基づいて、テキストを比較するシステムであって、 (a)言語の特徴に基づいて、順序づけを定義するプロセッサ手段と、 (b)比較を行って、第1テキスト・ストリングと第2テキスト・ストリン グの関係を判断するプロセッサ手段と、 (c)定義された順序づけに基づいて、第1ストリングと第2ストリング間 の関係を判断するプロセッサ手段と を具備したことを特徴とするシステム。 2.請求の範囲第1項において、アイコン操作により比較操作を開始する処理手 段を含むことを特徴とするシステム。 3.請求の範囲第2項において、アイコン上でダブルクリックすることにより比 較オペレーションを開始する処理手段を含むことを特徴とするシステム。 4.請求の範囲第2項において、比較オペレーションをドロップラウンチする処 理手段を含むことを特徴とするシステム。 5.請求の範囲第1項において、言語の特徴に基づく突合わせと順序づけの関係 のテーブルベースの記述をストアする記憶手段を含むことを特徴とするシステム 。 6.請求の範囲第5項において、1次と、2次と、3次と、拡張と、グループ化 と、ignorable−2次と、ignorable−3次と、フランス語−2次と、フランス語 −3次の順序づけのテーブルベースの記述を含むことを特徴とするシステム。 7.請求の範囲第1項において、UNICODEテキストをサポートする処理手段を含 むことを特徴とするシステム。 8.請求の範囲第7項において、UNICODEアクセント等価のための処理手段を含 むことを特徴とするシステム。 9.請求の範囲第1項において、部分的なテキスト比較を行う処理手段を含むこ とを特徴とするシステム。 10.請求の範囲第1項において、言語識別サブリニア比較を行う処理手段を含む ことを特徴とするシステム。 11.請求の範囲第1項において、第1テキスト比較を第2テキスト比較にマージ する処理手段を含むことを特徴とするシステム。 12.請求の範囲第1項において、比較オペレーションをインボークするためのス プレッドシート・ライクなディスプレイを含むことを特徴とするシステム。 13.請求の範囲第1項において、1次、2次または3次強度間の比較の強度を判 断する処理手段を含むことを特徴とするシステム。 14.請求の範囲第1項において、言語識別比較するためにUnicode 順序づけを 効率的にハッシングするハッシュ・プロセッサを含むことを特徴とするシステム 。 15.言語識別性に基づいてテキストを比較する方法であって、 (a)言語の特徴に基づいて順序づけを定義するステップと、 (b)比較を行って、第1テキスト・ストリングの第2テキスト・ストリン グ内での一致を突き止めるステップと を備えたことを特徴とする方法。 16.請求の範囲第15項において、アイコン操作により比較オペレーションを開始 するステップを含むことを特徴とする方法。 17.請求の範囲第16項において、アイコン上でダブルクリックすることにより比 較オペレーションを開始する処理手段を含むことを特徴とする方法。 18.請求の範囲第17項において、比較オペレーションをドロップラウンチするス テップを含むことを特徴とする方法。 19.請求の範囲第15項において、言語の特徴に基づく突合わせと順序づけの関係 のテーブル・ベースの記述をストアする記憶手段を含むことを特徴とする方法。 20.請求の範囲第19項において、1次と、2次と、3次と、拡張と、グループ化 と、ignorable−2次と、ignorable−3次と、フランス語−2次と、フランス語 −3次の順序づけのテーブル・ベースの記述を含むことを特徴とする方法。 21.請求の範囲第15項において、UNICODEテキストをサポートするステップを含 むことを特徴とする方法。 22.請求の範囲第21項において、UNICODEアクセント等価をパフォームするステ ップを含むことを特徴とする方法。 23.請求の範囲第15項において、部分的にテキスト比較を行うステップを含むこ とを特徴とする方法。 24.請求の範囲第15項において、言語識別サブリニア比較を行うステップを含む ことを特徴とする方法。 25.請求の範囲第15項において、第1テキスト比較を第2テキスト比較にマージ するステップを含むことを特徴とする方法。 26.請求の範囲第15項において、スプレッドシートライクなディスプレイを介し て比較オペレーションをインボークするステップ含むことを特徴とする方法。 27.請求の範囲第15項において、1次と、2次と、3次突合わせと、ターミナル ・チェックとの間の突合わせの強度とを判断するステップを含むことを特徴とす る方法。 28.請求の範囲第15項において、Unicode順序づけをハッシングするステップを 含むことを特徴とする方法。
JP6521006A 1993-03-25 1994-01-03 言語認識照合システム Pending JPH08508123A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/036,749 1993-03-25
US08/036,749 US5440482A (en) 1993-03-25 1993-03-25 Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order
PCT/US1994/000006 WO1994022096A1 (en) 1993-03-25 1994-01-03 Language-sensitive collation system

Publications (1)

Publication Number Publication Date
JPH08508123A true JPH08508123A (ja) 1996-08-27

Family

ID=21890421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6521006A Pending JPH08508123A (ja) 1993-03-25 1994-01-03 言語認識照合システム

Country Status (7)

Country Link
US (1) US5440482A (ja)
EP (1) EP0672283B1 (ja)
JP (1) JPH08508123A (ja)
AU (1) AU6017994A (ja)
CA (1) CA2145672A1 (ja)
DE (1) DE69400207T2 (ja)
WO (1) WO1994022096A1 (ja)

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485373A (en) * 1993-03-25 1996-01-16 Taligent, Inc. Language-sensitive text searching system with modified Boyer-Moore process
JP3457061B2 (ja) * 1994-06-28 2003-10-14 富士通株式会社 属性混在文字列のソート装置及び属性混在文字列のソート方法
US5737594A (en) * 1994-07-05 1998-04-07 Trustus Pty Ltd. Method for matching elements of two groups
US5778356A (en) * 1994-11-10 1998-07-07 Cadis, Inc. Dynamically selectable language display system for object oriented database management system
US6701428B1 (en) * 1995-05-05 2004-03-02 Apple Computer, Inc. Retrieval of services by attribute
US5687366A (en) * 1995-05-05 1997-11-11 Apple Computer, Inc. Crossing locale boundaries to provide services
US5675818A (en) * 1995-06-12 1997-10-07 Borland International, Inc. System and methods for improved sorting with national language support
JPH09198398A (ja) * 1996-01-16 1997-07-31 Fujitsu Ltd パターン検索装置
US5754840A (en) * 1996-01-23 1998-05-19 Smartpatents, Inc. System, method, and computer program product for developing and maintaining documents which includes analyzing a patent application with regards to the specification and claims
US5873111A (en) * 1996-05-10 1999-02-16 Apple Computer, Inc. Method and system for collation in a processing system of a variety of distinct sets of information
US6370498B1 (en) 1998-06-15 2002-04-09 Maria Ruth Angelica Flores Apparatus and methods for multi-lingual user access
US7099876B1 (en) 1998-12-15 2006-08-29 International Business Machines Corporation Method, system and computer program product for storing transliteration and/or phonetic spelling information in a text string class
US6460015B1 (en) * 1998-12-15 2002-10-01 International Business Machines Corporation Method, system and computer program product for automatic character transliteration in a text string object
US6496844B1 (en) 1998-12-15 2002-12-17 International Business Machines Corporation Method, system and computer program product for providing a user interface with alternative display language choices
US6389386B1 (en) 1998-12-15 2002-05-14 International Business Machines Corporation Method, system and computer program product for sorting text strings
US6289513B1 (en) * 1999-06-01 2001-09-11 Isaac Bentwich Interactive application generation and text processing
KR100372582B1 (ko) * 2000-02-23 2003-02-17 가부시키가이샤 히타치세이사쿠쇼 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체
US6618724B1 (en) * 2000-04-17 2003-09-09 Sun Microsystems, Inc. Human-natural string compare for filesystems
US6400287B1 (en) 2000-07-10 2002-06-04 International Business Machines Corporation Data structure for creating, scoping, and converting to unicode data from single byte character sets, double byte character sets, or mixed character sets comprising both single byte and double byte character sets
US7278100B1 (en) 2000-07-10 2007-10-02 International Business Machines Corporation Translating a non-unicode string stored in a constant into unicode, and storing the unicode into the constant
US7051278B1 (en) 2000-07-10 2006-05-23 International Business Machines Corporation Method of, system for, and computer program product for scoping the conversion of unicode data from single byte character sets, double byte character sets, or mixed character sets comprising both single byte and double byte character sets
US6754668B2 (en) * 2000-10-24 2004-06-22 Raytheon Company Multilingual system having dynamic language selection
CA2348239C (en) * 2001-05-18 2005-04-19 Ibm Canada Limited-Ibm Canada Limitee Culturally correct ordering of keyed records
US6877003B2 (en) * 2001-05-31 2005-04-05 Oracle International Corporation Efficient collation element structure for handling large numbers of characters
CA2390849A1 (en) * 2002-06-18 2003-12-18 Ibm Canada Limited-Ibm Canada Limitee System and method for sorting data
US7155442B2 (en) * 2002-06-28 2006-12-26 Microsoft Corporation Compressed normalized character comparison with inversion
US7617202B2 (en) * 2003-06-16 2009-11-10 Microsoft Corporation Systems and methods that employ a distributional analysis on a query log to improve search results
US20050005239A1 (en) * 2003-07-03 2005-01-06 Richards James L. System and method for automatic insertion of cross references in a document
CA2453973A1 (en) * 2003-12-23 2005-06-23 Daniel A. Rose On-demand creation of posix locale source
CA2453971C (en) * 2003-12-23 2009-08-11 Daniel A. Rose On-demand creation of java locale source
DE102004037230A1 (de) * 2004-07-31 2006-02-16 Robert Bosch Gmbh Verfahren zur Suche von Suchzeichenketten und Einrichtung hierfür
US20060235662A1 (en) * 2005-04-15 2006-10-19 Argentar David R Eliminating redundant patterns in a method using position indices of symbols to discover patterns in sequences of symbols
US9275019B2 (en) * 2007-12-21 2016-03-01 Sap Se System and method for performing Unicode matching
JP5391583B2 (ja) * 2008-05-29 2014-01-15 富士通株式会社 検索装置、生成装置、プログラム、検索方法および生成方法
US8682644B1 (en) 2011-06-30 2014-03-25 Google Inc. Multi-language sorting index
US9509757B2 (en) 2011-06-30 2016-11-29 Google Inc. Parallel sorting key generation
US20140019718A1 (en) * 2012-07-10 2014-01-16 Shihjong J. Kuo Vectorized pattern searching
US9268567B2 (en) * 2012-09-30 2016-02-23 Intel Corporation Instruction and logic for boyer-moore search of text strings
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
WO2016126474A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
EP3254287A4 (en) 2015-02-06 2018-08-08 Micron Technology, INC. Apparatuses and methods for memory device as a store for program instructions
CN107408408B (zh) 2015-03-10 2021-03-05 美光科技公司 用于移位决定的装置及方法
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
CN107430874B (zh) 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11256862B2 (en) 2018-10-23 2022-02-22 International Business Machines Corporation Cognitive collation configuration for enhancing multilingual data governance and management
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
CA1265623A (en) * 1987-06-11 1990-02-06 Eddy Lee Method of facilitating computer sorting
CA1280215C (en) * 1987-09-28 1991-02-12 Eddy Lee Multilingual ordered data retrieval system
US5077669A (en) * 1989-12-27 1991-12-31 International Business Machines Corporation Method for quasi-key search within a national language support (nls) data processing system
US5218700A (en) * 1990-01-30 1993-06-08 Allen Beechick Apparatus and method for sorting a list of items

Also Published As

Publication number Publication date
EP0672283B1 (en) 1996-05-22
CA2145672A1 (en) 1994-09-29
DE69400207D1 (de) 1996-06-27
US5440482A (en) 1995-08-08
DE69400207T2 (de) 1997-01-16
EP0672283A1 (en) 1995-09-20
AU6017994A (en) 1994-10-11
WO1994022096A1 (en) 1994-09-29

Similar Documents

Publication Publication Date Title
JPH08508123A (ja) 言語認識照合システム
JPH08508124A (ja) 言語認識照合システム
Peterson Computer programs for detecting and correcting spelling errors
US8190613B2 (en) System, method and program for creating index for database
EP0294950B1 (en) A method of facilitating computer sorting
JP3152868B2 (ja) 検索装置および辞書/テキスト検索方法
US5778361A (en) Method and system for fast indexing and searching of text in compound-word languages
JP2790466B2 (ja) 文字列検索方法及び装置
JP2670383B2 (ja) 部分キー分岐機能を備えたプレフィックス探索ツリー
JPH02271468A (ja) データ処理方法
JPH05505050A (ja) 変更ファイルから情報を検索するためにデータベースコンポーネントファイルを探索する方法及び装置
US6430557B1 (en) Identifying a group of words using modified query words obtained from successive suffix relationships
US7941311B2 (en) System and method for linguistic collation
JP3151730B2 (ja) データベース検索システム
US6469643B1 (en) Information processing system
JP3728264B2 (ja) インデックス作成装置、検索システム、及び制御方法
JPH08115330A (ja) 類似文書検索方法および装置
JPH07225761A (ja) 文書データの一致検証方式
JP2975529B2 (ja) 電子化辞書検索装置
JP4139805B2 (ja) 字句をデータに変換する装置、方法及びプログラム
JPH06309360A (ja) 否定論理条件の処理に適したフルテキストサーチ方法
JPH0528194A (ja) データアクセス方式
JPH0628391A (ja) 辞書生成システム
JP2004318753A (ja) 字句をデータに変換する装置及び方法
JPH1097542A (ja) 全文検索装置及び全文検索方法