Получение очень низкой точности при обучении набора данных по словарю слов для сентиментального анализа

Я загрузил .txt, который содержит 1000 слов, где каждому слову присвоена метка, указывающая на положительное или отрицательное значение. Чем меньше значение, тем больше положительных эмоций оно представляет. Это выглядит как :-

bad,-1
sucks,-2
too good,2
amazing,3
terrible,-2
...

Я назвал первый столбец word, а второй column меткой. Я тренирую его, используя: -

vectorizer = TfidfVectorizer(use_idf = True, lowercase=False,strip_accents='ascii', stop_words=stop_words)
y = test_df['label']
X = vectorizer.fit_transform(test_df['word'])
X_train, X_test, y_train, y_test = train_test_split(X, y)

Теперь проблема в том, что, поскольку каждое слово присутствует только один раз, поэтому нет абсолютно никакого смысла предсказывать метку слова в необученной части, поскольку слово в необученной части не имеет отношения к словам в обученной части. Итак, как и ожидалось, я получаю довольно low accuracy. Итак, как вы собираетесь использовать предопределенные словари слов для анализа настроений?


person Devansh Singh    schedule 21.04.2018    source источник
comment
вам нужен алгоритм, который измеряет, как слово связано с другим словом. это хорошее чтение: заголовок stackoverflow.com/questions/21979970/   -  person âńōŋŷXmoůŜ    schedule 21.04.2018
comment
Не могли бы вы уточнить? Как word2vec поможет связать одно слово в обучающем наборе с другим словом в тестовом наборе?   -  person Devansh Singh    schedule 21.04.2018
comment
Расстояние до слова даст вам числовое значение того, как слово связано с данным словом. это число близко к 1, если они тесно связаны, и близко к нулю, если нет. тогда вы можете найти слово в своем словаре, которое тесно связано с вашими необученными данными.   -  person âńōŋŷXmoůŜ    schedule 21.04.2018