Структура лексикона Python VADER для анализа настроений

Я использую лексикон настроения VADER в библиотеке Python nltk для анализа настроения текста. Этот лексикон не очень подходит для моей области, и поэтому я хотел добавить свои собственные оценки чувств к различным словам. Итак, я взял в руки текстовый файл лексики (vader_lexicon.txt), чтобы сделать это. Тем не менее, я не очень хорошо понимаю архитектуру этого файла. Например, слово, подобное облитерации, будет иметь следующие данные в текстовом файле: стирать -2,9 0,83066 [-3, -4, -3, -3, -3, -3, -2, -1, -4, -3]

Ясно, что -2,9 - это среднее из оценок настроений в списке. Но что представляет собой 0.83066?

Спасибо!

1 ответ

Решение

Согласно исходному коду VADER, используется только первое число в каждой строке. Остальная часть строки игнорируется:

for line in self.lexicon_full_filepath.split('\n'):
    (word, measure) = line.strip().split('\t')[0:2] # Here!
    lex_dict[word] = float(measure)

Файл vader_lexicon.txt имеет четыре столбца с разделителями табуляции, как вы сказали.

  1. Колонка 1: Знак
  2. Колонка 2: Это среднее значение оценок человеческого настроения.
  3. Колонка 3: это стандартное отклонение токена, если оно следует нормальному распределению
  4. Колонка 4: это список из 10 человеческих оценок, взятых во время экспериментов.

Фактический код или расчет настроения не использует 3-й и 4-й столбцы. Поэтому, если вы хотите обновить лексикон в соответствии с вашими требованиями, вы можете оставить последние два столбца пустыми или заполнить их случайным числом и списком.

Другие вопросы по тегам