


Apprentissage NLTK : classer et annoter le vocabulaire
[TOC]
Tagueur de parties du discours
De nombreuses tâches ultérieures nécessitent des mots balisés. nltk est livré avec un annotateur anglais
pos_tag
import nltk text = nltk.word_tokenize("And now for something compleyely difference")print(text)print(nltk.pos_tag(text))
corpus d'annotation
représente l'identifiant annoté : nltk.tag.str2tuple('word/类型')
text = "The/AT grand/JJ is/VBD ."print([nltk.tag.str2tuple(t) for t in text.split()])
Lire le corpus annoté
nltk corpus ue nombril fournit une interface unifiée, vous n'avez donc pas à vous soucier des différents formats de fichiers. Format :
语料库.tagged_word()/tagged_sents()
. Les paramètres peuvent spécifier des catégories et des champs
print(nltk.corpus.brown.tagged_words())
noms, verbes, adjectifs, etc.
Ici, nous prenons les noms comme exemple
from nltk.corpus import brown word_tag = nltk.FreqDist(brown.tagged_words(categories="news"))print([word+'/'+tag for (word,tag)in word_tag if tag.startswith('V')])################下面是查找money的不同标注#################################wsj = brown.tagged_words(categories="news") cfd = nltk.ConditionalFreqDist(wsj)print(cfd['money'].keys())
Essayez de trouver le nom le plus fréquent de chaque type de nom
def findtag(tag_prefix,tagged_text): cfd = nltk.ConditionalFreqDist((tag,word) for (word,tag) in tagged_text if tag.startswith(tag_prefix))return dict((tag,list(cfd[tag].keys())[:5]) for tag in cfd.conditions())#数据类型必须转换为list才能进行切片操作tagdict = findtag('NN',nltk.corpus.brown.tagged_words(categories="news"))for tag in sorted(tagdict):print(tag,tagdict[tag])
Explorez le corpus annoté
nécessite
nltk.bigrams()
etnltk.trigrams()
, qui correspondent respectivement au modèle 2 grammes et au modèle 3 grammes.
brown_tagged = brown.tagged_words(categories="learned") tags = [b[1] for (a,b) in nltk.bigrams(brown_tagged) if a[0]=="often"] fd = nltk.FreqDist(tags) fd.tabulate()
Marquage automatique
Tagger par défaut
Le tagger le plus simple est pour chaque identifiant. Les identifiants se voient attribuer un uniforme balises. Vous trouverez ci-dessous un tagger qui transforme tous les mots en NN. Et utilisez
evaluate()
pour vérifier. Cela facilite la première analyse et améliore la stabilité lorsque de nombreux mots sont des noms.
brown_tagged_sents = brown.tagged_sents(categories="news") raw = 'I do not like eggs and ham, I do not like them Sam I am'tokens = nltk.word_tokenize(raw) default_tagger = nltk.DefaultTagger('NN')#创建标注器print(default_tagger.tag(tokens)) # 调用tag()方法进行标注print(default_tagger.evaluate(brown_tagged_sents))
Tagger d'expression régulière
Notez que les règles ici sont fixes (à votre propre discrétion). À mesure que les règles deviennent de plus en plus complètes, la précision augmente.
patterns = [ (r'.*ing$','VBG'), (r'.*ed$','VBD'), (r'.*es$','VBZ'), (r'.*','NN')#为了方便,只有少量规则] regexp_tagger = nltk.RegexpTagger(patterns) regexp_tagger.evaluate(brown_tagged_sents)
Tageur de requêtes
Il y a une différence entre ceci et le livre C'est différent de python2. Le tagger de requête stocke les balises les plus probables et peut définir le paramètre
backoff
Si la balise ne peut pas être marquée, utilisez ce tagger (ce processus est de secours )
fd = nltk.FreqDist(brown.words(categories="news")) cfd = nltk.ConditionalFreqDist(brown.tagged_words(categories="news"))##############################################python2和3的区别#########most_freq_words = fd.most_common(100) likely_tags = dict((word,cfd[word].max()) for (word,times) in most_freq_words)#######################################################################baseline_tagger = nltk.UnigramTagger(model=likely_tags,backoff=nltk.DefaultTagger('NN')) baseline_tagger.evaluate(brown_tagged_sents)
Annotation N-gramAnnotateur unaire de base
L'annotateur unaire se comporte de manière très similaire à l'annotateur de recherche, techniques de construction d'annotateurs unaires, formé pour.
Ici notre annotateur mémorise uniquement l'ensemble d'entraînement au lieu de construire un modèle général, donc l'accord est très bon, mais il ne peut pas être généralisé à de nouveaux textes.
size = int(len(brown_tagged_sents)*0.9) train_sents = brown_tagged_sents[:size] test_sents = brown_tagged_sents[size+1:] unigram_tagger = nltk.UnigramTagger(train_sents) unigram_tagger.evaluate(test_sents)
Tagger N-gram consiste à récupérer le mot avec index = n et à récupérer n -N< ;=index<=n-1 balise. Autrement dit, la balise du mot actuel est en outre déterminée par la balise du mot précédent. Semblable àTaggers combinés, l'annotateur binaire intégré est :
nltk.UnigramTagger()
a le même usage.nltk.BigramTagger()
Souvent, un algorithme avec une couverture plus large est plus utile qu'un algorithme avec une plus grande précision. Utilisezpour spécifier
backoff
pour utiliser l'annotateur de secours pour réaliser la combinaison d'annotateurs. Si le paramètre est explicitement déclaré comme type int, les contextes qui n'apparaissent qu'une à n fois seront automatiquement supprimés.cutoff
t0 = nltk.DefaultTagger('NN') t1 = nltk.UnigramTagger(train_sents,backoff=t0) t2 = nltk.BigramTagger(train_sents,backoff=t1) t2.evaluate(test_sents)
Pour Le mot au début de la phrase n'a pas les n premiers mots. Solution : Entraînez le tagueur avec les tagg_sents étiquetés.
Annotation basée sur la transformation : l'annotateur Brill
est supérieur à celui ci-dessus. L'idée de mise en œuvre : commencer par un grand coup, puis corriger les détails, et apporter des modifications détaillées petit à petit.Non seulement cela prend une petite quantité de mémoire, mais il est également contextuel et corrige les erreurs en temps réel à mesure que le problème devient plus petit plutôt que statique. Bien entendu, les appels sont différents en python3 et python2.
from nltk.tag import brill brill.nltkdemo18plus() brill.nltkdemo18()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Comment supprimer les notes de Xiaohongshu ? Les notes peuvent être modifiées dans l'application Xiaohongshu. La plupart des utilisateurs ne savent pas comment supprimer les notes de Xiaohongshu. Ensuite, l'éditeur propose aux utilisateurs des images et des textes expliquant comment supprimer les notes de Xiaohongshu. un regard ensemble ! Tutoriel d'utilisation de Xiaohongshu Comment supprimer les notes de Xiaohongshu 1. Ouvrez d'abord l'application Xiaohongshu et entrez dans la page principale, sélectionnez [Moi] dans le coin inférieur droit pour accéder à la zone spéciale 2. Ensuite, dans la zone Ma, cliquez sur la page de note comme suit : indiqué ci-dessous, sélectionnez la note que vous souhaitez supprimer ; 3. Accédez à la page de notes, cliquez sur [trois points] dans le coin supérieur droit ; 4. Enfin, la barre de fonctions s'agrandira en bas, cliquez sur [Supprimer] pour terminer.

Plus besoin de pip ? Venez apprendre à désinstaller pip efficacement ! Introduction : pip est l'un des outils de gestion de packages Python, qui peut facilement installer, mettre à niveau et désinstaller les packages Python. Cependant, nous devrons parfois désinstaller pip, peut-être parce que nous souhaitons utiliser un autre outil de gestion de packages, ou parce que nous devons vider complètement l'environnement Python. Cet article explique comment désinstaller pip efficacement et fournit des exemples de code spécifiques. 1. Méthodes de désinstallation de pip Ce qui suit présente deux méthodes courantes de désinstallation de pip.

En tant qu'utilisateur de Xiaohongshu, nous avons tous été confrontés à la situation où les notes publiées ont soudainement disparu, ce qui est sans aucun doute déroutant et inquiétant. Dans ce cas, que devons-nous faire ? Cet article se concentrera sur le thème « Que faire si les notes publiées par Xiaohongshu sont manquantes » et vous donnera une réponse détaillée. 1. Que dois-je faire si les notes publiées par Xiaohongshu manquent ? Premièrement, ne paniquez pas. Si vous constatez que vos notes manquent, il est essentiel de rester calme et de ne pas paniquer. Cela peut être dû à une défaillance du système de la plateforme ou à des erreurs opérationnelles. Vérifier les enregistrements de version est facile. Ouvrez simplement l'application Xiaohongshu et cliquez sur « Moi » → « Publier » → « Toutes les publications » pour afficher vos propres enregistrements de publication. Ici, vous pouvez facilement trouver des notes publiées précédemment. 3.Repost. Si trouvé

Comment ajouter des liens de produits dans les notes dans Xiaohongshu ? Dans l'application Xiaohongshu, les utilisateurs peuvent non seulement parcourir divers contenus mais également faire des achats, il y a donc beaucoup de contenu sur les recommandations d'achat et le bon partage de produits dans cette application si vous êtes un expert. sur cette application, vous pouvez également partager des expériences d'achat, trouver des commerçants pour coopérer, ajouter des liens dans des notes, etc. De nombreuses personnes sont prêtes à utiliser cette application pour faire du shopping, car elle est non seulement pratique, mais elle a également de nombreux experts qui en feront recommandations. Vous pouvez parcourir du contenu intéressant et voir s'il existe des produits vestimentaires qui vous conviennent. Voyons comment ajouter des liens de produits aux notes ! Comment ajouter des liens de produits aux notes de Xiaohongshu Ouvrez l'application sur le bureau de votre téléphone mobile. Cliquez sur la page d'accueil de l'application

Pour en savoir plus sur la table de couleurs matplotlib, vous avez besoin d'exemples de code spécifiques 1. Introduction matplotlib est une puissante bibliothèque de dessins Python. Elle fournit un riche ensemble de fonctions et d'outils de dessin qui peuvent être utilisés pour créer différents types de graphiques. La palette de couleurs (colormap) est un concept important dans matplotlib, qui détermine la palette de couleurs du graphique. Une étude approfondie de la table des couleurs matplotlib nous aidera à mieux maîtriser les fonctions de dessin de matplotlib et à rendre les dessins plus pratiques.

1. Problèmes rencontrés par l'annotation des données (en particulier basées sur les tâches BEV) Avec la montée en puissance des tâches basées sur les transformateurs BEV, la dépendance à l'égard des données est devenue de plus en plus lourde, et l'annotation basée sur les tâches BEV est également devenue de plus en plus complexe. . À l'heure actuelle, qu'il s'agisse d'annotation d'obstacles communs 2D-3D, d'annotation de lignes de voie basée sur des clips de nuages de points reconstruits ou d'annotation de tâches d'occupation, cela reste encore trop cher (par rapport aux tâches d'annotation 2D, c'est beaucoup plus cher). Bien entendu, il existe également dans l’industrie de nombreuses études d’annotations semi-automatiques ou automatisées basées sur de grands modèles. D’un autre côté, le cycle de collecte de données pour la conduite autonome est trop long et implique une série de problèmes de conformité des données. Par exemple, vous souhaitez capturer le champ d'un camion à plateau à travers la caméra

Le charme de l'apprentissage du langage C : libérer le potentiel des programmeurs Avec le développement continu de la technologie, la programmation informatique est devenue un domaine qui a beaucoup attiré l'attention. Parmi les nombreux langages de programmation, le langage C a toujours été apprécié des programmeurs. Sa simplicité, son efficacité et sa large application font de l’apprentissage du langage C la première étape pour de nombreuses personnes souhaitant entrer dans le domaine de la programmation. Cet article discutera du charme de l’apprentissage du langage C et de la manière de libérer le potentiel des programmeurs en apprenant le langage C. Tout d’abord, le charme de l’apprentissage du langage C réside dans sa simplicité. Comparé à d'autres langages de programmation, le langage C

Les logiciels de CAO sont largement utilisés dans divers domaines de conception et le dimensionnement est un élément indispensable de la conception CAO. Parfois, les concepteurs doivent saisir manuellement les dimensions pour garantir la précision et la flexibilité. Cet article présentera donc en détail comment définir et saisir manuellement des dimensions dans CAO. Les utilisateurs qui ne savent pas comment configurer des dimensions de saisie manuelle devraient venir apprendre avec cet article ! Étapes de saisie manuelle des paramètres de taille pour les annotations CAO : 1. Ouvrez le logiciel CAD2023, créez un nouveau document vierge et créez un dessin, comme indiqué ci-dessous : 2. Cliquez ensuite sur l'outil linéaire pour créer une annotation linéaire. Comme indiqué ci-dessous : 3. Cliquez ensuite sur les deux extrémités de la ligne droite à marquer. Comme indiqué ci-dessous : 4. Saisissez ensuite T ou cliquez sur le texte (T) ci-dessous, comme indiqué ci-dessous : 5. Main
