我正在爲基準標記器編寫代碼。基於布朗語料庫,它將最常見的標籤分配給單詞。因此,如果單詞「作品」被標記爲動詞23次,並且作爲複數名詞30次,則基於用戶輸入句子中的單詞將其標記爲複數名詞。如果在語料庫中找不到該詞,則默認將其標記爲名詞。 迄今爲止,我所使用的代碼不僅返回了最常用的單詞的每個標籤。我怎樣才能實現它只返回每個單詞的頻繁標籤?Python和NLTK:基線標記器
import nltk
from nltk.corpus import brown
def findtags(userinput, tagged_text):
uinput = userinput.split()
fdist = nltk.FreqDist(tagged_text)
result = []
for item in fdist.items():
for u in uinput:
if u==item[0][0]:
t = (u,item[0][1])
result.append(t)
continue
t = (u, "NN")
result.append(t)
return result
def main():
tags = findtags("the quick brown fox", brown.tagged_words())
print tags
if __name__ == '__main__':
main()
wahaha,我要開始要求付款了,如果我回答你所有的nltk問題。洛茨,只是開玩笑,給我一分鐘打字。 – alvas
不好意思去了午餐,下面是你需要的'most_frequent_pos_tagger()'。 – alvas