0

RのopenNLPのMaxent_POS_Tag_AnnotatorおよびMaxent_Entity_Annotator関数と同様に、Pythonで品詞タグ付けとエンティティ認識を実行したい.入力をテキスト文として受け取り、「CC」の数のようなさまざまな機能として出力を与えるPythonのコードを好む、「CD」の番号、「DT」の番号など。 CC、CD、DT は Penn Treebank で使用されている POS タグです。したがって、 Penn Treebank POSのように 36 の POS タグに対応する POS タグ付けには 36 の列/機能が必要です。これを Azure ML の「Python スクリプトの実行」モジュールに実装したいのですが、Azure ML は python 2.7.7 をサポートしています。Pythonのnltkがうまくいくと聞きましたが、私はPythonの初心者です。どんな助けでも大歓迎です。

4

1 に答える 1

3

NTLK bookの Categorizing and Tagging Words セクションを見てください。

簡単な例では、Penn Treebank タグセットを使用しています。

from nltk.tag import pos_tag
from nltk.tokenize import word_tokenize
pos_tag(word_tokenize("John's big idea isn't all that bad.")) 

[('John', 'NNP'),
("'s", 'POS'),
 ('big', 'JJ'),
 ('idea', 'NN'),
 ('is', 'VBZ'),
 ("n't", 'RB'),
 ('all', 'DT'),
 ('that', 'DT'),
 ('bad', 'JJ'),
 ('.', '.')]

次に、使用できます

from collections import defaultdict
counts = defaultdict(int)
for (word, tag) in pos_tag(word_tokenize("John's big idea isn't all that bad.")):
    counts[tag] += 1

周波数を取得するには:

defaultdict(<type 'int'>, {'JJ': 2, 'NN': 1, 'POS': 1, '.': 1, 'RB': 1, 'VBZ': 1, 'DT': 2, 'NNP': 1})
于 2015-09-06T11:39:08.050 に答える