2012-01-25 10 views
1

私はタグ付きコーパス(茶色のコーパスのような)を持っていて、 '/ nn'でタグ付けされた単語を抽出したいとしましょう。たとえば、nltkを使用してPythonでチャンクを抜き取ります

  Daniel/np termed/vbd ``/`` extremely/rb conservative/jj ''/'' his/pp$ estimate/nn..... 

これはタグ付きコーパスの一部で、「茶色い」です。私がしたいのは、like-estimate(/ nnでタグ付けされている)という単語を抽出してリストに追加することです。しかし、ほとんどの例では、通常、コーパスにタグを付けることがわかりました。私は本当にこれらの例を見て混乱している。 タグ付きコーパスから単語を抽出する例やチュートリアルを提供することで、助けてください。

ありがとうございます。

答えて

3

参照:

>>> [nltk.tag.str2tuple(t) for t in sent.split() if t.split('/')[1] == 'NN'] 
[('jury', 'NN'), ('number', 'NN'), ('interest', 'NN')] 

編集:ここでは

を文字列としてsentマイナスであるhttp://nltk.googlecode.com/svn/trunk/doc/book/ch05.html

>>> sent = ''' 
... The/AT grand/JJ jury/NN commented/VBD on/IN a/AT number/NN of/IN 
... other/AP topics/NNS ,/, AMONG/IN them/PPO the/AT Atlanta/NP and/CC 
... Fulton/NP-tl County/NN-tl purchasing/VBG departments/NNS which/WDT it/PPS 
... said/VBD ``/`` ARE/BER well/QL operated/VBN and/CC follow/VB generally/RB 
... accepted/VBN practices/NNS which/WDT inure/VB to/IN the/AT best/JJT 
... interest/NN of/IN both/ABX governments/NNS ''/'' ./. 
... ''' 
>>> [nltk.tag.str2tuple(t) for t in sent.split()] 
[('The', 'AT'), ('grand', 'JJ'), ('jury', 'NN'), ('commented', 'VBD'), 
('on', 'IN'), ('a', 'AT'), ('number', 'NN'), ... ('.', '.')] 

あなたがちょうどあなたができるNNのタグが付いたものを、必要な場合楕円。

sent = """The/AT grand/JJ jury/NN commented/VBD on/IN a/AT number/NN of/IN other/AP topics/NNS ,/, AMONG/IN them/PPO the/AT Atlanta/NP and/CC Fulton/NP-tl County/NN-tl purchasing/VBG departments/NNS which/WDT it/PPS said/VBD ``/`` ARE/BER well/QL operated/VBN and/CC follow/VB generally/RB accepted/VBN practices/NNS which/WDT inure/VB to/IN the/AT best/JJT interest/NN of/IN both/ABX governments/NNS ''/'' ./.""" 
+0

感謝しかし、私はとしようとした場合、[sent.splitにtについてnltk.tag.str2tuple(T)()t.split( '/')であれば[1] == 'NN']それは与えますt.split( '/')[1] == 'NN']の場合、sent.split()のtのエラー[nltk.tag.str2tuple(t)] IndexError:リストのインデックスが範囲外にある – user1052462

+0

これは奇妙です。 (「陪審」、「NN」)、「数字」、「NN」、「興味」、「NN」)送信された 'string'を自分の投稿にコピーすると、省略記号、つまり' ... 'は省略されました。私はあなたがそれらを引き出していない場合、あなたが記述したエラーを取得します。 – sgallen

関連する問題