Salut J'essaie d'utiliser l'analyseur PET, mais la documentation fournie pour l'utilisation est insuffisante. Quelqu'un peut-il me signaler un bon article ou un tutoriel sur l'utilisation de PET? Est-ce qu'il supporte utf-8?Essayer d'utiliser HPSG PET Parser
Répondre
Pour utiliser l'analyseur PET, vous devez d'abord charger une grammaire pour la langue d'intérêt. La grammaire doit être créée dans le langage TDL, tel qu'utilisé dans le DELPH-IN consortium (wiki here). De grandes grammaires compatibles sont disponibles pour plusieurs langues, y compris l'anglais, le japonais et l'allemand. Il y a aussi des grammaires plus petites disponibles, et vous pouvez écrire les vôtres. Pour cela - et pour travailler avec ces grammaires - votre meilleur pari est le livre d'Ann Copestake, "Implementing Typed Feature Structure Grammars" (CSLI 2002). Le livre fournit une introduction complète à TDL et les grammaires telles que celles-ci qui fonctionnent via l'unification des structures de caractéristiques typées. Les grammaires prennent en charge le mappage bidirectionnel entre la syntaxe (chaînes de surface) et la sémantique ("sens", représenté selon MRS de Copestake - Minimal Recursion Semantics). Notez que ce sont des grammaires de précision, ce qui signifie qu'elles sont généralement moins tolérantes aux entrées grammaticales que les systèmes statistiques.
Le English Resource Grammar (ERG) est une grande grammaire de l'anglais qui a une large couverture de domaine général. C'est open source et vous pouvez le télécharger depuis le site web. Une démo en ligne, alimentée par l'analyseur PET, peut être trouvée here.
L'analyseur PET fonctionne en deux étapes. Le premier, appelé flop produit une version "compilée" de la grammaire. La deuxième étape est l'analyse réelle, qui utilise le programme bon marché. Vous aurez besoin d'obtenir ces deux binaires PET pour votre machine Linux, ou de les compiler vous-même. Cette étape peut ne pas être facile si vous n'êtes pas familier avec la construction de logiciels sous Linux. PET ne fonctionne pas sur Windows (ou Mac, à ma connaissance).
Exécution flop est facile. Il suffit d'aller dans votre répertoire/erg et tapez:
$ flop english.tdl
Cela produira le fichier de english.grm. Maintenant, vous pouvez analyser des phrases en exécutant pas cher:
$ echo the child has the flu. | cheap --mrs english.grm
Cet exemple produit une seule représentation sémantique de la phrase MRS (Minimal Recursion Semantics) Format:
[ 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 > ]
livre de Copestake explique la syntaxe spécifique et le formalisme linguistique utilisé dans les grammaires compatibles avec le PET. Il sert également de manuel d'utilisation pour le système LKB open-source, qui est un système plus interactif qui peut également analyser ces grammaires.En plus de l'analyse, le LKB peut faire l'inverse: générer des phrases à partir des représentations sémantiques de MRS. Le LKB n'est actuellement supporté que sous Linux/Unix. Il y a en fait quatre moteurs de traitement de grammaire conformes à DELPH-IN, y compris LKB et PET.
Pour Windows, il est d'accord , un multi-threaded parser/generator (et here) que j'ai développé pour .NET; il prend également en charge à la fois la génération et l'analyse. Si vous avez besoin de travailler avec les grammaires interactivement, vous pouvez envisager d'utiliser le LKB ou d'accord en plus de - ou au lieu de - PET. Les frontaux clients interactifs pour s'accordent sont principalement basés sur WPF, mais le moteur et un simple client de console peuvent fonctionner sur n'importe quelle plate-forme Mono.
ACE est un autre système d'analyse et de génération de code source compatible DELPH-IN, conçu pour des performances élevées et disponible pour Linux et MacOS. Le LKB est écrit en Lisp, alors que le PET et l'ACE sont en C/C++, ce qui fait que ces derniers sont les analyseurs les plus rapides pour une utilisation en production. d'accord est également beaucoup plus rapide que le LKB, mais devient seulement plus rapide que PET lors de l'analyse des phrases complexes, où les frais généraux de concordance sont amortis.
[11/25/2011 edit: accord prend désormais en charge la génération ainsi que l'analyse syntaxique]
PET prend en charge UTF-8, en fonction de la façon dont il a été configuré lors de la compilation. En plus de la page wiki, jetez aussi un oeil ou posez une question au mailing list.
Plusieurs méthodes de saisie existent, je recommanderais FSC (XML) ou YY (s-exp) pour être le plus moderne. Je ne suis pas au courant de courts tutoriels, mais vous pouvez également regarder Heart of Gold pour un package NLP complet de bout en bout, où PET est un composant.
Êtes-vous en train d'analyser l'ERG?
L'OP voulait quelques exemples minimes. par exemple. donné une phrase à PET, et comment obtenir des informations significatives sur PET (quelles options dans quel but avec quelques exemples simples). AFAIO cette information ne peut pas être trouvée dans le wiki. – hmuelner