英語の一部のスピーチタガーライブラリ。 Lingua :: En :: Taggerのルビーポート
Perl Lingua :: En :: TaggerのRubyポート、ルックアップ辞書と確率値のセットに基づいて、POSタグを英語テキストに割り当てる確率に基づいたコーパストレーニングタガー。 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 TreeBankタグセットの変更されたバージョンです。文字以外の文字を持つタグは、データ構造でうまく機能するように再定義されています。また、HTMLタグ<DT>との混乱を避けるために、「Detiner」タグ(DET)が「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 Gemをインストールすることをお勧めします。これにより、適切なファイル許可が保証され、潜在的な問題が回避されます。 rbenvやrvmなどのRubyバージョンマネージャーを使用して、RubyバージョンとGemsetsを管理することで、これを達成できます。
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 -vを実行することでRubyバージョンを見つけることができます。
許可の問題:
インストール後に「そのようなファイルをロードできない」エラーが発生した場合、ファイルの権限が誤っていないためかもしれません。インストール中にsudoを使用した場合は、アクセス許可を調整するための指示に従ってください。
Yoichiro Hasebe(Yohasebe [at] gmail.com)
このGitHubページの右列にリストされている共同作業者に感謝します。
このRubyライブラリは、CPANで利用可能なLingua :: En :: Taggerの直接港です。したがって、そのアルゴリズム/デザインの重要な部分のクレジットは、元のPerlバージョンの著者であるAaron Coburnに送られます。
このライブラリはGPLの下に配布されています。ライセンスファイルをご覧ください。