Diğer birkaç yazının ardından, [ör. Bu Genellikle daha sonra almak geçmiş/gelecek/mevcut fiiller kullanımı, için bir değer döndürenBir cümlenin gerginliğini belirleme Python
from nltk import word_tokenize, pos_tag
def determine_tense_input(sentance):
text = word_tokenize(sentance)
tagged = pos_tag(text)
tense = {}
tense["future"] = len([word for word in tagged if word[1] == "MD"])
tense["present"] = len([word for word in tagged if word[1] in ["VBP", "VBZ","VBG"]])
tense["past"] = len([word for word in tagged if word[1] in ["VBD", "VBN"]])
return(tense)
: Detect English verb tenses using NLTK, Identifying verb tenses in python, Python NLTK figure out tense] ben POS etiketlemenin kullanılması Python bir cümlenin gergin belirlemek için aşağıdaki kodu yazdım sentazın gerginliği olarak maksimum değeri. Doğruluğu makul derecede iyi, ama bunu yapmanın daha iyi bir yolu olup olmadığını merak ediyorum. Örneğin, şimdi, bir senaryonun gerginliğini ayıklamaya daha adanmış bir paketin yazılı olduğu şans eseri var mıdır? [not - 3 yığın taşma yayının 2'si 4 yaşındadır, bu yüzden işler şimdi değişmiş olabilir]. Veya alternatif olarak, doğruluğu artırmak için nltk içinden farklı bir ayrıştırıcı kullanmalı mıyım? Değilse, yukarıdaki kod bir başkasına yardımcı olabilir umuyoruz!
Belki daha ince taneli bir tagger bulmaya çalışabilirsin. Etiketlenmiş bir cesete dayanarak ya da eskiden Stanford'dan bir şey kullanarak kendi başına eğitim yaparak. Bazı amaçlar için (bu gibi) nltk.pos_tag (veya nltk_data'daki mevcut şirketlerden) etiketleme işleminin size çok yardımcı olmadığını görüyorum. Daha farklı sınıflara sahip bir tagger kullanmak, benzer senaryolarda daha önce bana yardımcı oldu. Bu, genelde oldukça etki alanına özgü açıklamalı bir şirket olmasına rağmen. – Igor
Daha doğru bir yaklaşım için, birincil ve ikincil zaman arasında ayrım yapmanız gerekir. Benzer bir soruya verdiğim cevap şu şekilde yardımcı olabilir: http://stackoverflow.com/a/22146151/1011791 –
@ChthonicProject - Teşekkür ederim - Bu yazıyı görmemiştim ve doğru yönde bana işaret ediyor – kyrenia