[go: up one dir, main page]

JP2009009583A - Method for segmenting non-segmented text using syntactic parse - Google Patents

Method for segmenting non-segmented text using syntactic parse Download PDF

Info

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
Application number
JP2008179504A
Other languages
Japanese (ja)
Inventor
Christopher J Brockett
ジェイ.ブロケット クリストファー
Gary J Kacmarcik
ジェイ.カクマルシク ゲイリー
Hisami Suzuki
スズキ ヒサミ
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.)
Microsoft Corp
Original Assignee
Microsoft 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
Priority claimed from US09/563,636 external-priority patent/US6731802B1/en
Priority claimed from US09/704,039 external-priority patent/US6968308B1/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009009583A publication Critical patent/JP2009009583A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical 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

<P>PROBLEM TO BE SOLVED: To provide a method for segmenting a text with orthographic variation by using syntactic parse. <P>SOLUTION: The method segments the text by providing orthographic and inflectional variations 308 to a syntactic parser 316. Possible segments are first identified in the sequence of characters. At least two of the identified segments overlap each other. For at least one of the segments, an alternative sequence of characters is identified. In some cases, this alternative sequence is formed through inflectional morphology 306, which identifies a different lexical form for a word identified by the segment. In some cases, the alternative sequence represents an orthographic variant 308 of a word identified by the segment. The identified segments and the alternative segments are then passed to a syntactic analyzer 316, which produces one or more syntactic parses. The segments found in the resulting parses represent the segmentation of the input sequence of characters. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、一般にテキストを識別するコンピュータベースの方法に関する。より詳細には、本発明は、構文パース(syntactic parse)を使用して正字法バリエーション(orthographic variations)を有するテキストをセグメント化する方法に関する。   The present invention relates generally to computer-based methods for identifying text. More particularly, the present invention relates to a method for segmenting text having orthographic variations using syntactic parsing.

(発明の背景)
単語セグメント化(word segmentation)とは、テキストなど、言語表現を構成する個々の単語を識別するプロセスのことである。単語セグメント化は、スペルおよび文法のチェック、テキストの音声合成、自然言語理解の実行、および特定の単語や語句を文書集合の中で検索する作業に役立つ。
(Background of the Invention)
Word segmentation is the process of identifying individual words that make up a linguistic expression, such as text. Word segmentation is useful for spelling and grammar checking, text-to-speech synthesis, performing natural language understanding, and searching for specific words or phrases in a set of documents.

英語テキストでは、一般にスペースおよび句読点によりテキスト内の個々の単語が区切られるため、単語セグメント化はかなり簡単である。しかし、日本語や中国語などのセグメント化されないテキストでは、単語の境界は暗黙的であり明示的ではない。つまり、セグメント化されないテキストは通常、スペースや句読点を単語間に入れない。したがって、これらの言語では、英語のセグメント化と同じ方法でセグメント化を実行することはできない。   In English text, word segmentation is fairly straightforward because spaces and punctuation marks generally separate individual words in the text. However, in unsegmented text such as Japanese and Chinese, word boundaries are implicit and not explicit. That is, unsegmented text usually does not include spaces or punctuation between words. Therefore, segmentation cannot be performed in these languages in the same way as English segmentation.

ほとんどの従来技術のシステムでは、単純な単語区切りを使用して、テキストをセグメント化する。これらの単語区切りでは、複数の文字を可能なセグメントグループにまとめ、用語集でセグメントを検索する。用語集内にセグメントが見つかると、テキストの可能なセグメント化の一部として保持される。   Most prior art systems use simple word breaks to segment text. In these word breaks, a plurality of characters are grouped into possible segment groups, and segments are searched for in the glossary. If a segment is found in the glossary, it is retained as part of the possible segmentation of the text.

用語集の手法を使用して、互いに重なる多くのセグメントを識別することができ、したがって、これらのセグメントは同じセグメント化結果内に存在できない。これらの競合するセグメントのうちどれがテキストの実際のセグメントであるかを識別するために、いくつかの従来技術システムは単純な構文規則を使用する。ただし、これらの単純な規則は、元のテキスト文字列に現れる文字に対してのみ適用される。これらは、適切に識別されないと異なる構文になる元のテキスト内の正字法バリエーションには対応しない。日本語は、特に、同じ単語に対し多数の正字法バリエーションがあり、構文パーサ(syntactic parser)を使用して日本語テキストをセグメント化するのが難しい。これらのバリエーションの多くは、日本語では漢字、ひらがな、カタカナ、および英字の4種類のスクリプトを使用しており、異なるスクリプトまたはスクリプトの組み合わせを使用して同じ単語を綴ることができることが原因で生じる。   A glossary approach can be used to identify many segments that overlap each other, and therefore these segments cannot exist within the same segmentation result. In order to identify which of these competing segments are the actual segments of text, some prior art systems use simple syntax rules. However, these simple rules apply only to characters that appear in the original text string. These do not correspond to orthographic variations in the original text that would have a different syntax if not properly identified. Japanese has many orthographic variations, especially for the same word, and it is difficult to segment Japanese text using a syntactic parser. Many of these variations are caused by the fact that Japanese uses four types of scripts: Kanji, Hiragana, Katakana, and English, and the same word can be spelled using different scripts or combinations of scripts. .

したがって、セグメント化システムは構文解析におけるセグメント化を活かしながら正字法バリエーションをきちんと説明するセグメント化システムを必要とする。本発明は、この問題および他の問題を解決するほかに、従来技術に勝る利点を持つ。   Therefore, the segmentation system requires a segmentation system that properly explains orthographic variations while taking advantage of segmentation in parsing. In addition to solving this and other problems, the present invention has advantages over the prior art.

(発明の概要)
本発明の実施形態は、正字法および屈折言語のバリエーションを構文パーサに送ることによりテキストをセグメント化する方法および装置を実現している。本発明では、可能なセグメントは文字列内で最初に識別される。識別されたセグメントのうち少なくとも2つは互いに重なる。セグメントのうち少なくとも1つについて、他の文字列が識別される。場合によっては、この他の文字列は、セグメントにより識別された単語の異なる語彙形式を識別する、屈折形態論により形成される。他の文字列はセグメントで識別された単語の正字法バリエーションを表す場合もある。
(Summary of Invention)
Embodiments of the present invention provide a method and apparatus for segmenting text by sending orthographic and refraction language variations to a syntax parser. In the present invention, possible segments are first identified in the string. At least two of the identified segments overlap each other. Other character strings are identified for at least one of the segments. In some cases, this other string is formed by a refraction morphology that identifies different lexical forms of the words identified by the segment. Other character strings may represent orthographic variations of words identified in the segment.

その後、識別されたセグメントおよび他のセグメントが構文パーサに渡され、完全な構文パースを出力する。結果として得られたパースにあるセグメントは、入力文字列のセグメント化を表す。   The identified segment and other segments are then passed to the syntax parser to output a complete syntax parse. The resulting segment in the parse represents the segmentation of the input string.

(例示の実施形態の詳細な説明)
図1は、本発明を実施できる適当なコンピュータ・システム環境100の例を示している。コンピューティングシステム環境100は、適当なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。このコンピューティング環境100は、例示のオペレーティング環境100に示されているコンポーネントのいずれかまたは組み合わせに関して従属している、あるいは必要であるとは解釈すべきではない。
Detailed Description of Exemplary Embodiments
FIG. 1 illustrates an example of a suitable computer system environment 100 on which the invention may be implemented. The computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. This computing environment 100 should not be construed as dependent on or necessary for any one or combination of components illustrated in the exemplary operating environment 100.

本発明は、他の多数の汎用または専用のコンピューティングシステム環境または構成でも動作する。本発明で使用するのに適していると思われるよく知られているコンピューティングシステム、環境、および/または構成の例として、パソコン、サーバ・コンピュータ、携帯またはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家電製品、ネットワークPC、ミニコン、メインフレームコンピュータ、上記システムまたはデバイスを含む分散コンピューティング環境などがあるが、これに限定されない。   The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with the present invention include personal computers, server computers, portable or laptop devices, multiprocessor systems, microprocessors Base systems, set-top boxes, programmable home appliances, network PCs, minicomputers, mainframe computers, distributed computing environments including, but not limited to, the systems or devices described above.

本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストにおいて説明できる。一般に、プログラムモジュールには、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、さらに、通信ネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実用することもできる。分散コンピューティング環境では、プログラムモジュールをメモリ記憶デバイスを含むローカルとリモートの両方のコンピュータ記
憶媒体に配置できる。
The invention can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

図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)バスがある。   With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110. The components of the computer 110 include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 has several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus that use various bus architectures. Examples include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, the Enhanced ISA (EISA) bus, and the Video Electronics Standard Acades Standard Acades Standard Acades Standard A bus). And the Peripheral Component Interconnect (PCI) bus, also referred to as the Mezzanine bus.

コンピュータ110は通常、多数のコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110によってアクセス可能な利用可能な媒体でよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体がある。たとえば、コンピュータ可読媒体として、コンピュータストレージ媒体や通信媒体などがあるが、これらに限られるわけではない。コンピュータ記憶媒体には、揮発性と不揮発性の両方の取り外し可能および取り外し不可能媒体が備えられ、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の記憶用の方法または技術で実装されている。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または目的の情報の格納に使用でき、コンピュータ110によってアクセスできる他の媒体がある。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータをキャリア波やその他の搬送メカニズムなどのモジュール式データ信号で具現化し、情報配送媒体を含む。「変調データ信号」とは、情報を信号内にエンコードするなどの方法で1つまたは複数の特性を設定または変更する信号のことである。たとえば、これには限らないが、通信媒体は有線ネットワークまたは直接有線接続などの有線媒体および音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含む。上記の組み合わせも、コンピュータ可読媒体の範囲に含まれるであろう。   Computer 110 typically includes a number of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. For example, computer readable media include, but are not limited to, computer storage media and communication media. Computer storage media includes both volatile and non-volatile removable and non-removable media, and is a method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Has been implemented. Computer storage media includes RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD), or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or There are other magnetic storage devices or other media that can be used to store information of interest and that can be accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modular data signal such as a carrier wave or other transport mechanism and includes information delivery media. A “modulated data signal” is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. For example, without limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of the above will also be included within the scope of computer-readable media.

システムメモリ130は、読み取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ110内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム133(BIOS)は通常、ROM 131に格納される。RAM 132は、通常、処理ユニット120に即座にアクセス可能な、および/または現在操作されているデータおよび/またはプログラムモジュールを含む。例では、これに限らないが、図1はオペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を示している。   The system memory 130 includes computer storage media in the form of volatile or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input / output system 133 (BIOS) that includes basic routines that help to transfer information between elements within the computer 110, such as during startup, is typically stored in the ROM 131. RAM 132 typically includes data and / or program modules that are immediately accessible to and / or presently being operated on to processing unit 120. In the example, although not limited thereto, FIG. 1 shows an operating system 134, an application program 135, other program modules 136, and program data 137.

コンピュータ110はさらに、その他の取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータ記憶媒体も備えることができる。例としてのみであるが、図1は、取り外し不可能不揮発性磁気媒体への読み書きを行うハードディスクドライブ141、取り外し可能不揮発性磁気ディスク152への読み書きを行う磁気ディスクドライブ151、およびCD−ROMまたはその他の光媒体などの取り外し可能不揮発性光ディスク156への読み書きを行う光ディスクドライブ155を示す。例のオペレーティング環境で使用できるその他の取り外し可能/取り外し不可能揮発性/不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROMなどがある。ハードディスクドライブ141は通常、インタフェース140などの取り外し不可能メモリインタフェースを通じてシステムバス121に接続され、磁気ディスクドライブ151、および光ディスクドライブ155は通常、インタフェース150などの取り外し可能メモリインタフェースによりシステムバス121に接続される。   Computer 110 may also include other removable / non-removable, volatile / nonvolatile computer storage media. By way of example only, FIG. 1 illustrates a hard disk drive 141 that reads and writes to a non-removable non-volatile magnetic medium, a magnetic disk drive 151 that reads and writes to a removable non-volatile magnetic disk 152, and a CD-ROM or other 1 shows an optical disk drive 155 that reads from and writes to a removable non-volatile optical disk 156, such as an optical medium. Other removable / non-removable volatile / nonvolatile computer storage media that can be used in the example operating environment include magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, semiconductor RAM, semiconductor ROM, etc. is there. The hard disk drive 141 is normally connected to the system bus 121 through a non-removable memory interface such as the interface 140, and the magnetic disk drive 151 and the optical disk drive 155 are usually connected to the system bus 121 through a removable memory interface such as the interface 150. The

上で述べた、図1に示されているドライブおよび関連コンピュータ記憶媒体は、コンピュータ110用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータを格納する。図1では、たとえば、ハードディスクドライブ141はオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じであっても、異なっていてもよい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147には、ここでは異なる番号が与えられており、最低でも、異なるコピーであることを示している。   The drives and associated computer storage media shown in FIG. 1 described above store computer readable instructions, data structures, program modules, and other data for computer 110. In FIG. 1, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. These components may be the same as or different from operating system 134, application program 135, other program modules 136, and program data 137. The operating system 144, the application program 145, the other program modules 146, and the program data 147 are given different numbers here to indicate that they are at least different copies.

ユーザは、キーボード162、マイク163、およびマウス、トラックボール、タッチパッドといったポインティングデバイス161などの入力デバイスを使用してコンピュータ110にコマンドおよび情報を入力できる。他の入力デバイス(図示せず)としては、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスやその他の入力デバイスは、システムバスに結合されているユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインタフェースおよびバス構造により接続することもできる。モニタ191やその他のタイプの表示デバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタの他に、コンピュータには、出力周辺機器インタフェース190を介して接続可能な、スピーカ197やプリンタ196などの他の周辺出力デバイスもある。   A user may enter commands and information into the computer 110 through input devices such as a keyboard 162, a microphone 163, and a pointing device 161, such as a mouse, trackball or touch pad. Other input devices (not shown) include a joystick, a game pad, a satellite dish, a scanner, and the like. These and other input devices are often connected to the processing unit 120 via a user input interface 160 coupled to the system bus, but may be a parallel port, game port, or universal serial bus (USB). Other interface and bus structures can also be used. A monitor 191 and other types of display devices are also connected to the system bus 121 via an interface, such as a video interface 190. In addition to the monitor, the computer also has other peripheral output devices such as speakers 197 and printer 196 that can be connected via the output peripheral interface 190.

コンピュータ110は、リモートコンピュータ180などの1つまたは複数のコンピュータへの論理接続を使用してネットワーク環境で動作することもできる。リモート・コンピュータ180は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークPC、ピアデバイスまたはその他の共通ネットワークノードでよく、通常は、コンピュータ110に関係する上述の要素の多くまたはすべてを含む。図1に示されている論理接続は、ローカルエリアネットワーク(LAN)171とワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含んでいてもよい。このようなネットワーキング環境は、事務所、企業規模のコンピュータネットワーク、イントラネットおよびインターネットではよくある。   Computer 110 may also operate in a network environment using logical connections to one or more computers, such as remote computer 180. Remote computer 180 may be a personal computer, handheld device, server, router, network PC, peer device, or other common network node and typically includes many or all of the elements described above associated with computer 110. The logical connections shown in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may include other networks. Such networking environments are common in offices, enterprise-wide computer networks, intranets and the Internet.

LANネットワーキング環境で使用する場合は、コンピュータ110はネットワークインタフェースまたはネットワークアダプタ170を介してLAN 171に接続される。WANネットワーキング環境で使用する場合は、コンピュータ110は通常、モデム172またはインターネットなどのWAN 173上で通信を確立するためのその他の手段を備える。モデム172は、内蔵でも外付けでもよいが、ユーザ入力インタフェース160またはその他の適切なメカニズムを介してシステム・バス121に接続できる。ネットワーク環境では、コンピュータ110またはその一部に関して述べたプログラムモジュールは、リモートメモリ記憶媒体に格納できる。例では、これに限らないが、図1はリモートコンピュータ180に常駐するようなリモートアプリケーションプログラム185を示している。図に示されているネットワーク接続は例であり、コンピュータ間に通信リンクを確立するのにその他手段を使用できることは理解されるであろう。   When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or network adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172 may be internal or external, but can be connected to the system bus 121 via the user input interface 160 or other suitable mechanism. In a network environment, program modules described with respect to computer 110 or portions thereof may be stored on a remote memory storage medium. By way of example, but not limited to, FIG. 1 shows a remote application program 185 that resides on a remote computer 180. It will be appreciated that the network connections shown in the figures are examples and other means can be used to establish a communications link between the computers.

図2は、モバイルデバイス200のブロック図であり、コンピューティング環境の実施例である。モバイルデバイス(mobile device)200は、マイクロプロセッサ202、メモリ204、入出力(I/O)コンポーネント206、およびリモートコンピュータまたはその他のモバイルデバイスと通信するための通信インタフェース208を備える。一実施形態では、前述のコンポーネントは適当なバス210で互いに通信できるように結合されている。   FIG. 2 is a block diagram of a mobile device 200, which is an example of a computing environment. The mobile device 200 includes a microprocessor 202, a memory 204, an input / output (I / O) component 206, and a communication interface 208 for communicating with a remote computer or other mobile device. In one embodiment, the aforementioned components are coupled so that they can communicate with each other over a suitable bus 210.

メモリ204は、バッテリバックアップモジュール(図に示されていない)付きのランダムアクセスメモリ(RAM)などの不揮発性電子メモリとして実装され、メモリ204に格納されている情報は、モバイルデバイス200の一般電源がシャットダウンされても失われることがない。メモリ204の一部は、プログラム実行用にアドレス指定可能なメモリとして割り当てるのが好ましいが、メモリ204の他の部分はディスクドライブ上のストレージをシミュレートするなどストレージに使用するのが好ましい。   The memory 204 is implemented as a non-volatile electronic memory such as a random access memory (RAM) with a battery backup module (not shown in the figure), and information stored in the memory 204 is stored by the general power supply of the mobile device 200. It is not lost even if it is shut down. Some of the memory 204 is preferably allocated as addressable memory for program execution, while other parts of the memory 204 are preferably used for storage, such as simulating storage on a disk drive.

メモリ204は、オペレーティングシステム212、アプリケーションプログラム214、およびオブジェクトストア(object store)216を格納する。動作時に、オペレーティングシステム212は、メモリ204からプロセッサ202によって実行するのが好ましい。好ましい一実施形態では、オペレーティングシステム212は、Microsoft Corporationから市販されているWindows(登録商標)CEブランドのオペレーティングシステムである。オペレーティングシステム212は、モバイルデバイス用に設計されていることが好ましく、一組の公開されているアプリケーションプログラミングインタフェースおよびメソッドを通じてアプリケーション214で利用できるデータベース機能を実装している。オブジェクトストア216内のオブジェクトは、アプリケーション214およびオペレーティングシステム212により維持され、少なくとも一部は、公開されているアプリケーションプログラミングインタフェースおよびメソッドへの呼び出しに応答する。   The memory 204 stores an operating system 212, application programs 214, and an object store 216. In operation, operating system 212 is preferably executed by processor 202 from memory 204. In one preferred embodiment, operating system 212 is a Windows® CE brand operating system commercially available from Microsoft Corporation. The operating system 212 is preferably designed for mobile devices and implements database functionality available to the application 214 through a set of public application programming interfaces and methods. Objects in object store 216 are maintained by application 214 and operating system 212, and at least in part respond to calls to published application programming interfaces and methods.

通信インタフェース208は、モバイルデバイス200で情報を送受信するための多数のデバイスおよび技術を表している。これらのデバイスの例としては、有線および無線モデム、衛星放送受信機、および放送チューナなどがある。モバイルデバイス200は、データを交換するためコンピュータに直接接続することもできる。このような場合、通信インタフェース208は、赤外線トランシーバやシリアルまたはパラレル通信接続とすることができるが、ただしすべてストリーミング情報を送信することができるものとする。   Communication interface 208 represents a number of devices and technologies for transmitting and receiving information with mobile device 200. Examples of these devices include wired and wireless modems, satellite broadcast receivers, and broadcast tuners. Mobile device 200 can also be connected directly to a computer to exchange data. In such a case, the communication interface 208 can be an infrared transceiver or a serial or parallel communication connection, but all can transmit streaming information.

入出力コンポーネント206には、タッチセンシティブスクリーン、ボタン、ローラ、およびマイク、さらにオーディオジェネレータ、振動デバイス、およびディスプレイなどさまざまな出力デバイスがある。上記のデバイスは、例であって、モバイルデバイス200にすべて存在している必要はない。さらに、他の入出力デバイスが、本発明の範囲内で、モバイルデバイス200に接続されていたり、それとともに存在する場合がある。   Input / output components 206 include various output devices such as touch-sensitive screens, buttons, rollers, and microphones, as well as audio generators, vibration devices, and displays. The above devices are examples and need not all exist in the mobile device 200. Furthermore, other input / output devices may be connected to or present with the mobile device 200 within the scope of the present invention.

本発明の実施形態は、正字法および屈折言語のバリエーションを構文パーサに送ることによりテキストをセグメント化する方法および装置を実現している。図3は、本発明の一実施形態のさまざまなコンポーネントのブロック図である。図4は、図3のコンポーネントを使用する本発明の一実施形態による方法の流れ図である。   Embodiments of the present invention provide a method and apparatus for segmenting text by sending orthographic and refraction language variations to a syntax parser. FIG. 3 is a block diagram of various components of one embodiment of the present invention. FIG. 4 is a flow diagram of a method according to an embodiment of the invention that uses the components of FIG.

図4のステップ400では、図3の単語ブレーカにより、小さな語彙レコードセット(lexical record set)304に現れる入力テキスト300内の連続する文字の組み合わせを識別する。語彙レコードセット304は、単語ごとの文法情報の量が限られているという意味で小さい。語彙レコードセット304が含んでいる単語の数が必ずしも少ないわけではなく、実際、いくつかの実施形態では、小さい語彙レコードセット304には多数の単語が含まれる。   In step 400 of FIG. 4, the word breaker of FIG. 3 identifies consecutive character combinations in the input text 300 that appear in a small lexical record set 304. The vocabulary record set 304 is small in the sense that the amount of grammatical information for each word is limited. The vocabulary record set 304 does not necessarily contain a small number of words, and indeed, in some embodiments, the small vocabulary record set 304 includes a large number of words.

本発明の一実施形態では、単語ブレーカ302がトライ(trie)と呼ばれるデータ構造を使用して小さい語彙レコードセット304内の単語を検索する。トライでは、単語は順番に表示されないが、その代わりに、状態の連鎖により表される。各状態は個々の文字を表し、1つまたは複数の子状態を含み、それぞれの子状態は小さな語彙レコードセット304の少なくとも1つの単語の現在状態の文字の後に出現する文字を含む。各状態はさらに、現在の文字の前にある状態の連鎖により形成される単語内の最後の文字として現在の文字が出現するかどうかも示す。   In one embodiment of the present invention, the word breaker 302 searches for words in a small vocabulary record set 304 using a data structure called trie. In a trie, words are not displayed in order, but instead are represented by a chain of states. Each state represents an individual character and includes one or more child states, each child state including a character that appears after the current state character of at least one word in the small vocabulary record set 304. Each state also indicates whether the current character appears as the last character in the word formed by the chain of states preceding the current character.

トライデータ構造を使用し、ABCDなどの文字列内の可能な単語を並行して決定できる。たとえば、システムは文字Aと関連する状態から始まる。その状態が文字Aが小さな語彙レコードセット304内に単語として単独で現れることを示す場合、「A」はその文字列の可能なセグメントとして識別される。その後、システムは、文字Aの状態から伸びる文字Bの子状態があるかどうかをチェックする。B子状態がある場合、B状態をチェックし、文字Bが単語の最終文字かどうかを確認する。最終文字であれば、文字列ABは可能なセグメントとして識別される。その後、システムは、文字Bの状態から伸びる文字Cの子状態があるかどうかを調べる。現在の状態から伸びる文字Cの子状態がない場合、システムは現在の連鎖の追跡を停止し、文字Bから始まる新しい連鎖の追跡を開始する。入力文字列内の文字ごとに新しい連鎖を開始するプロセスを繰り返し、それぞれの文字を連鎖の可能な始まりとしてテストする。   Using the trie data structure, possible words in a string such as ABCD can be determined in parallel. For example, the system starts with the state associated with the letter A. If the condition indicates that the letter A appears alone as a word in the small vocabulary record set 304, “A” is identified as a possible segment of the string. The system then checks to see if there is a child state for character B extending from the state for character A. If there is a B child state, the B state is checked to see if the character B is the last character of the word. If it is the last character, the character string AB is identified as a possible segment. The system then checks to see if there is a child state for character C that extends from the state for character B. If there is no child state of the letter C extending from the current state, the system stops tracking the current chain and starts tracking a new chain starting with the letter B. Repeat the process of starting a new chain for each character in the input string, testing each character as a possible beginning of the chain.

小さな語彙レコードセット304に格納されている単語がステップ400で識別されると、図4の方法がステップ402で続行され、単語ブレーカ302が屈折形態論(inflectional morphology)規則306を使用して、小さな語彙レコードセット304には格納できないが、その見出し語(lemmas)は小さな語彙レコードセット304に格納できる単語を識別する。この見出し語は、辞書または語彙データベースに格納する際に使用する単語の標準形である。たとえば、部分文字列ABCがテキスト文字列内に見つかり、部分文字列BCがいくつかの動詞の過去時制を示し、部分文字列BCの前の文字列を取ってそれを新しい文字Qと組み合わせてそれらの動詞の見出し語を形成できると屈折形態論規則で規定している場合、屈折形態論では部分文字列ABCから見出し語AQを識別できる。本発明のいくつかの実施形態では、ステップ408と関連して後述する派生形態論(derivational morphology)分析規則もステップ402で適用される。   Once the words stored in the small vocabulary record set 304 are identified at step 400, the method of FIG. 4 continues at step 402, where the word breaker 302 uses the inflectional morphology rule 306 to reduce the Although it cannot be stored in the vocabulary record set 304, its lemma identifies a word that can be stored in the small vocabulary record set 304. This headword is a standard form of a word used when stored in a dictionary or vocabulary database. For example, the substring ABC is found in the text string, the substring BC indicates the past tense of some verbs, takes the previous string of the substring BC and combines it with the new letter Q If the refraction morphological rule stipulates that the headword of the verb can be formed, the refraction morphology can identify the headword AQ from the partial character string ABC. In some embodiments of the present invention, the derivative morphology analysis rules described below in connection with step 408 are also applied at step 402.

見出し語を単語ラティス(word lattice)に追加する前に、システムは小さな語彙レコードセット304を検索し、見出し語が言語内の1つの単語であることを確認する。見出し語が言語内の1つの単語であれば、見出し語が単語ラティスに追加され、見出し語の語彙情報がレコードセット304に格納され、単語に関する情報が屈折形態論により与えられる。たとえば、単語ラティス内に置かれているレコードは、入力テキスト文字列内に見つかった見出し語の時制を示す場合がある。見出し語に対し単語ラティス内に置かれているレコードはさらに、見出し語を見つけるために使用された入力文字列内の文字列の開始位置と終了位置も示す。たとえば、4文字を使用して、2文字のみ含む見出し語の過去時制を表した場合、見出し語のレコードは、見出し語がその見出し語の2文字だけで占有されるのではなく4文字で占有される領域を埋めることを示す。これにより、見出し語が見出し語を見つけるのに使用した文字列と異なる異なる数の文字の列であるとしても、文字シーケンス内の他のセグメントと見出し語を組み合わせることができる。   Before adding an entry word to the word lattice, the system searches a small vocabulary record set 304 to verify that the entry word is a single word in the language. If the headword is a word in the language, the headword is added to the word lattice, the vocabulary information of the headword is stored in the record set 304, and information about the word is given by the refraction morphology. For example, a record placed in the word lattice may indicate the tense of the headword found in the input text string. The records placed in the word lattice for the headword further indicate the start and end positions of the character string in the input string used to find the headword. For example, if 4 characters are used to represent the past tense of an entry word containing only 2 characters, the entry word record will be occupied by 4 characters instead of the entry word being occupied by only 2 characters of the entry word. Indicates that the area to be filled is filled. This allows the headword to be combined with other segments in the character sequence even though the headword is a different number of character strings than the character string used to find the headword.

屈折形態論を実行している間、図4の方法はさらに、正字法正規化(orthographic normalization)を実行して単語の異なるスペルを正規化する。この正規化を実行することにより、小さな語彙レコードセット304にすべてのスペルを格納する必要があるわけではない。その代わりに、小さな語彙レコードセットに好ましいスペルを1つだけ格納する。   While performing refraction morphology, the method of FIG. 4 further performs orthographic normalization to normalize different spellings of words. By performing this normalization, it is not necessary to store all the spellings in the small vocabulary record set 304. Instead, only one preferred spell is stored in a small vocabulary record set.

文字列の正字法を正規化するために、単語ブレーカ302はデータ構造308にアクセスし、それぞれの好ましい正字法形式の選択した単語をその単語の正字法バリエーションにリンクする。データ構造308を使用して、単語ブレーカ302は、入力テキストの可能なセグメント内に見つかる文字列を検索する。データ構造308内に文字列を見つけると、単語ブレーカ302は、データ構造308を使用してその単語の好ましい形式を識別する。その後、この好ましい形態を、単語の関連する語彙情報および正規化されたセグメントの開始位置と終了位置とともに単語ラティス内に挿入される。   To normalize the orthography of the string, the word breaker 302 accesses the data structure 308 and links the selected word in each preferred orthographic form to the orthographic variation of that word. Using data structure 308, word breaker 302 searches for strings that are found within possible segments of the input text. Upon finding the string in the data structure 308, the word breaker 302 uses the data structure 308 to identify the preferred form of the word. This preferred form is then inserted into the word lattice along with the associated lexical information of the word and the start and end positions of the normalized segment.

正規化された形式の単語は基づく元のセグメントよりも文字が多い場合も少ない場合もあり、元のセグメントと文字が異なる場合があることに注意されたい。本発明では、元のセグメントの開始位置と終了位置を正規化された形式のレコードに格納することにより、正規化された形式を入力文字列内の他のセグメントと組み合わせて、入力文字列の完全なセグメント化を識別できる。   Note that the normalized form of the word may have more or less characters than the original segment on which it is based, and the characters may be different from the original segment. In the present invention, by storing the start position and end position of the original segment in a record in a normalized format, the normalized format can be combined with other segments in the input string to complete the input string. Segmentation can be identified.

日本語の実施形態では、正字法正規化の一部は、日本語で一般に使用する4種類のスクリプト、漢字、ひらがな、カタカナ、および英字の好ましい組み合わせを選択する必要がある。漢字とは、中国語から借用した、かなり複雑に見える日本語文字の集合である。日本語にはこうした文字が数千個あり、それぞれの文字は複数の「読み」(つまり発音)がある場合がある。ひらがなは、発音に基づいて単語を書き出すために使用される日本語の音節文字である。カタカナは、主に外来語の表記や、センテンス内の単語の強調に使用されるもう1つの音節文字である。ひらがなおよびカタカナは、仮名と総称されることもある。   In the Japanese embodiment, part of orthographic normalization requires the selection of a preferred combination of the four types of scripts commonly used in Japanese: Kanji, Hiragana, Katakana, and English. Kanji is a collection of Japanese characters that are borrowed from Chinese and look quite complicated. There are thousands of these characters in Japanese, and each character may have multiple “readings” (ie pronunciations). Hiragana is a Japanese syllable character used to write words based on pronunciation. Katakana is another syllable character that is mainly used for the representation of foreign words and the emphasis of words in sentences. Hiragana and katakana are sometimes collectively referred to as kana.

本発明の一実施形態では、正字法構造308は、正字法ラティスの集合の形を取り、各ラティスは単語を表す。各単語について、ラティスは、その単語の正字法形式のすべておよびその単語の好ましい正字法形式を示す。   In one embodiment of the present invention, orthographic structure 308 takes the form of a set of orthographic lattices, each lattice representing a word. For each word, the lattice indicates all of the orthographic forms of the word and the preferred orthographic form of the word.

このようなラティス500の例が図5に示されている。ラティス500は、括弧で示される3つの単語要素フィールド502、504、および506に分割され、単語の単一の要素を表すデータを保持する。それぞれの括弧内の単一要素を、単一の文字または複数の文字で表すことができる。3語からなる要素が図5に示されているが、当業者であれば、ラティス内に単語要素がいくつでもあり得ることは認識できるであろう。単語要素に代替がなかった場合、ラティス内にそれ自身として括弧なしで現れることにも注意されたい。   An example of such a lattice 500 is shown in FIG. Lattice 500 is divided into three word element fields 502, 504, and 506, shown in parentheses, to hold data representing a single element of the word. A single element within each parenthesis can be represented by a single character or multiple characters. Although a three word element is shown in FIG. 5, one skilled in the art will recognize that there can be any number of word elements in the lattice. Note also that if there is no substitution for a word element, it will appear as itself in the lattice without parentheses.

各単語要素データフィールドは、好ましいフィールド508および代替えフィールド510の2つのサブフィールドを含む。好ましいフィールド508は、対応する単語要素の主要な形式または好ましい形式を含む。ほとんどの日本語の実施形態では、好ましいフィールド508は漢字を含む。代替フィールド510は、対応する単語要素の代替形式を表すデータを含む。ほとんどの日本語の実施形態では、代替フィールド510は1つまたは複数の仮名文字を含む。好ましいフィールド508または代替フィールド510のいずれかに文字をいくつでも置くことができる。   Each word element data field includes two subfields, a preferred field 508 and an alternative field 510. The preferred field 508 contains the main or preferred form of the corresponding word element. In most Japanese embodiments, the preferred field 508 includes Chinese characters. The substitution field 510 includes data representing an alternative form of the corresponding word element. In most Japanese embodiments, the alternate field 510 includes one or more kana characters. Any number of characters can be placed in either the preferred field 508 or the alternate field 510.

たとえば、正字法ラティス[W:ab][X:cd]で、「WX」、「Wcd」、「abX」、または「abcd」として書くことができる単語を指定し、大文字は各要素の好ましい表現を示し、小文字は各要素の代替表現を示す。   For example, the orthographic lattice [W: ab] [X: cd] specifies a word that can be written as “WX”, “Wcd”, “abX”, or “abcd”, with uppercase letters being the preferred representation of each element Lowercase letters indicate alternative representations of each element.

漢字が通常仮名よりも好ましい日本語の実施形態では、本発明のラティスには、「送りがな」バリエーションも用意されている。送りがなは、オプションでいくつかのスペルバリエーションで漢字に付加できるが、漢字の仮名代替えに付加しなければならない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」が使用できる。   In the embodiment of Japanese in which kanji is preferred over ordinary kana, a “feed” variation is also provided in the lattice of the present invention. A advance is one or more kana characters that can optionally be added to a kanji in some spelling variations, but must be added to the kanji substitution. Therefore, when “X” is a Chinese character, “a” is a substitute kana character for X, and “b” is an optional character, variations “Xb” and “ab” are valid, but “a” without “b” is Not valid. The advance is represented by a comma in the lattice. Thus, in the lattice [W: a, b] [X: c], the orthographic forms “WX”, “WbX”, “Wc”, “Wbc”, “abX”, and “abc” are allowed, but “aX "Or" ac "is not allowed. Multiple feeds of a single word element are represented by separating each of the feeds with a comma. For example, in the lattice [W: a] [X: b, c, d], allowable variations “WX”, “WXd”, “WXc”, “Wbcd”, “aX”, “aXd”, “aXc” , And “abcd” can be used.

一実施形態では、コンパイルされたラティス構造を直接使用して、可能な単語セグメントを好ましい正字法形式に変換する。この実施形態では、受け取った文字入力を各正字法ラティスの最初の単語要素と比較する。受け取った文字入力が特定のラティスの第1の単語要素の好ましい形式または代替形式と一致する場合、入力文字列内の後続文字を特定のラティス内の単語要素とさらに比較し、特定のラティスに対応する語彙入力の正字法形式が入力文字列内に存在するかどうかを確認する。入力文字列がラティス内の単語要素の組み合わせと一致する場合、正字法ラティスの各単語要素の好ましい形式を含む入力文字列の正規化された表現が生成される。その後、正規化された形式が、単語ブレーカ302によって生成されている単語ラティス内に挿入される。   In one embodiment, the compiled lattice structure is used directly to convert possible word segments into the preferred orthographic form. In this embodiment, the received character input is compared to the first word element of each orthographic lattice. If the received character input matches the preferred or alternative form of the first word element of a particular lattice, then the subsequent characters in the input string are further compared with the word elements in the particular lattice to correspond to the particular lattice Check whether the orthographic form of the vocabulary input to be present exists in the input string. If the input string matches a combination of word elements in the lattice, a normalized representation of the input string is generated that includes the preferred form of each word element in the orthographic lattice. The normalized form is then inserted into the word lattice being generated by the word breaker 302.

いくつかの日本語実施形態では、追加構造を上のラティスと併用し、ラティスへのアクセスと関連する計算時間を短縮する。このデータ構造は、単語ごとに1エントリを含み、各エントリはすべて仮名のフィールドと好ましい形式のフィールドを持つ。すべて仮名のフィールドには、仮名文字のみで表される単語が格納される。好ましい形式のフィールドには、単語ラティスに入れるべき単語の好ましい正字法形式が格納される。この追加構造では、仮名文字のみを含む入力文字列を高速ルックアップできる。比較的複雑な正字法ラティス構造にアクセスする代わりに、単語ブレーカ302がその代わりに、仮名構造内で単純なルックアップを実行して、すべて仮名文字列の好ましい形式を見つける。いくつかの実施形態では、仮名構造は、上述のトライ構造に似たトライ構造として編成されている。   In some Japanese embodiments, additional structures are used in conjunction with the above lattice to reduce the computation time associated with accessing the lattice. This data structure contains one entry for each word, each entry having a kana field and a preferred format field. In the all kana field, words represented only by kana characters are stored. The preferred format field stores the preferred orthographic form of the word to be included in the word lattice. With this additional structure, an input character string including only kana characters can be looked up at high speed. Instead of accessing a relatively complex orthographic lattice structure, the word breaker 302 instead performs a simple lookup within the kana structure to find all preferred forms of the kana string. In some embodiments, the kana structure is organized as a trie structure similar to the trie structure described above.

いくつかの実施形態では、ラティスおよびすべて仮名データ構造は、ルックバック(look−back)データ構造で補強され、ラティスにアクセスする操作に関連する計算時間がさらに短縮される。ルックバックデータ構造では、好ましい文字にのみ基づいてラティスにインデックスを付けることができるため、一致するラティスの初期検索では、好ましい文字のみを比較し、代替文字は比較しない。この実施形態では、入力文字列が好ましい文字から始まる場合、好ましい文字で始まる単語が、単語の好ましい文字を使用して正字法ラティス内で直接検索される。ただし、入力文字列が好ましくない(代替)文字で始まる場合、入力文字列内に出現する第1の好ましい文字を使用してルックバックデータ構造が検索される。たとえば、入力文字列が「abXc」の場合、「a」、「b」、「c」が代替文字で、「X」が好ましい文字であれば、ルックバックデータ構造が「X」に対応するエントリについて検索される。   In some embodiments, the lattice and all kana data structures are augmented with a look-back data structure to further reduce the computation time associated with operations that access the lattice. Because the lookback data structure allows the lattice to be indexed based only on preferred characters, the initial search for matching lattices compares only the preferred characters and not the substitute characters. In this embodiment, if the input string begins with a preferred character, words that begin with the preferred character are searched directly in the orthographic lattice using the preferred character of the word. However, if the input string begins with a non-preferred (alternative) character, the lookback data structure is searched using the first preferred character appearing in the input string. For example, when the input character string is “abXc”, if “a”, “b”, “c” are alternative characters and “X” is a preferred character, an entry whose lookback data structure corresponds to “X” Searched for.

各ルックバックエントリは、特定の正字法形式の単語に対応する。これは、正字法形式内の第1の好ましい文字に基づいてインデックスが付けられる。各エントリはさらに、正字法形式内のこの第1の好ましい文字の前に代替文字の数およびこの形式内の第1の代替文字のIDも示す。たとえば、正字法形式「abcYdef」について、エントリは3つの代替文字が好ましい文字の前にあり、第1の代替文字が「a」であることを示す。このエントリはさらに、単語の好ましい正字法形式内でどの好ましい文字が先頭であるかも示す。たとえば、「VXYZ」が単語「abcYdef」の好ましい正字法形式であった場合、エントリは「V」がその単語の好ましい形式の第1の好ましい文字であることを示す。   Each lookback entry corresponds to a particular orthographic form of the word. This is indexed based on the first preferred character in orthographic form. Each entry also indicates the number of alternative characters before this first preferred character in orthographic format and the ID of the first alternative character in this format. For example, for the orthographic form “abcYdef”, the entry indicates that three alternative characters precede the preferred character and the first alternative character is “a”. This entry also indicates which preferred character is first in the preferred orthographic form of the word. For example, if “VXYZ” was the preferred orthographic form of the word “abcYdef”, the entry indicates that “V” is the first preferred letter of the preferred form of the word.

上述のように、ルックバックデータ構造は、入力文字列が好ましい文字で始まらないが、好ましい文字を含む場合にアクセスされる。入力文字列内の第1の好ましい文字を使用して、ルックバック構造を検索し、その文字のエントリを見つける。ルックバックインジケータによって示される差の分だけ検索文字の前にある入力文字列内の文字を評価する。評価された文字がルックバックエントリに格納されている代替文字と一致する場合、ルックバックエントリ内の第1の単語要素の好ましい形式を使用して、正字法ラティスを検索する。単語ブレーカ302では、この好ましい形式で始まる正字法ラティス内のエントリごとに、元の入力文字列とラティスエントリを比較し、エントリ内の正字法形式が入力文字列と一致するかどうかを調べる。一致している場合、単語の好ましい正字法形式は、単語ラティス内に挿入される。   As mentioned above, the lookback data structure is accessed when the input string does not start with a preferred character but contains a preferred character. The first preferred character in the input string is used to search the lookback structure to find an entry for that character. Evaluate the characters in the input string that precede the search character by the difference indicated by the lookback indicator. If the evaluated character matches an alternative character stored in the lookback entry, the preferred form of the first word element in the lookback entry is used to search the orthographic lattice. For each entry in the orthographic lattice starting with this preferred format, the word breaker 302 compares the original input string with the lattice entry to see if the orthographic format in the entry matches the input string. If there is a match, the preferred orthographic form of the word is inserted into the word lattice.

いくつかの実施形態では、ルックバックエントリのいくつかの第1の好ましい文字は、好ましい文字のシーケンスを含む単語要素の一部である。このような実施形態では、ルックバック構造を検索するために使用される入力文字の後の入力文字列内の文字をそれぞれ、エントリ内の要素を構成する好ましい文字と比較する。これらの値が一致しない場合、ラティス検索は実行されない。   In some embodiments, some first preferred characters of the lookback entry are part of a word element that includes a sequence of preferred characters. In such an embodiment, each character in the input string after the input character that is used to search the lookback structure is compared with the preferred characters that make up the elements in the entry. If these values do not match, the lattice search is not performed.

ステップ402で単語ブレーカ302が屈折形態論と正字法正規化を実行した後、単語ラティスは、入力テキスト内の文字と、入力テキスト内の単語のバリエーションをセグメント化することで直接形成できる単語で構成される。上述のように、これらのバリエーションの文字数は、バリエーションの元になった単語よりも多い場合も少ない場合もあり、また入力テキスト内に存在していない文字を含むこともある。したがって、単語ブレーカ302で生成される単語ラティスは、入力テキスト内に存在しているものと異なる文字を含むことができる。   After word breaker 302 performs refraction morphology and orthographic normalization in step 402, the word lattice is composed of words that can be formed directly by segmenting characters in the input text and variations of words in the input text. Is done. As described above, the number of characters of these variations may be greater or less than the word from which the variation is based, and may include characters that are not present in the input text. Accordingly, the word lattice generated by the word breaker 302 can include characters that are different from those present in the input text.

単語ブレーカ302で生成される単語ラティスは、大きな語彙レコードセット312にアクセスできる語彙ルックアップ部310に送られる。大きな語彙レコードセット312は、小さな語彙レコードセット304よりも多い語彙情報を含む。実際、多くの実施形態では、小さな語彙レコードセット304が、大きな語彙レコードセット312を参照して構築され、定期的に更新される。   The word lattice generated by the word breaker 302 is sent to a vocabulary lookup unit 310 that has access to a large vocabulary record set 312. The large vocabulary record set 312 includes more vocabulary information than the small vocabulary record set 304. In fact, in many embodiments, a small vocabulary record set 304 is constructed with reference to the large vocabulary record set 312 and updated regularly.

語彙ルックアップ部310は、大きな語彙レコードセット312を使用して、図4のステップ406でラティス内の各単語について単語ラティスに格納されている語彙情報の量を増やす。このような追加情報は、単語の語源などの項目、単語を適切な名詞の中で使用できるかどうか、および単語その他の語彙および文法上の詳細を含む。   The vocabulary lookup unit 310 uses the large vocabulary record set 312 to increase the amount of vocabulary information stored in the word lattice for each word in the lattice at step 406 of FIG. Such additional information includes items such as the origin of the word, whether the word can be used in an appropriate noun, and the word and other vocabulary and grammatical details.

単語ラティスは、拡張された語彙情報とともに、語彙ルックアップ310から派生形態論314に渡される。図4のステップ408で、派生形態論314は、単語ラティス内の文字の連続するセグメントを組み合わせてより大きな多セグメント単語を形成する。たとえば、派生形態論コンポーネント314は、接尾辞文字列、挿入辞文字列、および接頭辞文字列を、他のセグメントに対して、後ろに追加したり、挿入したり、前に追加したりすることができる。いくつかの実施形態では、形態論コンポーネント314によりステップ408ではなく、単語ブレーカ302によりステップ402でこれらの派生形態論規則の一部または全部が適用される。ただし、形態論コンポーネント314の適用には、派生形態規則に入力する大きな語彙レコードセットで豊富な情報を利用できるという利点がある。さらに、派生形態論コンポーネント314では、人、施設、および地理的場所の名称およびその他の固有名詞などの名前が付けられた実体、および日付や時刻などのその他の単位を識別し、抽出するためセグメントを組み合わせることができる。   The word lattice is passed from the vocabulary lookup 310 to the derived morphology 314 along with the expanded vocabulary information. In step 408 of FIG. 4, the derived morphology 314 combines consecutive segments of characters in the word lattice to form a larger multi-segment word. For example, the derived morphological component 314 may add, insert, or prepend suffix strings, infix strings, and prefix strings to other segments. Can do. In some embodiments, some or all of these derived morphological rules are applied at step 402 by the word breaker 302 rather than at step 408 by the morphological component 314. However, the application of the morphological component 314 has the advantage that a wealth of information can be used in the large vocabulary record set that is entered into the derived morphological rules. In addition, the derived morphological component 314 provides segments to identify and extract named entities such as names of people, facilities, and geographical locations and other proper nouns, and other units such as dates and times. Can be combined.

派生形態論314によって構成される大きな単語は、その大きな単語の語彙情報とともに単語ラティスに追加される。ほとんどの実施形態では、派生形態論314で構成される大きな単語は、小さなセグメントを置き換えることはないが、その代わりに、小さなセグメントに加えてラティス内に置かれる。   The large word constructed by the derived morphology 314 is added to the word lattice along with the lexical information of the large word. In most embodiments, large words composed of derived morphologies 314 do not replace small segments, but instead are placed in the lattice in addition to small segments.

派生形態論314によって生成される拡張された単語ラティスは、重なり合う1つまたは複数のセグメントを通常は含む。このような重なり合うセグメントは、1つまたは複数の文字を共通して持つ入力文字列から直接派生するセグメントを含む。重なり合うセグメントはさらに、1つまたは複数のその他のセグメントと重なる入力文字列内のセグメントから生成された屈折形態論または正字法正規化を通じて形成されたバリエーションを含む。   The expanded word lattice generated by the derived morphology 314 typically includes one or more overlapping segments. Such overlapping segments include segments that are derived directly from an input string having one or more characters in common. Overlapping segments further include variations formed through refraction morphology or orthographic normalization generated from segments in the input string that overlap with one or more other segments.

派生形態論314により生成された拡張された単語ラティスは、構文パーサ316に送られ、そこで、図4のステップ410で拡張された単語ラティスを使用して構文解析を実行する。一実施形態では、小さな単語および語句から大きな語句をインクリメンタルに構築することにより構文パースを出力するボトムアップチャートパース(bottom−up chart parse)を使用して構文解析を実行する。大きな語句を構築するために、構文パーサ316は、単語または語句の語彙指定を調べて大きな単語または語句を形成するためにどのように組み合わせるかを決定する文法規則を適用する。一実施形態では、2つの隣接する単語または語句を調べるバイナリ文法(binary grammar)を使用して、組み合わせ方を決定する。   The expanded word lattice generated by the derived morphology 314 is sent to the syntax parser 316, where parsing is performed using the word lattice expanded in step 410 of FIG. In one embodiment, parsing is performed using a bottom-up chart parse that outputs a syntactic parse by incrementally building large phrases from small words and phrases. To construct a large phrase, the syntax parser 316 applies grammar rules that examine the vocabulary specification of the word or phrase and determine how to combine to form a large word or phrase. In one embodiment, a binary grammar that examines two adjacent words or phrases is used to determine how to combine them.

構文パーサ316によって実行される構文解析では、拡張された単語ラティス内のすべてのセグメントを考慮する。構文パーサは、元の入力テキスト内の隣接する文字を表すセグメントのみを組み合わせ、最終的な解析で入力テキスト全体を対象とするように制約されている。したがって、構文パーサは、重なる2つのセグメントを伴う有効なパースを生成できないか、または入力文字列の全体を表さないセグメントのグループについて有効な構文解析結果を生成できない。   The parsing performed by the syntax parser 316 considers all segments in the expanded word lattice. The syntax parser is constrained to combine only segments representing adjacent characters in the original input text and target the entire input text in the final analysis. Thus, the syntax parser cannot generate a valid parse with two overlapping segments or a valid parse result for a group of segments that does not represent the entire input string.

一実施形態では、構文パーサ316は、その出力で単一のパースを生成する。この単一のパースにより、単語ラティス内にある単語のグループ間の関係が識別される。屈折形態論および正字法正規化を実行して単語ラティスを構築しているため、この有効なパースに、元々入力テキスト内にはなかった形式の単語を含めることができる。その結果得られる有効なパースは、単語ラティス内で見つかった複数の可能なセグメント化から選択した入力テキストの有効なセグメント化を含む。構文パーサは、本質的に、重なり合うセグメントのグループから1つのセグメント化を選択するので、本発明では、構文パーサの前に適切なセグメント化を識別する別のセグメント化ユニットを必要としない。その代わりに、構文パーサ自体が、入力テキストの最も可能性の高いセグメント化を選択する。   In one embodiment, the syntax parser 316 generates a single parse at its output. This single parse identifies relationships between groups of words that are in the word lattice. Because refraction morphology and orthographic normalization are performed to build the word lattice, this valid parse can include words that were not originally in the input text. The resulting valid parse includes a valid segmentation of the input text selected from a plurality of possible segmentations found in the word lattice. Since the syntax parser essentially selects one segmentation from a group of overlapping segments, the present invention does not require another segmentation unit to identify the appropriate segmentation before the syntax parser. Instead, the syntax parser itself selects the most likely segmentation of the input text.

本発明で生成されるセグメント化は、従来技術のセグメント化よりも高度であるが、それは構文パーサが入力テキスト自体の中に必ずしも存在していなかった文字に基づいて動作しているからである。したがって、構文パーサから得られるセグメント化の結果は、入力テキスト内に存在していなかった、従来技術のセグメント化システムでは考慮されていない単語形式に基づいている。   The segmentation generated by the present invention is more sophisticated than the prior art segmentation because the syntax parser operates on characters that were not necessarily present in the input text itself. Thus, the segmentation results obtained from the syntax parser are based on word formats that were not considered in prior art segmentation systems that were not present in the input text.

他の実施形態では、構文パーサ316は、複数の有効な構文パースを生成し、それぞれ、入力テキストの別々の有効なセグメント化を表す。一実施形態では、これらの有効なパースはそれぞれ、各パース内での意味論的関係を識別する論理形式ジェネレータ318に渡される。その後、意味論的関係を使用して、有効な構文パースのうちどれが入力文字列の正しいパースであるかを選択することができる。この意味論的識別は、図4でステップ412として示されている。   In other embodiments, the syntax parser 316 generates a plurality of valid syntax parses, each representing a separate valid segmentation of the input text. In one embodiment, each of these valid parses is passed to a logical form generator 318 that identifies the semantic relationships within each parse. Semantic relationships can then be used to select which valid syntactic parses are the correct parses of the input string. This semantic identification is shown as step 412 in FIG.

本発明は、特定の実施形態を参照しながら説明したが、当業者には本発明の精神と範囲を逸脱することなく形式と詳細に変更を加えられること明白であろう。   Although the invention has been described with reference to particular embodiments, it will be apparent to those skilled in the art that changes can be made in form and detail without departing from the spirit and scope of the invention.

本発明を実装するのに適した汎用コンピュータシステム実施例のブロック図である。1 is a block diagram of a general purpose computer system embodiment suitable for implementing the present invention. 本発明を実施できるハンドヘルドデバイスのブロック図である。1 is a block diagram of a handheld device in which the present invention can be implemented. 本発明の一実施形態の要素の詳細なブロック図である。FIG. 3 is a detailed block diagram of elements of an embodiment of the present invention. 本発明の例示の実施形態による構文解析を使用してセグメント化する方法の流れ図である。4 is a flow diagram of a method for segmenting using parsing according to an exemplary embodiment of the present invention. 本発明の一実施形態において使用される正字法ラティスを示す図である。FIG. 3 is an orthographic lattice used in an embodiment of the present invention.

Claims (2)

セグメント化されない言語の入力文字列をセグメント化する方法であって、
前記文字列内の可能なセグメントを識別するステップであって、前記可能なセグメントのうちの少なくとも2つが互いに重なっているステップと、
前記可能なセグメントのうちの少なくとも1つに対する代替文字列を識別するステップであって、前記代替文字列が代替セグメントを形成するステップと、
前記可能なセグメントおよび前記代替セグメントを用いて複数の構文解析を実行するステップであって、該解析が、前記入力文字列のセグメント化に役立ち、
前記入力文字列のセグメント化をもたらす完全な構文解析をもたらすステップと
を備えることを特徴とする方法。
A method of segmenting an input string in an unsegmented language,
Identifying possible segments in the string, wherein at least two of the possible segments overlap each other;
Identifying an alternative string for at least one of the possible segments, wherein the alternative string forms an alternative segment;
Performing a plurality of parsings using the possible segment and the alternative segment, the parsing helping to segment the input string;
Providing a complete parsing that results in a segmentation of the input string.
セグメント化されない言語の文字列内の構文を識別するシステムであって、
前記入力文字列から単語の集合を生成するプロセッサの単語ブレーカであって、前記単語の集合が、前記文字列内の同じ文字から、その一部が得られる少なくとも2つの単語を含み、前記単語ブレーカが、
前記単語の集合のための単語であって前記文字列から直接取り出される単語を得るために用いられる、システムメモリに格納された語彙レコードセットと、
前記文字列内に見つかる単語の単語バリエーションを得るために前記プロセッサによって用いられる、システムメモリに格納されたバリエーションコンストラクタであって、各単語バリエーションは前記単語の集合に追加され、各単語バリエーションは、そのバリエーションの元である前記文字列内の単語に関する文字列とは異なる文字列を有し、各単語バリエーションは、前記文字列の単語とは異なる正字法形式または屈折形式を有するバリエーションコンストラクタとを用いる単語ブレーカと、
前記単語ブレーカにより生成された単語の集合を用いて構文解析を実行し、前記文字列の構文を示す構文パースを生成する、前記プロセッサの構文パーサと
を備えることを特徴とするシステム。
A system for identifying syntax in strings in non-segmented languages,
A word breaker for a processor that generates a set of words from the input string, wherein the set of words includes at least two words that are partially derived from the same character in the string, the word breaker But,
A vocabulary record set stored in system memory that is used to obtain words for the set of words that are taken directly from the string;
A variation constructor stored in system memory used by the processor to obtain word variations of words found in the string, each word variation being added to the set of words, each word variation being its A word using a variation constructor having a character string different from the character string related to the word in the character string that is the source of variation, and each word variation having a different orthographic form or refraction form from the word of the character string With a breaker,
And a syntax parser of the processor that performs a syntax analysis using a set of words generated by the word breaker and generates a syntax parse indicating the syntax of the character string.
JP2008179504A 1999-11-17 2008-07-09 Method for segmenting non-segmented text using syntactic parse Pending JP2009009583A (en)

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 (en) 1999-11-17 2000-11-01 How to segment unsegmented text using syntactic parsing

Publications (1)

Publication Number Publication Date
JP2009009583A true JP2009009583A (en) 2009-01-15

Family

ID=27496677

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001539152A Pending JP2003527677A (en) 1999-11-17 2000-11-01 How to segment unsegmented text using syntactic parsing
JP2008179504A Pending JP2009009583A (en) 1999-11-17 2008-07-09 Method for segmenting non-segmented text using syntactic parse

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001539152A Pending JP2003527677A (en) 1999-11-17 2000-11-01 How to segment unsegmented text using syntactic parsing

Country Status (3)

Country Link
JP (2) JP2003527677A (en)
AU (1) AU2920001A (en)
WO (1) WO2001037127A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220225A (en) * 2016-06-17 2017-09-29 林德(中国)叉车有限公司 Multilingual instrument and the built-in character library generation for multilingual instrument and display mode

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0552543B2 (en) * 1985-03-12 1993-08-05 Fujitsu Ltd
JPH07325826A (en) * 1994-05-31 1995-12-12 Meidensha Corp Japanese language processing system
JPH09160920A (en) * 1995-12-12 1997-06-20 Brother Ind Ltd Machine translation equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0552543B2 (en) * 1985-03-12 1993-08-05 Fujitsu Ltd
JPH07325826A (en) * 1994-05-31 1995-12-12 Meidensha Corp Japanese language processing system
JPH09160920A (en) * 1995-12-12 1997-06-20 Brother Ind Ltd Machine translation equipment

Also Published As

Publication number Publication date
AU2920001A (en) 2001-05-30
JP2003527677A (en) 2003-09-16
WO2001037127A2 (en) 2001-05-25
WO2001037127A3 (en) 2002-03-21

Similar Documents

Publication Publication Date Title
JP4676181B2 (en) Full-form lexicon with tagged data and method for constructing and using tagged data
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 (en) Method and Apparatus for developing a transfer dictionary used in transfer-based machine translation system
JP2007265458A (en) Method and computer for generating a plurality of compression options
WO1997004405A9 (en) Method and apparatus for automated search and retrieval processing
WO2001029697A9 (en) A method and system for reducing lexical ambiguity
EP0953192A1 (en) Natural language parser with dictionary-based part-of-speech probabilities
JP2002215617A (en) Method for attaching part of speech tag
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 (en) Word segmentation method in chinese text
EP0316743B1 (en) Method for removing enclitic endings from verbs in romance languages
JP2009009583A (en) Method for segmenting non-segmented text using syntactic parse
JP3419748B2 (en) Dictionary creation device and method, and recording medium recording dictionary creation program
JP3267168B2 (en) Natural language conversion system
JP2752025B2 (en) Machine translation equipment
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

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