Я пытался использовать Stanford Core NLP для набора данных, но он останавливается на определенных индексах, которые я не могу найти. Набор данных доступен на Kaggle: https://www.kaggle.com/PromptCloudHQ/amazon-reviews-unlocked-mobile-phones/data
Это функция, которая выводит тональность абзаца, беря среднее значение тональности отдельных предложений.
import json
def funcSENT(paragraph):
all_scores = []
output = nlp.annotate(paragraph, properties={
"annotators": "tokenize,ssplit,parse,sentiment",
"outputFormat": "json",
# Only split the sentence at End Of Line. We assume that this method only takes in one single sentence.
#"ssplit.eolonly": "true",
# Setting enforceRequirements to skip some annotators and make the process faster
"enforceRequirements": "false"
})
all_scores = []
for i in range(0,len(output['sentences'])):
all_scores.append((int(json.loads(output['sentences'][i]['sentimentValue']))+1))
final_score = sum(all_scores)/len(all_scores)
return round(final_score)
Теперь я запускаю этот код для каждого обзора в столбце «Отзывы», используя этот код.
import pandas as pd
data_file = 'C:\\Users\\SONY\\Downloads\\Amazon_Unlocked_Mobile.csv'
data = pd.read_csv( data_file)
from pandas import *
i = 0
my_reviews = data['Reviews'].tolist()
senti = []
while(i<data.shape[0]):
senti.append(funcSENT(my_reviews[i]))
i=i+1
Но почему-то я получаю эту ошибку, и я не могу найти проблему. Прошло много часов, пожалуйста, помогите.
[1]: https://i.stack.imgur.com/qFbCl.jpg
Как избежать этой ошибки?