Я сделал word2vec.
Теперь я хочу создать новое поле, которое даст мне расстояние от каждого предложения до слова, которое я хочу, скажем, слова «король».
Я подумал о том, чтобы взять в каждом предложении 4 близких слова к слову «король» и вычислить из них среднее значение.
возможно, используя model.wv.similarity.
среднее значение каждого предложения будет указано в поле df['king']
Я буду рад узнать, как это сделать или узнать о другом методе.
пример данных:
Код: Выделить всё
data = {
'text': [
"The king sat on the throne with wisdom.",
"A queen ruled the kingdom alongside the king.",
"Knights were loyal to their king.",
"The empire prospered under the rule of a wise monarch."
]
}
df = pd.DataFrame(data)
df['text']=df['text'].str.split()
model = Word2Vec(df['text'], vector_size=100, window=2, min_count=1 )
model.wv.similarity('Knights','king')
Моя миссия:
У меня 1000 текстов строки (люди, которые на что-то жалуются)
Я хочу каталогизировать их по 4 словам.
Допустим, слово 1 — главное. Слово 2 — замок…
Я хочу знать о каждом предложении, какое слово из 4 слов больше всего представляет предложение.
Для этого я подумал о том, чтобы взять каждое слово из 4 слов и вычислить модель. wv.similarity для всех слов в df['text'].
После этого для каждого предложения возьмите 3 слова, которые имеют наивысший балл к слову король (и к слову замок и и т. д.) .
вычислите среднее значение трех наивысших баллов, и это будет значение df['king'] для предложения
Подробнее здесь: https://stackoverflow.com/questions/792 ... -embedding