7

こんにちは、私はPETパーサーを使用しようとしていますが、使用方法に関するドキュメントが不十分です。PET の使用に関する優れた記事やチュートリアルを教えてもらえますか? utf-8に対応していますか?

4

2 に答える 2

11

PETパーサーを使用するには、最初に目的の言語の文法をロードする必要があります。文法は、 DELPH-INコンソーシアムwikiはこちら)で使用されているように、TDL言語で作成する必要があります。互換性のある大規模な文法は、英語、日本語、ドイツ語など、いくつかの言語で利用できます。利用可能なより小さな文法もあり、あなたはあなた自身のものを書くことができます。

このため、そしてこれらの文法を扱うための最善の策は、Ann Copestakeの著書、「Implementing Typed Feature Structure Grammars」(CSLI 2002)です。この本は、型付き素性構造の統合を介して機能するTDLおよびこれらのような文法の完全な紹介を提供します。文法は、構文(表面文字列)とセマンティクス(「意味」、CopestakeのMRS--最小再帰セマンティクスに従って表される)の間の双方向マッピングをサポートします。これらは高精度の文法であることに注意してください。つまり、一般に、統計システムよりも非文法的な入力に対する耐性が低くなります。

English Resource Grammar(ERG)は、英語の大規模な文法であり、幅広い一般的なドメインをカバーしています。オープンソースであり、Webサイトからダウンロードできます。PETパーサーを利用したオンラインデモは、ここにあります

PETパーサーは2つのステップで実行されます。最初の、フロップと呼ばれるものは、文法の「コンパイルされた」バージョンを生成します。2番目のステップは、安価なプログラムを使用する実際の解析です。Linuxマシン用にこれら2つのPETバイナリを入手するか、自分でビルドする必要があります。Linuxでのソフトウェアの構築に慣れていない場合、この手順は簡単ではない可能性があります。PETはWindows(または私の知る限りMac)では動作しません。

フロップの実行は簡単です。/ ergディレクトリに移動し、次のように入力します。

$ flop english.tdl

これにより、english.grmファイルが生成されます。今、あなたは安く走ることによって文を解析することができます:

$ echo the child has the flu. | cheap --mrs english.grm

この例では、MRS(Minimal Recursion Semantics)形式で文の単一のセマンティック表現を生成します。

 [ LTOP: h1
   INDEX: e2 [ e SF: PROP TENSE: PRES MOOD: INDICATIVE PROG: - PERF: - ]
   RELS: <
          [ _the_q_rel<-1:-1>
            LBL: h3
            ARG0: x6 [ x PERS: 3 NUM: SG IND: + ]
            RSTR: h5
            BODY: h4 ]
          [ "_child_n_1_rel"<-1:-1>
            LBL: h7
            ARG0: x6 ]
          [ "_have_v_1_rel"<-1:-1>
            LBL: h8
            ARG0: e2
            ARG1: x6
            ARG2: x9 [ x PERS: 3 NUM: SG ] ]
          [ _the_q_rel<-1:-1>
            LBL: h10
            ARG0: x9
            RSTR: h12
            BODY: h11 ]
          [ "_flu_n_1_rel"<-1:-1>
            LBL: h13
            ARG0: x9 ] >
   HCONS: < h5 qeq h7 h12 qeq h13 > ]

Copestakeの本は、PETと互換性のある文法で使用される特定の構文と言語形式について説明しています。また、これらの文法を解析できる、よりインタラクティブなシステムであるオープンソースLKBシステムのユーザーズマニュアルとしても機能します。構文解析に加えて、LKBはその逆を行うことができます。MRSセマンティック表現から文を生成します。LKBは現在、Linux/Unixでのみサポートされています。実際には、LKBとPETを含め、合計4つのDELPH-IN準拠の文法処理エンジンがあります。

Windowsの場合、私が.NET用に開発したマルチスレッドパーサー/ジェネレーター(およびここ)に同意します。また、生成と解析の両方をサポートします。文法をインタラクティブに操作する必要がある場合は、LKBの使用を検討するか、PETに加えて(または代わりに)同意することをお勧めします。同意するためのインタラクティブクライアントフロントエンドは、ほとんどがWPFベースですが、エンジンと単純なコンソールクライアントは任意のMonoプラットフォームで実行できます。

ACEは、高性能を目的として設計された、もう1つのオープンソースのDELPH-IN互換の解析および生成システムであり、LinuxおよびMacOSで使用できます。

LKBはLispで書かれていますが、PETとACEはC / C ++であるため、後者は本番環境で使用するためのより高速なパーサーです。また、 agreeはLKBよりもはるかに高速ですが、Agreeロックフリー同時実行によるオーバーヘッドが償却される複雑な文を解析する場合にのみ、PETよりも高速になります。

[2011年11月25日編集:同意は、解析だけでなく生成もサポートするようになりました]

于 2011-02-26T21:32:08.613 に答える
0

PET は、コンパイル時の構成方法に応じて、UTF-8 をサポートします。wiki ページに加えて、メーリング リストを参照するか、質問を投稿してください。

いくつかの入力方法が存在しますが、最新の FSC (XML) または YY(s-exp) をお勧めします。私は短いチュートリアルを知りませんが、PET がコンポーネントである完全なエンドツーエンドの NLP パッケージについては、Heart of Goldを参照することもできます。

ERGで解析していますか?

于 2011-01-08T18:56:05.847 に答える