Анализ настроений VADER в Python: удаление слов из словаря

Я использую инструмент для анализа настроений VADER в библиотеке Python nltk. Мне интересно, есть ли у кого-нибудь подсказка о том, как удалить слова из лексикона без необходимости делать это вручную в текстовом файле. Использование lexicon.update (new_words) позволяет добавлять новые слова. Можем ли мы использовать нечто подобное для удаления слов?

Итак, чтобы добавить новые слова, мы можем использовать:

sia.lexicon.update(new_words)

Я пытался использовать lexicon.remove, чтобы удалить слова, но это не работает. Любой совет будет принят во внимание.

1 ответ

Я думаю что lexicon в VADER просто словари.
Если это так, проверьте следующий код:

# you can update your lexicon to add key:value pairs
example_dict = {"a":1, "b":2, "c":3, "d":4}
example_dict.update({"e":5})
print(example_dict) # OUTPUT: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

# you can pop a key from the dictionary to remove the key:value pair
# .pop returns also the value
example_dict.pop("a")
print(example_dict) # OUTPUT: {'b': 2, 'c': 3, 'd': 4, 'e': 5}

# if you're sure that all the values in another dictionary are present in yours,
# you can map the pop function
dict2 = {"b":2, "d":6}
all(map( example_dict.pop, dict2))
print(example_dict) # {'c': 3, 'e': 5}

# you can also merge two dictionaries
dict3 = {"x":44, "y":42}
new_dict = {**example_dict, **dict3}
print(new_dict) # OUTPUT: {'c': 3, 'e': 5, 'x': 44, 'y': 42}

Есть много операций над словарями, которые вы можете выполнять. Если это действительно ваш случай, просто проверьте документацию

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