我嘗試標記與NLTK POS惡搞就是一個字:標記一個字與NLTK POS惡搞標籤每個字母代替的話
word = "going"
pos = nltk.pos_tag(word)
print pos
但輸出是這樣的:
[('g', 'NN'), ('o', 'VBD'), ('i', 'PRP'), ('n', 'VBP'), ('g', 'JJ')]
它標記每個字母而不是僅僅一個字。
我能做些什麼來標記這個詞?
我嘗試標記與NLTK POS惡搞就是一個字:標記一個字與NLTK POS惡搞標籤每個字母代替的話
word = "going"
pos = nltk.pos_tag(word)
print pos
但輸出是這樣的:
[('g', 'NN'), ('o', 'VBD'), ('i', 'PRP'), ('n', 'VBP'), ('g', 'JJ')]
它標記每個字母而不是僅僅一個字。
我能做些什麼來標記這個詞?
nltk.tag.pos_tag
接受令牌列表,分離並標記其元素。因此,你需要把你的話在一個迭代像列表:
>>> nltk.tag.pos_tag(['going'])
[('going', 'VBG')]
請注意,這標籤**整個**(我知道OP問約1個單詞,但這可能會令人困惑) – 2018-01-08 23:13:56
@AlaaM。把一個句子作爲一個整體來標記你是什麼意思? 'pos'標記旨在根據他們的初始字符和他們在句子中的位置來標記單詞。這就是標籤由多個字符組成的原因。 – Kasramvd 2018-01-09 06:35:42
我只是說如果你有多個單詞,那麼'nltk.tag.pos_tag('sentence'.split())',而不是'nltk.tag.pos_tag(['一個句子'])'' ,因爲後者會生產一個標籤 – 2018-01-09 07:23:27
>>> word = 'going'
>>> word = nltk.word_tokenize(word)
>>> l1 = nltk.pos_tag(word)
>>> l1
[('going', 'VBG')]
注意,標註一個字是不會給你滿意的結果。想一想:如果看單詞足夠了,我們就不需要標籤了 - 我們只需在字典中查找POS。 – alexis 2015-04-02 21:53:58