我已经训练了一个推荐系统来推荐基于游戏标签的蒸汽游戏。下面显示了一个示例输出,其中GAME是根据similarity评分推荐的游戏。
推荐游戏:全面战争:战锤
GAME: Total War: WARHAMMER Similarity: 1.0
GAME: Phantom Doctrine Similarity: 0.97
GAME: Total War: THREE KINGDOMS Similarity: 0.96
GAME: Warhammer 40,000: Dawn of War II Similarity: 0.96
GAME: Total War: WARHAMMER II Similarity: 0.95
GAME: Warhammer 40,000: Dawn of War II Chaos Rising Similarity: 0.94推荐游戏:帝国时代2:最终版
GAME: Age of Empires II: Definitive Edition Similarity: 1.0
GAME: Rise of Nations: Extended Edition Similarity: 0.97
GAME: Age of Empires II (2013) Similarity: 0.97
GAME: Stronghold Crusader HD Similarity: 0.96
GAME: Age of Mythology: Extended Edition Similarity: 0.95
GAME: Medieval II: Total War Kingdoms Similarity: 0.95本文所使用的模型是基于神经网络确定的嵌入。经过培训,我有两个包含嵌入的矩阵:
这两个矩阵的嵌入大小是相同的,相似的分数是由游戏的余弦距离来计算的。
是否可以找到类似于其他游戏的游戏,减去给定的标记,例如,TOTAL WAR: WARHAMMER有以下标记:
如果我喜欢这个游戏,但我不喜欢Fantasy元素,我可以在推荐时删除Fantasy元素吗?一个简单的操作会说Total War: WARHAMMER嵌入- Fantasy嵌入,然后找到类似的匹配吗?
发布于 2021-11-22 14:37:21
一种选择是训练包含所有信息的单个嵌入空间。
如果在Genism中使用Word2Vec,则正负运算是内置的.这类似于单词类比的计算方法。
代码将类似于:
import gensim
word2vec_model = gensim.models.Word2Vec(docs)
word2vec_model.most_similar(positive=['Total War', 'WARHAMMER'],
negative=['Fantasy'])https://datascience.stackexchange.com/questions/66319
复制相似问题