Все зависит от того, на что похожи ваши данные и какова конечная цель вашей задачи. Вам нужно дать нам немного более подробное описание вашего проекта, но, в общем, вот ваши варианты:
- Создайте свой собственный словарь анализа настроений: я действительно сомневаюсь, что это то, что вы хотите сделать, так как это требует много времени и усилий, но если ваши данные достаточно просты, это выполнимо.
- Очистите свои данные: если ваши токены не находятся в сети senti-wordnet из-за слишком большого количества шума и плохо написанных слов, то попробуйте исправить их, прежде чем передавать их через wordnet, это как минимум ограничит количество ошибок, которые вы получите.
- Используйте альтернативу senti-wordnet: согласен, хороших не так много, но вы всегда можете попробовать sentiment_classifier или nltk sentiment , если вы используете python (что, судя по всему, вашей ошибки кажется, что вы есть).
- Классифицируйте только то, что вы можете: это то, что я бы порекомендовал. Если слово отсутствует в senti-wordnet, перейдите к следующему. Просто поймайте ошибку (try: ... except IndexError: pass
) и попытайтесь определить, каково общее настроение данных, подсчитав слова сентиментальных слов, которые вы на самом деле поймаете.
PS: Нам нужно было бы увидеть ваш код, чтобы быть уверенным, но я думаю, что есть еще одна причина, по которой вы получаете IndexError. Если бы слова не было в senti-wordnet, вы бы получили KeyError, но это также зависит от того, как вы закодировали свою функцию.
Удачи, и я надеюсь, что это было полезно.