JP2009009583A - 構文パースを用いてセグメント化されていないテキストをセグメント化する方法 - Google Patents
構文パースを用いてセグメント化されていないテキストをセグメント化する方法 Download PDFInfo
- Publication number
- JP2009009583A JP2009009583A JP2008179504A JP2008179504A JP2009009583A JP 2009009583 A JP2009009583 A JP 2009009583A JP 2008179504 A JP2008179504 A JP 2008179504A JP 2008179504 A JP2008179504 A JP 2008179504A JP 2009009583 A JP2009009583 A JP 2009009583A
- Authority
- JP
- Japan
- Prior art keywords
- word
- string
- words
- character
- segments
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
【課題】構文パースを使用して正字法バリエーションを有するテキストをセグメント化する方法の提供。
【解決手段】正字法および屈折言語のバリエーション308を構文パーサ316に送ることによりテキストをセグメント化する。可能なセグメントは文字列内で最初に識別される。識別されたセグメントのうち少なくとも2つは互いに重なる。セグメントのうち少なくとも1つについて、他の文字列が識別される。この他の文字列は、セグメントにより識別された単語の異なる語彙形式を識別する、屈折形態論306により形成される。他の文字列はセグメントで識別された単語の正字法バリエーション308を表す場合もある。その後、識別されたセグメントおよび他のセグメントが構文パーサ316に渡され、1つまたは複数の構文解析結果を出力する。解析結果にあるセグメントは、入力文字列のセグメント化を表す。
【選択図】図3
【解決手段】正字法および屈折言語のバリエーション308を構文パーサ316に送ることによりテキストをセグメント化する。可能なセグメントは文字列内で最初に識別される。識別されたセグメントのうち少なくとも2つは互いに重なる。セグメントのうち少なくとも1つについて、他の文字列が識別される。この他の文字列は、セグメントにより識別された単語の異なる語彙形式を識別する、屈折形態論306により形成される。他の文字列はセグメントで識別された単語の正字法バリエーション308を表す場合もある。その後、識別されたセグメントおよび他のセグメントが構文パーサ316に渡され、1つまたは複数の構文解析結果を出力する。解析結果にあるセグメントは、入力文字列のセグメント化を表す。
【選択図】図3
Description
本発明は、一般にテキストを識別するコンピュータベースの方法に関する。より詳細には、本発明は、構文パース(syntactic parse)を使用して正字法バリエーション(orthographic variations)を有するテキストをセグメント化する方法に関する。
(発明の背景)
単語セグメント化(word segmentation)とは、テキストなど、言語表現を構成する個々の単語を識別するプロセスのことである。単語セグメント化は、スペルおよび文法のチェック、テキストの音声合成、自然言語理解の実行、および特定の単語や語句を文書集合の中で検索する作業に役立つ。
単語セグメント化(word segmentation)とは、テキストなど、言語表現を構成する個々の単語を識別するプロセスのことである。単語セグメント化は、スペルおよび文法のチェック、テキストの音声合成、自然言語理解の実行、および特定の単語や語句を文書集合の中で検索する作業に役立つ。
英語テキストでは、一般にスペースおよび句読点によりテキスト内の個々の単語が区切られるため、単語セグメント化はかなり簡単である。しかし、日本語や中国語などのセグメント化されないテキストでは、単語の境界は暗黙的であり明示的ではない。つまり、セグメント化されないテキストは通常、スペースや句読点を単語間に入れない。したがって、これらの言語では、英語のセグメント化と同じ方法でセグメント化を実行することはできない。
ほとんどの従来技術のシステムでは、単純な単語区切りを使用して、テキストをセグメント化する。これらの単語区切りでは、複数の文字を可能なセグメントグループにまとめ、用語集でセグメントを検索する。用語集内にセグメントが見つかると、テキストの可能なセグメント化の一部として保持される。
用語集の手法を使用して、互いに重なる多くのセグメントを識別することができ、したがって、これらのセグメントは同じセグメント化結果内に存在できない。これらの競合するセグメントのうちどれがテキストの実際のセグメントであるかを識別するために、いくつかの従来技術システムは単純な構文規則を使用する。ただし、これらの単純な規則は、元のテキスト文字列に現れる文字に対してのみ適用される。これらは、適切に識別されないと異なる構文になる元のテキスト内の正字法バリエーションには対応しない。日本語は、特に、同じ単語に対し多数の正字法バリエーションがあり、構文パーサ(syntactic parser)を使用して日本語テキストをセグメント化するのが難しい。これらのバリエーションの多くは、日本語では漢字、ひらがな、カタカナ、および英字の4種類のスクリプトを使用しており、異なるスクリプトまたはスクリプトの組み合わせを使用して同じ単語を綴ることができることが原因で生じる。
したがって、セグメント化システムは構文解析におけるセグメント化を活かしながら正字法バリエーションをきちんと説明するセグメント化システムを必要とする。本発明は、この問題および他の問題を解決するほかに、従来技術に勝る利点を持つ。
(発明の概要)
本発明の実施形態は、正字法および屈折言語のバリエーションを構文パーサに送ることによりテキストをセグメント化する方法および装置を実現している。本発明では、可能なセグメントは文字列内で最初に識別される。識別されたセグメントのうち少なくとも2つは互いに重なる。セグメントのうち少なくとも1つについて、他の文字列が識別される。場合によっては、この他の文字列は、セグメントにより識別された単語の異なる語彙形式を識別する、屈折形態論により形成される。他の文字列はセグメントで識別された単語の正字法バリエーションを表す場合もある。
本発明の実施形態は、正字法および屈折言語のバリエーションを構文パーサに送ることによりテキストをセグメント化する方法および装置を実現している。本発明では、可能なセグメントは文字列内で最初に識別される。識別されたセグメントのうち少なくとも2つは互いに重なる。セグメントのうち少なくとも1つについて、他の文字列が識別される。場合によっては、この他の文字列は、セグメントにより識別された単語の異なる語彙形式を識別する、屈折形態論により形成される。他の文字列はセグメントで識別された単語の正字法バリエーションを表す場合もある。
その後、識別されたセグメントおよび他のセグメントが構文パーサに渡され、完全な構文パースを出力する。結果として得られたパースにあるセグメントは、入力文字列のセグメント化を表す。
(例示の実施形態の詳細な説明)
図1は、本発明を実施できる適当なコンピュータ・システム環境100の例を示している。コンピューティングシステム環境100は、適当なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。このコンピューティング環境100は、例示のオペレーティング環境100に示されているコンポーネントのいずれかまたは組み合わせに関して従属している、あるいは必要であるとは解釈すべきではない。
図1は、本発明を実施できる適当なコンピュータ・システム環境100の例を示している。コンピューティングシステム環境100は、適当なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。このコンピューティング環境100は、例示のオペレーティング環境100に示されているコンポーネントのいずれかまたは組み合わせに関して従属している、あるいは必要であるとは解釈すべきではない。
本発明は、他の多数の汎用または専用のコンピューティングシステム環境または構成でも動作する。本発明で使用するのに適していると思われるよく知られているコンピューティングシステム、環境、および/または構成の例として、パソコン、サーバ・コンピュータ、携帯またはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家電製品、ネットワークPC、ミニコン、メインフレームコンピュータ、上記システムまたはデバイスを含む分散コンピューティング環境などがあるが、これに限定されない。
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストにおいて説明できる。一般に、プログラムモジュールには、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、さらに、通信ネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実用することもできる。分散コンピューティング環境では、プログラムモジュールをメモリ記憶デバイスを含むローカルとリモートの両方のコンピュータ記
憶媒体に配置できる。
憶媒体に配置できる。
図1を参照すると、本発明を実施するシステム例に、コンピュータ110の形の汎用コンピューティングデバイスが含まれる。コンピュータ110のコンポーネントは、処理ユニット120、システムメモリ130、およびシステムメモリを備えるさまざまなシステムコンポーネントを処理ユニット120に結合するシステムバス121を備えるがこれに限られるわけではない。システムバス121には、さまざまなバスアーキテクチャを使用するメモリバスまたはメモリコントローラ、周辺機器バス、およびローカルバスを含む数種類のバス構造がある。例では、これに制限されるわけではないが、前記アーキテクチャに、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、およびMezzanineバスとも呼ばれるPeripheral Component Interconnect(PCI)バスがある。
コンピュータ110は通常、多数のコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110によってアクセス可能な利用可能な媒体でよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体がある。たとえば、コンピュータ可読媒体として、コンピュータストレージ媒体や通信媒体などがあるが、これらに限られるわけではない。コンピュータ記憶媒体には、揮発性と不揮発性の両方の取り外し可能および取り外し不可能媒体が備えられ、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の記憶用の方法または技術で実装されている。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または目的の情報の格納に使用でき、コンピュータ110によってアクセスできる他の媒体がある。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータをキャリア波やその他の搬送メカニズムなどのモジュール式データ信号で具現化し、情報配送媒体を含む。「変調データ信号」とは、情報を信号内にエンコードするなどの方法で1つまたは複数の特性を設定または変更する信号のことである。たとえば、これには限らないが、通信媒体は有線ネットワークまたは直接有線接続などの有線媒体および音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含む。上記の組み合わせも、コンピュータ可読媒体の範囲に含まれるであろう。
システムメモリ130は、読み取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ110内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム133(BIOS)は通常、ROM 131に格納される。RAM 132は、通常、処理ユニット120に即座にアクセス可能な、および/または現在操作されているデータおよび/またはプログラムモジュールを含む。例では、これに限らないが、図1はオペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を示している。
コンピュータ110はさらに、その他の取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータ記憶媒体も備えることができる。例としてのみであるが、図1は、取り外し不可能不揮発性磁気媒体への読み書きを行うハードディスクドライブ141、取り外し可能不揮発性磁気ディスク152への読み書きを行う磁気ディスクドライブ151、およびCD−ROMまたはその他の光媒体などの取り外し可能不揮発性光ディスク156への読み書きを行う光ディスクドライブ155を示す。例のオペレーティング環境で使用できるその他の取り外し可能/取り外し不可能揮発性/不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROMなどがある。ハードディスクドライブ141は通常、インタフェース140などの取り外し不可能メモリインタフェースを通じてシステムバス121に接続され、磁気ディスクドライブ151、および光ディスクドライブ155は通常、インタフェース150などの取り外し可能メモリインタフェースによりシステムバス121に接続される。
上で述べた、図1に示されているドライブおよび関連コンピュータ記憶媒体は、コンピュータ110用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータを格納する。図1では、たとえば、ハードディスクドライブ141はオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じであっても、異なっていてもよい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147には、ここでは異なる番号が与えられており、最低でも、異なるコピーであることを示している。
ユーザは、キーボード162、マイク163、およびマウス、トラックボール、タッチパッドといったポインティングデバイス161などの入力デバイスを使用してコンピュータ110にコマンドおよび情報を入力できる。他の入力デバイス(図示せず)としては、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスやその他の入力デバイスは、システムバスに結合されているユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインタフェースおよびバス構造により接続することもできる。モニタ191やその他のタイプの表示デバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタの他に、コンピュータには、出力周辺機器インタフェース190を介して接続可能な、スピーカ197やプリンタ196などの他の周辺出力デバイスもある。
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のコンピュータへの論理接続を使用してネットワーク環境で動作することもできる。リモート・コンピュータ180は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークPC、ピアデバイスまたはその他の共通ネットワークノードでよく、通常は、コンピュータ110に関係する上述の要素の多くまたはすべてを含む。図1に示されている論理接続は、ローカルエリアネットワーク(LAN)171とワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含んでいてもよい。このようなネットワーキング環境は、事務所、企業規模のコンピュータネットワーク、イントラネットおよびインターネットではよくある。
LANネットワーキング環境で使用する場合は、コンピュータ110はネットワークインタフェースまたはネットワークアダプタ170を介してLAN 171に接続される。WANネットワーキング環境で使用する場合は、コンピュータ110は通常、モデム172またはインターネットなどのWAN 173上で通信を確立するためのその他の手段を備える。モデム172は、内蔵でも外付けでもよいが、ユーザ入力インタフェース160またはその他の適切なメカニズムを介してシステム・バス121に接続できる。ネットワーク環境では、コンピュータ110またはその一部に関して述べたプログラムモジュールは、リモートメモリ記憶媒体に格納できる。例では、これに限らないが、図1はリモートコンピュータ180に常駐するようなリモートアプリケーションプログラム185を示している。図に示されているネットワーク接続は例であり、コンピュータ間に通信リンクを確立するのにその他手段を使用できることは理解されるであろう。
図2は、モバイルデバイス200のブロック図であり、コンピューティング環境の実施例である。モバイルデバイス(mobile device)200は、マイクロプロセッサ202、メモリ204、入出力(I/O)コンポーネント206、およびリモートコンピュータまたはその他のモバイルデバイスと通信するための通信インタフェース208を備える。一実施形態では、前述のコンポーネントは適当なバス210で互いに通信できるように結合されている。
メモリ204は、バッテリバックアップモジュール(図に示されていない)付きのランダムアクセスメモリ(RAM)などの不揮発性電子メモリとして実装され、メモリ204に格納されている情報は、モバイルデバイス200の一般電源がシャットダウンされても失われることがない。メモリ204の一部は、プログラム実行用にアドレス指定可能なメモリとして割り当てるのが好ましいが、メモリ204の他の部分はディスクドライブ上のストレージをシミュレートするなどストレージに使用するのが好ましい。
メモリ204は、オペレーティングシステム212、アプリケーションプログラム214、およびオブジェクトストア(object store)216を格納する。動作時に、オペレーティングシステム212は、メモリ204からプロセッサ202によって実行するのが好ましい。好ましい一実施形態では、オペレーティングシステム212は、Microsoft Corporationから市販されているWindows(登録商標)CEブランドのオペレーティングシステムである。オペレーティングシステム212は、モバイルデバイス用に設計されていることが好ましく、一組の公開されているアプリケーションプログラミングインタフェースおよびメソッドを通じてアプリケーション214で利用できるデータベース機能を実装している。オブジェクトストア216内のオブジェクトは、アプリケーション214およびオペレーティングシステム212により維持され、少なくとも一部は、公開されているアプリケーションプログラミングインタフェースおよびメソッドへの呼び出しに応答する。
通信インタフェース208は、モバイルデバイス200で情報を送受信するための多数のデバイスおよび技術を表している。これらのデバイスの例としては、有線および無線モデム、衛星放送受信機、および放送チューナなどがある。モバイルデバイス200は、データを交換するためコンピュータに直接接続することもできる。このような場合、通信インタフェース208は、赤外線トランシーバやシリアルまたはパラレル通信接続とすることができるが、ただしすべてストリーミング情報を送信することができるものとする。
入出力コンポーネント206には、タッチセンシティブスクリーン、ボタン、ローラ、およびマイク、さらにオーディオジェネレータ、振動デバイス、およびディスプレイなどさまざまな出力デバイスがある。上記のデバイスは、例であって、モバイルデバイス200にすべて存在している必要はない。さらに、他の入出力デバイスが、本発明の範囲内で、モバイルデバイス200に接続されていたり、それとともに存在する場合がある。
本発明の実施形態は、正字法および屈折言語のバリエーションを構文パーサに送ることによりテキストをセグメント化する方法および装置を実現している。図3は、本発明の一実施形態のさまざまなコンポーネントのブロック図である。図4は、図3のコンポーネントを使用する本発明の一実施形態による方法の流れ図である。
図4のステップ400では、図3の単語ブレーカにより、小さな語彙レコードセット(lexical record set)304に現れる入力テキスト300内の連続する文字の組み合わせを識別する。語彙レコードセット304は、単語ごとの文法情報の量が限られているという意味で小さい。語彙レコードセット304が含んでいる単語の数が必ずしも少ないわけではなく、実際、いくつかの実施形態では、小さい語彙レコードセット304には多数の単語が含まれる。
本発明の一実施形態では、単語ブレーカ302がトライ(trie)と呼ばれるデータ構造を使用して小さい語彙レコードセット304内の単語を検索する。トライでは、単語は順番に表示されないが、その代わりに、状態の連鎖により表される。各状態は個々の文字を表し、1つまたは複数の子状態を含み、それぞれの子状態は小さな語彙レコードセット304の少なくとも1つの単語の現在状態の文字の後に出現する文字を含む。各状態はさらに、現在の文字の前にある状態の連鎖により形成される単語内の最後の文字として現在の文字が出現するかどうかも示す。
トライデータ構造を使用し、ABCDなどの文字列内の可能な単語を並行して決定できる。たとえば、システムは文字Aと関連する状態から始まる。その状態が文字Aが小さな語彙レコードセット304内に単語として単独で現れることを示す場合、「A」はその文字列の可能なセグメントとして識別される。その後、システムは、文字Aの状態から伸びる文字Bの子状態があるかどうかをチェックする。B子状態がある場合、B状態をチェックし、文字Bが単語の最終文字かどうかを確認する。最終文字であれば、文字列ABは可能なセグメントとして識別される。その後、システムは、文字Bの状態から伸びる文字Cの子状態があるかどうかを調べる。現在の状態から伸びる文字Cの子状態がない場合、システムは現在の連鎖の追跡を停止し、文字Bから始まる新しい連鎖の追跡を開始する。入力文字列内の文字ごとに新しい連鎖を開始するプロセスを繰り返し、それぞれの文字を連鎖の可能な始まりとしてテストする。
小さな語彙レコードセット304に格納されている単語がステップ400で識別されると、図4の方法がステップ402で続行され、単語ブレーカ302が屈折形態論(inflectional morphology)規則306を使用して、小さな語彙レコードセット304には格納できないが、その見出し語(lemmas)は小さな語彙レコードセット304に格納できる単語を識別する。この見出し語は、辞書または語彙データベースに格納する際に使用する単語の標準形である。たとえば、部分文字列ABCがテキスト文字列内に見つかり、部分文字列BCがいくつかの動詞の過去時制を示し、部分文字列BCの前の文字列を取ってそれを新しい文字Qと組み合わせてそれらの動詞の見出し語を形成できると屈折形態論規則で規定している場合、屈折形態論では部分文字列ABCから見出し語AQを識別できる。本発明のいくつかの実施形態では、ステップ408と関連して後述する派生形態論(derivational morphology)分析規則もステップ402で適用される。
見出し語を単語ラティス(word lattice)に追加する前に、システムは小さな語彙レコードセット304を検索し、見出し語が言語内の1つの単語であることを確認する。見出し語が言語内の1つの単語であれば、見出し語が単語ラティスに追加され、見出し語の語彙情報がレコードセット304に格納され、単語に関する情報が屈折形態論により与えられる。たとえば、単語ラティス内に置かれているレコードは、入力テキスト文字列内に見つかった見出し語の時制を示す場合がある。見出し語に対し単語ラティス内に置かれているレコードはさらに、見出し語を見つけるために使用された入力文字列内の文字列の開始位置と終了位置も示す。たとえば、4文字を使用して、2文字のみ含む見出し語の過去時制を表した場合、見出し語のレコードは、見出し語がその見出し語の2文字だけで占有されるのではなく4文字で占有される領域を埋めることを示す。これにより、見出し語が見出し語を見つけるのに使用した文字列と異なる異なる数の文字の列であるとしても、文字シーケンス内の他のセグメントと見出し語を組み合わせることができる。
屈折形態論を実行している間、図4の方法はさらに、正字法正規化(orthographic normalization)を実行して単語の異なるスペルを正規化する。この正規化を実行することにより、小さな語彙レコードセット304にすべてのスペルを格納する必要があるわけではない。その代わりに、小さな語彙レコードセットに好ましいスペルを1つだけ格納する。
文字列の正字法を正規化するために、単語ブレーカ302はデータ構造308にアクセスし、それぞれの好ましい正字法形式の選択した単語をその単語の正字法バリエーションにリンクする。データ構造308を使用して、単語ブレーカ302は、入力テキストの可能なセグメント内に見つかる文字列を検索する。データ構造308内に文字列を見つけると、単語ブレーカ302は、データ構造308を使用してその単語の好ましい形式を識別する。その後、この好ましい形態を、単語の関連する語彙情報および正規化されたセグメントの開始位置と終了位置とともに単語ラティス内に挿入される。
正規化された形式の単語は基づく元のセグメントよりも文字が多い場合も少ない場合もあり、元のセグメントと文字が異なる場合があることに注意されたい。本発明では、元のセグメントの開始位置と終了位置を正規化された形式のレコードに格納することにより、正規化された形式を入力文字列内の他のセグメントと組み合わせて、入力文字列の完全なセグメント化を識別できる。
日本語の実施形態では、正字法正規化の一部は、日本語で一般に使用する4種類のスクリプト、漢字、ひらがな、カタカナ、および英字の好ましい組み合わせを選択する必要がある。漢字とは、中国語から借用した、かなり複雑に見える日本語文字の集合である。日本語にはこうした文字が数千個あり、それぞれの文字は複数の「読み」(つまり発音)がある場合がある。ひらがなは、発音に基づいて単語を書き出すために使用される日本語の音節文字である。カタカナは、主に外来語の表記や、センテンス内の単語の強調に使用されるもう1つの音節文字である。ひらがなおよびカタカナは、仮名と総称されることもある。
本発明の一実施形態では、正字法構造308は、正字法ラティスの集合の形を取り、各ラティスは単語を表す。各単語について、ラティスは、その単語の正字法形式のすべておよびその単語の好ましい正字法形式を示す。
このようなラティス500の例が図5に示されている。ラティス500は、括弧で示される3つの単語要素フィールド502、504、および506に分割され、単語の単一の要素を表すデータを保持する。それぞれの括弧内の単一要素を、単一の文字または複数の文字で表すことができる。3語からなる要素が図5に示されているが、当業者であれば、ラティス内に単語要素がいくつでもあり得ることは認識できるであろう。単語要素に代替がなかった場合、ラティス内にそれ自身として括弧なしで現れることにも注意されたい。
各単語要素データフィールドは、好ましいフィールド508および代替えフィールド510の2つのサブフィールドを含む。好ましいフィールド508は、対応する単語要素の主要な形式または好ましい形式を含む。ほとんどの日本語の実施形態では、好ましいフィールド508は漢字を含む。代替フィールド510は、対応する単語要素の代替形式を表すデータを含む。ほとんどの日本語の実施形態では、代替フィールド510は1つまたは複数の仮名文字を含む。好ましいフィールド508または代替フィールド510のいずれかに文字をいくつでも置くことができる。
たとえば、正字法ラティス[W:ab][X:cd]で、「WX」、「Wcd」、「abX」、または「abcd」として書くことができる単語を指定し、大文字は各要素の好ましい表現を示し、小文字は各要素の代替表現を示す。
漢字が通常仮名よりも好ましい日本語の実施形態では、本発明のラティスには、「送りがな」バリエーションも用意されている。送りがなは、オプションでいくつかのスペルバリエーションで漢字に付加できるが、漢字の仮名代替えに付加しなければならない1つまたは複数の仮名文字のことである。したがって、「X」が漢字、「a」がXの代替え仮名文字、「b」がオプション文字の場合、バリエーション「Xb」および「ab」は有効であるが、「b」のない「a」は有効でない。送りがなは、ラティス内でカンマで表される。したがって、ラティス[W:a,b][X:c]では、正字法「WX」、「WbX」、「Wc」、「Wbc」、「abX」、および「abc」は許されるが、「aX」または「ac」は許されない。単一の単語要素の複数の送りがなは、カンマで送りがなのそれぞれを区切ることにより表される。たとえば、ラティス[W:a][X:b,c,d]では、許容可能なバリエーション「WX」、「WXd」、「WXc」、「Wbcd」、「aX」、「aXd」、「aXc」、および「abcd」が使用できる。
一実施形態では、コンパイルされたラティス構造を直接使用して、可能な単語セグメントを好ましい正字法形式に変換する。この実施形態では、受け取った文字入力を各正字法ラティスの最初の単語要素と比較する。受け取った文字入力が特定のラティスの第1の単語要素の好ましい形式または代替形式と一致する場合、入力文字列内の後続文字を特定のラティス内の単語要素とさらに比較し、特定のラティスに対応する語彙入力の正字法形式が入力文字列内に存在するかどうかを確認する。入力文字列がラティス内の単語要素の組み合わせと一致する場合、正字法ラティスの各単語要素の好ましい形式を含む入力文字列の正規化された表現が生成される。その後、正規化された形式が、単語ブレーカ302によって生成されている単語ラティス内に挿入される。
いくつかの日本語実施形態では、追加構造を上のラティスと併用し、ラティスへのアクセスと関連する計算時間を短縮する。このデータ構造は、単語ごとに1エントリを含み、各エントリはすべて仮名のフィールドと好ましい形式のフィールドを持つ。すべて仮名のフィールドには、仮名文字のみで表される単語が格納される。好ましい形式のフィールドには、単語ラティスに入れるべき単語の好ましい正字法形式が格納される。この追加構造では、仮名文字のみを含む入力文字列を高速ルックアップできる。比較的複雑な正字法ラティス構造にアクセスする代わりに、単語ブレーカ302がその代わりに、仮名構造内で単純なルックアップを実行して、すべて仮名文字列の好ましい形式を見つける。いくつかの実施形態では、仮名構造は、上述のトライ構造に似たトライ構造として編成されている。
いくつかの実施形態では、ラティスおよびすべて仮名データ構造は、ルックバック(look−back)データ構造で補強され、ラティスにアクセスする操作に関連する計算時間がさらに短縮される。ルックバックデータ構造では、好ましい文字にのみ基づいてラティスにインデックスを付けることができるため、一致するラティスの初期検索では、好ましい文字のみを比較し、代替文字は比較しない。この実施形態では、入力文字列が好ましい文字から始まる場合、好ましい文字で始まる単語が、単語の好ましい文字を使用して正字法ラティス内で直接検索される。ただし、入力文字列が好ましくない(代替)文字で始まる場合、入力文字列内に出現する第1の好ましい文字を使用してルックバックデータ構造が検索される。たとえば、入力文字列が「abXc」の場合、「a」、「b」、「c」が代替文字で、「X」が好ましい文字であれば、ルックバックデータ構造が「X」に対応するエントリについて検索される。
各ルックバックエントリは、特定の正字法形式の単語に対応する。これは、正字法形式内の第1の好ましい文字に基づいてインデックスが付けられる。各エントリはさらに、正字法形式内のこの第1の好ましい文字の前に代替文字の数およびこの形式内の第1の代替文字のIDも示す。たとえば、正字法形式「abcYdef」について、エントリは3つの代替文字が好ましい文字の前にあり、第1の代替文字が「a」であることを示す。このエントリはさらに、単語の好ましい正字法形式内でどの好ましい文字が先頭であるかも示す。たとえば、「VXYZ」が単語「abcYdef」の好ましい正字法形式であった場合、エントリは「V」がその単語の好ましい形式の第1の好ましい文字であることを示す。
上述のように、ルックバックデータ構造は、入力文字列が好ましい文字で始まらないが、好ましい文字を含む場合にアクセスされる。入力文字列内の第1の好ましい文字を使用して、ルックバック構造を検索し、その文字のエントリを見つける。ルックバックインジケータによって示される差の分だけ検索文字の前にある入力文字列内の文字を評価する。評価された文字がルックバックエントリに格納されている代替文字と一致する場合、ルックバックエントリ内の第1の単語要素の好ましい形式を使用して、正字法ラティスを検索する。単語ブレーカ302では、この好ましい形式で始まる正字法ラティス内のエントリごとに、元の入力文字列とラティスエントリを比較し、エントリ内の正字法形式が入力文字列と一致するかどうかを調べる。一致している場合、単語の好ましい正字法形式は、単語ラティス内に挿入される。
いくつかの実施形態では、ルックバックエントリのいくつかの第1の好ましい文字は、好ましい文字のシーケンスを含む単語要素の一部である。このような実施形態では、ルックバック構造を検索するために使用される入力文字の後の入力文字列内の文字をそれぞれ、エントリ内の要素を構成する好ましい文字と比較する。これらの値が一致しない場合、ラティス検索は実行されない。
ステップ402で単語ブレーカ302が屈折形態論と正字法正規化を実行した後、単語ラティスは、入力テキスト内の文字と、入力テキスト内の単語のバリエーションをセグメント化することで直接形成できる単語で構成される。上述のように、これらのバリエーションの文字数は、バリエーションの元になった単語よりも多い場合も少ない場合もあり、また入力テキスト内に存在していない文字を含むこともある。したがって、単語ブレーカ302で生成される単語ラティスは、入力テキスト内に存在しているものと異なる文字を含むことができる。
単語ブレーカ302で生成される単語ラティスは、大きな語彙レコードセット312にアクセスできる語彙ルックアップ部310に送られる。大きな語彙レコードセット312は、小さな語彙レコードセット304よりも多い語彙情報を含む。実際、多くの実施形態では、小さな語彙レコードセット304が、大きな語彙レコードセット312を参照して構築され、定期的に更新される。
語彙ルックアップ部310は、大きな語彙レコードセット312を使用して、図4のステップ406でラティス内の各単語について単語ラティスに格納されている語彙情報の量を増やす。このような追加情報は、単語の語源などの項目、単語を適切な名詞の中で使用できるかどうか、および単語その他の語彙および文法上の詳細を含む。
単語ラティスは、拡張された語彙情報とともに、語彙ルックアップ310から派生形態論314に渡される。図4のステップ408で、派生形態論314は、単語ラティス内の文字の連続するセグメントを組み合わせてより大きな多セグメント単語を形成する。たとえば、派生形態論コンポーネント314は、接尾辞文字列、挿入辞文字列、および接頭辞文字列を、他のセグメントに対して、後ろに追加したり、挿入したり、前に追加したりすることができる。いくつかの実施形態では、形態論コンポーネント314によりステップ408ではなく、単語ブレーカ302によりステップ402でこれらの派生形態論規則の一部または全部が適用される。ただし、形態論コンポーネント314の適用には、派生形態規則に入力する大きな語彙レコードセットで豊富な情報を利用できるという利点がある。さらに、派生形態論コンポーネント314では、人、施設、および地理的場所の名称およびその他の固有名詞などの名前が付けられた実体、および日付や時刻などのその他の単位を識別し、抽出するためセグメントを組み合わせることができる。
派生形態論314によって構成される大きな単語は、その大きな単語の語彙情報とともに単語ラティスに追加される。ほとんどの実施形態では、派生形態論314で構成される大きな単語は、小さなセグメントを置き換えることはないが、その代わりに、小さなセグメントに加えてラティス内に置かれる。
派生形態論314によって生成される拡張された単語ラティスは、重なり合う1つまたは複数のセグメントを通常は含む。このような重なり合うセグメントは、1つまたは複数の文字を共通して持つ入力文字列から直接派生するセグメントを含む。重なり合うセグメントはさらに、1つまたは複数のその他のセグメントと重なる入力文字列内のセグメントから生成された屈折形態論または正字法正規化を通じて形成されたバリエーションを含む。
派生形態論314により生成された拡張された単語ラティスは、構文パーサ316に送られ、そこで、図4のステップ410で拡張された単語ラティスを使用して構文解析を実行する。一実施形態では、小さな単語および語句から大きな語句をインクリメンタルに構築することにより構文パースを出力するボトムアップチャートパース(bottom−up chart parse)を使用して構文解析を実行する。大きな語句を構築するために、構文パーサ316は、単語または語句の語彙指定を調べて大きな単語または語句を形成するためにどのように組み合わせるかを決定する文法規則を適用する。一実施形態では、2つの隣接する単語または語句を調べるバイナリ文法(binary grammar)を使用して、組み合わせ方を決定する。
構文パーサ316によって実行される構文解析では、拡張された単語ラティス内のすべてのセグメントを考慮する。構文パーサは、元の入力テキスト内の隣接する文字を表すセグメントのみを組み合わせ、最終的な解析で入力テキスト全体を対象とするように制約されている。したがって、構文パーサは、重なる2つのセグメントを伴う有効なパースを生成できないか、または入力文字列の全体を表さないセグメントのグループについて有効な構文解析結果を生成できない。
一実施形態では、構文パーサ316は、その出力で単一のパースを生成する。この単一のパースにより、単語ラティス内にある単語のグループ間の関係が識別される。屈折形態論および正字法正規化を実行して単語ラティスを構築しているため、この有効なパースに、元々入力テキスト内にはなかった形式の単語を含めることができる。その結果得られる有効なパースは、単語ラティス内で見つかった複数の可能なセグメント化から選択した入力テキストの有効なセグメント化を含む。構文パーサは、本質的に、重なり合うセグメントのグループから1つのセグメント化を選択するので、本発明では、構文パーサの前に適切なセグメント化を識別する別のセグメント化ユニットを必要としない。その代わりに、構文パーサ自体が、入力テキストの最も可能性の高いセグメント化を選択する。
本発明で生成されるセグメント化は、従来技術のセグメント化よりも高度であるが、それは構文パーサが入力テキスト自体の中に必ずしも存在していなかった文字に基づいて動作しているからである。したがって、構文パーサから得られるセグメント化の結果は、入力テキスト内に存在していなかった、従来技術のセグメント化システムでは考慮されていない単語形式に基づいている。
他の実施形態では、構文パーサ316は、複数の有効な構文パースを生成し、それぞれ、入力テキストの別々の有効なセグメント化を表す。一実施形態では、これらの有効なパースはそれぞれ、各パース内での意味論的関係を識別する論理形式ジェネレータ318に渡される。その後、意味論的関係を使用して、有効な構文パースのうちどれが入力文字列の正しいパースであるかを選択することができる。この意味論的識別は、図4でステップ412として示されている。
本発明は、特定の実施形態を参照しながら説明したが、当業者には本発明の精神と範囲を逸脱することなく形式と詳細に変更を加えられること明白であろう。
Claims (2)
- セグメント化されない言語の入力文字列をセグメント化する方法であって、
前記文字列内の可能なセグメントを識別するステップであって、前記可能なセグメントのうちの少なくとも2つが互いに重なっているステップと、
前記可能なセグメントのうちの少なくとも1つに対する代替文字列を識別するステップであって、前記代替文字列が代替セグメントを形成するステップと、
前記可能なセグメントおよび前記代替セグメントを用いて複数の構文解析を実行するステップであって、該解析が、前記入力文字列のセグメント化に役立ち、
前記入力文字列のセグメント化をもたらす完全な構文解析をもたらすステップと
を備えることを特徴とする方法。 - セグメント化されない言語の文字列内の構文を識別するシステムであって、
前記入力文字列から単語の集合を生成するプロセッサの単語ブレーカであって、前記単語の集合が、前記文字列内の同じ文字から、その一部が得られる少なくとも2つの単語を含み、前記単語ブレーカが、
前記単語の集合のための単語であって前記文字列から直接取り出される単語を得るために用いられる、システムメモリに格納された語彙レコードセットと、
前記文字列内に見つかる単語の単語バリエーションを得るために前記プロセッサによって用いられる、システムメモリに格納されたバリエーションコンストラクタであって、各単語バリエーションは前記単語の集合に追加され、各単語バリエーションは、そのバリエーションの元である前記文字列内の単語に関する文字列とは異なる文字列を有し、各単語バリエーションは、前記文字列の単語とは異なる正字法形式または屈折形式を有するバリエーションコンストラクタとを用いる単語ブレーカと、
前記単語ブレーカにより生成された単語の集合を用いて構文解析を実行し、前記文字列の構文を示す構文パースを生成する、前記プロセッサの構文パーサと
を備えることを特徴とするシステム。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16604599P | 1999-11-17 | 1999-11-17 | |
| US17615200P | 2000-01-14 | 2000-01-14 | |
| US09/563,636 US6731802B1 (en) | 2000-01-14 | 2000-05-02 | Lattice and method for identifying and normalizing orthographic variations in Japanese text |
| US09/704,039 US6968308B1 (en) | 1999-11-17 | 2000-11-01 | Method for segmenting non-segmented text using syntactic parse |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001539152A Division JP2003527677A (ja) | 1999-11-17 | 2000-11-01 | 構文パースを用いてセグメント化されていないテキストをセグメント化する方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009009583A true JP2009009583A (ja) | 2009-01-15 |
Family
ID=27496677
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001539152A Pending JP2003527677A (ja) | 1999-11-17 | 2000-11-01 | 構文パースを用いてセグメント化されていないテキストをセグメント化する方法 |
| JP2008179504A Pending JP2009009583A (ja) | 1999-11-17 | 2008-07-09 | 構文パースを用いてセグメント化されていないテキストをセグメント化する方法 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001539152A Pending JP2003527677A (ja) | 1999-11-17 | 2000-11-01 | 構文パースを用いてセグメント化されていないテキストをセグメント化する方法 |
Country Status (3)
| Country | Link |
|---|---|
| JP (2) | JP2003527677A (ja) |
| AU (1) | AU2920001A (ja) |
| WO (1) | WO2001037127A2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107220225A (zh) * | 2016-06-17 | 2017-09-29 | 林德(中国)叉车有限公司 | 多语言仪表和用于多语言仪表的内置字库生成及显示方式 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0552543B2 (ja) * | 1985-03-12 | 1993-08-05 | Fujitsu Ltd | |
| JPH07325826A (ja) * | 1994-05-31 | 1995-12-12 | Meidensha Corp | 日本語処理システム |
| JPH09160920A (ja) * | 1995-12-12 | 1997-06-20 | Brother Ind Ltd | 機械翻訳装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3969700A (en) * | 1974-04-10 | 1976-07-13 | International Business Machines Corporation | Regional context maximum likelihood error correction for OCR, keyboard, and the like |
| CA2089177C (en) * | 1990-08-09 | 2002-10-22 | Bruce R. Baker | Communication system with text message retrieval based on concepts inputted via keyboard icons |
| US6640006B2 (en) * | 1998-02-13 | 2003-10-28 | Microsoft Corporation | Word segmentation in chinese text |
-
2000
- 2000-11-01 AU AU29200/01A patent/AU2920001A/en not_active Abandoned
- 2000-11-01 WO PCT/US2000/041750 patent/WO2001037127A2/en not_active Ceased
- 2000-11-01 JP JP2001539152A patent/JP2003527677A/ja active Pending
-
2008
- 2008-07-09 JP JP2008179504A patent/JP2009009583A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0552543B2 (ja) * | 1985-03-12 | 1993-08-05 | Fujitsu Ltd | |
| JPH07325826A (ja) * | 1994-05-31 | 1995-12-12 | Meidensha Corp | 日本語処理システム |
| JPH09160920A (ja) * | 1995-12-12 | 1997-06-20 | Brother Ind Ltd | 機械翻訳装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003527677A (ja) | 2003-09-16 |
| AU2920001A (en) | 2001-05-30 |
| WO2001037127A2 (en) | 2001-05-25 |
| WO2001037127A3 (en) | 2002-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4676181B2 (ja) | タグ付きデータを有する完全形式レキシコンおよびタグ付きデータを構成し使用する方法 | |
| US7158930B2 (en) | Method and apparatus for expanding dictionaries during parsing | |
| US5890103A (en) | Method and apparatus for improved tokenization of natural language text | |
| US6640006B2 (en) | Word segmentation in chinese text | |
| US6694055B2 (en) | Proper name identification in chinese | |
| EP1367501B1 (en) | Lexicon with sectionalized data and method of using the same | |
| US20020123877A1 (en) | Method and apparatus for performing machine translation using a unified language model and translation model | |
| KR100530154B1 (ko) | 변환방식 기계번역시스템에서 사용되는 변환사전을생성하는 방법 및 장치 | |
| JP2007265458A (ja) | 複数の圧縮オプションを生成する方法およびコンピュータ | |
| WO1997004405A9 (en) | Method and apparatus for automated search and retrieval processing | |
| WO2001029697A9 (en) | A method and system for reducing lexical ambiguity | |
| JP2002215617A (ja) | 品詞タグ付けをする方法 | |
| US7136803B2 (en) | Japanese virtual dictionary | |
| US7398210B2 (en) | System and method for performing analysis on word variants | |
| US6968308B1 (en) | Method for segmenting non-segmented text using syntactic parse | |
| JP2010157260A (ja) | 漢字文における単語区分方法 | |
| EP0316743B1 (en) | Method for removing enclitic endings from verbs in romance languages | |
| JP2009009583A (ja) | 構文パースを用いてセグメント化されていないテキストをセグメント化する方法 | |
| JP3419748B2 (ja) | 辞書作成装置および方法と辞書作成プログラムを記録した記録媒体 | |
| JP3267168B2 (ja) | 自然言語変換システム | |
| JP2752025B2 (ja) | 機械翻訳装置 | |
| Muller | TREATING'KRE-8-WE'SPELLINGS FOR NATURAL LANGUAGE PROCESSING | |
| Ziegenhain et al. | LC-STAR II: starring more lexica | |
| HK1064172A (en) | Method and apparatus for expanding dictionaries during parsing | |
| JPH04296969A (ja) | 機械翻訳装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110826 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111125 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120427 |