Concernant l'utilisation du modèle bigramme (N-gramme) pour créer un vecteur d'entités pour un document texte

10

Une approche traditionnelle de la construction d'entités pour l'exploration de texte est une approche par sac de mots, et peut être améliorée à l'aide de tf-idf pour configurer le vecteur d'entités caractérisant un document texte donné. À l'heure actuelle, j'essaie d'utiliser un modèle de langage bi-gram ou (N-gram) pour créer un vecteur d'entités, mais je ne sais pas trop comment faire? Pouvons-nous simplement suivre l'approche du sac de mots, c'est-à-dire calculer le nombre de fréquences en termes de gramme au lieu de mots, et l'améliorer en utilisant le schéma de pondération tf-idf?

user3125
la source

Réponses:

4

Oui. Cela générera cependant beaucoup plus de fonctionnalités: il pourrait être important d'appliquer un certain seuil (par exemple, supprimer les fonctionnalités telles que les biogrammes ou les mots qui se produisent moins de 5 fois dans votre ensemble de données) afin de ne pas noyer votre classificateur avec trop de bruit. traits.

ogrisel
la source
Merci. Voulez-vous dire que mon idée générale de calculer chaque valeur de fonctionnalité en termes de bigramme (N-gramme) est correcte? En d'autres termes, il n'y a pas de grande différence dans le calcul des valeurs des caractéristiques entre le sac de mots et le modèle à N grammes. Merci pour la clarification.
user3125
Oui, vous pouvez utiliser à la fois tous les bigrammes + unigrammes (mots) dans un grand sac de fonctionnalités (tant que vous coupez le moins souvent avec un certain niveau de coupure).
ogrisel
3

Le nombre de bigrammes peut être réduit en sélectionnant uniquement ceux avec des informations mutuelles positives.

Nous l'avons fait pour générer un sac de représentation de bigrammes sur la piste INEX XML Mining, http://www.inex.otago.ac.nz/tracks/wiki-mine/wiki-mine.asp .

Ce que nous n'avons pas essayé, c'est d'utiliser les informations mutuelles entre les termes pour pondérer les bi-grammes. Voir https://en.wikipedia.org/wiki/Pointwise_mutual_information , https://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/philip-pmi.pdf et http: //www.nltk. org / howto / collocations.html pour une meilleure explication des informations mutuelles ponctuelles pour les bigrammes.

Voir /programming/20018730/computing-pointwise-mutual-information-of-a-text-document-using-python et /programming/22118350/python-sentiment-analysis -utiliser-ponctuellement-mutuelle-information pour d'autres questions liées à cela.

Chris de Vries
la source
lien mort :-( ...
Renaud
1
Les liens @Renaud ont été mis à jour :-)
Chris de Vries
0

L'utilisation de projections aléatoires pour réduire la dimensionnalité des données peut s'avérer utile pour réduire l'espace requis pour stocker les fonctionnalités, https://en.wikipedia.org/wiki/Random_projection . Il évolue très bien et chaque exemple peut être projeté dans un espace de dimension inférieure indépendamment et sans aucune méthode d'optimisation directe telle que PCA, SVD, Sammon Maps, NMF, etc.

Chris de Vries
la source