В настоящее время я работаю над анализом настроений. Для этого я предпочел использовать библиотеку Standford Core NLP с использованием Python. Я могу получить настроение для каждого предложения, используя следующий код:
из pycorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('http://localhost:9000')
res = nlp.annotate("I love you. I hate him. You are nice. He is dumb",
properties={
'annotators': 'sentiment',
'outputFormat': 'json',
'timeout': 1000,
})
for s in res["sentences"]:
print("%d: '%s': %s %s" % (
s["index"],
" ".join([t["word"] for t in s["tokens"]]),
s["sentimentValue"], s["sentiment"]))
Но мое требование заключается в том, что у меня есть текстовый файл, содержащий около 100 предложений, разделенных новой строкой.
Итак, я попытался использовать следующий код, чтобы открыть текстовый файл и прочитать предложения и найти настроение для каждого предложения.
from pycorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('http://localhost:9000')
with open("/Users/abc/Desktop/test_data.txt","r") as f:
for line in f.read().split('\n'):
print("Line:" + line)
res = nlp.annotate(line,
properties={
'annotators': 'sentiment',
'outputFormat': 'json',
'timeout': 1000,
})
for s in res["sentences"]:
print("%d: '%s': %s %s" % (
s["index"],
" ".join([t["word"] for t in s["tokens"]]),
s["sentimentValue"], s["sentiment"]))
Но, так или иначе, все предложения текстового файла переопределены, и я получаю мнение о последнем предложении. Как я новичок в Python может кто-нибудь, пожалуйста, помогите мне относительно того же ...