Biblioteca de etiquetas en inglés; Un puerto de rubí de lingua :: en :: tagger
Un puerto de Ruby de Perl Lingua :: EN :: Tagger, un etiquetador basado en probabilidad y entrenado en corpus que asigna etiquetas POS al texto en inglés basado en un diccionario de búsqueda y un conjunto de valores de probabilidad. El etiquetador asigna etiquetas apropiadas basadas en probabilidades condicionales: examina la etiqueta anterior para determinar la etiqueta apropiada para la palabra actual. Las palabras desconocidas se clasifican de acuerdo con la morfología de las palabras o se pueden establecer para tratarse como sustantivos u otras partes del habla. El etiquetador también extrae tantos sustantivos y frases de sustantivos como sea posible, utilizando un conjunto de expresiones regulares.
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} El conjunto de etiquetas POS utilizadas aquí es una versión modificada del Penn Treebank TagSet. Las etiquetas con caracteres sin letras se han redefinido para que funcionen mejor en nuestras estructuras de datos. Además, la etiqueta "Detetiner" (det) se ha cambiado de 'DT', para evitar confusiones con la etiqueta HTML, <DT> .
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 ), }, ]
Enfoque recomendado (sin sudo):
Se recomienda instalar la gema engtagger dentro de su entorno de usuario sin privilegios raíz. Esto garantiza los permisos de archivo adecuados y evita problemas potenciales. Puede lograr esto utilizando gerentes de versión Ruby como rbenv o rvm para administrar sus versiones y gemsets de Ruby.
Para instalar sin sudo , simplemente ejecute:
gem install engtaggerEnfoque alternativo (con sudo):
Si debe usar sudo para la instalación, deberá ajustar los permisos de archivo después para garantizar la accesibilidad.
sudo : sudo gem install engtaggersudo chown -R $( whoami ) /Library/Ruby/Gems/2.6.0/gems/engtagger-0.4.1 Nota: La ruta anterior supone que está utilizando Ruby Versión 2.6.0. Si está utilizando una versión diferente, deberá modificar la ruta en consecuencia. Puede encontrar su versión de Ruby ejecutando ruby -v .
Problemas de permiso:
Si se encuentra con los errores "no puede cargar dicho archivo" después de la instalación, podría deberse a permisos de archivo incorrectos. Asegúrese de seguir las instrucciones para ajustar los permisos si usó sudo durante la instalación.
Yoichiro Hasebe (YohaseBe [at] gmail.com)
Muchas gracias a los colaboradores enumerados en la columna correcta de esta página de GitHub.
Esta biblioteca Ruby es un puerto directo de Lingua :: ES :: Tagger disponible en CPAN. Por lo tanto, el crédito por la parte crucial de su algoritmo/diseño va a Aaron Coburn, el autor de la versión original de Perl.
Esta biblioteca se distribuye bajo el GPL. Consulte el archivo de licencia.