Структура лексикона 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: Знак
- Колонка 2: Это среднее значение оценок человеческого настроения.
- Колонка 3: это стандартное отклонение токена, если оно следует нормальному распределению
- Колонка 4: это список из 10 человеческих оценок, взятых во время экспериментов.
Фактический код или расчет настроения не использует 3-й и 4-й столбцы. Поэтому, если вы хотите обновить лексикон в соответствии с вашими требованиями, вы можете оставить последние два столбца пустыми или заполнить их случайным числом и списком.