JP2006518502A - テキスト分析のためのシステムと方法 - Google Patents

テキスト分析のためのシステムと方法 Download PDF

Info

Publication number
JP2006518502A
JP2006518502A JP2006501931A JP2006501931A JP2006518502A JP 2006518502 A JP2006518502 A JP 2006518502A JP 2006501931 A JP2006501931 A JP 2006501931A JP 2006501931 A JP2006501931 A JP 2006501931A JP 2006518502 A JP2006518502 A JP 2006518502A
Authority
JP
Japan
Prior art keywords
chain
constraint
string
regular expression
computer
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
JP2006501931A
Other languages
English (en)
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 JP2006518502A publication Critical patent/JP2006518502A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 より単純で、より高速で、より移植可能性の高いテキスト分析を可能にする、コンピュータによって実現可能なシステムと方法を提供する。
【解決手段】 開示された発明は非循環有向グラフ(Direct Acyclic Graph)を「DAG」ストリングによって表し、単純な有限状態オートマタを用いて処理することを可能にする。

Description

本発明は一般に自然言語処理に関し、特にテキスト分析のためのシステムと方法に関する。
計算手法を使用した自然言語処理(Natural Language Processing:NLP)の研究における重要な洞察により、このような分野を、例えば、情報検索やウェブベースのサービスのような今日の実世界の問題の解決に適用することが可能になった。
しかしながら、人間の言語の複雑性から、高性能のNLPシステムを提供するために、個別の言語分析が行われるに至った。これらのうちの1つが文の形態統語分析(morphosyntactic analysis)(これはタグ付け(tagging)とも呼ばれている)である。実際、1つの語が異なる文法上の意義(例えば、動詞または名詞)を有する人間の言語の曖昧性のために、誤解釈を防止するにはその曖昧性を適切に解消することがきわめて重要である。それらの課題を解決するために、特に以下のような手法が知られている。
・統計的な「品詞(Part Of Speech: POS)タガー(Tagger)」。これは、一般に、いわゆる隠れマルコフ・モデル(Hidden Markov Model:HMM)とビタビ(Viterbi)アルゴリズムを使用する;
・形式規則システム;
・これら2つの混合
市場で入手できるPOSシステムはきわめて良好に機能し、きわめて高い成功率(たとえば「標準の書き言葉英語(Written Standard English)」の場合に80%超)を示している。
しかしながら、統計的POSは、十分な学習の組を生成するために、きわめて大きなコーパスを人手によってタグ付けする人間のオペレータを必要とするのに加え、それらが使用するトリグラムまたはバイグラムの頻度を学習するために使用するコーパスに依存する度合いが高い。
POSタガーの中では、「制約文法(Constraint Grammar)」を使用するものがそれらの速度、それらの頑健性、およびそれらの精度の故に、特に興味深い。「制約文法」に基づく大多数のシステムは、1組の制約を表す「有向グラフ(DirectedGraph)」(「有限状態変換器(Finite State Transducer)」)を用いて曖昧性を有するテキストを表現する「非循環有向グラフ(DirectedAcyclic Graph: DAG)」と関係(intersect)している。しかし、このような実装の重要な欠点は、グラフによる表現はきわめて複雑であり、プログラミングするのが困難であるとともにそれらの実装においてマシンに依存する場合の多い複雑なアルゴリズムを必要とする、という点である。これらの問題により、このようなシステムの使用は、そのために開発されている特定の言語に制限される。
したがって、必要とされるものは、上述した従来技術の欠陥を克服するためのシステムと方法である。
したがって、より単純で、より高速で、より移植可能性の高いテキスト分析を可能にする、コンピュータによって実現可能なシステムと方法を提供することが本発明の目的である。
この目的は、非循環有向グラフ(Direct Acyclic Graph)を「DAG」ストリングによって表し、単純な有限状態マシンを用いて処理する本発明によって達成される。
好適な実施例において、本発明の方法は、最初のストリングのマルチ・チェーンに適用される制約を表す非循環有向グラフ(Direct Acyclic Graph:DAG)を構築する手段を有するコンピュータ・システムにおいて動作可能である。
この方法は、好ましくは、
(a)前記制約から正規表現を構築するステップと、
(b)前記正規表現を用いて、前記最初のストリングのマルチ・チェーンにおいて、前記少なくとも1つの制約が適用される位置を探索するステップと、
(c)前記最初のストリングのマルチ・チェーンを、前記制約が適用される位置に関してサブ・マルチ・チェーンに分離するステップと、
(d)前記制約が適用されなくなるまで、ステップ(b)およびステップ(c)を各サブ・マルチ・チェーンに適用するステップとを含む。
図1は本発明の好適な実施形態を実現するために使用する典型的なハードウェア環境を示すブロック図である。この典型的なハードウェア環境では、コンピュータ100は特に、プロセッサ102、メモリ104(たとえばランダム・アクセス・メモリ(random access memory: RAM))、入力装置106(たとえばキーボード、マウス型ポインティング装置、音声駆動型入力装置など)、ディスプレイ装置108(たとえばCRT、LCDディスプレイなど)、ならびに、データ記憶装置110(たとえばハード・ディスク駆動装置、フロッピー(R)ディスク駆動装置、およびCD−ROM駆動装置の一部または全部など)、およびデータ通信装置112(たとえばモデム、ネットワーク・インターフェースなど)の一部または全部を含む。コンピュータ100に読み取り専用メモリ(readonly memory: ROM)、画像カード、バス・インターフェース、プリンタなどのような他の装置を取り付けることが想定されている。上述した構成要素の任意の組み合わせ、または、任意個数の様々な構成要素、周辺装置、および当技術分野で既知の他の装置をコンピュータ100とともに使用してもよい、ということを当業者は理解しうる。コンピュータ100はOS/390(TM)、MVS(TM)、VM(TM)、OS/2(TM)、AIX(TM)、UNIX(TM)、WINDOWS(TM)、MACINTOSH(TM)などのようなオペレーティング・システム(OS)114の制御の下で動作する。コンピュータ100の電源をオンする、またはコンピュータ100をリセットすると、オペレーティング・システム114がコンピュータ100のメモリ104の中にブートされて実行の用に供される。次いで今度は、オペレーティング・システム114が制約チェック・プログラム120のような少なくとも1つのコンピュータ・プログラムの実行を制御する。この制約チェック・プログラムは、正規表現とストリングのマルチ・チェーン(multi-chain)との双方から本発明の新規のDAG表現を構築するのを可能にする。ストリングのマルチ・チェーンは一般に、曖昧性を除去してストリング・マルチ・チェーン・データベース118に格納されている句の共通のDAG表現である最初のマルチ・チェーンから取得される。この句は、データ記憶装置110の上のテキスト・ファイルに格納されているテキスト、またはプログラマが入力装置106から対話的に入力したテキストである。
正規表現(regular expression)は正規表現データベース116に格納されている。正規表現(一般に「regexp」または「regex」と略記される)とは、ある種の構文規則(制約とも呼ばれる)に従う、ストリングから成る組全体を記述する一連のエンティティ(実体)のことである。これらの表現は、あるパターンを求めてテキストの本文を検索し、たとえば発見されたストリングを他のストリングで置換するために、多くのテキスト・エディタやユーティリティによって使用されている。精通することが必要になるマッチングの基本型がいくつかある。すなわち、文字マッチング、繰り返しマッチング、および位置マッチングである。したがって、正規表現は、実質的には、マッチングする可能性のあるストリングの組のための規則を指定することを可能にする、小さな高度に専門化したプログラミング言語である。正規表現はUnix(R)オペレーティング・システムおよびUnix(R)に類するものにおいて頻繁に使用されている(Unix(R)はユニックス・システム・ラボラトリ(UnixSystem Laboratories)の商標である)。正規表現についてさらに学習するには、「コンパイラ、原理、手法、およびツール」(アディソン・ウエズレイ)なる題名のA・アホ、R・セシ、およびJ・ウルマンの著書(thebook of A. Aho, R. Sethi. J. Ullman titled "Compilers, Principles,Techniques and Tools") を参照するとよい。
正規表現データベース116、ストリング・マルチ・チェーン・データベース118、および制約チェック・プログラム120は、プロセッサ102によってアクセスされ、解釈され、または実行されることに応じて、コンピュータ100に、本発明を実装または使用するのに必要なステップを実行させる論理もしくはデータまたは双方から成る。一般に、正規表現データベース116、ストリング・マルチ・チェーン・データベース118、および制約チェック・プログラム120は、メモリ104、データ記憶装置110、もしくは、通信装置112を介してコンピュータ100に接続された遠隔の装置、キァリア、または媒体に記録され、それから読み取られる。したがって、本発明は標準のプログラミング手法または工学手法を用いてソフトウェア、ファームウェア、ハードウェアまたはこれらの任意の組み合わせを生成する方法、装置、または製品として実現しうる。ここで使用する用語「製品(article of manufacture)」(あるいは代替可能なものとして「コンピュータ・プログラム製品(computerprogram product)」)は、装置、キァリア、または媒体に記録され、または、それから読み取りうる論理もしくはデータまたは双方を包含することが意図されている。無論、本発明の範囲を逸脱することなく、この構成には多くの変更をなしうる、ということを当業者は理解しうる。図1に示す典型的な環境は本発明を限定することを意図されていない、ということを当業者は理解しうる。実際、本発明の範囲を逸脱することなく、他の代替可能なハードウェア環境とプログラムを使用しうる、ということを当業者は理解しうる。
図2を参照する前に、「グラフ(Graph)」、「有向グラフ(DirectedGraph)」、および「非循環有向グラフ(DirectedAcyclic Graph)」に関する背景の概観を最初に行う。有限状態マシン(finite state machine: FSM)または有限状態オートマトン(finitestate automaton: FSA)とは、有限かつ不変の量の記憶(状態)のみを有する、計算と言語の研究において使用される抽象マシンのことである。それは有向グラフとして概念化することができる。有限個数の状態があり、各状態は0個または1個以上の状態への遷移を有する。どの遷移が後続するのかを決定する入力ストリングがある。グラフはオブジェクトの間の1組の接続を記述している。各オブジェクトはノードと呼ばれる。それは頂点と呼ぶこともできる。接続自体はエッジ(edge)または弧(arc)と呼ばれる。ルート・ノードがツリー型データ構造における最上位のノードである。このルート・ノードを通じてツリーの中のすべてのデータにアクセスすることができる。一部のツリーでは、ルート・ノードは(通常の個数よりも多い、あるいは少ない個数の子ノードを許可される、といった)特別の属性を有する。リーフ・ノードとは子を有さない、ツリーのノードのことである。多くの場合、リーフ・ノードはルート・ノードから最も離れているノードである。一部のツリーはリーフ・ノードにのみデータを格納する。親ノードすなわち先祖ノードとは少なくとも1つの子ノードにリンクしている、ツリー型データ構造の中のノードのことである。子ノードすなわち子孫ノードとは親ノードによってリンクされている、ツリー型データ構造の中のノードのことである。
曖昧さを無くすべき句を表す「非循環有向グラフ(Directed Acyclic Graph: DAG)」は上述したマルチ・チェーンと呼ばれるある種の形をしている。そして、マルチ・チェーンとは次に示す属性を有する非循環有向グラフのことである。すなわち、
・マルチ・チェーンはただ1つのルートとただ1つのリーフを有する。
・所定のノードに由来する各頂点は同一のノードに至る。
下に示すのは、ノード1がルートであり、ノード6がリーフであるマルチ・チェーン(multi-chain:MC)のグラフによる記述である。
Figure 2006518502
上に示す典型例から、このようなマルチ・チェーンに制約(すなわち所定の規則)がどのように適用されるのかを説明しよう。制約として、順番列(sequence)「ac」は上のマルチ・チェーンから排除されるべきである、と明言しよう。当業者(skilled man)はこの制約を次に示すグラフ(CT)によって容易に表すことができる。すなわち、
Figure 2006518502
このグラフ表示において、記号「@」は「同一のノードに由来するエッジにラベルを付したもの以外の任意の文字」を意味する。ノード1はルート(始点(start)ルート)であり、ノード2は終点(end)ノードである。さらに、ノード3はシンク(sink、吸い込み)、すなわち湧き出し(issue)を有さないノードを表している。
前述のグラフMCとCTとの交差により、以下の「非循環有向グラフ(Directed Acyclic Graph: DAG)」が導かれる。
Figure 2006518502
このDAGには、予期される結果として、順番列「ac」を含む経路は存在しない。それは5つのマルチ・チェーン(MC1〜MC5)に分解することができる。すなわち、
Figure 2006518502
Figure 2006518502
Figure 2006518502
Figure 2006518502
Figure 2006518502
結果として得られる上のDAG(DAG)の各チェーンは上の元のマルチ・チェーン(MC1〜MC5)のうちの少なくとも1つのものの中に見出される、ということを当業者は認識しうる。
本発明者は、現在のコンピュータによって実現しうる単純な方法を提示するために、マルチ・チェーンの特定の表現を使用してきた。したがって、マルチ・チェーンはコンピュータにおいてより容易に操作できる「ストリング(string)」式の形態で表される。たとえば、最初に図示したマルチ・チェーン(MC)は次のストリング(ST)として表現される。すなわち、
・ST=<a b c><a b><a b c><a c><a c>
ここで、「<a b c>」はエッジ「a」、「b」、「c」によってリンクされている、ということを意味する。
したがって、この定式化の場合、上のストリング(ST)はノード(すなわち位置)2はノード(すなわち位置)1からエッジ「a」、「b」、「c」のうちのいずれか1つによって到達される、ということを意味する。したがって、位置3はエッジ「a」または「b」によって到達される。位置4はエッジ「a」、「b」、または「c」によって到達される。位置5はエッジ「a」または「c」によって到達され、そして最後の位置6はエッジ「a」または「c」によって到達される。
同様に、順番列「ac」を避けることを明言している制約を適用することによって得られる他のマルチ・チェーン(MC1〜MC5)はそれぞれ次のストリング(ST1〜ST5)によって表現される。すなわち、
・ST1=<a b c><a b><b><c><a c>
・ST2=<a b c><a b><a b><a><a>
・ST3=<a b c><b><a b c><a><a>
・ST4=<a b c><b><b c><a c><a>
・ST5=<a b c><b><b c><c><a c>
次に図2を参照すると、本発明者はストリング(ST)のマルチ・チェーン(206)として表される最初のマルチ・チェーン(MC)に定義済みの制約(200)を適用するときに、ストリングのマルチ・チェーン(ST1〜ST5)を直接に抽出する方法を案出した。第1の操作(202)において、マルチ・チェーン中の所望の制約(200)を検出するのを可能にする正規表現を構築する。上の例から、順番列「ac」を検出する場合、対応する正規表現を次のように構築する。すなわち、
P=“<”^(@*“>”@*)“a”^(@*“>”@*)“>”“<” ^(@*“>”@*)“c”^(@*“>”@*)“>”
ここで、
・記号「@」は任意の文字を意味し;
・「‘パターン(pattern)’*」は、正規表現「‘パターン(pattern)’」の0個または数個の発生を意味する周知のスター(star)演算子であり、したがって「@*」は、任意の文字が0個または数個発生することを意味し;
・「^('パターン(pattern)’) 」は正規表現「 'パターン(pattern)'」とマッチングしない任意のものを意味し、したがって、「^(@*“>”@*)」は文字「>」を含まない任意のストリングを意味し;
・2つの式の連結は間接的であるから、「“<”^(@*“>”@*)“a”^(@*“>”@*)“>”」は、文字「<」には文字「>」を含まない任意のものが続き、その後、文字「a」、文字「>」を含まない任意のもの、文字「>」が順に続くことを意味する。
このように、正規表現「P」は区切り記号(デリミタ)「<」と「>」の間に「a」を含む何ものかであって、区切り記号「<」と「>」の間に「c」を含む何ものかが後続することを意味する。パターン「P」は位置1から、最初のストリング「ST」の中のサブストリング「<a b><a b c>」とマッチングする。そして、「ac」はマルチ・チェーン「<ab><a b c>」の中に存在する可能性のあるチェーンであるから、このサブストリングは制約に違反する。このマルチ・チェーンの中の(「ac」以外の)他のチェーンは2つのマルチ・チェーンの中に含まれている。すなわち、
・<b><a b c>
・<a b><a b>
次のステップでは、本発明のDAGビルダ・アルゴリズムの1回目のラン(実行)において、正規表現によって表された制約(ブロック204)を最初のストリング「ST」(206)に適用する。これにより、新たなストリング(すなわちサブ・マルチ・チェーン)、検討中の例では「STA1」と「STA2」が提示される。すなわち、
・STA1=<a b c><b><a b c><a c><a c>
・STA2=<a b c><a b><a b><a c><a c>
パターン「P」は位置3から、「STA1」のサブストリング「<a b c><ac>」とマッチングする。DAGビルダ・アルゴリズムの2回目のランを「STA1」について実行すると、新たなストリング「STA11」と「STA12」が得られる。すなわち、
・STA11=<a b c><b><b c><a c><a c>
・STA12=<a b c><b><a b c><a><a c>
同様に、ストリングのマルチ・チェーン「STA2」では、パターン「P」は位置3においてマッチングする。そして、DAGビルダ・アルゴリズムを実行すると、新たなストリング「STA21」と「STA22」が得られる。すなわち、
・STA21=<a b c><a b><b><a c><a c>
・STA22=<a b c><a b><a b><a><a c>
位置4においてパターンがマッチングする場合には、「STA11」についてDAGビルダを実行する。そして、新たなストリング「STA111」と「STA112」が得られる。すなわち、
・STA111=<a b c><b><b c><c><a c>
・STA112=<a b c><b><b c><a c><a>
同様に、ストリングのマルチ・チェーン「STA12」では、パターン「P」は位置4においてマッチングする。そして、DAGビルダ・アルゴリズムを実行すると、新たなストリング「STA121」と「STA122」が得られる。すなわち、
・STA121=<a b c><b><a b c><a><a>
・STA122=<a b c><b><a b c><><a c>
「STA122」は(空の括弧があるから)有効なストリングではない、という点に留意すべきである。
「STA12」については、位置4においてパターンがマッチングする場合に「STA21」についてDAGビルダを実行する。そして、新たなストリング「STA211」と「STA212」が得られる。すなわち、
・STA211=<a b c><a b><b><c><a c>
・STA212=<a b c><a b><b><a><a>
最後に、位置4においてパターンがマッチングする場合に「STA22」についてDAGビルダを実行する。そして、新たなストリング「STA221」と「STA222」が得られる。すなわち、
・STA221=<a b c><a b><a b><><a c>(これは有効ではない)
・STA222=<a b c><a b><a b><a><a>
そして、「STA221」は(空の括弧があるから)有効なストリングではない、という点に留意すべきである。
DAGビルダの先行するいくつかの実行は、それについてパターン「P」がそれ以上マッチングしない最終のストリングをもたらしている。一部のものは有効でないもの(STA122とSTA221)として、あるいは、重複しているもの(STA222の中に含まれているSTA212)として無視される。したがって、DAGビルダによって得られる最終の有効なストリングは、以下のようになる。
・STA111=<a b c><b><b c><c><a c>
・STA112=<a b c><b><b c><a c><a>
・STA121=<a b c><b><a b c><a><a>
・STA211=<a b c><a b><b><c><a c>
・STA222=<a b c><a b><a b><a><a>
そして、定義済みの制約を適用するときに、これらのストリングのマルチ・チェーンは、最初のマルチ・チェーン(MC)に対応するストリングのマルチ・チェーン(ST1〜ST5)にそれぞれ対応している、ということを認識すべきである。
次に、本発明のより一般化した記述を行う。制約文法は主要な2種類の規則を使用する、ということは当業者によって周知である。すなわち、
・所定の式は所定の文脈には出現しえない、ということを明言する負の規則。一般的に使用されている定式化においては、このような規則は次の仕方で表現される。
C <= L_R
これは正規表現「C」は正規表現「L」と正規表現「R」との間に出現しえない、ということを意味する。
・所定の式は所定の文脈には必須である、ということを明言する正の規則。一般的に使用されている定式化においては、このような規則は次の仕方で表現される。
C => L_R
これは正規表現「C」は正規表現「L」と正規表現「R」との間に必須である、ということを意味する。
正規表現「L」、「C」、および「R」は、ノード間の基本的な接続を記述する正規表現、たとえば次式に基づいて作成される。
・<b>=“<”^(@*(“>”|“<b”|“b”)@*)(“<b”|“b”)^(@*(“>”|“<b”|“b”)@*)“>”
これは「b」なるラベルを付されたエッジを含む2つのノード間の接続、たとえば、
・<b c>、<a b c>、または<b>を意味するが、しかし、
・<a c>または<a>を意味しない。
あるいは、正規表現ビルダは3種類のストリングを生成するように設計されている。すなわち、
・結果として得られる第1のストリングの場合、それは「“<”」、「“>”」、「“<b”」、または「“b”」のような明示的な表現のみを書き替えることになり、メタ文字「@」がマッチングするすべてのものを消去することになる。このように、評価プログラムは「UNIX(R)」において周知の「sed」プログラムまたは周知の「PERL」プログラムの置換コマンドのように振る舞う。それは「b」とデリミタ「<」および「>」とを除くすべての文字を消去する。それはこの例の場合、この定式化では「s/<[^<b]*b[^<b]*>/<b>/」と書くことができる。
・結果として得られる第2のストリングの場合、それはデリミタ「<」および「
>」、ならびに「b」を除くすべての文字のみを書き替えることになる。PER
L言語では、これを次のように書くことができる。すなわち、
s/<([^<b]*)b([^<b]*)>/<$1$2>/
・結果として得られる最後のストリングはマッチングされたストリング自体である。
各エッジごとに、分析することになっているマルチ・チェーンの中で遭遇する可能性のある「x」は基本正規表現「<x>」に対応しているのが望ましい。このように、上の段落で与えた例は基本正規表現「<a>」、「<b>」、および「<c>」を与える。したがって、この同じ例における、順番列「ac」を避ける規則は次のように書かれる。
・<a> <= _ <c>
この規則から、次の正規表現を構築しうる。
・0:“<L>”<a> 0:“<C>”<c> 0:“<R>”
ここで、「<L>」、「<C>」、および「<R>」はマッチングしたマルチ・チェーンを左部、中央部、および右部に分離するのを可能するタグである(「0:“<xyz>”」はストリング「xyz」を生成することを意味する)。この表現を次のストリングに適用する。すなわち、
・MC=<a b c><a b><a b c><a c><a c>
上記ビルダを実行すると、第1の位置から、以下の3つのストリングが得られる。
・MC1−1 = <L><a><C><><R>
・MC1−2 = <L><b c><C><a b><R>
・MC1−3 = <L><a b c><C><a b><R>
「<C>」と「<R>」との間の接続は空であるから、この規則はこの位置からは機能しない。
第2の位置から、表現「MC」は次に示すものをもたらす。すなわち、
・MC2−1 = <L><a><C><c><R>
・MC2−2 = <L><b><C><a b><R>
・MC2−3 = <L><a b><C><a b c><R>
これら3つのストリングから、マルチ・チェーン「<a b><a b c>」におけるチェーン「<a><b>」の出現を避けるのに必要とされる2つのマルチ・チェーンを構築する。すなわち、
・「<b><a b c>」。これは、「<a>」以外の他の何かに続くすべてのものは上記規則によって影響されないからである。
・「<a><a b>」。これは、「<a>」に続くすべてのものは「c」を含んではいけないからである。
したがって、アルゴリズム全体は次のようになる。すなわち、
まず、制約文法の各規則(200)ごとに、対応する正規表現を構築する。すなわち、
各規則「R=C<=L_R」または「R=C=>L_R」ごとに、
正規表現「P=L 0:“<L>”C 0:“<C>”R 0:“<R>”」を構築する。
したがって、マルチ・チェーン「MC」(206)を分析するには、「分岐(Branch)」がマルチ・チェーンの空のリストであり、「位置(Position)」が各規則番号および分析番号の各分岐に関して、分岐の中で、規則を適用する位置を与える空の2倍のエントリ・リストであり、「規則(Rule)」が規則の性質の標識(正または負)を伴う、規則の組から事前に構築した正規表現から成るリストであるように設定する。
本方法は、「規則(Rule)」リストに由来する規則と、「分岐(Branch)」に由来する、分析の分岐と、分岐において規則を適用する「位置(Position)」に由来する位置とを引数としてとることにより、上述した演算を実行する機能「applyRule(規則の適用)」(204)を実装するのが望ましい。
上述したように、規則がマッチングする限り、分析すべきマルチ・チェーンについてDAGビルダ機能(208)を実行する。最後のストリング(すなわち最後の残存する分岐)が得られたときに、プロセスは停止する。
アルゴリズムをその基本モードにおいて記述したけれども、たとえば規則を適用できる、分岐における最初の位置を効率的に探索するような多くの方法、あるいは、左の文脈(left context)によって規則をグループ化している、規則の同じ左の文脈を利用することにより、多くの変更と改良をなすことができる。さらに、別の代案として、動作不能と印を付された分岐を考慮することにより、位置と分岐の管理を改良することができる。
この手法の利点は、それを実装するのに文字から成るストリングを必要とするのみであるから、その単純性と移植可能性に関係がある。本発明の原理は文献に普通に記載されている、ストリングに関する単純なパターン・マッチングの使用に基づいており、その主要な概念はマルチ・チェーンを表す1組のストリングによってDAGを記述することある。
最後に、本発明を、特にその好適な実施形態を参照して示すとともに記述したけれども、本発明の本旨と範囲を逸脱することなく、形態と詳細において様々な変更をなしうる、ということを当業者は認識すべきである。
本発明の好適な実施形態を実現するのに使用する典型的なハードウェア環境を示すブロック図である。 本発明の方法によって実行されるステップを示すフローチャートである。
符号の説明
100 コンピュータ
102 プロセッサ
104 メモリ
106 入力装置
108 ディスプレイ装置
110 データ記憶装置
112 データ通信装置
114 オペレーティング・システム
116 正規表現
118 ストリング・マルチ・チェーンDB
120 制約チェック・プログラム

Claims (10)

  1. 最初のストリングのマルチ・チェーンに適用される制約を表す非循環有向グラフ(DAG)を構築するための、コンピュータによって実現される方法であって、
    (a)前記制約から正規表現を構築するステップと、
    (b)前記正規表現を用いて、前記最初のストリングのマルチ・チェーンにおいて、前記制約が適用される位置を探索するステップと、
    (c)前記最初のストリングのマルチ・チェーンを、前記制約が適用される位置に関してサブ・マルチ・チェーンに分離するステップと、
    (d)前記制約の適用がなくなるまで、ステップ(b)およびステップ(c)を各サブ・マルチ・チェーンに適用するステップと
    を含む
    方法。
  2. さらに、
    ステップ(c)の後に、前記制約が適用されないサブ・マルチ・チェーンを削除するステップを含む、
    請求項1に記載の方法。
  3. さらに、
    ステップ(c)の後に、少なくとも2つのサブ・マルチ・チェーンを組み合わせるステップを含む、
    請求項1または2に記載の方法。
  4. ステップ(a)において構築した正規表現が、前記制約の文脈を特定するのを可能にする左部、中央部、および右部を含む、
    請求項1〜3のうちの1項に記載の方法。
  5. ステップ(b)がさらに、前記左部、前記中央部および前記右部において探索を行うステップを含む、
    請求項4に記載の方法。
  6. 前記制約が負の規則である、
    請求項1〜5のうちの1項に記載の方法。
  7. 前記制約が正の規則である、
    請求項1〜6のうちの1項に記載の方法。
  8. 前記最初のストリングのマルチ・チェーンが、曖昧性を無くすべき句のストリング表現である、
    請求項1〜7のうちの1項に記載の方法。
  9. 請求項1〜8のうちの1項の方法の各ステップを実行する手段を含むシステム。
  10. コンピュータに請求項1〜8のうちの1項の方法を実行させるコンピュータ読み取り可能なプログラム手段を含む、コンピュータ使用可能な媒体に格納されたコンピュータ・プログラム。
JP2006501931A 2003-01-30 2004-01-23 テキスト分析のためのシステムと方法 Pending JP2006518502A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03368008 2003-01-30
PCT/EP2004/001788 WO2004068366A1 (en) 2003-01-30 2004-01-23 System and method for text analysis

Publications (1)

Publication Number Publication Date
JP2006518502A true JP2006518502A (ja) 2006-08-10

Family

ID=32799164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006501931A Pending JP2006518502A (ja) 2003-01-30 2004-01-23 テキスト分析のためのシステムと方法

Country Status (5)

Country Link
US (1) US7657422B2 (ja)
EP (1) EP1584047A1 (ja)
JP (1) JP2006518502A (ja)
CN (1) CN1717680A (ja)
WO (1) WO2004068366A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041208A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 グラフ変換装置、方法、及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060075392A1 (en) * 2004-10-05 2006-04-06 International Business Machines Corporation System and method for reverse engineering of pattern string validation scripts
US20060167873A1 (en) * 2005-01-21 2006-07-27 Degenaro Louis R Editor for deriving regular expressions by example
US7908552B2 (en) * 2007-04-13 2011-03-15 A-Life Medical Inc. Mere-parsing with boundary and semantic driven scoping
US9218372B2 (en) * 2012-08-02 2015-12-22 Sap Se System and method of record matching in a database
US20180039693A1 (en) * 2016-08-05 2018-02-08 Microsoft Technology Licensing, Llc Learned data filtering

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708829A (en) * 1991-02-01 1998-01-13 Wang Laboratories, Inc. Text indexing system
GB2314433A (en) * 1996-06-22 1997-12-24 Xerox Corp Finding and modifying strings of a regular language in a text
US5963893A (en) * 1996-06-28 1999-10-05 Microsoft Corporation Identification of words in Japanese text by a computer system
US6032111A (en) * 1997-06-23 2000-02-29 At&T Corp. Method and apparatus for compiling context-dependent rewrite rules and input strings
US6333999B1 (en) * 1998-11-06 2001-12-25 International Business Machines Corporation Systematic enumerating of strings using patterns and rules
US6553531B1 (en) * 1999-04-22 2003-04-22 Synopsys, Inc. Method and apparatus for random stimulus generation
US6684201B1 (en) * 2000-03-31 2004-01-27 Microsoft Corporation Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites
US7107205B2 (en) * 2000-04-03 2006-09-12 Xerox Corporation Method and apparatus for aligning ambiguity in finite state transducers
US6944588B2 (en) * 2000-04-03 2005-09-13 Xerox Corporation Method and apparatus for factoring unambiguous finite state transducers
CA2431209A1 (en) * 2000-12-08 2002-06-13 Configit Software A/S A method of configuring a product using a directed acyclic graph
US7010476B2 (en) * 2000-12-18 2006-03-07 Xerox Corporation Method and apparatus for constructing finite-state networks modeling non-concatenative processes
US6990519B2 (en) * 2001-11-08 2006-01-24 Texas Instruments Incorporated Use of a directed acyclic organization structure for selection and execution of consistent subsets of rewrite rules
US7136807B2 (en) * 2002-08-26 2006-11-14 International Business Machines Corporation Inferencing using disambiguated natural language rules

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041208A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 グラフ変換装置、方法、及びプログラム

Also Published As

Publication number Publication date
WO2004068366A1 (en) 2004-08-12
EP1584047A1 (en) 2005-10-12
CN1717680A (zh) 2006-01-04
US7657422B2 (en) 2010-02-02
US20060190244A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
EP0907923B1 (en) Method and system for computing semantic logical forms from syntax trees
Kumawat et al. POS tagging approaches: A comparison
US11030407B2 (en) Computer system, method and program for performing multilingual named entity recognition model transfer
US8484238B2 (en) Automatically generating regular expressions for relaxed matching of text patterns
US6684201B1 (en) Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites
US6859771B2 (en) System and method for identifying base noun phrases
EP3859587A1 (en) Robotic task planning for complex task instructions in natural language
US20040111255A1 (en) Graph-based method for design, representation, and manipulation of NLU parser domains
US9720903B2 (en) Method for parsing natural language text with simple links
WO2001082111A2 (en) Computer-aided reading system and method with cross-language reading wizard
JP2003308320A (ja) 文実現システム
JP7064274B2 (ja) 意図認識のための抽象化および移植性
Jin et al. Unsupervised grammar induction with depth-bounded PCFG
CN110276080B (zh) 一种语义处理方法和系统
WO2022174496A1 (zh) 基于生成模型的数据标注方法、装置、设备及存储介质
EP3598321A1 (en) Method for parsing natural language text with constituent construction links
Feldman et al. TEG—a hybrid approach to information extraction
JP4311772B2 (ja) 言語ストリング解析方法および言語ストリング解析システム
US10810368B2 (en) Method for parsing natural language text with constituent construction links
JP4738753B2 (ja) 文法オーサリングにおけるセグメント化あいまい性(segmentationambiguity)の自動的な解決
Wintner Formal language theory
CN112800244A (zh) 一种中医药及民族医药知识图谱的构建方法
JP2006518502A (ja) テキスト分析のためのシステムと方法
Al-Khatib et al. A New Enhanced Arabic Light Stemmer for IR in Medical Documents.
US20230111052A1 (en) Self-learning annotations to generate rules to be utilized by rule-based system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070925