[go: up one dir, main page]

JP3121568B2 - 言語を特定する方法およびシステム - Google Patents

言語を特定する方法およびシステム

Info

Publication number
JP3121568B2
JP3121568B2 JP09259483A JP25948397A JP3121568B2 JP 3121568 B2 JP3121568 B2 JP 3121568B2 JP 09259483 A JP09259483 A JP 09259483A JP 25948397 A JP25948397 A JP 25948397A JP 3121568 B2 JP3121568 B2 JP 3121568B2
Authority
JP
Japan
Prior art keywords
word
words
language
document
tables
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.)
Expired - Fee Related
Application number
JP09259483A
Other languages
English (en)
Other versions
JPH10124513A (ja
Inventor
マイケル・ジョン・マルチノ
ロバート・チャールズ・ポールセン・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10124513A publication Critical patent/JPH10124513A/ja
Application granted granted Critical
Publication of JP3121568B2 publication Critical patent/JP3121568B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本願は参照することによって
本明細書の一部となる本願と同一の発明者による本願と
同一譲受人に譲渡された1996年9月19日出願の
「Word Counting for Natural Language Determinatio
n」なる名称の係属米国特許願第08/699412号
の一部継続出願である。
【0002】本発明は総括的に、人間言語認識技術に関
する。詳細にいえば、本発明はコンピュータ化された文
書に使用される言語を識別する技法に関する。
【0003】
【従来の技術】コンピュータおよびコンピュータ・ネッ
トワークは異なる自然言語を話したり、書いたりする人
々の間での符号化された文書の伝送を激しいものとして
いる。インターネットが最近ではこのプロセスを加速し
ている。これによっていくつかの問題が生じている。従
来の技術においては、たとえば、電子文書を国境を越え
て送信した場合、コンピュータ・システムの動作に割込
みが行われるので、所与の言語の特性によって決まる選
択、表示、印刷などの所与の操作の前に、人間が受信し
た文書の自然言語を判断することができた。インターネ
ット検索に関し、ユーザが多国語に堪能でない限り、ユ
ーザが関心を寄せるのはユーザの国語で検索された文書
だけになるであろう。いずれにせよ、ユーザに読める言
語のものだけとなるであろう。
【0004】本明細書記載の発明はコンピュータが記録
した文書の適正な自然言語を自動的に判定することによ
り、このような人間の介入の必要性をなくすものであ
る。
【0005】本出願人が当分野に貢献する以前から、一
般的な問題が従来の技術において認識されていた。符号
化テキストの自動言語識別の分野において、従来の技術
はn−グラムのキャラクタ・ベースのシステムを使用し
ていたが、これは各文字を複数回処理するものであり、
以下で説明する本出願人のワード・ベースの技法に比較
して、大量のシステム・リソースを消費する方法であっ
た。音声認識システムにおいて、言語認識は言語と音声
の特性、たとえば大量のテキストの解析および測定と、
きわめて長い処理時間を必要とするトリグラムないし語
勢を使用している。これらの技法は言語学上の関係では
有意なものではない言語の統計に基づく、ある種の形式
のマッチング・アルゴリズムに基づくものである。
【0006】コンピュータ化された文書においてトリグ
ラム、n−グラム、およびその他の人工的な分割を使用
する従来のシステムは、信頼性があるものとは見なされ
ず、各文字を1つの文書について複数回処理する、たと
えば、各文書の文字が3種類のトリグラムに現れるもの
であるため、きわめて遅く、またかなりのコンピュータ
時間を費やすものである。測定ないし導かれたものでは
あるが、トリグラムや文字列などの文書とされた言語の
実際の構成要素ではない特性は適正な言語の識別におい
て限定された成功を収めているが、大量のテキストを解
析し、測定する必要がある。同様に、個々の文字および
その局所的なコンテキストという属性に依存する従来の
システムも、言語の識別という問題に適用した場合、限
定されたものである。
【0007】本明細書記載の発明においては、従来技術
の技法、たとえば信号波形特性、トリグラム、n−グラ
ム、あるいは文書となった言語の人工的な分割による言
語の分類はいずれも使用されない。本願発明において
は、語をコンピュータ文書から読み取り、関心の的とな
っている複数の言語から選択した語の所定のリストと比
較する。語リストは比較的少数の各言語でもっとも一般
的に使用される語を含んでいる。統計的にいうと、任意
の文書におけるすべての語のかなりの割合が、その言語
で使用されるもっとも一般的な語である。文書の言語ま
たはジャンルが、どの言語の語リストがその文書の語と
もっとも近い一致を示すかを判定するプロセスによって
特定される。
【0008】親出願において、出願人等は一致の近さを
関心の的である言語またはジャンルにおけるリスト語の
出現の正規化した頻度の合計によって判定できることを
教示した。各言語の語リストおよびこれに関連づけられ
たリスト内での各語の出現頻度は、ワード・テーブルに
保管される。ワード・テーブルはそれぞれのアキュミュ
レータとリンクされており、アキュミュレータの値は入
力文書からの語がワード・テーブルの1つに収められて
いる共通語と一致するたびに増加する。このプロセスは
語の正規化された出現頻度を、ワード・テーブルで発見
された場合に、それぞれの言語に関連づけられたアキュ
ミュレータ内の現行の合計値に追加する。処理が停止し
た場合、特定された言語はもっとも値が大きいアキュミ
ュレータと関連づけられた言語となる。処理を停止でき
るのは、文書の末尾に到達した場合、あるいは蓄積され
た識別において所定の信頼度を達成した場合のいずれか
である。
【0009】ただし、蓄積プロセスにおける重み付けが
あまり好ましくないこと、および候補となる自然言語の
各々における実際の出現頻度を確立することができ、し
かもワード・テーブルがアセンブルされたそれぞれの候
補言語の実質的に等しい適用範囲を有しているのであれ
ば、これを排除できることを本出願人は教示している。
【0010】本願は自然言語判定のために語をカウント
するという基本発明を改良して、もっとも効率がよく、
迅速な態様で言語を特定できるようにするものである。
【0011】
【発明が解決しようとする課題】したがって、本発明の
目的は、コンピュータに記憶された文書が書かれている
自然言語を、複数の候補言語からもっとも効率のよい態
様で特定することである。
【0012】本発明の他の目的は、数種類の事前定義さ
れた自然言語のうちのどれで、所与のテキストの本文が
書かれているかを特定することである。
【0013】本発明の他の目的は、きわめて迅速な機構
を提供することである。
【0014】本発明の他の目的は、必要なメモリを最小
限とすることである。
【0015】本発明の他の目的は、記憶されている語の
数にかかわりなく、必要なメモリが固定されることであ
る。
【0016】
【課題を解決するための手段】これらおよびその他の目
的は、複数の候補言語の各々においてもっとも頻繁に使
用される語のセットを使用することにより、文書が書か
れている言語を特定することによって達成される。もっ
とも頻繁に使用される語の各セットは、もっとも頻繁に
使用される語の各セットにおける文字対にしたがって、
それぞれの候補言語に対するワード・テーブルのそれぞ
れのセットに記憶される。好ましい実施の形態におい
て、各ワード・テーブルはN×Nビットのテーブルであ
り、各ビットは候補言語の1つにおけるもっとも頻繁に
使用される語の1つの特定の場所での所与の文字対を表
している。文書からの語はワード・テーブルに記憶され
ているもっとも頻繁に使用される語と比較される。文書
からの語と、ワード・テーブルの各個別のセットに記憶
されている語との間のマッチ数のカウントが、各個別の
言語に対して維持される。文書の言語はマッチ数がもっ
とも大きいそれぞれの候補言語である。
【0017】本発明による言語決定速度は、文書の言語
ないしジャンルを高い信頼性で判定するために読みとる
必要のある語が比較的少ないため、きわめて高速であ
る。すべての言語はソフトウェアの速度とは対照的に、
比例したハードウェア速度でハードウェアにおいて並列
に処理することができる。ハードウェア内で必要とされ
る基本動作ははるかに単純であり、それ故、ソフトウェ
アの同等物よりも本質的に高速である。
【0018】さらに、本発明の利点は、対象となる各候
補言語用のワード・テーブルに収める必要がある語の数
がわずか、たとえば、25−200語だけであり、した
がって、実施時に各語を比較的少数の語に対してテスト
するだけで、信頼性の高い認識ができることである。ハ
ードウェアによる実施の形態においては、語間の比較は
行われない。各語はビット・テーブル(テーブルのセッ
ト)に対するアドレスとして使用され、アドレスは
「1」ビットを含んでいるか、含んでいないかのいずれ
かである。比較操作は存在しない。以下で検討するよう
に、各言語に対するワード頻度テーブルに選択される語
が、それぞれの言語における発生頻度の比例する割合を
カバーしていることが重要である。
【0019】
【発明の実施の形態】本明細書において、「言語」とい
う用語は人間の意志疎通に使用される自然言語、すなわ
ち人間の言語、たとえば、英語、フランス語、スペイン
語、ドイツ語などを意味する。特許請求の範囲で使用さ
れる「言語」という用語は自然言語内の「ジャンル」に
も適用される。ジャンルは本明細書において、特定のコ
ンテキストにおける言語の使い方の特有なスタイルと定
義される。たとえば、英語におけるジャンルは技術文
献、商用文献、法律文献、医療文献、フィクション、そ
の他多くのものがある。それ故、ジャンルは符号化され
た文書に反映される、自然言語内でのさまざまなスタイ
ルおよび語の使い方の態様を含む同じ言語のさまざまな
変形に適用されるものであり、言語における標準的な語
の特有な使い方を含むことができ、また新しい語を言語
に追加することができる。ジャンルは特定な専門用語、
高地ドイツ語、低地ドイツ語、およびスイスドイツ語、
あるいはロンドン英語やニューヨーク英語などの言語の
方言を反映することができる。
【0020】日本語、中国語および韓国語などの表意言
語は、コンピュータにおいて今日このような言語に使用
されている2バイト・コードなどの適切な内部コード化
表示を選択することにより、コンピュータ機構において
本発明によって処理することができる。それ故、本発明
の機構を、それぞれの言語に使用される人間に可読な印
刷記号に必要なアルファベットまたは語形式に関わりな
く、符号化された語を有している任意の言語に適用する
ことができる。
【0021】ワード・テーブルの生成 好ましい実施の形態の1つにおいて、ワード・テーブル
はそれぞれの候補言語からの語の大量のサンプルがカウ
ントされている学術的な著作を参照した結果である。ワ
ード・テーブルが構築されると、着信コンピュータ文書
の言語についての実際の判定を開始できる。語を記憶す
る特に好ましい方法の1つを、以下で開示する。
【0022】参照することによって本明細書の一部とな
る米国特許願第08/699412号はワード・テーブ
ルを導くことのできる多くの学術参考文献を記載してい
る。以下の表1はワード・テーブルに必要な語数が比較
的少ないものである理由を立証している。表1のデータ
はH. KuceraおよびW. N. Francisの「ComputationalAna
lysis of Present-day American English」、Brown Uni
versity Press(ロード・アイランド州プロビデンス)
1967年刊から取ったものである。この表は英語の文
書においてもっとも一般的な12の語を「測定頻度」の
順で上から下へ並べたものである。「測定頻度」はきわ
めて多数の英文文書における総語数に対して決定した、
英語(の文書)で使用されている100語あたりの各共
通語の平均カウントである。したがって、英文文書のテ
キストのそれぞれのサンプルからランダムに選択した語
がその特定の語である事例のパーセントである。「測定
頻度」は、本明細書で以前に使用した発生頻度と透過で
ある。表1の各「累積頻度」はその点から上の表内のす
べての語に対する「測定頻度」の合計である。たとえ
ば、20.307という「累積頻度」が表1の「in」
という語に示されており、英語でのもっとも頻繁に使用
される語(すなわち、表1の最初の6つの語:「th
e」、「of」、「and」、「to」、「a」、およ
び「in」)を含んでいる複数の一般的な語を表してい
る。20.307という「累積頻度」はしたがって、こ
れら6つの語に対する「測定頻度」を加算することによ
って導かれる。それ故、英文文書のテキストのそれぞれ
のサンプルにおいて、テキスト中のその後の約20%
が、表1の最初の6語のうちの1つになる。少なくとも
26%が表の12語のうちの1つになる。それ故、比較
的少数の語がそれぞれのテキストの実質的な部分を表し
ている。同じような統計値を示している同様な表を他の
言語に対して構築することができる。
【0023】
【0024】上記の表1に示した言語の統計値は、ある
言語でもっとも一般的なものである語が言語の特定を行
うに当たりもっとも有用なものであることを示してい
る。ある言語における一般的な語とは、その言語で頻繁
に使用される語であると定義される。その結果、ある言
語からの一般的な語は本質的に文書による通信でみられ
るものであり、それ故、本発明のプロセスがこれらを見
いだすこととなる。
【0025】ワード・テーブルにおける頻度を同等なも
のとする正規化その他の作業が必要であるが、これはサ
ンプル・サイズが言語の参考文献ごとに異なっていた
り、サンプル・サイズが未知であったり、あるいはサン
プルから取ったもっとも一般的な語のリストが異なる言
語の異なる累積量であったりするからである。各言語に
対して同じタイプの同じ量の情報がない場合、正規化が
よい考えである。候補言語のすべてに対して同等な情報
が利用できる場合には、正規化は必要ない。参照するこ
とにより本発明の一部となる上述の米国特許願第08/
699412号は、ワード・テーブルを構築するのに使
用できる正規化技法を論じている。本発明は主としてワ
ード・テーブルが構築されてから、これを記憶し、使用
する改善された方法に関する。
【0026】以下で詳述する好ましい記憶方法におい
て、親出願で使用されている「単純カウンティング」
は、候補言語を特定するために使用される。実際には、
この記憶方法においては、重み付けをここに記憶された
語と関連づけるのが困難である。
【0027】言語内の語の実際の頻度がわかっている場
合に、所与の言語ないしジャンルにおいてもっとも頻繁
に生じるn個の語についてワード・テーブルを計算する
には、以下の方法を使用することができる。
【0028】ステップ1:検討中の言語の各々における
もっとも一般的なn個の語の各々の総発生数を計算す
る。
【0029】ステップ2:ワード頻度テーブルにおける
言語の各々に、もっとも頻繁に発生する語の各々を入
れ、語の各々に対して重み付けを1に設定する。
【0030】それ故、単純カウンティング法における発
生頻度はワード・テーブルにワード・リストを設定し
て、各々における語が候補言語の各々のほぼ同等な有効
範囲を有しているようにするためだけに使用される。図
3は英語、イタリア語およびデンマーク語のワード・テ
ーブルの一部を示す。重み付け係数がテーブルに含まれ
ていないことに留意されたい。たとえば、英語において
は、約40%の有効範囲を得るには46語が適切であ
り、イタリア語においては、148語が必要である。
【0031】上述した学術的な資料源の代替策として、
対象となる各言語またはジャンルにおける語に対する語
頻度を、本発明が使用される環境における大量の文書の
語をデータ処理システムにカウントさせることによっ
て、決定することができる。この手法は、しばしば生じ
ることのある、特定の環境が対象となる1つまたは複数
の言語における専門用語、または話し言葉を混ぜ合わせ
ている場合、あるいは同一言語における異なるジャンル
を区別しようとする場合に、リストされている資料源を
使用するよりも有用である。
【0032】本発明の変形として、ワード・テーブルの
いずれかが、それぞれのテーブルの言語における使用頻
度が比較的低い同一言語に固有な語のサンプリングも含
んでいることができる。固有の語を使用することはジャ
ンルを区別するにあたり特に有用である。
【0033】これらの言語統計値の全体的な効果は、候
補言語の各々におけるもっとも一般的な25−200語
を使用して、未知の言語の文書からの約100−200
語を検証することが、文書の言語を正確に判定するのに
通常十分なものであることである。一般的な場合に、本
出願人らはそれぞれのワード・テーブルにおける言語の
約40%の有効範囲を達成することを試みた。これは通
常、200語未満の選択した一般的な語によって達成で
きた。
【0034】言語の特定本発明の好ましい実施の形態
は、周知のデータ処理システムで実行される新規なコン
ピュータ・プログラムの組合せである。あるいは、本発
明を特別な記憶ハードウェアで具体化されたテーブルを
操作する独立した比較器制御部を有する、特殊データ処
理ハードウェア(図示せず)で具体化することができ
る。本出願人らが単純なワード・カウンティング実施形
態と呼ぶ好ましい実施の形態においては、発生測定ない
しカウント頻度はテーブルを組み立てるのに使用される
が、累積のための重み付けとしては使用されない。以下
で説明するように、単純カウンティングの効果は、本出
願人らが当初提案した重み付け累積プロセスを、異なる
言語のアキュミュレータにおける処理によって構築され
た値が実際に、候補言語の各々のワード・テーブルでの
一般的なワードの発生数のカウントであるカウンティン
グ方法と置き換えることである。
【0035】単純カウンティング法に関連した利点の中
には、比較的少量のテキストの単純なカウンティングに
よって必要とされるワード・リストが与えられるデータ
収集の単純化、ハードウェアおよびソフトウェアで方法
を実施するのが容易であること、ならびに正規化が必要
なくなることがある。ハードウェアにおけるカウンティ
ング、すなわち1つまたは複数の既定の条件の下での1
ずつの増分はコンピューティング・マシーンの基礎とな
るものである。
【0036】図1は本発明の実施の形態をサポートする
一般的なシステム構成の全体的なブロック図である。こ
の図はシステム内のハードウェアまたはソフトウェア、
あるいはこれら両方で形成することのできる構成要素を
含んでいる。本発明はさまざまなオペレーティング・シ
ステムのもとで各種のコンピュータまたはコンピュータ
の集合体で動作できる。コンピュータは、たとえば、パ
ーソナル・コンピュータ、ミニ・コンピュータ、メイン
フレーム・コンピュータ、または他のコンピュータの分
散ネットワークで作動するコンピュータでよい。OS/
2 Warp3.0オペレーティング・システム上で動
作するIBM PCシリーズのコンピュータを、本発明
において使用することができる。この場合も、ハードウ
ェア要件はきわめて控えめなものである。ハードウェア
による実施の形態は16KB、おそらくはもっと少ない
メモリを備えたIntel 8086プロセッサで実現
することができる。
【0037】図1において、システム・ユニット11
と、キーボード12と、マウス13と、表示装置14を
備えているコンピュータ10が、ブロック図の形式で示
されている。システム・ユニット11はシステム・バス
または複数のシステム・バス21を含んでおり、このバ
スには各種の構成要素が結合されており、かつこのバス
によって各種の構成要素の間の通信が達成される。マイ
クロプロセッサ22がシステム・バス21に接続されて
おり、かつ読取り専用メモリ(ROM)23によってサ
ポートされており、またランダム・アクセス・メモリ
(RAM)24もシステム・バス21に接続されてい
る。ROM23は他のコードとともに、基本入出力シス
テム(BIOS)を含んでおり、これは対話などの基本
ハードウェア動作、ディスク装置およびキーボードを制
御する。RAM24はメイン・メモリであり、これにオ
ペレーティング・システムおよびアプリケーション・プ
ログラムがロードされる。メモリ管理チップ25がシス
テム・バス21に接続されており、RAM24とハード
・ディスク装置26およびフロッピィ・ディスク装置2
7との間のデータの受け渡しを含む直接メモリ・アクセ
ス動作を制御する。システム・バス21にも結合された
CD ROM32は、大量のデータ、たとえば、マルチ
メディア・プログラムまたはプレゼンテーションを記憶
するために使用される。
【0038】このシステム・バス21には、各種の入出
力コントローラ、すなわちキーボード・コントローラ2
8、マウス・コントローラ29、ビデオ・コントローラ
30、およびオーディオ・コントローラ31も接続され
ている。考えられるとおり、キーボード・コントローラ
28はキーボード12用のハードウェア・インタフェー
スを備えており、マウス・コントローラ29はマウス1
3用のハードウェア・インタフェースを備えており、ビ
デオ・コントローラ30は表示装置14用のハードウェ
ア・インタフェースであり、オーディオ・コントローラ
31はスピーカ15用のハードウェア・インタフェース
である。トークン・リング・アダプタなどの入出力コン
トローラ40は他の同様な構成のデータ処理システムと
のネットワーク46での通信を可能とする。
【0039】本発明の好ましい実施の形態の1つは、ほ
ぼ上述のように構成された1つまたは複数のコンピュー
タ・システムのランダム・アクセス・メモリ24に常駐
している命令のセット101−106である。コンピュ
ータ・システムが必要とするまで、命令のセットを他の
コンピュータ・メモリ、たとえばハード・ディスク装置
26に、あるいはCD−ROM32で最終的に使用する
ため光ディスクなどの取外し可能メモリに、あるいはフ
ロッピィ・ディスク装置27で最終的に使用するために
フロッピィ・ディスクに記憶しておくことができる。プ
ログラムを他のコンピュータ・システムのメモリに記憶
して、希望する場合に、ネットワークで、あるいはイン
ターネットなどの外部ネットワークで送ることもでき
る。当分野の技術者には、命令セットの物理的記憶が、
これを記憶したり、電気的、磁気的、あるいは化学的に
伝送する媒体を物理的に変化させて、媒体がコンピュー
タ読取り可能情報を坦持するようにすることが理解でき
よう。
【0040】本発明を命令、記号、文字などによって説
明するのが好適であるが、これらおよび類似の項目をす
べて、適切な物理的要素に関連づけなければならないこ
とを想起すべきである。さらに、本発明を人間の操作員
に関連づけられる比較、特定などの用語によって説明す
ることがしばしばある。人間の操作員による活動は、本
発明の一部を形成する、本明細書に記載する操作のいず
れにも望ましいものではなく、操作は他の電気信号を生
成する電気信号を処理する機械操作である。
【0041】本明細書に記載するように、本発明はその
言語に使用される印刷記号に関係なく、アルファベット
を使用する任意の言語またはジャンルに適用される。コ
ンピュータ文書として、このような記号はすべて人間が
読み取ることのできる記号ではなく、2進コードとして
コンピュータ装置で処理される。
【0042】RAM24内のデータおよび論理ブロック
を、ここで詳細に検討する。符号化データ入力が文書ソ
ース101から与えられる。この文書ソース101は人
間の言語を使用して生成される文書のテキストを著す符
号化文字を提供する。RAMに常駐する前に、文書ソー
ス101は文書のハード・コピーから符号化文字を読み
取る光学式文字読取り装置によって与えられる。あるい
は、文書ソース101は内部記憶装置、たとえば、シス
テムのフロッピィ・ディスク、磁気テープまたはコンパ
クト・ディスクに記憶された文書のソフト・コピーから
読み取られた符号化文字であってもよい。または、文書
ソース101はデータ処理システムへ、端末装置または
周辺装置の1つから文書を読み取る同様なシステムを使
用して遠隔ロケーションからネットワーク上を伝送され
る符号化文字として作成することもできる。
【0043】ワード・テーブル102の各々は、ソース
文書101の言語として検出することのできるそれぞれ
の言語と関連づけられる。ワード・テーブルの構成は上
述したとおりである。純粋なカウンティング方法におい
ては、実際の発生頻度または正規化された発生頻度など
の重み付けはワード・テーブルには必要ない。テーブル
102によって表される特定の言語のセットを、本明細
書では対象言語または候補言語と呼ぶ。テーブル102
に表されていない言語は着信文書ソース101の言語と
して検出することはできない。
【0044】ソース101からのテキストは可変長ワー
ド単位で比較器103に与えられる。ハードウェアによ
る実施の形態において、比較器はプロセッサの一部であ
る。比較器制御部103はソース101から受け取った
各可変長ワードを複数の言語ワード・テーブル102内
の語と比較する。以下の好ましい実施の形態で検討する
ように、異なる長さの語は異なるワード・テーブルに記
憶される。それ故、これらの実施の形態においては、同
じ長さの語だけを適切なワード・テーブル内の語と比較
するのが道理にかなっている。
【0045】文書ソース101から受け取った各語は比
較器103によって、テーブル102の語と比較され
る。比較器103は入力文書ソースの各語と、ワード・
テーブル102から読み取ったテーブルの各語との間の
等しいまたは等しくない条件を判定する。すべてのテー
ブル102のすべての語が比較器103によって比較さ
れるまで、複数のワード・テーブル102の各々におけ
る語が走査される。
【0046】単純カウンティングにおいては、文書から
の語がハード・テーブル内の語と一致した場合に、それ
ぞれの候補言語と関連づけられたアキュミュレータは、
1ずつ増分される。
【0047】ソースの語の入力が停止された場合、比較
処理は停止する。これが生じるのは、文書ソース101
が現行文書の終わりに達するか、あるいは所定数の語に
達した場合、すなわち、最小数の語が文書ソース101
によって供給された場合、あるいはもっとも値が高いア
キュミュレータ104が所定量の係数だけ次のもっとも
値が高いアキュミュレータ104を越えた場合である。
これについては、ステップ205に関連して、以下で詳
細に検討する。
【0048】比較処理が文書ソース101に対して停止
した場合、言語選択プロセス106がプロセッサ105
による照会を受ける。言語選択プロセス106はすべて
のアキュミュレータ104内のすべての蓄積値にアクセ
スし、もっとも高い値を含んでいるアキュミュレータが
どれであるかを判定する。
【0049】もっとも高い値を含んでいるアキュミュレ
ータに関連づけられた言語が、言語セレクタ106によ
って、特定された言語として出力される。
【0050】複数のアキュミュレータ104はそれぞ
れ、各言語のワード・テーブルと関連づけられている。
すなわち、各言語は関連するワード・テーブルと、少な
くとも1つの関連するアキュミュレータを有している。
それ故、これによって、アキュミュレータには各対象言
語が与えられる。関連づけられている言語は各アキュミ
ュレータと各ワード・テーブルとともに記録されてい
る。アキュミュレータはすべて初期化ステップ202に
よってゼロ値にリセットされてから、語が文書ソース1
01から図1または図2のプロセスへ入力される。
【0051】処理中に、各アキュミュレータは文書で見
いだされる各言語における共通語にしたがって増分され
る。単純カウンティング法において、アキュミュレータ
は共通語の純粋なカウントを含んでいる。
【0052】重み付け環境および混合環境において、各
アキュミュレータは同一の言語に対する関連ワード・テ
ーブル内の共通語にマッチする、ソース文書内の共通語
の重み付けの合計を含んでいる。ソース文書内の語の、
いずれかのワード・テーブル内の語との各マッチについ
て、その語に対する、たとえば重み付け1が関連するア
キュミュレータ内のその言語に対する合計に加えられ
る。
【0053】それ故、各アキュミュレータは関連するワ
ード・テーブル内でマッチを有している入力語に対する
マッチないし重み付けを総計する。マッチが生じるの
は、入力文書からのソース・ワードが、関連するワード
・テーブル内のワードと等しいと判断される場合であ
る。入力文書に対する読取りが終了した後、すべてのア
キュミュレータのうちもっとも高い値を有しているアキ
ュミュレータに割り当てられた言語は、プロセスによっ
て、文書の特定された言語として宣言される。
【0054】図2の流れ図におけるプロセスは文書を処
理し、その言語を判定するステップの一般的な順序を示
している。このプロセスを独自の語の使い方を参照する
ことなく説明する。
【0055】ステップ202、203、204、および
206の各々はデータ処理システム内のプロセッサの制
御のもとで動作する。ステップ202はデータ処理シス
テムの初期化を行い、対象言語に対してワード・テーブ
ルおよびアキュミュレータを使用して本発明を実行す
る。ステップ202はワード・テーブルとアキュミュレ
ータを、記憶媒体からシステム・メイン・メモリにロー
ドする。この記憶媒体上には、ワード・テーブルとアキ
ュミュレータがあらかじめ作成された後に記憶されてお
り、メイン・メモリ内のこれらのアドレスは、その実行
に使用するために図2のプロセスに渡される。このステ
ップはアキュミュレータをゼロ状態にセットすることも
行う。ステップ203は文書をその構成語、すなわち最
初の語および一連の後続の語に分解する。その言語が判
定されるソース文書からの各語は、ステップ204の比
較プロセスに転送される。最初の語は文書内の実際の最
初の語である必要はなく、ソース文書内のどこにあって
もよく、一般に、ソース文書内の非テキスト・データ語
の最初のテキスト・ワードである。非テキスト・データ
は一般に、図2のプロセスに与えられる一連のデータで
はスキップされる。
【0056】ステップ204は各ソース・ワードをワー
ド・テーブル内の共通語と比較する。ステップ204は
単純カウンティング法の場合に1を、ワード・テーブル
に関連づけられたアキュミュレータの現行の合計に付け
加える。
【0057】ステップ205は文書の処理を停止する時
期を決定する。これは以下の条件のいずれかが検出され
たときでよい。
【0058】1.文書全体が読み取られ、すべての語が
ワード・テーブルと比較される。これは文書の終わり信
号を認識することにより、文書の大きさを知り、処理さ
れたテキストの量を追跡することにより、文書の終わり
を示すものとしての入力を受け取らない時間が経過した
ことを感知することにより、あるいはファイルの終わり
を報告するデータ処理システムのファイル処理サブシス
テムに依存することによって決定できる。
【0059】2.文書からの所定数の語が処理される。
言語を判定するのには、100語程度が必要なだけであ
ることが判明した。それ故、大きい文書のすべての語を
本発明によって読み取り、処理する必要がない。
【0060】3.ある最小数の語が処理された後、最高
値のアキュミュレータと次の最高値のアキュミュレータ
の間の所定のファクタ、あるいは差が達成される。アキ
ュミュレータが分岐すると、文書全体が処理されたとき
に、付加的な処理によって次の最高値のアキュミュレー
タを他のアキュミュレータが超えることがきわめて起こ
りにくくなることが判明している。
【0061】文書の終わりがステップ205によって感
知された後、ステップ206に入る。ステップ206は
すべてのアキュミュレータの値を比較し、もっとも大き
い値を有しているアキュミュレータを見つけだす。ステ
ップ206はもっとも大きい値を有しているアキュミュ
レータと関連づけられた言語フィールドの言語名コンテ
ンツを出力して、特定された言語を判定する。このプロ
セスの詳細は参照することによって本明細書の一部とな
る上記の米国特許第08/699412号に記載されて
いる。
【0062】自然言語判定のためのワード記憶テーブル 上述のように、本発明は所与の単位のテキストが書かれ
ている自然言語、たとえば英語、フランス語、オランダ
語を特定することを目的として開示されている数種類の
手段に関する。詳細にいえば、認識すべき個々の文書の
各々における頻繁に生じる語の辞書を記憶するために使
用することのできる方法を開示する。
【0063】この記憶方法の利点は、比較的小さく、一
定量のメモリに辞書の語を記憶できるところにある。記
憶サイズは辞書に追加される語数の関数として成長する
ことはない。すなわち、必要とされる記憶域を大きくす
ることなく、語をある程度辞書に追加することができ
る。ハードウェアによる実施形態の場合、本発明は語が
テーブルに記憶されているかどうかを判定するために、
単一サイクルのアクセスを提供する。記憶域要件のサイ
ズ不変性は、ハードウェアを付随的に増加させることな
く、辞書をある程度成長させることができるため、ハー
ドウェアによる実施形態にとって特に重要なものであ
る。これらの利点は本明細書で検討する特定のもの以外
の広い範囲の用途に、本記憶方法を有用なものとするも
のと考えられる。これらの用途のいくつかを以下で検討
する。
【0064】本発明の重要な特徴の1つは、上記の利点
が達成される態様で語頻度テーブルが内部で表示される
ことである。
【0065】語頻度テーブルを記憶する方法は、言語内
でもっとも一般的な語が使用されているものとして、十
分な識別を与えるものである。このような場合、検討対
象の言語の各々に関連づけられたワード・テーブルの各
々における各語に対して、「重み付け」を1.0という
一定値に設定されたものとして見なすことができ、ワー
ド・テーブルのアクセスは異なっている。実際には、ワ
ード・テーブルが本方法にしたがって記憶された場合
に、重み付けを使用することができる。異なる言語のア
キュミュレータにおける処理によって蓄積された値が、
検討対象の言語の各々に記憶された一般的な語の「マッ
チ」のカウントであるカウンティング方法を使用するこ
とができる。以下で検討するように、マッチの中には実
際にはエイリアス、すなわち検討対象の言語で生じる、
共通語以外の語であるものがある。
【0066】本発明によれば、語記憶の基本単位はn×
nビットのテーブルであり、各ビットは検討対象の言語
の1つにおける語内の特定の位置にある所与の文字対を
表している。初期化以前の英語の基本テーブルは次のよ
うになる。
【0067】好ましい実施の形態において、ブランク、
アポストロフィ、またはハイフンは文字とは見なされな
い。他の実施の形態において、状況によっては、これを
行うのが有用である。たとえば、外国語は特殊文字を大
幅に使用している。フランス語やイタリア語は英語に比
較してアポストロフィを多く使用する。ワード・テーブ
ルを使用して、異なる長さの語を記憶する場合、短い語
を記憶するには、ブランク文字が必要である。たとえ
ば、「in」という語を3文字語のテーブルに記憶しよ
うという場合、ブランク文字が「in」の後ろに挿入さ
れることになる。
【0068】本記憶方法はハードウェアだけではなく、
ソフトウェアおよびファームウェアで実施することがで
きる。しかしながら、ほとんどバイト・ベースであっ
て、ビット・ベースではないため、ソフトウェアによる
実施の形態がハードウェアで可能な速度に近づくことは
疑問である。しかしながら、マイクロプロセッサ・シス
テムを使用した賢明な再使用可能なスレッドによれば、
可能であろう。
【0069】n文字の語を記憶するためには、このよう
なテーブルに次のものを使用する必要がある。 (i=1to(n−1)) SIGMA i、for
n>=2 2文字の語を記憶するには、テーブルが1つ必要であ
る。3文字の語の記憶には、1+2すなわち3つのテー
ブルが必要である。5文字の語を記憶するには、10
(1+2+3+4)のこのようなテーブルが必要であ
る。本出願人らは言語におけるもっとも一般的な語がも
っとも短いものであり、それ故、7文字以上の多くの共
通語がある言語がほとんどないことを認めた。
【0070】しかしながら、共通語が長くなりがちな言
語、たとえばハワイ語がある。他の実施の形態において
は、語全体を記憶するのではなく、語の略語のみを記憶
する。略語はすべての語に対して一定、たとえば最初の
4ないし5文字であることが好ましい。たとえば、英語
においては、最初の96語のもっとも一般的な語のう
ち、6文字以上の長さのものは「before」と「t
hrough」の2つだけである。イタリア語の場合、
イタリア語の文書のほぼ40%を表している148語の
もっとも一般的に生じる語のうち、16語だけが6文字
であり、1語が7文字である。これらの語は次の通りで
ある。 「allora」、「ancora」、「esser
e」、「giorno」、「grande」、「per
che*」、「quando」、「quanto」、
「quella」、「quelle」、「quell
o」、「questa」、「questi」、「que
sto」、「sempre」、「stesso」、およ
び「qualche」 *は「perche」の最後の「e」の上にアクセント
があり、端末で適正に表示されないことを意味する。
【0071】最初の5文字だけを取り出すと、「que
lla」、「quelle」および「quello」が
1語としてカウントされ、「questa」、「que
sti」および「questo」も同様となる。この形
態のエイリアシング(aliasing)は本発明では「弱いエ
イリアシング」と呼ばれるものであり、1つまたは複数
の語がワード記憶テーブル内で、同じ言語からの他の語
として見なされる場合である。弱いエイリアシングは本
発明では問題ではない。長い語は切りつめられ、システ
ムがある長さの語だけを取り入れるようにプログラムさ
れていない限り、同じ5文字を有するものとしてカウン
トされる。それ故、もっとも一般的な語ではない他の語
もカウントされる。「quella」を「quell
e」とカウントすることは、これが同じ言語に対してカ
ウントされている限り問題ではない。第2の種類のエイ
リアシングは強いエイリアシングと呼ばれるものであ
り、ある言語の語またはその略語がワード記憶テーブル
において、他の言語からの語と見なされると問題とな
る。たとえば、高い頻度の語「das」が候補言語1
(ドイツ語)で生じ、候補言語2(フランス語)のもの
と見なされた場合、候補言語2に対するワード・カウン
トは、「das」の強いエイリアシングにより、実際よ
りも大きく、間違ってバイアスがかけられる。
【0072】辞書の語に対する強弱両方のエイリアシン
グは、ワード・テーブルを互いに対して処理し、正しく
ない合計について出力を検証することによって簡単に検
出される。候補言語1および2でm個の語、たとえば、
多くのインドヨーロッパ語にでてくる「in」を共通と
しているのであれば、1の辞書を2用のリコグナイザ
(recognizer)によって処理した場合、m個の語のカウ
ント、両方の言語に共通なものそのものが認識されるは
ずである。言語1用のリコグナイザによって処理した言
語2に対しても同じ結果が得られるはずである。結果が
mよりも大きい場合には、強いエイリアシングが生じて
いる。強いエイリアシングは、必要であれば、候補言語
に対する1つまたは複数のワード・テーブルからの1つ
また複数の語を除去することにより、排除することがで
きる。
【0073】本発明のこの説明のための実施の形態は、
認識には5文字で十分であると想定している。長い語に
拡張できることは明らかである。5文字の語に必要な1
0のテーブルは、次のような表に配列されたものと見な
すことができる。 T(1,2) T(2,3) T(3,4) T(4,5) T(1,3) T(2,4) T(3,5) T(1,4) T(2,5) T(1,5)
【0074】英語用のワード・テーブルを初期化するた
めに、図4は異なる言語を識別するために使用される高
頻度の語の1つとして「there」を使用した本発明
を示す。この場合、テーブルT(1,2)において、
「t」と「h」の交差部におけるビットを1にセットす
る。テーブルT(2,3)において、「h」と「e」の
交差部におけるビットを1にセットする。テーブルT
(3,4)において、「e」と「r」の交差部における
ビットが1に等しくなり、テーブルT(4,5)におい
て、「r」と「e」の交差部におけるビットが1に等し
くなるように、処理を続ける。これによって、5行のテ
ーブルの初期化が完了する。T(1,3)の「t」と
「e」の交差部におけるビットを1に、テーブルT
(2,4)の「h」と「r」の交差部におけるビットを
1にセットすることによって、処理を続ける。テーブル
T(3,5)の「e」におけるビットを1にセットする
ことによって、処理を続ける。T(1,4)の「t」と
「r」の交差部におけるビットを1に、T(2,5)の
「h」、「e」におけるビットを1にセットすることに
よって、処理を続ける。最後に、テーブルT(1,5)
の「t」、「e」におけるビットを1にセットする。一
般に、語が順次1(1)なし1(5)の文字からなって
いる場合、文字対1(1)1(2)はT(1,2)に記
憶され、以下同様となる。
【0075】この時点で、「there]という語は、
設定のために選択されたビットがその語の配列されたす
べての「文字対」を表している1ビットのセットとして
5文字語のワード・テーブルに記憶されている。すなわ
ち、最初の行のテーブルは「th」、「he」、「e
r」、および「re]を収めており、第2の行のテーブ
ルは「te」、「hr」、および「ee」を収めてい
る。第3行のテーブルは「tr」および「he」を収め
ており、最後の行のテーブルは「te」を収めている。
【0076】語を記憶するこの方法は語の文字の間の十
分な関係をもたらすため、テーブルに記憶されている語
だけが検証される。テーブルが過疎化されており、かつ
これらが開示した方法を使用している限り、テーブルで
適正に検証される5文字語だけが、所与の言語に入力さ
れているものとなる。ワード・テーブルを過疎化する指
針を以下で検討する。
【0077】「then」、「stem」および「sh
in」が4文字語のワード・テーブルに記憶されている
場合、「shen」という英語の文書におけるミススペ
ルも検証され、弱いエイリアシングの一例となる。ミス
スペルによって生じる誤りは問題となるほど頻繁には生
じない。実際には、本方法は文書が書かれているし自然
語を判定するのに必要な語が比較的少ないものであると
して動作する。したがって、ミススペルの出現は言語内
の小さいセットの語に対するものとなる。テーブルの配
列が過密であった場合には、すなわち、ワード・テーブ
ル内に多くの語がある場合には、識別精度は下がること
となる。判定を希望する各候補言語に対してワード・テ
ーブルが作成された後、語のシーケンスが特定される言
語ないしジャンルを有する入力文書から1つずつ読み取
られる上述の方法が実行される。読み取られた各語はさ
まざまな語長に対するテーブルによって定義された適切
な文字対に分離され、各テーブルからの文字の対の各々
の交差部に記憶されたビットが、テーブルから読み出さ
れる。これは候補言語の各々に対して行われる。文書内
の5文字語の場合、これによって検討対象の言語のすべ
てに対して何者でもない語を表す10ビットのセットが
もたらされる。この10ビットはまとめてANDされ、
結果が所与の言語に対して1である場合には、その語は
その言語に対するテーブルに記憶される。同様に、10
ビットをANDしたことによって、0となった場合に
は、入力語はその言語に対するテーブルには記憶されな
い。
【0078】代替の実施の形態において、プロセスはす
べてのビットをまとめてANDするのではなく、文書の
語からの文字対がワード・テーブルに記憶されているビ
ット数をカウントするだけである。代替の実施の形態は
ビットをまとめてANDする場合ほど高い識別を与える
ものではないが、いくつかの文字対が異なる言語では高
い頻度で生じるものであるため、文書の言語の特定に成
功することができる。たとえば、「ij」はオランダ語
においては、多くのさまざまな語で生じるきわめて一般
的な文字対である。
【0079】問題の言語の文書から語を取り出すプロセ
スはテーブルからの値を所与の候補言語に対して判定
し、これを合計に加えるものであって、次の停止条件の
1つが達成されるまで繰り返される。まず、文書内のす
べての語が調べられた場合、プロセスは停止する。第2
に、文書内の十分な語、すなわち100語程度が調べら
れた場合に停止する。第3に、プロセスはアキュミュレ
ータ内の合計の1つの値が所定の閾値を超えた場合に、
カウンティングを停止することができる。第4に、プロ
セスはカウンタが十分に発散した場合、たとえばもっと
も大きい合計と次に大きい合計との差が所定の閾値を超
えた場合に、停止することができる。停止規則のどれが
満たされたかに関わりなく、もっとも大きい言語の合計
を選択して、その文書に対してもっとも可能性が高い言
語を示す。特定が成功するかどうかは、1つまたは複数
のワード・テーブルとのある数のマッチに達したかどう
かによって決定される。換言すると、特定プロセスはあ
る数のヒットが登録されない限り、不定であると見なさ
れる。候補言語に対する語がビットのセットとしてまと
めて記憶できることは驚くべきものと思われるかもしれ
ないが、文字の異なる順列とのエイリアシングの可能性
がある場合、本出願人らは過疎化の要件が満たされる限
り、本発明の記憶方法が適正に動作すると判断した。
【0080】本発明において、必要な記憶域が一定とな
り、特にハードウェアによる実施形態において、アクセ
ス時間をきわめて短くすることができるように、ワード
・テーブルが記憶される。本記憶方法はこの特定の用途
以外のものに広く適用できるものと考えられる。
【0081】エイリアシング アメリカ英語のもっとも頻度の高い40%のものに対す
るすべてのテーブルを、4文字語のテーブルに記憶され
ているすべての語を使用して構築した。本出願人らは、
代替の実施の形態が異なる長さの語を記憶するために別
の表を使用し、テーブルの母集団がより疎となるように
しているため、これが最悪の場合であることに注目し
た。表2および表3を以下に示す。表2の列はビットを
関連するテーブルにセットすることになる文字対を含ん
でおり、T12は最初と2番目の文字のテーブルであ
り、T23は2番目と3番目の文字のテーブルであり、
以下同様である。「*」はブランク文字を示すために使
用する。
【0082】1ないし5文字のすべての語がテーブルに
入れられている。部分的な語または切りつめられた語を
6文字以上の共通語に使用する。各語長に対する複数の
テーブルのセットではなく、単一のテーブル・セットを
使用する。これは好ましい実施の形態について上記で説
明したものよりも単純なシステムであるが、当初開示し
た方法ははるかに良好な挙動を示すものである。すなわ
ち、エイリアスが少ない。
【0083】
【0084】表2のこのデータ・セットは4文字語に対
する6つのテーブルに、アメリカ英語の語の上位40%
をロードすることによって得られたものである。このよ
うな語は47語ある。ロードに引き続き、合計63の
「語」、すなわち文字ストリングが検証される。語の検
証は入力されている47語に加えて、下記の表3におい
てALIASという見出しの下に列挙されている以下の
語に対するものを含んでいる。他の列の先頭に列挙され
ている3つの語が入力から抜けている場合には、エイリ
アスの数は表3に示すように少なくなる。
【0085】この語が抜けると、次のものが残る ALIAS BEEN WOULD ARE −−−−− −−−− −−−−− −−− ane ane ane ar ar ar bee fro fro fro fro ore ore ore wee ween wer wer wer wer whe whe whe whe wil wil wil wil wis wis wis wis wit wit wit wit wo wo wor wor wot wot wou wou
【0086】この表はワード・テーブルに記憶されてい
る語の単純な調整によって、ほとんどの弱いエイリアス
を排除でき、部分語またはテーブルの単一のセットを使
用することを放棄する必要がないことを示している。強
い条件、すなわち語全体を使用することは保持されたま
まであり、大きいテーブル・セットの方がよい。理由は
以下の通りである。
【0087】5文字語のテーブルの独立したセットを有
している好ましい実施の形態において、5文字語「wo
uld」は4文字のテーブルにロードされない。したが
って、「wo」から始まるエイリアスが生じることはな
い。3文字語「are」は「ane」、「ar」および
「ore」というエイリアスを生じる語である。この場
合も、テーブルのフル・セットのもとでは、3文字語
「are」が2文字語および4文字語と混同されること
がないため、この状況が生じることはない。最後に、語
「been」は「bee」、「wee」および「wee
n」というエイリアスを生じる。これらの語の各々は実
際に英語の語であり、したがって弱いエイリアスである
が、これらは「been」を抜くことによって排除でき
る。これは生成された弱いエイリアスがしばしば語その
ものであることを実証している。本出願人らは言語の共
通語がその言語における共通した文字パターンによって
構成されていることを認めた。これらの共通文字パター
ンは組み合わさって、その言語の他の語を作り上げる傾
向がある。
【0088】言語の上位40%の語のうちの若干が抜け
ることは重要なことではない。上記のデータから、「b
een」を抜くと、有効範囲が39.8%(0.2%の
低下)となり、「would」を抜くと、有効範囲がさ
らに0.3%低下し、「are」を抜くと、有効範囲が
39.1%になる。希望する場合には、残っている44
の語にわずかに語を追加することによって、有効範囲を
あげることもできる。
【0089】他のエイリアス「fro」、「wer」、
「whe」、「wil」。「wis」および「wit」
は、単一セットのテーブルを使用することによって得ら
れるものであり、頻繁に生じる語、たとえば「fro
m」あるいは2つの語、たとえば「with」および
「will」を除去せずに排除することはできない。こ
の分析からいくつかの結論が導かれる。
【0090】まず、4文字の場合の部分語と単一セット
のテーブルは機能することができる。「wo」を除き、
弱いエイリアスはいずれもどのゲルマン系言語、すなわ
ちドイツ語、デンマーク語またはオランダ語における共
通の強いエイリアスではない。本出願人らがエイリアス
がどれも他の言語で生じることがないと結論しているの
ではなく、候補言語の特定のセットの上位40%に生じ
るとだけ結論していることに留意されたい。それ故、英
語へのゲルマン系言語の強いエイリアシングの危険はほ
とんどない。候補言語の他のセットは、他の共通語をワ
ード・テーブルから抜いて、強いエイリアシングを最小
限のものとすることを必要とすることがある。すべての
語長に対してテーブル・セット全体を使用すると、多く
のエイリアスが排除される。さらに、強いエイリアシン
グが比較的頻度が低いものである限り、何らかの強いエ
イリアシングが生じたとしても、本発明は文書の言語を
適切に特定する。
【0091】第2に、このデータによって、27×27
ビットのテーブルを使用した場合、すなわち26文字と
ともにブランクを使えるようにした場合、テーブルあた
り54の1ビットは十分疎いものとなる。もっとも密度
の高いテーブル(T13)は54の文字対を有してお
り、パフォーマンスは受け入れられるものとなる。27
×27すなわち729からの54の1ビットにより7.
4%のパーセント・セットが得られる。特定のテーブル
内のビットの7.5%以下がセットされている場合、シ
ステムの動作が満足のいくものとなるといってもよい。
実際には、安全な動作限度は数パーセント高いものとな
ろう。
【0092】第3に、ゲルマン系言語によるこれらの結
果に基づくと、テーブルが疎のままであることを条件と
して、強いエイリアシングが問題となる可能性は低い。
弱いエイリアスからわかるように、発生するあらゆるエ
イリアシングが、特性が異なる言語よりも所与の言語の
ものとほとんどマッチしない「語」を生じる可能性があ
る。振り返ってみると、単一文字および連字の頻度が言
語ごとに変化することがわかっているため、この結果は
予想されるものである。非隣接文字で構成された文字グ
ループへの拡張も、基礎となる単一文字および連字の頻
度によって左右される。簡単にいえば、高頻度の語がワ
ード・テーブルに使用されている場合、強いエイリアシ
ングの可能性は低くなる。
【0093】以下で説明するように、同等のワード・テ
ーブルと検証リストを使用した第2の研究をフランス語
に関して行った。主として上位40%のフランス語の語
における文字および文字の組合せの使われ方が、英語に
比較して限定されていることにより、この結果は英語の
場合よりもよいものである。英語、特にアメリカ英語
は、歴史的にフランス語よりも多くの語源から取られて
いる。このように広範囲に取られていることにより、多
くの他の言語よりも文字の組合せにおける発散が大きく
なっている。
【0094】エイリアシングが少ない第2の若干重要で
はない理由は、フランス語のアルファベットが多いこと
である。26文字しか使われていないが(「k」および
「z」の語は本質的に、すべて他の言語から借りてきた
ものである)、4つのアクセント記号が異なる文字とと
もに使用されており、有効記号セットは33文字になっ
ている。
【0095】いずれにせよ、下記の表4に示すように、
エイリアスの数は4つにすぎずないが、これらのうち2
つはドイツ語の「das」とスペイン語およびポルトガ
ル語の「el」という強いエイリアスである。「Da」
もロシア語との対エイリアスになる可能性がある。これ
らは表5に示した語を抜くことによって、簡単に排除さ
れる。
【0096】 表4 WORDS T12 T23 T34 T13 T24 T14 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− a $* ** ** $* ** $* a* a* ’* ’* a* ’* c* au au a* e* c* a* d* c’ c’ an i* d* as ds ce ce as le dn e* e* d’ d’ e* ns ds l* ee dans da es s* e* le i* de de l* t* el ls j* des du ll ur et n* l* du el lu us i* or n* elle en n* j* os ns en es ne l* s* o* est et ou ls t* p* et il st n* u* pr il je t* nu ps je l’ u* o* q* l’ la u’ ps s* la le ue pu u* le n’ ui q’ vs les ne qe n’ no qi ne on s* nous pa u* on pl ue pas po vu plus qu pour se qu’ un que vo qui フランス語の上位40%の語 se *=ブランク un $=アクセント付き une vous
【0097】下記の表5に示されている語を抜くと、フ
ランス語の有効範囲が約4.9%下がり、36.1%に
なる。これは他の共通語を選択して、言語の有効範囲を
ワード・テーブルと等しいものにするのに十分大きな割
合である。総使用カウントが8589である語を追加す
れば、正確に40%の有効範囲が達成される。このよう
な追加の候補は「par」(カウント−2491)、
「me」(2325)、「mais」(2251)、
「sur」(2112)、「tout」(1772)な
どである。しかしながら、カウントが1782の「s
i」という語はスペイン語からの強いエイリアスである
から、選択肢としては貧弱なものである。簡単にチェッ
クしたところ、「par」と「me」を追加すると、付
加的なエイリアスが生じることがなく、有効範囲が38
%まであがることが判明した。この場合も、本出願人ら
はエイリアシングがフランス語では問題とならないとの
結論を下した。さらに、エイリアシングが問題となる言
語が存在している場合に、共通語を選択することによ
り、エイリアシングを少なくしたり、排除したりするこ
とができる。
【0098】表5 この語が抜けると、次のものが残る。 ALIAS DANS ELLE POUR −−−−−− −−−− −−−− −−−− da das el el pous pous pous
【0099】上述したような語記憶方法を、言語の特定
以外の他の用途に使用することができる。たとえば、テ
ーブルに上述のようにして、保証が付いているナンバー
・プレートをロードすることができる。警察用の手持ち
電卓により、警官はナンバー・プレート、たとえば「T
RC−04B」を入力することができるようになり、マ
ッチが得られれば、その車はそのナンバー・プレートに
対して保証されていることとなる。パスポート検査を同
様にして、税関で行うことができる。
【0100】本発明を次のような状況でも使用すること
ができる。25人の人がプリンタ室などの共有リソース
にアクセスしたが、セキュリティ上の理由で、同じパス
ワード、すなわち暗号キーを共有できないものとする。
それぞれの人に独自の6文字(または、それ以上の文字
数)のアルファベット/数字キーが与えられ、各々がテ
ーブルに記憶されているものとする。有効なキーが検証
され、リソースへのアクセスが認められる。カウントを
簡単に行い、誰がリソースを使用しているのかを追跡す
ることができる。ユーザはキーを決して共有してはなら
ない。それぞれの人に独自のキーを与えるが、必要な記
憶域が一定量である「バッジ・アクセス」用の磁気スト
リップに、キーを符号化することもできる。
【0101】最後に、本発明は暴力的な攻撃の出力を選
別する暗号用途に使用することができる。500字の暗
号を試行キーによって繰り返し「解読」したものとす
る。「海事」ジャンル、たとえば「ship」、「oc
ean」などがロードされた本装置に、この結果を通し
たとする。カウントが高い場合、試行した解読を人に渡
して、検討させる。キーすなわち密接なマッチを見つけ
だすことができる。それ以外の場合には、放棄して、次
のキーを試みる。
【0102】専用ハードウェア 本節では処理時間を最短化することのできるような、ハ
ードウェアにおけるコンピュータ文書の言語を特定する
手段について説明する。すなわち、プロセスの主要部分
をハードウェアにおいて真の並列処理によって実行する
か、十分並列化されたプロセッサ・インプリメンテーシ
ョンで実行するかするようにする。上述のワード・テー
ブル記憶方法の妥当なファームウェアまたはソフトウェ
アによる実施態様もきわめて高速であり、必要なデータ
記憶域の量が少ない。
【0103】本発明は上述のようなワード・テーブルの
内部表示を提供して、所与の入力語がワード・テーブル
の1つに含まれているか、いないかの判定を1語あたり
1機械サイクルで行えるようにする。ワード・テーブル
の表示は、他の方法では得られない速度を可能とする。
さらに、本発明を「パイプライン化」して、入力語が複
数の言語に関して並列に処理されるだけでなく、任意の
時点で、複数の語が処理の異なる段階にあるようにする
ことができる。
【0104】要約すると、本発明は候補言語のあらかじ
め選択されたセットから、所与の本文が書かれている自
然言語を判定する。検討対象の言語の各々に対する語統
計値のセットを取得して、ワード・テーブルを作成しな
ければならない。上記で検討したように、本質的にすべ
ての対象事例に対して、統計値がすでに存在している。
この場合、本方法は文書から1度に1つずつ語を取得
し、これらの語がどの言語に属しているかを判定し、か
つ、文書全体について、結果として、マッチがもっとも
多い言語を選択することからなっている。このハードウ
ェアによる実施の形態の価値は、ソフトウェアまたはフ
ァームウェアの実施態様に比べてパフォーマンスが改善
され、特定プロセスが単純化されることである。この改
善はワード記憶テーブルの内部表示、およびプロセスを
並列に実行し、パイプライン化できるサポート・ハード
ウェアによるものである。
【0105】本発明は少なくとも2つの重要な態様にお
いて、従来の技術とは異なっている。まず、本発明はあ
る語が同時に数種類の言語の一部であるか、否かのきわ
めて高速で、並列な検証を可能とする、上述の新規なデ
ータ表示手法を使用する。第2に、基礎となるプロセス
が単純化されて、値の蓄積が辞書の語の実際の発生に基
づいている(あるいは、基づいていない)ようにする。
これに関して、プロセスとハードウェアによる実施態様
はワード・テーブル内の語に対して、正規化され、重み
の付けられた値ではなく、単純なカウンティングを使用
する。
【0106】この例示のための実施の形態において、完
全並列ハードウェア実施形態を説明する。並列の実施態
様とシリアルの実施態様の違いを、以下で検討する。8
つの言語を想定した完全に並列な実施態様を説明する。
言語数がより少なくより小規模な実施形態と同様、より
多くの言語への拡張は自明であろう。最良なパフォーマ
ンスを得るために、各言語に対して1セットのハードウ
ェアがある。これによって、対象テキストを1回通し、
その単一のパスの間にすべての言語に対する判定を行う
ことができる。言語の数が利用可能なハードウェアの数
を超えた場合には、文書をさらに通すとともに、ハード
ウェアを初期化することが必要となる。
【0107】基本的なハードウェアは0列に検証される
言語の各々に1つの、一連のテーブル・アクセス・レジ
スタ(TAR)200と、各言語のための1連のワード
・テーブル20/(WST)と、各言語のためのワード
・カウント・レジスタ(WCR)203とからなってい
る。サポート・ハードウェアはAND205と、加算器
207を含んでいる。単一の言語に対する基本構成を図
5に示す。
【0108】図示のハードウェアは単一の言語のための
ものであり、ワード・テーブルは4文字という語長に対
するものである。好ましい実施の形態における上述のよ
うな他の語長の場合、2文字、3文字、5文字および6
文字の語には、もっと小さかったり、もっと大きかった
りするワード・テーブル表が必要である。8つの候補言
語に対して、異なる長さの語に対する5語の表の各々が
複写されることとなる。以下の表6は言語および語長ご
とに必要とされるハードウェアを示す。図6はテーブル
の表が図において単純化されている単一言語に必要なハ
ードウェアの他のハードウェアブロック図を示す。
【0109】
【表1】
【0110】図7に示した1セットのハードウェアが最
終的な言語の選択に必要である。これはどのワード・カ
ウント・レジスタ203(WCR)がもっとも大きい値
を有しているかを判定するために使用される比較器21
3である。各種のレジスタの値を比較するための比較
器、文書の語の長さを判定するための長さ判定器、およ
び部分語実施形態において文書の語を切りつめるトラン
ケータはすべて、ほとんどのハードウェア設計言語の標
準マクロとして利用できるものである。特定の数のAN
Dゲートやゲートなどはハードウェア設計言語によって
変動するものであり、また特定の実施の形態の入出力の
数によって変動するものである。
【0111】語は上述のハードウェアによる実施の形態
においては、ワード記憶テーブル部に記憶するのが好ま
しい。ワード・テーブルはコンテンツ・アクセス可能メ
モリを使用することもできる。しかしながら、これは比
較的高価なものであり、コンテンツ・アクセス可能メモ
リをより多くの語を付け加えるために大きくする必要が
あるのが普通である。
【0112】ワード記憶域の基本単位はn×nビットの
テーブルであり、各ビットは検討対象の言語の1つにお
ける所与の文字対を表している。上記で検討したよう
に、5文字の語を記憶するには、このようなテーブルを
10個使用する必要がある。テーブルは2文字から5文
字までの長さのすべての語に使用することができるが、
速度を上げるために、所与の各語長がテーブルのそれ自
身のセットに割り当てられる。
【0113】装置およびアルゴリズムの観点から、記憶
される語と文書から取り出される語の両方を、同じ長さ
の語に切りつめることができる。切りつめがプロセスに
影響を及ぼすことはない。「部分語」の検討において、
以下で説明するように、語の切りつめは実際には識別を
改善する。
【0114】語の配列された「文字対」を表すビットの
セットとして語を記憶することは語の文字の間の十分な
関係を与えるものであり、語の検証中のエイリアシング
を最小のものとする。上述のように、すべての実用上の
目的で、テーブルが過疎化されている限り、テーブル内
で適正に検証される5文字の語だけが所与の言語に対し
て入力されているものとなる。テーブルの配列を過剰な
ものとできるのであれば、識別精度は低下する。
【0115】判定を希望する各言語に対してテーブルを
作成した後、検討対象の文書からの、適切に区切られた
文字ストリングを読み取ることによって、プロセスは継
続する。装置およびアルゴリズムの観点から、記憶する
語および文書から取り出される語の両方を同じ長さに単
純に切りつめることが行われる。切りつめは識別を実際
に改善する「部分語」に関する検討以外には、何の関係
もない。語長がテーブルを構築した長さの1つとマッチ
している場合には、すなわち、通常は2ないし6文字で
あるが、変更することもできる場合には、語すなわち文
字ストリングがワード・テーブルにアクセスするため適
切な長さの専用レジスタ、たとえばテーブル・アクセス
・レジスタ(TAR)200にロードされる。レジスタ
の各バイトが関連する表201内のテーブルのいくつか
に対するアドレス指定を行うように、TARは構成され
る。たとえば、4文字TARすなわち4バイト/文字ワ
ードのTARの最初のバイトは、表形式のテーブルT
(1,2)、T(1,3)およびT(1,4)に行アド
レスを与える。これに対応して、4文字語用のTARの
第2のバイトはT(2,3)およびT(2,4)の行ア
ドレス、ならびにT(1,2)の列アドレスを与える。
【0116】TARの他のバイトは必要とされる他のア
ドレス指定を行う。下記の表7はTARバイトごとの4
バイトTAR全体に対するアドレス指定を示す。
【0117】
【表2】
【0118】他の実施の形態においては、言語あたり単
一のTARで十分である。未使用のアドレス指定線は問
題ではなく、したがって6バイトTAR内の4バイト語
は論理的に申し分のないものである。しかしながら、こ
れはアドレス線のファン・アウトを大きくすることを必
要とし、そのため、好ましい実施の形態では、さまざま
な長さレジスタが開示されている。技術上大きなファン
・アウトを行える場合には、TARの数を減らすことが
できる。
【0119】4バイトに対するTARアドレスを使用す
ると、結果Rに対する下記の論理式が計算される(ただ
し、ANDは論理AND演算である)。 R=T(1、2)AND T(2、3)AND T
(3、4)AND T(1、3)AND T(2、4)
AND T(1、4) 結果Rが1である場合には、4バイトTARに現在保持
されている4文字が所与の言語における語として認識さ
れる。結果Rがゼロである場合には、文字はこの言語に
おける語として認識されない。所与の言語において認識
された語数の合計を維持するためには、Rをその言語の
現行の合計に加えるだけでよい。TARの内容が言語の
語として認識されなかった場合には、Rはゼロであり、
これを言語の合計に加えることはその言語の合計を増加
させない。
【0120】上述したように、問題の文書から語を取り
出し、その値を判定し、合計に加えるこのプロセスは、
停止条件の1つが達成されるまで繰り返される。第1
に、文書内のすべての語が調べられた。第2に、文書内
の十分な語が調べられた。第3に、合計の1つの値が所
定の閾値を超えた。第4に、もっとも大きい合計と次に
大きい合計の差または比率が所定の閾値を超えた。停止
規則のどれが満たされたかに関わりなく、もっとも大き
い言語の合計が、その言語に対してもっとも可能性の高
い言語を示すために選択される。2つ以上の合計が同一
である場合には、この文書に対して正確な判定を行えな
いことがある。回復活動を行うことができる。これらに
ついては以前の研究で説明されており、個々では繰り返
さない。
【0121】「ワード・カウント」と呼ばれ、候補言語
の各々について個別に計算される合計を正確に定義する
と、それぞれのR値の取り出されたすべての語に対する
合計である。すなわち、以下の通りとなる。 WORDCOUNT=(i=1)SIGMA(i=n)
R(i) 各言語に対するワード・カウントは完全に並列な実施形
態においてその言語に対する個別のレジスタに蓄積され
る。すべての語が調べられると、どの言語のカウントが
もっとも大きいかを判断するために、比較器が使用さ
れ、その言語が文書のもっとも可能性の高い自然言語と
して選択される。
【0122】本文の言語の判定についての処理には、次
のステップがある。
【0123】ステップ1。長さがTARに適合するもっ
とも大きいもの以下である、検討対象の文書からの語を
選択し、適切な長さのTARにロードする。部分語の実
施態様においては、語を使用する長さに切りつめる。
【0124】ステップ2。TAR内の語の文字を、上述
の組合せで使用して、検討対象のすべての言語に対する
適切なワード・テーブルの各々における単一のビットに
アクセスする。
【0125】ステップ3。アクセスされたワード・テー
ブルのビット出力をまとめてANDし、言語の各々に対
する結果ビットRを作成する。
【0126】ステップ4。該当する言語のWCRの合計
をその言語に対する結果ビットに加え、WCRに記憶す
る。
【0127】ステップ5。すべての語が処理されたか、
あるいは他の停止条件に達した場合には、WCRの内容
を比較器に提示する。比較器はもっとも大きい値を判定
し、対応する言語をその文書のもっとも可能性の高い言
語として通知する。
【0128】このプロセスを終了し、どの言語を通知す
べきかを判定するのには、いくつかの異なる方法があ
る。これらについては、上記の停止条件のところで検討
した。閾条件を検出するには若干異なるハードウェアが
必要であるが、その相違は自明のものであり、詳細に検
討しないことに留意されたい。たとえば、アキュミュレ
ータの1つにおける最大値は、一連の比較と比較ハード
ウェアを必要とする。閾値を使用して、ある値が他のも
のすべてを一定量超えた場合、継続した監視が必要であ
り、これはレジスタの特定の位置において「1」ビット
をトリガすることによって簡単に提供される。
【0129】一般に、多くの言語の文字数が26文字を
超えているから、テーブルが26×26よりも大きい必
要があることに留意されたい。日本語のように「アルフ
ァベット」がきわめて多い言語の処理は、各言語が25
6×256ビット未満の単一のテーブルを有しており、
各表意文字やカタカナなどの他の言語記号が個別に割り
当てられている異なるパターンのワード・テーブルを使
用するともっともよいものとなる。
【0130】この場合、言語は2「文字」語だけで構成
されており、DBCS表示の最初のバイトが最初の「文
字」であり、第2のバイトが「第2」の文字であると見
なすことができる。この場合、すべての語が2文字であ
るため単一のテーブルの「表」が使用され、ハードウェ
アは大幅に少なくなる。現時点で、この代替策を必要と
する言語は4つしかないが、すべてがきわめて重要なも
のである。これらは日本語と韓国語、および中国語の2
種類の異形、すなわちPRC異形(簡体)とROC異形
(繁体)である。すべての言語にわたってビットの必要
量を65536に保持すると、テーブル・サイズがアル
ファベット言語では43文字になり、これはアルファベ
ット言語および表意言語に対して十分なものである。
【0131】本発明はある種の暗号問題に一般的に適用
される。簡単にいえば、本発明を使用して、キー生成攻
撃の出力を選別し、トラフィック分析でのメッセージ・
ソーティングを行ったり、音声テキスト・フロント・エ
ンドがもうけられている場合に、電話で、特定のコンテ
ンツおよび類似物の発生を検出するためにEメールを
「監視」したりすることができる。
【0132】本節で説明したハードウェアには、多くの
代替の実施の形態がある。これらの中には、エイリアシ
ングを少なくするために、異なる候補言語のワード・テ
ーブルから共通語を排除するなど、上述のものと同一の
ものもある。このハードウェアによる実施の形態に特有
なものについてのその他の改変形については、以下で検
討する。
【0133】文書に対して複数回のパスを行い、単一セ
ットのハードウェアを使用することによって、コストダ
ウンしたハードウェアによる実施態様が可能である。各
パスによって、ハードウェアWCRはワード記憶テーブ
ルのロードされた言語の値を表す単一数を生成する。ワ
ード・テーブルがクリアされてから、新しい候補言語が
再ロードされるようにするには、リセットが必要であ
る。ハードウェアに比較器は必要ない。この手法はハー
ドウェアのコストのために速度を犠牲にしたものであ
り、より複雑なソフトウェア、すなわち再初期化および
比較ソフトウェアを必要とする。
【0134】異なる語長に対して表形式ではなく、単一
セットのワード・テーブルだけを使用したコストダウン
・ハードウェア実施形態も可能である。この場合も、こ
れは文書に対する複数回のパスを行うものであり、コス
トのために速度を犠牲にしたものである。各言語に対す
るワード・テーブルをロードすることに加えて、ワード
・テーブルを各言語内の異なる語長の各々に対してワー
ド・テーブルをロードすることができる。あるいは、単
一の表が過疎化されている場合には、これをすべての語
長に使用することができる。
【0135】ワード・テーブルを、語がメモリ・ロケー
ションの1つにある場合に1を、語がいずれのロケーシ
ョンのコンテンツともマッチしない場合にゼロ(0)を
返すコンテンツ・アドレス可能メモリと置き換えること
ができる。この実施の形態はTARを使用せず、その代
わりに論理的に同等な被比較数レジスタを使用する。こ
れは論理的に同等な実施形態ではあるが、比較結果を取
得するCAMサイクル時間が長いため、遅いものとな
る。コンテンツ・アドレス可能メモリも開示した装置に
必要なものよりもはるかに高価である。しかしながら、
TARファン・アウトはコンテンツ・アドレス可能メモ
リを使用することによって回避することができ、すべて
の言語を同時にメモリにロードすることが可能となる。
これはシリアル実施態様よりも高速であるが、並列のも
のほど高速ではない。
【0136】部分語実施形態 本出願人らは自然言語のもっとも頻繁に使用される語か
らなるきわめて短いワード・リストを使用して、本文の
自然言語を判定することのできるいくつかの方法を示し
た。好ましい実施の形態の1つにおいて、語全体を使用
する必要はないが、語源ないし語幹に類似している語の
断片が同等に適正に動作する。このような部分的な語な
いし切りつめられた語が有用なのは、ほとんどのプログ
ラム内蔵式ディジタル処理システムで特に適正に処理さ
れる32ビットという自然長の、固定長で4文字以下の
フィールドを使えるようにすることによって、可変長ス
トリングの処理に付随することがしばしばあるプログラ
ミング上の問題が、これらによって排除されるからであ
る。
【0137】他の利点が、語の断片を完全に収めて、こ
れらを通常単一のレジスタ簡またはレジスタ記憶域簡サ
イクルで処理できるようにするレジスタを使用すること
によって導かれる。これらの利点には、プログラムの高
速な実行、機械のメモリおよびキャッシュ内でのデータ
・エリアの良好な整合、およびバス幅を超えるデータ・
オペランドによるバス・トラフィックの現象などが含ま
れる。
【0138】同様に、より多くの語が短い部分語リスト
にマッチすることが判明するため、基礎となるアルゴリ
ズムに関連する実際の特定統計値も改善できる。多くの
場合に、言語内の多くの語が認識されるため、使用され
るカウンティングまたは重み付けに関わりなく、言語の
分離が増加することが判明した。
【0139】例を1つ挙げるため、75語のもっとも頻
繁に使用される語の中に「some」という語が入って
いるアメリカ英語の語のリストを考えてみる。「som
e」はアメリカ英語に、0.15943%すなわち10
0000語ごとに約159回の発生頻度で生じる。しか
しながら、1文字ないし4文字の語だけが処理され、す
べてのもっと長い語の最初の4文字が処理される場合に
は、「someone」、「sometime」、「s
omething」、「somewhere」、「so
mewhat」および「somehow」という語も、
「some」としてカウントされる。これは英語で書か
れた文書に対するアメリカ英語のカウントおよび重み付
け方法を改善し、かつワード・リストに入れる必要のあ
る語数を増加させることなくこれを行う。この挙動を示
す同様な高頻度のアメリカ英語としては、「wit
h」、「have」、「were」、「when」、
「will」、「more」、「what」などがあ
る。フランス語やイタリア語などの語形変化の多い言語
の場合には、この効果はより顕著なものとなる。ヘブラ
イ語とアラビア語を含んでおり、語根と語幹をより広範
囲に使用するセム系(Semitic)言語では、さらに良好
に動作すると思われる。
【0140】4文字語を使用することに何も特別なとこ
ろはないが、現時点では、この長さがもっとも自然に思
われる。
【0141】実験によって、約100ないし200語を
検討対象の文書から読み取って、自然言語を判断した
後、適正な言語の特定が候補言語用のアキュミュレータ
におけるもっとも大きい合計によって与えられることが
示された。きわめて短い文書でない限り、言語の特定が
高い信頼性によって行われると結論づけるのが好まし
い。短い文書の場合、言語の確認は低下するが、一般に
十分なものである。
【0142】なお、暗号作成者は共通語がコードや暗号
への入り口を敵対者に与えるものであることを、長年に
わたって知っていた。状況によっては、メッセージを符
号化または暗号化して、共通語を回避する。このことは
文書の言語の判定における共通語の有用性に関する独立
した確認を与えるものである。
【0143】非共通語が実際には言語間の良好な識別手
段であるということができ、その通りであるが、特に有
利な所見ではない。たとえば、「undoubtedl
y」は英語だけで生じるものであり(本発明者らが知る
限りでは)、それ故、これを含んでいる文書が英語で書
かれていることを絶対的に示すものであるということが
できる。しかしながら、「undoubtedly」と
いう語はまれにしか生じないものであるから、言語を識
別するのに何の価値もないものである。非共通語の大き
いテーブルを使用すると(単独で、あるいは共通語と組
み合わせて)、識別は改善される。対象言語に対する非
共通語のテーブルは、本発明の概念に含められるもので
あるから、所与の文書のすべての語がある言語の非共通
語のテーブルLに見つかった場合には、文書が言語Lで
書かれていることがわかる。
【0144】本発明をその特定の実施の形態を参照して
図示説明したが、当分野の技術者には形態および細部に
おける上記その他の変更を、本発明の精神および範囲か
ら逸脱することなく行えることが理解されよう。
【0145】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0146】(1)複数の候補言語の各々においてもっ
とも頻繁に使用される語のセットを選択するステップ
と、もっとも頻繁に使用される語の各セットをもっとも
頻繁に使用される語の各セットにおける文字対にしたが
って、それぞれの候補言語に対するワード・テーブルの
それぞれのセットに記憶するステップと、文書からの語
を前記ワード・テーブルに記憶されているもっとも頻繁
に使用される語と比較するステップと、文書からの語と
前記ワード・テーブルの各個別のセットに記憶されてい
る語との間のマッチの数をカウントするステップと、文
書の言語をマッチ数がもっとも大きいそれぞれの候補言
語として特定するステップとを備えている文書が書かれ
ている言語を特定する方法。 (2)各前記ワード・テーブルがN×Nビットのテーブ
ルであり、各ビットが候補言語の1つにおけるもっとも
頻繁に使用される語の1つの特定の場所での所与の文字
対を表していることを特徴とする、上記(1)に記載の
方法。 (3)特殊文字も前記ワード・テーブルで表示されてい
ることを特徴とする、上記(2)に記載の方法。 (4)特殊文字の1つがブランク文字であるため、異な
る長さのもっとも頻繁に使用される語を同じセットの前
記ワード・テーブルに記憶できることを特徴とする、上
記(3)に記載の方法。 (5)テーブルの各個別のセットがそれぞれの長さの語
に対する表形式のテーブルを含んでいるため、所与の前
記表形式のテーブルにおけるすべての語が所与の長さの
ものであることを特徴とする、上記(1)に記載の方
法。 (6)少なくとも1つの候補言語においてもっとも頻繁
に使用される語の中には切りつめられるものもあること
を特徴とする、上記(5)に記載の方法。 (7)文字ストリングのセットを選択するステップと、
各ワード・テーブルがN×Nビットのテーブルであり、
各ビットが候補言語の1つにおけるもっとも頻繁に使用
される語の1つの特定の場所での所与の文字対を表して
いる前記ワード・テーブルに、文字ストリングのセット
を配列された文字対のセットとして記憶するステップ
と、新しい文字ストリングを前記ワード・テーブルに記
憶されている文字ストリングと比較するステップと、新
しい文字ストリングと前記ワード・テーブル内の文字ス
トリングとの間のマッチの数をカウントするステップ
と、十分な数のマッチがある場合には、新しい文字スト
リングを前記ワード・テーブル内の文字ストリングに関
連したものとして特定するステップとを備えている複数
の文字ストリングを特定する方法。 (8)文字ストリングが語であり、前記ワード・テーブ
ル内の文字ストリングのセットが自然言語からの語であ
り、新しい文字ストリングが文書からの語であり、十分
な数のマッチがある場合には、新しい文字ストリングを
前記ワード・テーブルの自然言語のものであると特定す
ることを特徴とする、上記(7)に記載の方法。 (9)各々がそれぞれの候補言語に対するものであり、
もっとも頻繁に使用される語のセットがもっとも頻繁に
使用される語の各々における文字対にしたがって記憶さ
れている複数のワード・テーブルと、文書からの語を前
記ワード・テーブルの記憶されているもっとも頻繁に使
用される語と比較する比較器と、文書からの語と各個別
の前記ワード・テーブルに記憶されている語との間のマ
ッチの数をカウントするアキュミュレータと、マッチの
数がもっとも大きいそれぞれの候補言語として文書の言
語を特定する手段とを備えている、プロセッサとメモリ
を含んでいる、文書が書かれている言語を特定するシス
テム。 (10)各前記ワード・テーブルがN×Nビットのテー
ブルであり、各ビットが候補言語の1つにおけるもっと
も頻繁に使用される語の1つの特定の場所での所与の文
字対を表していることを特徴とする、上記(9)に記載
のシステム。 (11)複数の前記ワード・テーブルが、各個別の候補
言語に対する、各々がそれぞれの長さの語を記憶する複
数の表形式のワード・テーブルをさらに含んでいること
を特徴とする、上記(10)に記載のシステム。 (12)文書内の語の長さを判定する長さ判定手段と、
文書内の各語を語の判定された長さにしたがって表に送
る語経路指定手段とをさらに備えていることを特徴とす
る、上記(11)に記載のシステム。 (13)もっとも長いそれぞれの長さの語を記憶する表
に記憶された語の長さを超える、文書からの語を切りつ
める手段とさらに備えており、前記語経路指定手段が切
りつめられた語を、もっとも長いそれぞれの長さの語を
記憶する表へ送ることを特徴とする、上記(12)に記
載のシステム。 (14)前記ワード・テーブルの語がそれぞれの候補言
語の間の強いエイリアシングをさけるように選択されて
いることを特徴とする、上記(10)に記載のシステ
ム。 (15)各個別の候補言語のための前記ワード・テーブ
ル内の各語が各候補言語のほぼ同等の部分を対象として
いることを特徴とする、上記(10)に記載のシステ
ム。 (16)各々がそれぞれの長さの語を記憶する表形式
で、かつ記憶された語の各々における文字対にしたがっ
てそれぞれの候補言語に配列されている、複数のワード
・テーブルを提供する手段と、文書からの語を前記ワー
ド・テーブルに記憶されている語と比較する手段と、文
書からの語と各個別のセットの前記ワード・テーブルに
記憶されている語との間のマッチの数をカウントする手
段と、文書の言語をマッチがもっとも大きい各個別言語
として特定する手段とを備えている文書が書かれた言語
を特定する、コンピュータ可読媒体上のコンピュータ・
プログラム・プロダクト。 (17)前記ワード・テーブルに記憶されている語がそ
れぞれの候補言語におけるもっとも頻繁に使用される語
のセットであることを特徴とする、上記(16)に記載
のコンピユータ・プログラム・プロダクト。 (18)各前記ワード・テーブルがN×Nビットのテー
ブルであり、各ビットが候補言語の1つにおけるもっと
も頻繁に使用される語の1つの特定の場所での所与の文
字対を表していることを特徴とする、上記(16)に記
載のコンピュータ・プログラム・プロダクト。 (19)それぞれの候補言語の間のマッチの数が所定の
発散度に達したときに比較およびカウンティング手段を
停止する手段をさらに備えていることを特徴とする、上
記(16)に記載のコンピュータ・プログラム・プロダ
クト。 (20)プロダクトをネットワーク上でコンピュータ・
システムに伝送する手段をさらに備えていることを特徴
とする、上記(16)に記載のコンピュータ・プログラ
ム・プロダクト。
【図面の簡単な説明】
【図1】汎用データ処理システムが文書の言語を判定す
るためのデータおよび制御部を含んでいる、本発明の機
能ブロック図である。
【図2】図1に示すシステムによって実行されるプロセ
スを行う一般的なステップの順序の流れ図である。
【図3】複数の候補言語における共通語のセットを含ん
でいるワード・テーブルの例を示す図である。
【図4】5文字の語を記憶するためのワード・テーブル
の配列の図である。
【図5】完全な並列実施形のハードウェア・ブロック図
である。
【図6】異なる長さの語を記憶するための複数の配列の
ハードウェア・ブロック図である。
【図7】文書の言語を特定するための比較器のハードウ
ェア・ブロック図である。
【符号の説明】
10 コンピュータ 11 システム・ユニット 12 キーボード 13 マウス 14 表示装置 15 スピーカ 21 システム・バス 22 マイクロプロセッサ 23 読取り専用メモリ(ROM) 24 ランダム・アクセス・メモリ(RAM) 25 メモリ管理チップ 26 ハード・ディスク装置 27 フロッピィ・ディスク装置 28 キーボード・コントローラ 29 マウス・コントローラ 30 ビデオ・コントローラ 31 オーディオ・コントローラ 32 CD ROM 40 入出力コントローラ 46 ネットワーク 101 文書ソース 102 ワード・テーブル 103 比較器 104 アキュミュレータ 105 プロセッサ 106 言語セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・チャールズ・ポールセン・ジ ュニア アメリカ合衆国78717 テキサス州オー スチン スクウォー・バレー・レーン 16836 (56)参考文献 米国特許5548507(US,A) 欧州特許出願公開726534(EP,A 1) (58)調査した分野(Int.Cl.7,DB名) G06F 17/27 G06F 17/28 JICSTファイル(JOIS)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の候補言語の各々においてもっとも頻
    繁に使用される語のセットを選択するステップと、 各候補言語においてもっとも頻繁に使用される語の各々
    に含まれる文字対を、それぞれの候補言語に対して用意
    されたワード・テーブルのそれぞれに記憶するステップ
    と、 文書からの語に含まれる文字対を前記ワード・テーブル
    のそれぞれに記憶されている文字対と比較するステップ
    と、 文書からの語に含まれる文字対と前記複数のワード・テ
    ーブルの各個別のテーブルに記憶されている文字対との
    間のマッチの数を各ワード・テーブル毎にカウントする
    ステップと、 カウントされたマッチ数がもっとも大きいワード・テー
    ブルに対する候補言語を文書が書かれている言語として
    特定するステップとを備えている文書が書かれている言
    語を特定する方法。
  2. 【請求項2】各前記ワード・テーブルがN×Nビットの
    テーブルであり、各ビットが候補言語の1つにおけるも
    っとも頻繁に使用される語の1つの特定の場所での所与
    の文字対を表していることを特徴とする、請求項1に記
    載の方法。
  3. 【請求項3】特殊文字も前記ワード・テーブルで表示さ
    れていることを特徴とする、請求項2に記載の方法。
  4. 【請求項4】特殊文字の1つがブランク文字であるた
    め、異なる長さのもっとも頻繁に使用される語を同じセ
    ットの前記ワード・テーブルに記憶できることを特徴と
    する、請求項3に記載の方法。
  5. 【請求項5】各個別のテーブルがそれぞれの長さの語に
    対する表形式のテーブルを含んでいるため、所与の前記
    表形式のテーブルにおけるすべての語が所与の長さのも
    のであることを特徴とする、請求項1に記載の方法。
  6. 【請求項6】少なくとも1つの候補言語においてもっと
    も頻繁に使用される語の中には切りつめられるものもあ
    ることを特徴とする、請求項5に記載の方法。
  7. 【請求項7】文書が複数の候補言語の何れによって書か
    れたかを特定するシステムにおいて、 それぞれの候補言語に対して設けられた複数のワード・
    テーブルであって、各候補言語においてもっとも頻繁に
    使用される語の各々に含まれる文字対をそれぞれ記憶す
    るワード・テーブルと、 文書からの語に含まれる文字対を前記ワード・テーブル
    のそれぞれに記憶されている文字対と比較する比較器
    と、 文書からの語に含まれる文字対と前記複数のワード・テ
    ーブルの各個別のテーブルに記憶されている文字対との
    間のマッチの数を各ワード・テーブル毎にカウントする
    アキュミュレータと、 カウントされたマッチ数がもっとも大きいワード・テー
    ブルに対する候補言語を文書が書かれている言語として
    特定する手段とを備えている文書が書かれている言語を
    特定するシステム。
  8. 【請求項8】各前記ワード・テーブルがN×Nビットの
    テーブルであり、各ビットが候補言語の1つにおけるも
    っとも頻繁に使用される語の1つの特定の場所での所与
    の文字対を表していることを特徴とする、請求項7に記
    載のシステム。
  9. 【請求項9】複数の前記ワード・テーブルが、各個別の
    候補言語に対する、各々がそれぞれの長さの語を記憶す
    る複数の表形式のワード・テーブルをさらに含んでいる
    ことを特徴とする、請求項8に記載のシステム。
  10. 【請求項10】文書内の語の長さを判定する長さ判定手
    段と、 文書内の各語を語の判定された長さにしたがって表に送
    る語経路指定手段とをさらに備えていることを特徴とす
    る、請求項9に記載のシステム。
  11. 【請求項11】もっとも長いそれぞれの長さの語を記憶
    する表に記憶された語の長さを超える、文書からの語を
    切りつめる手段とさらに備えており、 前記語経路指定手段が切りつめられた語を、もっとも長
    いそれぞれの長さの語を記憶する表へ送ることを特徴と
    する、請求項10に記載のシステム。
  12. 【請求項12】前記ワード・テーブルの語がそれぞれの
    候補言語の間の強いエイリアシングをさけるように選択
    されていることを特徴とする、請求項8に記載のシステ
    ム。
JP09259483A 1996-09-30 1997-09-25 言語を特定する方法およびシステム Expired - Fee Related JP3121568B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/723813 1996-09-30
US08/723,813 US6009382A (en) 1996-08-19 1996-09-30 Word storage table for natural language determination

Publications (2)

Publication Number Publication Date
JPH10124513A JPH10124513A (ja) 1998-05-15
JP3121568B2 true JP3121568B2 (ja) 2001-01-09

Family

ID=24907801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09259483A Expired - Fee Related JP3121568B2 (ja) 1996-09-30 1997-09-25 言語を特定する方法およびシステム

Country Status (3)

Country Link
US (1) US6009382A (ja)
JP (1) JP3121568B2 (ja)
GB (1) GB2318659A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8378294B2 (en) 2008-05-20 2013-02-19 Shimadzu Corporation Method of atmospheric pressure ionization for mass spectrometer

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69719858T2 (de) * 1996-05-13 2003-12-24 Oki Electric Industry Co., Ltd. Dokumentanzeigesystem und elektronisches Wörterbuch
JP3899596B2 (ja) * 1997-06-19 2007-03-28 ソニー株式会社 再生装置および再生方法
DE19840890A1 (de) * 1998-09-03 2000-04-06 Siemens Ag Verfahren zum akustischen Ausgeben von Text und Sprachausgabesystem
US6473753B1 (en) * 1998-10-09 2002-10-29 Microsoft Corporation Method and system for calculating term-document importance
US6279018B1 (en) * 1998-12-21 2001-08-21 Kudrollis Software Inventions Pvt. Ltd. Abbreviating and compacting text to cope with display space constraint in computer software
CA2284304A1 (en) * 1998-12-22 2000-06-22 Nortel Networks Corporation Communication systems and methods employing automatic language indentification
JP2000231559A (ja) * 1999-02-12 2000-08-22 Matsushita Electric Ind Co Ltd 情報処理装置
US6408271B1 (en) * 1999-09-24 2002-06-18 Nortel Networks Limited Method and apparatus for generating phrasal transcriptions
DE10085178B4 (de) 1999-11-10 2007-06-06 Launch Media, Inc., Santa Monica Verfahren für Internetradio und Übertragung
DE19963812A1 (de) * 1999-12-30 2001-07-05 Nokia Mobile Phones Ltd Verfahren zum Erkennen einer Sprache und zum Steuern einer Sprachsyntheseeinheit sowie Kommunikationsvorrichtung
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US7162482B1 (en) 2000-05-03 2007-01-09 Musicmatch, Inc. Information retrieval engine
US7024485B2 (en) * 2000-05-03 2006-04-04 Yahoo! Inc. System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
US7251665B1 (en) * 2000-05-03 2007-07-31 Yahoo! Inc. Determining a known character string equivalent to a query string
US8352331B2 (en) 2000-05-03 2013-01-08 Yahoo! Inc. Relationship discovery engine
DE10196421T5 (de) 2000-07-11 2006-07-13 Launch Media, Inc., Santa Monica Online Playback-System mit Gemeinschatsausrichtung
US8271333B1 (en) 2000-11-02 2012-09-18 Yahoo! Inc. Content-related wallpaper
US7406529B2 (en) 2001-02-09 2008-07-29 Yahoo! Inc. System and method for detecting and verifying digitized content over a computer network
US7574513B2 (en) * 2001-04-30 2009-08-11 Yahoo! Inc. Controllable track-skipping
KR20030044138A (ko) * 2001-11-28 2003-06-09 인벤텍 코오포레이션 보조 라이팅 모델을 제공하는 중국어 입력 방법
US7707221B1 (en) 2002-04-03 2010-04-27 Yahoo! Inc. Associating and linking compact disc metadata
US7305483B2 (en) 2002-04-25 2007-12-04 Yahoo! Inc. Method for the real-time distribution of streaming data on a network
US7398209B2 (en) 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7693720B2 (en) 2002-07-15 2010-04-06 Voicebox Technologies, Inc. Mobile systems and methods for responding to natural language speech utterance
US20040078191A1 (en) * 2002-10-22 2004-04-22 Nokia Corporation Scalable neural network-based language identification from written text
FR2848688A1 (fr) * 2002-12-17 2004-06-18 France Telecom Identification de langue d'un texte
CN1875377A (zh) 2003-09-10 2006-12-06 音乐匹配公司 音乐购买和播放系统及其方法
FI20031566L (fi) * 2003-10-27 2005-04-28 Nokia Corp Kielen valitseminen sanantunnistusta varten
US7359851B2 (en) * 2004-01-14 2008-04-15 Clairvoyance Corporation Method of identifying the language of a textual passage using short word and/or n-gram comparisons
US7680648B2 (en) 2004-09-30 2010-03-16 Google Inc. Methods and systems for improving text segmentation
US7996208B2 (en) * 2004-09-30 2011-08-09 Google Inc. Methods and systems for selecting a language for text segmentation
US7490033B2 (en) * 2005-01-13 2009-02-10 International Business Machines Corporation System for compiling word usage frequencies
EP1717668A1 (en) * 2005-04-29 2006-11-02 Research In Motion Limited Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same
GB0513225D0 (en) 2005-06-29 2005-08-03 Ibm Method and system for building and contracting a linguistic dictionary
US7640160B2 (en) 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7620549B2 (en) 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US7949529B2 (en) 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
EP1934971A4 (en) 2005-08-31 2010-10-27 Voicebox Technologies Inc DYNAMIC LANGUAGE SCRIPTURE
US8073681B2 (en) 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US20080208566A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation Automated word-form transformation and part of speech tag assignment
DE602008002017D1 (de) * 2007-05-22 2010-09-16 Honda Motor Co Ltd Vorrichtung mit Sprachverständnis
CN101779200B (zh) * 2007-06-14 2013-03-20 谷歌股份有限公司 词典词和短语确定方法和设备
KR101465769B1 (ko) * 2007-06-14 2014-11-27 구글 인코포레이티드 사전 단어 및 어구 판정
US8140335B2 (en) 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US8589161B2 (en) 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US9305548B2 (en) 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8266514B2 (en) 2008-06-26 2012-09-11 Microsoft Corporation Map service
US8107671B2 (en) * 2008-06-26 2012-01-31 Microsoft Corporation Script detection service
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US9171541B2 (en) 2009-11-10 2015-10-27 Voicebox Technologies Corporation System and method for hybrid processing in a natural language voice services environment
US9502025B2 (en) 2009-11-10 2016-11-22 Voicebox Technologies Corporation System and method for providing a natural language content dedication service
US20120035905A1 (en) * 2010-08-09 2012-02-09 Xerox Corporation System and method for handling multiple languages in text
CN107003996A (zh) 2014-09-16 2017-08-01 声钰科技 语音商务
WO2016044321A1 (en) 2014-09-16 2016-03-24 Min Tang Integration of domain information into state transitions of a finite state transducer for natural language processing
US9747896B2 (en) 2014-10-15 2017-08-29 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US10614799B2 (en) 2014-11-26 2020-04-07 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance
US10431214B2 (en) 2014-11-26 2019-10-01 Voicebox Technologies Corporation System and method of determining a domain and/or an action related to a natural language input
US10140986B2 (en) * 2016-03-01 2018-11-27 Microsoft Technology Licensing, Llc Speech recognition
US10331784B2 (en) 2016-07-29 2019-06-25 Voicebox Technologies Corporation System and method of disambiguating natural language processing requests

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548507A (en) 1994-03-14 1996-08-20 International Business Machines Corporation Language identification process using coded language words

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4610025A (en) * 1984-06-22 1986-09-02 Champollion Incorporated Cryptographic analysis system
JPH0724055B2 (ja) * 1984-07-31 1995-03-15 株式会社日立製作所 単語分割処理方法
US4698758A (en) * 1985-03-25 1987-10-06 Intech-Systems, Inc. Method of selecting and reproducing language characters
US5175803A (en) * 1985-06-14 1992-12-29 Yeh Victor C Method and apparatus for data processing and word processing in Chinese using a phonetic Chinese language
US4829580A (en) * 1986-03-26 1989-05-09 Telephone And Telegraph Company, At&T Bell Laboratories Text analysis system with letter sequence recognition and speech stress assignment arrangement
US4773009A (en) * 1986-06-06 1988-09-20 Houghton Mifflin Company Method and apparatus for text analysis
CA2063723A1 (en) * 1989-07-28 1991-01-29 Stephen J. Guerreri Method and apparatus for language and speaker recognition
US5062143A (en) * 1990-02-23 1991-10-29 Harris Corporation Trigram-based method of language identification
US5182708A (en) * 1990-12-11 1993-01-26 Ricoh Corporation Method and apparatus for classifying text
US5392419A (en) * 1992-01-24 1995-02-21 Hewlett-Packard Company Language identification system and method for a peripheral unit
US5371807A (en) * 1992-03-20 1994-12-06 Digital Equipment Corporation Method and apparatus for text classification
GB9220404D0 (en) * 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US5551020A (en) * 1994-03-28 1996-08-27 Flextech Systems, Inc. System for the compacting and logical linking of data blocks in files to optimize available physical storage
US5680605A (en) * 1995-02-07 1997-10-21 Torres; Robert J. Method and apparatus for searching a large volume of data with a pointer-based device in a data processing system
US5715446A (en) * 1995-05-22 1998-02-03 Matsushita Electric Industrial Co., Ltd. Information searching apparatus for searching text to retrieve character streams agreeing with a key word

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548507A (en) 1994-03-14 1996-08-20 International Business Machines Corporation Language identification process using coded language words

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8378294B2 (en) 2008-05-20 2013-02-19 Shimadzu Corporation Method of atmospheric pressure ionization for mass spectrometer

Also Published As

Publication number Publication date
US6009382A (en) 1999-12-28
JPH10124513A (ja) 1998-05-15
GB2318659A (en) 1998-04-29
GB9719454D0 (en) 1997-11-12

Similar Documents

Publication Publication Date Title
JP3121568B2 (ja) 言語を特定する方法およびシステム
US6002998A (en) Fast, efficient hardware mechanism for natural language determination
US6216102B1 (en) Natural language determination using partial words
US5913185A (en) Determining a natural language shift in a computer document
US6023670A (en) Natural language determination using correlation between common words
JP4638599B2 (ja) データ表示テキストの言語および文字セットを特定する方法
Hornik et al. The textcat package for n-gram based text categorization in R
JP4413349B2 (ja) サンプルテキスト基調言語識別方法及びコンピュータシステム
El et al. Authorship analysis studies: A survey
US6173252B1 (en) Apparatus and methods for Chinese error check by means of dynamic programming and weighted classes
US6704698B1 (en) Word counting natural language determination
US7818165B2 (en) Method and system for language identification
US7092871B2 (en) Tokenizer for a natural language processing system
US20030229634A1 (en) System for distinguishing names in asian writing systems
US20110106523A1 (en) Method and Apparatus for Creating a Language Model and Kana-Kanji Conversion
Venčkauskas et al. Problems of authorship identification of the national language electronic discourse
Alhawiti Adaptive models of Arabic text
Momani et al. A novel algorithm to extract tri-literal Arabic roots
Van Den Bosch et al. Efficient context-sensitive word completion for mobile devices
JPH09325962A (ja) 文書校正装置およびプログラム記憶媒体
JPH06274548A (ja) 類似度計算装置
JP3398729B2 (ja) キーワード自動抽出装置およびキーワード自動抽出方法
JP5412137B2 (ja) 機械学習装置及び方法
Tripto et al. The word2vec graph model for author attribution and genre detection in literary analysis
IE912737A1 (en) Random character generator

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees