مكتبة تاجير جزء من الكلام ؛ ميناء Ruby Lingua :: en :: tagger
منفذ Ruby of Perl Lingua :: en :: tagger ، وهو TAGGER على أساس الاحتمالات ، والذي تم تدريبه المدرب على مجموعة يعين علامات نقاط البيع على النص باللغة الإنجليزية استنادًا إلى قاموس البحث ومجموعة من قيم الاحتمال. يقوم Tagger بتعيين العلامات المناسبة بناءً على الاحتمالات الشرطية-فهو يفحص العلامة السابقة لتحديد العلامة المناسبة للكلمة الحالية. يتم تصنيف كلمات غير معروفة وفقًا لمورفولوجيا Word أو يمكن ضبطها على أنها أسماء أو أجزاء أخرى من الكلام. يستخلص 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 المستخدمة هنا هي نسخة معدلة من مجموعة Tagebank Penn TreeBank. تم إعادة تعريف العلامات ذات الأحرف غير الحرفية للعمل بشكل أفضل في هياكل البيانات الخاصة بنا. أيضًا ، تم تغيير علامة "المحدد" (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 ), }, ]
النهج الموصى به (بدون سودو):
يوصى بتثبيت جوهرة engtagger داخل بيئة المستخدم الخاصة بك دون امتيازات الجذر. هذا يضمن أذونات الملف المناسبة ويتجنب المشكلات المحتملة. يمكنك تحقيق ذلك باستخدام مديري الإصدار Ruby مثل rbenv أو rvm لإدارة إصدارات Ruby و Gemsets.
للتثبيت بدون sudo ، ما عليك سوى التشغيل:
gem install engtaggerنهج بديل (مع سودو):
إذا كان يجب عليك استخدام sudo للتثبيت ، فستحتاج إلى ضبط أذونات الملف بعد ذلك لضمان إمكانية الوصول.
sudo : sudo gem install engtaggersudo chown -R $( whoami ) /Library/Ruby/Gems/2.6.0/gems/engtagger-0.4.1 ملاحظة: يفترض المسار أعلاه أنك تستخدم Ruby Version 2.6.0. إذا كنت تستخدم إصدارًا مختلفًا ، فستحتاج إلى تعديل المسار وفقًا لذلك. يمكنك العثور على إصدار Ruby الخاص بك عن طريق تشغيل ruby -v .
قضايا الإذن:
إذا واجهت أخطاء "لا يمكن تحميل هذا الملف" بعد التثبيت ، فقد يكون ذلك بسبب أذونات الملفات غير الصحيحة. تأكد من اتباع التعليمات لضبط الأذونات إذا استخدمت sudo أثناء التثبيت.
Yoichiro Hasebe (Yohasebe [at] gmail.com)
شكرًا جزيلاً للمتعاونين المدرجين في العمود الأيمن من صفحة GitHub هذه.
مكتبة Ruby هذه هي منفذ Lingua :: En :: Tagger متاح في CPAN. وبالتالي ، فإن الفضل في الجزء الحاسم من خوارزمية/تصميمه يذهب إلى آرون كوبورن ، مؤلف نسخة بيرل الأصلية.
يتم توزيع هذه المكتبة تحت GPL. يرجى الاطلاع على ملف الترخيص.