Inhaltsverzeichnis
Teil-of-Speech-Tagger
Annotationskorpus
stellt den annotierten Bezeichner dar: nltk.tag.str2tuple('word/类型')
Lesen Sie den kommentierten Korpus
Substantive, Verben, Adjektive usw.
Versuchen Sie, das häufigste Substantiv jedes Substantivtyps zu finden
Erkunden Sie den kommentierten Korpus
Automatisches Tagging
Standard-Tagger
Tagger für reguläre Ausdrücke
Abfrage-Annotator
N-Gramm-Annotation
Grundlegender unärer Annotator
Allgemeiner N-Gramm-Tagger
Kombinierte Tagger
Satzübergreifende Annotation
Transformationsbasierte Annotation: Der Brill-Annotator
Heim Backend-Entwicklung Python-Tutorial NLTK-Lernen: Vokabeln klassifizieren und kommentieren

NLTK-Lernen: Vokabeln klassifizieren und kommentieren

Jun 23, 2017 pm 03:33 PM
nltk 学习 标注 笔记

[TOC]

Teil-of-Speech-Tagger

Viele nachfolgende Aufgaben erfordern getaggte Wörter. nltk wird mit einem englischen Annotator geliefert. pos_tag

import nltk
text = nltk.word_tokenize("And now for something compleyely difference")print(text)print(nltk.pos_tag(text))
Nach dem Login kopieren

Annotationskorpus

stellt den annotierten Bezeichner dar: nltk.tag.str2tuple('word/类型')

text = "The/AT grand/JJ is/VBD ."print([nltk.tag.str2tuple(t) for t in text.split()])
Nach dem Login kopieren

Lesen Sie den kommentierten Korpus

nltk corpus ue navel bietet eine einheitliche Oberfläche, sodass Sie sich keine Gedanken über unterschiedliche Dateiformate machen müssen. Format: 语料库.tagged_word()/tagged_sents(). Parameter können Kategorien und Felder angeben

print(nltk.corpus.brown.tagged_words())
Nach dem Login kopieren

Substantive, Verben, Adjektive usw.

Hier nehmen wir Substantive als Beispiel

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())
Nach dem Login kopieren

Versuchen Sie, das häufigste Substantiv jedes Substantivtyps zu finden

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])
Nach dem Login kopieren

Erkunden Sie den kommentierten Korpus

erfordert nltk.bigrams() und nltk.trigrams(), die dem 2-Gramm-Modell bzw. dem 3-Gramm-Modell entsprechen.

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()
Nach dem Login kopieren

Automatisches Tagging

Standard-Tagger

Der einfachste Tagger ist für jeden Identifier einheitlich zugeordnet Tags. Unten finden Sie einen Tagger, der alle Wörter in NN umwandelt. Und verwenden Sie evaluate() zur Überprüfung. Es erleichtert die erste Analyse und verbessert die Stabilität, wenn viele Wörter Substantive sind.

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))
Nach dem Login kopieren

Tagger für reguläre Ausdrücke

Beachten Sie, dass die Regeln hier festgelegt sind (nach Ihrem eigenen Ermessen). Je vollständiger die Regeln werden, desto höher wird die Genauigkeit.

patterns = [
    (r'.*ing$','VBG'),
    (r'.*ed$','VBD'),
    (r'.*es$','VBZ'),
    (r'.*','NN')#为了方便,只有少量规则]
regexp_tagger = nltk.RegexpTagger(patterns)
regexp_tagger.evaluate(brown_tagged_sents)
Nach dem Login kopieren

Abfrage-Annotator

Es gibt einen Unterschied zu Python2. Der Abfrage-Tagger speichert die wahrscheinlichsten Tags und kann den Parameter backoff festlegen. Wenn das Tag nicht markiert werden kann, verwenden Sie diesen Tagger (dieser Prozess ist Fallback )

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)
Nach dem Login kopieren

N-Gramm-Annotation

Grundlegender unärer Annotator

Der unäre Annotator verhält sich sehr ähnlich wie der Suchannotator, Techniken zum Erstellen unärer Annotatoren, ausgebildet für .

Hier merkt sich unser Annotator nur den Trainingssatz, anstatt ein allgemeines Modell zu erstellen. Daher ist die Übereinstimmung sehr gut, sie kann jedoch nicht auf neue Texte verallgemeinert werden.

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)
Nach dem Login kopieren

Allgemeiner N-Gramm-Tagger

Der N-Gramm-Tagger dient dazu, das Wort mit index= n abzurufen und n -N< abzurufen ;=index<=n-1 Tag. Das heißt, das Tag des aktuellen Wortes wird weiter durch das Tag-Tag des vorherigen Wortes bestimmt. Ähnlich wie nltk.UnigramTagger() lautet der integrierte binäre Annotator: nltk.BigramTagger() hat die gleiche Verwendung.

Kombinierte Tagger

Oft ist ein Algorithmus mit größerer Abdeckung nützlicher als einer mit höherer Genauigkeit. Verwenden Sie backoff, um als Fallback des Annotators anzugeben, , um die Kombination von Annotatoren zu realisieren. Wenn der Parameter cutoff explizit als int-Typ deklariert ist, werden Kontexte, die nur 1-n-mal vorkommen, automatisch verworfen.

t0 = nltk.DefaultTagger(&#39;NN&#39;)
t1 = nltk.UnigramTagger(train_sents,backoff=t0)
t2 = nltk.BigramTagger(train_sents,backoff=t1)
t2.evaluate(test_sents)
Nach dem Login kopieren

Es kann festgestellt werden, dass nach dem Vergleich mit dem Original die Genauigkeit erheblich verbessert wurde

Satzübergreifende Annotation

Für das Wort am Satzanfang fehlen die ersten n Wörter. Lösung: Trainieren Sie den Tagger mit tagged tagged_sents.


Transformationsbasierte Annotation: Der Brill-Annotator

ist den oben genannten überlegen. Die Idee der Umsetzung: Beginnen Sie mit einem großen Schritt, korrigieren Sie dann die Details und nehmen Sie nach und nach detaillierte Änderungen vor.
Es beansprucht nicht nur wenig Speicher, sondern ist auch kontextbezogen und korrigiert Fehler in Echtzeit, wenn das Problem kleiner und nicht statisch wird. Natürlich sind die Aufrufe in Python3 und Python2 unterschiedlich.

from nltk.tag import brill
brill.nltkdemo18plus()
brill.nltkdemo18()
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonNLTK-Lernen: Vokabeln klassifizieren und kommentieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So löschen Sie Xiaohongshu-Notizen So löschen Sie Xiaohongshu-Notizen Mar 21, 2024 pm 08:12 PM

Wie lösche ich Xiaohongshu-Notizen? Die meisten Benutzer wissen nicht, wie man Xiaohongshu-Notizen löscht. Als nächstes bringt der Editor den Benutzern Bilder und Texte zum Löschen von Xiaohongshu-Notizen ein Blick! Tutorial zur Verwendung von Xiaohongshu So löschen Sie Xiaohongshu-Notizen 1. Öffnen Sie zunächst die Xiaohongshu-App und rufen Sie die Hauptseite auf. Wählen Sie in der unteren rechten Ecke [Ich] aus, um den speziellen Bereich aufzurufen. 2. Klicken Sie dann im Bereich „Mein“ auf die Notizseite als Wählen Sie wie unten gezeigt die Notiz aus, die Sie löschen möchten. 3. Rufen Sie die Notizseite auf und klicken Sie auf [drei Punkte] in der oberen rechten Ecke. 4. Schließlich wird die Funktionsleiste unten erweitert. Klicken Sie zum Abschluss auf [Löschen].

Erfahren Sie, wie Sie pip vollständig deinstallieren und Python effizienter nutzen Erfahren Sie, wie Sie pip vollständig deinstallieren und Python effizienter nutzen Jan 16, 2024 am 09:01 AM

Keine Notwendigkeit mehr für Pip? Kommen Sie und lernen Sie, wie Sie Pip effektiv deinstallieren! Einführung: pip ist eines der Paketverwaltungstools von Python, mit dem Python-Pakete einfach installiert, aktualisiert und deinstalliert werden können. Manchmal müssen wir jedoch pip möglicherweise deinstallieren, vielleicht weil wir ein anderes Paketverwaltungstool verwenden möchten oder weil wir die Python-Umgebung vollständig löschen müssen. In diesem Artikel wird erläutert, wie Sie Pip effizient deinstallieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Methoden zum Deinstallieren von Pip Im Folgenden werden zwei gängige Methoden zum Deinstallieren von Pip vorgestellt.

Was soll ich tun, wenn die Notizen, die ich auf Xiaohongshu gepostet habe, fehlen? Was ist der Grund, warum die gerade gesendeten Notizen nicht gefunden werden können? Was soll ich tun, wenn die Notizen, die ich auf Xiaohongshu gepostet habe, fehlen? Was ist der Grund, warum die gerade gesendeten Notizen nicht gefunden werden können? Mar 21, 2024 pm 09:30 PM

Als Xiaohongshu-Benutzer kennen wir alle die Situation, in der veröffentlichte Notizen plötzlich verschwunden sind, was zweifellos verwirrend und besorgniserregend ist. Was sollen wir in diesem Fall tun? Dieser Artikel konzentriert sich auf das Thema „Was tun, wenn die von Xiaohongshu veröffentlichten Notizen fehlen“ und gibt Ihnen eine ausführliche Antwort. 1. Was soll ich tun, wenn die von Xiaohongshu veröffentlichten Notizen fehlen? Erstens: Keine Panik. Wenn Sie feststellen, dass Ihre Notizen fehlen, ist es wichtig, ruhig zu bleiben und nicht in Panik zu geraten. Dies kann durch einen Plattformsystemausfall oder Betriebsfehler verursacht werden. Die Überprüfung der Veröffentlichungsdatensätze ist einfach. Öffnen Sie einfach die Xiaohongshu-App und klicken Sie auf „Ich“ → „Veröffentlichen“ → „Alle Veröffentlichungen“, um Ihre eigenen Veröffentlichungsdatensätze anzuzeigen. Hier können Sie zuvor gepostete Notizen ganz einfach finden. 3.Reposten. Wenn gefunden

So fügen Sie Produktlinks in Notizen in Xiaohongshu hinzu. Tutorial zum Hinzufügen von Produktlinks in Notizen in Xiaohongshu So fügen Sie Produktlinks in Notizen in Xiaohongshu hinzu. Tutorial zum Hinzufügen von Produktlinks in Notizen in Xiaohongshu Mar 12, 2024 am 10:40 AM

Wie füge ich Produktlinks in Notizen in Xiaohongshu hinzu? In der Xiaohongshu-App können Benutzer nicht nur verschiedene Inhalte durchsuchen, sondern auch einkaufen. Wenn Sie ein Experte in diesem Bereich sind, gibt es in dieser App viele Einkaufsempfehlungen und gute Produktfreigaben Mit der App können Sie auch einige Einkaufserlebnisse teilen, Händler für eine Zusammenarbeit finden, Links in Notizen hinzufügen usw. Viele Menschen sind bereit, diese App zum Einkaufen zu verwenden, weil sie nicht nur bequem ist, sondern auch viele Experten gibt einige Empfehlungen ab. Sie können interessante Inhalte durchsuchen und sehen, ob es Kleidungsprodukte gibt, die zu Ihnen passen. Schauen wir uns an, wie man Produktlinks zu Notizen hinzufügt! So fügen Sie Produktlinks zu Xiaohongshu-Notizen hinzu: Öffnen Sie die App auf dem Desktop Ihres Mobiltelefons. Klicken Sie auf die App-Homepage

Ein tiefer Einblick in die Farbkarte von Matplotlib Ein tiefer Einblick in die Farbkarte von Matplotlib Jan 09, 2024 pm 03:51 PM

Um mehr über die Matplotlib-Farbtabelle zu erfahren, benötigen Sie spezifische Codebeispiele. 1. Einführung Matplotlib ist eine leistungsstarke Python-Zeichenbibliothek. Sie bietet einen umfangreichen Satz an Zeichenfunktionen und -werkzeugen, mit denen verschiedene Arten von Diagrammen erstellt werden können. Die Farbkarte (Colormap) ist ein wichtiges Konzept in Matplotlib, das das Farbschema des Diagramms bestimmt. Eine eingehende Untersuchung der Matplotlib-Farbtabelle wird uns helfen, die Zeichenfunktionen von Matplotlib besser zu beherrschen und das Zeichnen komfortabler zu gestalten.

Wird die Annotationsbranche für autonomes Fahren im Jahr 2024 durch das Weltmodell untergraben? Wird die Annotationsbranche für autonomes Fahren im Jahr 2024 durch das Weltmodell untergraben? Mar 01, 2024 pm 10:37 PM

1. Probleme bei der Datenannotation (insbesondere basierend auf BEV-Aufgaben) Mit dem Aufkommen von BEV-Transformator-basierten Aufgaben ist die Abhängigkeit von Daten immer stärker geworden, und auch die auf BEV-Aufgaben basierende Annotation ist immer wichtiger geworden . Unabhängig davon, ob es sich um eine 2D-3D-Annotation von Gelenkhindernissen, eine Spurlinienannotation basierend auf rekonstruierten Punktwolkenclips oder eine Annotation von Belegungsaufgaben handelt, ist sie immer noch zu teuer (im Vergleich zu 2D-Annotationsaufgaben ist sie viel teurer). Natürlich gibt es in der Branche auch viele halbautomatische oder automatisierte Annotationsstudien basierend auf großen Modellen. Andererseits ist der Datenerfassungszyklus für autonomes Fahren zu lang und bringt eine Reihe von Problemen mit der Datenkonformität mit sich. Sie möchten beispielsweise das Feld eines Tiefladers quer durch die Kamera erfassen

Die Attraktivität der C-Sprache enthüllen: Das Potenzial von Programmierern aufdecken Die Attraktivität der C-Sprache enthüllen: Das Potenzial von Programmierern aufdecken Feb 24, 2024 pm 11:21 PM

Der Reiz des Erlernens der C-Sprache: Das Potenzial von Programmierern freisetzen Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Computerprogrammierung zu einem Bereich geworden, der viel Aufmerksamkeit erregt hat. Unter vielen Programmiersprachen war die Sprache C schon immer bei Programmierern beliebt. Seine Einfachheit, Effizienz und breite Anwendung machen das Erlernen der C-Sprache für viele Menschen zum ersten Schritt, um in den Bereich der Programmierung einzusteigen. In diesem Artikel geht es um den Reiz des Erlernens der C-Sprache und darum, wie man das Potenzial von Programmierern durch das Erlernen der C-Sprache freisetzt. Der Reiz des Erlernens der C-Sprache liegt zunächst einmal in ihrer Einfachheit. Im Vergleich zu anderen Programmiersprachen C-Sprache

Erste Schritte mit Pygame: Umfassendes Installations- und Konfigurations-Tutorial Erste Schritte mit Pygame: Umfassendes Installations- und Konfigurations-Tutorial Feb 19, 2024 pm 10:10 PM

Lernen Sie Pygame von Grund auf: Komplettes Installations- und Konfigurations-Tutorial, spezifische Codebeispiele erforderlich. Einführung: Pygame ist eine Open-Source-Spieleentwicklungsbibliothek, die mit der Programmiersprache Python entwickelt wurde. Sie bietet eine Fülle von Funktionen und Tools, mit denen Entwickler problemlos eine Vielzahl von Typen erstellen können des Spiels. Dieser Artikel hilft Ihnen, Pygame von Grund auf zu erlernen und bietet ein vollständiges Installations- und Konfigurations-Tutorial sowie spezifische Codebeispiele, um Ihnen einen schnellen Einstieg zu erleichtern. Teil eins: Python und Pygame installieren Stellen Sie zunächst sicher, dass Sie dies getan haben

See all articles