Анализ настроений 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}
Есть много операций над словарями, которые вы можете выполнять. Если это действительно ваш случай, просто проверьте документацию