Creating an id in a grammar for entity extraction / Utilisation d'un id dans une grammaire

33 views
Skip to first unread message

Antoine Keller

unread,
Oct 15, 2018, 5:23:12 AM10/15/18
to unitex-...@googlegroups.com
Bonjour,

Je travaille actuellement avec Unitex 3.1 sur de la reconnaissance et extraction d'entités spatiales depuis un mois et demi, et voila que je bloque.

Voici mon problème : je fais de l'extraction d'entités dans le but de créer un graphe de connaissance, or il se trouve qu'il y a plusieurs fois les mêmes occurrences d'entité dans le texte ce qui fait planter la création de mon graphe rdf.
Ce que j'aimerai, c'est que lorsque je reconnais une entité, je lui affecte un nombre unique entre des balises <id>.

J'ai remarqué que lors de la tokenisation du texte (pendant le preprocess), unitex crée un fichier "tokenize.out.offsets" dans le dossier snt sur lequel, pour chaque token, on a 3 nombres. Si j'ai bien compris, ces 3 nombres sont le numéro du token, sa position de début dans le texte et sa position de fin. Serait-il possible donc que lorsqu'une grammaire reconnaît un token, je puisse écrire en sorti sa position dans le texte (qui deviendrait son id) ? Ou à défaut créer une variable compteur ?




Je vous mets un exemple pour que se soit plus parlant :

« Aubière, à laquelle sera réuni Pérignat. Il y aura à Pérignat un oratoire. »

résultat voulu :
<esn><id>345</id>Aubière</esn>, à laquelle sera réuni <esn><id>376</id>Pérignat</esn>. Il y aura à <esn><id>411</id>Pérignat</esn> un oratoire


Merci d'avance pour votre aide,
Antoine

Antoine Keller

unread,
Oct 15, 2018, 5:34:29 AM10/15/18
to Unitex-GramLab
For english people who might wander here :


Hi, I'm trying to build a knowledge-graph by extracting entities in a xml format. Here is my problem : I've got several time the same entity but this will crash the creation of a rdf graph. I find out that there is a file ("tokenize.out.offset") where the position of the token are stored and thus is maybe used to build the concordance. I wonder if it is possible to get back this position in a grammar in order to create an id ? Or if not possible, if there is any kind of a counter variable ?

Here is an example (in french) :

« Aubière, à laquelle sera réuni Pérignat. Il y aura à Pérignat un oratoire. »

expected result :
<esn><id>345</id>Aubière</esn>, à laquelle sera réuni <esn><id>376</id>Pérignat</esn>. Il y aura à <esn><id>411</id>Pérignat</esn> un oratoire


(Sorry for potatoe english)
Thanks,
Antoine

Cristian Martinez

unread,
Oct 15, 2018, 6:50:14 AM10/15/18
to Unitex-GramLab
Bonjour Antoine,

La version 4.0-alpha de Unitex/GramLab, prévue avant la fin de cette année, permettra de répondre à des besoins comme celui que vous avez décrit. Entre temps, je vous conseil de travailler directement sur la sortie balisée ou sur un autre des formats produit par Concord.

--
Cristian

Antoine Keller

unread,
Oct 16, 2018, 9:55:48 AM10/16/18
to Unitex-GramLab
D'accord merci, finalement je me suis débrouillé avec un code java qui fait le travail.

Antoine
Reply all
Reply to author
Forward
Message has been deleted
0 new messages