Perpustakaan Tagger Bagian Bahasa Inggris; port ruby lingua :: en :: tagger
Port ruby dari Perl Lingua :: en :: Tagger, probabilitas berbasis tagger terlatih corpus yang menetapkan tag POS ke teks bahasa Inggris berdasarkan kamus pencarian dan satu set nilai probabilitas. Tagger memberikan tag yang sesuai berdasarkan probabilitas bersyarat-ini memeriksa tag sebelumnya untuk menentukan tag yang sesuai untuk kata saat ini. Kata -kata yang tidak diketahui diklasifikasikan menurut morfologi kata atau dapat ditetapkan untuk diperlakukan sebagai kata benda atau bagian lain dari bicara. Tagger juga mengekstraksi sebanyak mungkin kata benda dan frasa kata benda, menggunakan serangkaian ekspresi reguler.
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} Set tag POS yang digunakan di sini adalah versi modifikasi dari Tagset Penn Treebank. Tag dengan karakter non-huruf telah didefinisikan ulang untuk bekerja lebih baik dalam struktur data kami. Juga, tag "penentu" (det) telah diubah dari 'dt', untuk menghindari kebingungan dengan tag 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 ), }, ]
Pendekatan yang disarankan (tanpa sudo):
Disarankan untuk menginstal Permata engtagger di dalam lingkungan pengguna Anda tanpa hak istimewa root. Ini memastikan izin file yang tepat dan menghindari masalah potensial. Anda dapat mencapai ini dengan menggunakan manajer versi ruby seperti rbenv atau rvm untuk mengelola versi dan permata Ruby Anda.
Untuk menginstal tanpa sudo , cukup jalankan:
gem install engtaggerPendekatan alternatif (dengan sudo):
Jika Anda harus menggunakan sudo untuk instalasi, Anda harus menyesuaikan izin file sesudahnya untuk memastikan aksesibilitas.
sudo : sudo gem install engtaggersudo chown -R $( whoami ) /Library/Ruby/Gems/2.6.0/gems/engtagger-0.4.1 Catatan: Jalur di atas mengasumsikan Anda menggunakan Ruby Versi 2.6.0. Jika Anda menggunakan versi yang berbeda, Anda perlu memodifikasi jalur yang sesuai. Anda dapat menemukan versi Ruby Anda dengan menjalankan ruby -v .
Masalah izin:
Jika Anda menghadapi kesalahan "tidak dapat memuat file tersebut" setelah instalasi, itu mungkin karena izin file yang salah. Pastikan Anda telah mengikuti instruksi untuk menyesuaikan izin jika Anda menggunakan sudo selama instalasi.
Yoichiro Hasebe (YohaseBe [at] gmail.com)
Terima kasih banyak kepada kolaborator yang tercantum di kolom kanan halaman GitHub ini.
Perpustakaan Ruby ini adalah port langsung Lingua :: en :: Tagger tersedia di CPAN. Kredit untuk bagian penting dari algoritma/desainnya karena itu diberikan kepada Aaron Coburn, penulis versi Perl asli.
Perpustakaan ini didistribusikan di bawah GPL. Silakan lihat file lisensi.