Как я могу заменить значение «True» из словаря на «Pos» или «NEG» - PullRequest
0 голосов
/ 18 апреля 2019

Я недавно начал изучать python, и я пытаюсь классифицировать список слов на: положительный 'pos' и отрицательный 'neg'

результат, который я ищу:

('joli': 'pos', 'bravo': 'pos', 'magnifique': 'pos')
('arnaque': 'neg', 'désagréable': 'neg', 'mauvais': 'neg')

У меня есть следующий код:

def word_feats(words):
    return dict([(word, True) for word in words])


vocab_positif = [ 'joli', 'bravo', 'magnifique']
vocab_negatif = [ 'arnaque', 'désagréable','mauvais']


positive_features = [(word_feats(vocab_positif), 'pos')]
negative_features = [(word_feats(vocab_negatif), 'neg')]

вывод:

({'joli': True, 'bravo': True, 'magnifique': True}, 'pos')
({'arnaque': True, 'désagréable': True, 'mauvais': True}, 'neg')

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Это должно дать вам результат, который вы ищете:

def word_feats(words, desc):
    return dict([(word, desc) for word in words])

vocab_positif = [ 'joli', 'bravo', 'magnifique']
vocab_negatif = [ 'arnaque', 'désagréable','mauvais']

positive_features = word_feats(vocab_positif, 'pos')
negative_features = word_feats(vocab_negatif, 'neg')
0 голосов
/ 18 апреля 2019

Это можно было бы написать лучше, если бы было дано больше контекста, но это решение соответствует вашему желаемому результату, я считаю.

def word_feats(words, val):
    return {word: val for word in words}


vocab_positif = [ 'joli', 'bravo', 'magnifique']
vocab_negatif = [ 'arnaque', 'désagréable','mauvais']

features = {}
positive_features = word_feats(vocab_positif, 'pos')
negative_features = word_feats(vocab_negatif, 'neg')

print(positive_features)
print(negative_features))

Выход:

{'joli': 'pos', 'bravo': 'pos', 'magnifique': 'pos'}
{'arnaque': 'neg', 'désagréable': 'neg', 'mauvais': 'neg'}

Если хотите, вы можете объединить dict s, например:

combined = {**positive_features, **negative_features}

или что-то вроде:

features = {}
features.update(word_feats(vocab_positif, 'pos'))
features.update(word_feats(vocab_negatif, 'neg'))
print(features)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...