Bibliothèque de tagger en anglais; Un port rubis de Lingua :: en :: Tagger
Un port Ruby de Perl Lingua :: en :: Tagger, un tagger formé par des corpus qui attribue des balises POS au texte anglais basé sur un dictionnaire de recherche et un ensemble de valeurs de probabilité. Le tagger attribue des balises appropriées en fonction des probabilités conditionnelles - il examine la balise précédente pour déterminer la balise appropriée pour le mot actuel. Les mots inconnus sont classés en fonction de la morphologie des mots ou peuvent être définis pour être traités comme des noms ou d'autres parties de la parole. Le Tagger extrait également autant de noms et de phrases nommées que possible, en utilisant un ensemble d'expressions régulières.
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} L'ensemble des balises POS utilisé ici est une version modifiée du tagset de Penn Treebank. Les balises avec des caractères non-lettres ont été redéfinies pour mieux fonctionner dans nos structures de données. De plus, la balise "déterminant" (DET) a été modifiée à partir de «DT», afin d'éviter la confusion avec la balise 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 ), }, ]
Approche recommandée (sans sudo):
Il est recommandé d'installer le gemme engtagger dans votre environnement utilisateur sans privilèges racine. Cela garantit des autorisations de fichiers appropriées et évite les problèmes potentiels. Vous pouvez y parvenir en utilisant des gestionnaires de versions Ruby comme rbenv ou rvm pour gérer vos versions et gemnes Ruby.
Pour installer sans sudo , exécutez simplement:
gem install engtaggerApproche alternative (avec sudo):
Si vous devez utiliser sudo pour l'installation, vous devrez ajuster les autorisations de fichier par la suite pour assurer l'accessibilité.
sudo : sudo gem install engtaggersudo chown -R $( whoami ) /Library/Ruby/Gems/2.6.0/gems/engtagger-0.4.1 Remarque: Le chemin ci-dessus suppose que vous utilisez Ruby version 2.6.0. Si vous utilisez une version différente, vous devrez modifier le chemin en conséquence. Vous pouvez trouver votre version Ruby en exécutant ruby -v .
Problèmes d'autorisation:
Si vous rencontrez "Impossible de charger ces erreurs de fichier" après l'installation, cela peut être dû à des autorisations de fichiers incorrectes. Assurez-vous que vous avez suivi les instructions pour ajuster les autorisations si vous avez utilisé sudo pendant l'installation.
Yoichiro Hasebe (Yohasebe [at] gmail.com)
Un grand merci aux collaborateurs répertoriés dans la bonne colonne de cette page GitHub.
Cette bibliothèque Ruby est un port direct de Lingua :: en :: Tagger disponible chez CPAN. Le crédit pour la partie cruciale de son algorithme / conception va donc à Aaron Coburn, l'auteur de la version Perl originale.
Cette bibliothèque est distribuée sous le GPL. Veuillez consulter le fichier de licence.