Englische Teil der Speech-Tagger-Bibliothek; Ein Ruby -Port von Lingua :: en :: Tagger
Ein Ruby-Port von Perl Lingua :: EN :: Tagger, ein Wahrscheinlichkeitsbasis, von Corpus-ausgebildetem Tagger, der dem englischen Text POS-Tags zuweist, basierend auf einem Lookup-Wörterbuch und einer Reihe von Wahrscheinlichkeitswerten. Der Tagger weist geeignete Tags zu, die auf bedingten Wahrscheinlichkeiten basieren-es untersucht das vorhergehende Tag, um das entsprechende Tag für das aktuelle Wort zu bestimmen. Unbekannte Wörter werden nach der Wortmorphologie klassifiziert oder können als Substantive oder andere Teile der Sprache behandelt werden. Der Tagger extrahiert auch so viele Substantive und Substantivphrasen wie möglich, wobei eine Reihe regelmäßiger Ausdrücke verwendet werden.
require 'engtagger'
# Create a parser object
tgr = EngTagger . new
# Sample text
text = "Alice chased the big fat cat."
# Add part-of-speech tags to text
tagged = tgr . add_tags ( text )
#=> "<nnp>Alice</nnp> <vbd>chased</vbd> <det>the</det> <jj>big</jj> <jj>fat</jj><nn>cat</nn> <pp>.</pp>"
# Get a list of all nouns and noun phrases with occurrence counts
word_list = tgr . get_words ( text )
#=> {"Alice"=>1, "cat"=>1, "fat cat"=>1, "big fat cat"=>1}
# Get a readable version of the tagged text
readable = tgr . get_readable ( text )
#=> "Alice/NNP chased/VBD the/DET big/JJ fat/JJ cat/NN ./PP"
# Get all nouns from a tagged output
nouns = tgr . get_nouns ( tagged )
#=> {"cat"=>1, "Alice"=>1}
# Get all proper nouns
proper = tgr . get_proper_nouns ( tagged )
#=> {"Alice"=>1}
# Get all past tense verbs
pt_verbs = tgr . get_past_tense_verbs ( tagged )
#=> {"chased"=>1}
# Get all the adjectives
adj = tgr . get_adjectives ( tagged )
#=> {"big"=>1, "fat"=>1}
# Get all noun phrases of any syntactic level
# (same as word_list but take a tagged input)
nps = tgr . get_noun_phrases ( tagged )
#=> {"Alice"=>1, "cat"=>1, "fat cat"=>1, "big fat cat"=>1} Der hier verwendete Satz von POS -Tags ist eine modifizierte Version des Penn TreeBank -Tagset. Tags mit Nicht-Letter-Zeichen wurden neu definiert, um in unseren Datenstrukturen besser zu funktionieren. Außerdem wurde das "Deteriner" -Tag (DET) von 'DT' geändert, um Verwirrung mit dem HTML -Tag <DT> zu vermeiden.
CC Conjunction, coordinating and, or
CD Adjective, cardinal number 3, fifteen
DET Determiner this, each, some
EX Pronoun, existential there there
FW Foreign words
IN Preposition / Conjunction for, of, although, that
JJ Adjective happy, bad
JJR Adjective, comparative happier, worse
JJS Adjective, superlative happiest, worst
LS Symbol, list item A, A.
MD Verb, modal can, could, 'll
NN Noun aircraft, data
NNP Noun, proper London, Michael
NNPS Noun, proper, plural Australians, Methodists
NNS Noun, plural women, books
PDT Determiner, prequalifier quite, all, half
POS Possessive 's, '
PRP Determiner, possessive second mine, yours
PRPS Determiner, possessive their, your
RB Adverb often, not, very, here
RBR Adverb, comparative faster
RBS Adverb, superlative fastest
RP Adverb, particle up, off, out
SYM Symbol *
TO Preposition to
UH Interjection oh, yes, mmm
VB Verb, infinitive take, live
VBD Verb, past tense took, lived
VBG Verb, gerund taking, living
VBN Verb, past/passive participle taken, lived
VBP Verb, base present form take, live
VBZ Verb, present 3SG -s form takes, lives
WDT Determiner, question which, whatever
WP Pronoun, question who, whoever
WPS Determiner, possessive & question whose
WRB Adverb, question when, how, however
PP Punctuation, sentence ender ., !, ?
PPC Punctuation, comma ,
PPD Punctuation, dollar sign $
PPL Punctuation, quotation mark left ``
PPR Punctuation, quotation mark right ''
PPS Punctuation, colon, semicolon, elipsis :, ..., -
LRB Punctuation, left bracket (, {, [
RRB Punctuation, right bracket ), }, ]
Empfohlener Ansatz (ohne sudo):
Es wird empfohlen, das engtagger -Edelstein in Ihrer Benutzerumgebung ohne Root -Berechtigungen zu installieren. Dies gewährleistet die ordnungsgemäßen Dateiberechtigungen und vermeidet potenzielle Probleme. Sie können dies erreichen, indem Sie Ruby -Versionsmanager wie rbenv oder rvm verwenden, um Ihre Ruby -Versionen und Edelstoffe zu verwalten.
Um ohne sudo zu installieren, rennen Sie einfach:
gem install engtaggerAlternativer Ansatz (mit sudo):
Wenn Sie sudo für die Installation verwenden müssen, müssen Sie anschließend Dateiberechtigungen anpassen, um die Zugänglichkeit zu gewährleisten.
sudo : sudo gem install engtaggersudo chown -R $( whoami ) /Library/Ruby/Gems/2.6.0/gems/engtagger-0.4.1 Hinweis: Der obige Pfad geht davon aus, dass Sie Ruby Version 2.6.0 verwenden. Wenn Sie eine andere Version verwenden, müssen Sie den Pfad entsprechend ändern. Sie finden Ihre Ruby -Version, indem Sie ruby -v ausführen.
Erlaubnisfragen:
Wenn Sie nach der Installation auf "solche Datei nicht geladen werden können", kann dies möglicherweise auf falsche Dateiberechtigungen zurückzuführen sein. Stellen Sie sicher, dass Sie die Anweisungen zum Anpassen von Berechtigungen befolgt haben, wenn Sie sudo während der Installation verwendet haben.
Yoichiro Hasebe (Yohasebe [at] gmail.com)
Vielen Dank an die Mitarbeiter, die in der rechten Spalte dieser GitHub -Seite aufgeführt sind.
Diese Ruby -Bibliothek ist ein direkter Port von Lingua :: EN :: Tagger bei CPAN. Der Kredit für den entscheidenden Teil seines Algorithmus/Designs geht daher an Aaron Coburn, den Autor der ursprünglichen Perl -Version.
Diese Bibliothek ist unter der GPL verteilt. Bitte beachten Sie die Lizenzdatei.