Question

Supposons que j'ai une chaîne d'outils UIMA qui fait quelque chose comme ceci:

Tokenize -> Tagging POS -> Attribuez mes balises / annotations personnalisées -> Utilisez les balises personnalisées pour attribuer plus de balises -> Traitement supplémentaire.

Serait-il possible d'utiliser un tiers, disons la reconnaissance de l'entité (qui utilise des balises POS mais n'a pas besoin de beaucoup plus), juste après le plateau de point de vente, entre les deux choses personnalisées ou après?

Je pose ces questions car je peux voir des complications en raison des systèmes de type. En particulier, le cas le plus difficile peut être de plumer un annotateur de la fête de la fête entre les choses personnalisées ou juste après eux. L'annotateur tiers ne s'attend pas à ce que nos balises personnalisées soient là.

Cependant, il n'y a que des annotations supplémentaires qui doivent être «transmises» l'annotateur sans les regarder ni les modifier. Donc, en principe, je suppose que c'est possible. Je ne sais tout simplement pas si l'UIMA prend en charge cela ou consiste à écrire des chaînes complètes par vous-même avec une frappe stricte partout.

Si cela n'est pas possible hors de la boîte, pourrions-nous écrire les annotateurs personnalisés de manière à ce qu'ils puissent être branchés n'importe où où les balises POS sont disponibles indépendantes s'il y a d'autres annotations. C'est-à-dire que les auteurs des annotateurs veillent à ce qu'il y ait des annotations nécessaires, des annotations que nous ajoutons et un certain nombre d'annotations qui peuvent être présentes ou non et nous ne nous soucions pas d'eux et ne les traversent que?

Était-ce utile?

La solution

L'annotateur tiers ne s'attend pas à ce que nos balises personnalisées soient là.

Si je comprends bien, vous craignez que vos annotations personnalisées puissent entrer en collision avec le NER tiers, non? Il ne le fera pas, à moins que votre code ajoute exactement le même annotations.

C'est la force d'Uima: Chaque moteur d'analyse (AE) est indépendant des autres, il ne se soucie que des annotations qui sont passées dans le CAS. Par exemple, disons que vous avez un AE qui s'attend à l'annotation du type my.namespace.Token. Peu importe quel AE a créé ces annotations, tant qu'il est présent dans le CAS.

Le prix à payer pour cette flexibilité est que vous (en tant que développeur) devez vous assurer que l'annotation requise pour chaque AE est présente. Par exemple, si un AE s'attend à des annotations de type my.namespace.Sentence Mais aucun n'est présent, cet AE ne pourra pas faire de traitement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top