前提・実現したいこと
Pythonのリストで品詞の条件指定をした上で、指定位置に要素を追加しようとしています。
発生している問題・エラーメッセージ
該当のソースコードでエラーが表示されないので
['skiing', 'man', 'hill'] #以下のようにしたい ['skiing', 'man', 'in', 'hill']
該当のソースコード
python
1import nltk 2from nltk import data, pos_tag, word_tokenize 3import collections 4noun = ['NN', 'NNP', 'NNPS', 'NNS'] 5l = ['skiing', 'man', 'hill'] 6i = ['in'] 7#配列の後ろから2文字目と1文字目が名詞ならその間に前置詞を入れる 8if(pos_tag(l[-1]) in noun and pos_tag(l[-2]) in noun): 9 l.insert(-1, i[0]) 10print(l)
試したこと
print(pos_tag(l[-1])) [('h', 'NN'), ('i', 'NN'), ('l', 'VBP'), ('l', 'NN')]
このように出たのでpos_tag
が問題だと考えられますが、
>>> text = word_tokenize("They refuse to permit us to obtain the refuse permit") >>> nltk.pos_tag(text) [('They', 'PRP'), ('refuse', 'VBP'), ('to', 'TO'), ('permit', 'VB'), ('us', 'PRP'), ('to', 'TO'), ('obtain', 'VB'), ('the', 'DT'), ('refuse', 'NN'), ('permit', 'NN')]
以外の方法で単語の品詞を出力する方法がわかりません。
補足情報(FW/ツールのバージョンなど)
python3.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。