Question

Ce que je veux faire, c'est analyser le texte naturel brut et trouver toutes les expressions qui décrivent les dates.

J'ai un corpus assez gros avec toutes les références aux dates balisées :

I met him <date>yesterday</date>.
Roger Zelazny was born <date>in 1937</date>
He'll have a hell of a hangover <date>tomorrow morning</date>

Je ne veux pas interpréter les phrases de date, il suffit de les localiser.Le fait qu'il s'agisse de dates n'a pas d'importance (dans la vraie vie, ce ne sont même pas des dates mais je ne veux pas vous ennuyer avec les détails), en gros, c'est juste un ensemble ouvert de valeurs possibles.La grammaire des valeurs elles-mêmes peut être approchée sans contexte, mais elle est assez compliquée à construire manuellement et, avec une complexité croissante, il devient de plus en plus difficile d'éviter les faux positifs.

Je sais que c'est un peu long, donc je ne m'attends pas à ce qu'une solution prête à l'emploi existe, mais quelle technologie ou recherche puis-je potentiellement utiliser ?

Était-ce utile?

La solution

L’une des approches génériques utilisées dans le monde universitaire et industriel est basée sur les champs aléatoires conditionnels.Fondamentalement, il s'agit d'un modèle probabiliste spécial, vous l'entraînez d'abord avec vos données balisées, puis il peut étiqueter certains types d'entités dans un texte donné.

Vous pouvez même essayer l’un des systèmes du Stanford Natural Language Processing Group : Reconnaissance d'entités nommées par Stanford

Lorsque vous téléchargez l'outil, notez qu'il existe plusieurs modèles, il vous faut le dernier :

Inclus avec le Stanford NER est un modèle à 4 classes formé pour Conll, un modèle de classe 7 formé pour MUC et un modèle de classe 3 formes sur les deux ensembles de données pour l'intersection de ces ensembles de classes.

3 classes Lieu, Personne, Organisation

4 classes Emplacement, Personne, Organisation, Divers

7e classe Heure, lieu, organisation, personne, argent, pourcentage, date

Mise à jour. Vous pouvez réellement essayer cet outil en ligne ici.Sélectionnez le muc.7class.distsim.crf.ser.gz classificateur et essayez du texte avec des dates.Il ne semble pas reconnaître « hier », mais il reconnaît « 20e siècle », par exemple.En fin de compte, c’est une question de formation CRF.


Stanford NER screenshot

Autres conseils

Gardez à l'esprit que les CRF sont plutôt lents à former et à nécessiter des données annotées humaines, ce que vous le faites vous-même n'est pas facile.Lisez les réponses à Ce pour un autre exemplede la façon dont les gens le font souvent dans la pratique - pas beaucoup en commun avec la recherche académique actuelle.

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