Английская библиотека теггеров части речи; Рубиновый порт Lingua :: en :: Tagger
Рубиновый порт Perl lingua :: en :: Tagger, на основе вероятности тега, обученный корпусом, который присваивает POS-теги на английский текст на основе словаря поиска и набора значений вероятности. Tagger назначает соответствующие теги на основе условных вероятностей-он проверяет предыдущий тег, чтобы определить соответствующий тег для текущего слова. Неизвестные слова классифицируются в соответствии с морфологией слов или могут рассматриваться как существительные или другие части речи. Tagger также извлекает как можно больше существительных и существительных фраз, используя набор регулярных выражений.
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} Набор POS -тегов, используемых здесь, представляет собой модифицированную версию тега Penn Tegset. Теги с нежелательными символами были пересмотрены, чтобы лучше работать в наших структурах данных. Кроме того, тег «определятеля» (DET) был изменен с «DT», чтобы избежать путаницы с тегом 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 ), }, ]
Рекомендуемый подход (без SUDO):
Рекомендуется установить драгоценный камень engtagger в вашу пользовательскую среду без корневых привилегий. Это обеспечивает правильные разрешения на файлы и избегает потенциальных проблем. Вы можете достичь этого с помощью менеджеров версий Ruby, таких как rbenv или rvm для управления вашим Ruby версиями и драгоценными камнями.
Чтобы установить без sudo , просто запустите:
gem install engtaggerАльтернативный подход (с SUDO):
Если вам необходимо использовать sudo для установки, вам необходимо настроить разрешения на файлы впоследствии, чтобы обеспечить доступность.
sudo : sudo gem install engtaggersudo chown -R $( whoami ) /Library/Ruby/Gems/2.6.0/gems/engtagger-0.4.1 Примечание. Приведенный выше путь предполагает, что вы используете Ruby версию 2.6.0. Если вы используете другую версию, вам нужно будет соответственно изменить путь. Вы можете найти свою версию Ruby, запустив ruby -v .
Проблемы разрешения:
Если вы столкнетесь с «невозможно загрузить такого файла» ошибки после установки, это может быть связано с неправильными разрешениями файла. Убедитесь, что вы следовали инструкциям для корректировки разрешений, если вы использовали sudo во время установки.
Yoichiro Hasebe (Yohasebe [at] gmail.com)
Большое спасибо сотрудникам, перечисленным в правом столбце этой страницы GitHub.
Эта библиотека Ruby - прямой порт Lingua :: en :: Tagger, доступный в CPAN. Поэтому кредит за важную часть его алгоритма/дизайна доходит до Аарона Кобурна, автора оригинальной версии Perl.
Эта библиотека распространяется под GPL. Пожалуйста, смотрите файл лицензии.