背景
我有一些带有一些样本数据的向量,每个向量都有一个类别名称(地点,颜色,名称).
['john','jay','dan','nathan','bob'] -> 'Names'
['yellow', 'red','green'] -> 'Colors'
['tokyo','bejing','washington','mumbai'] -> 'Places'
Run Code Online (Sandbox Code Playgroud)
我的目标是训练一个模型,该模型采用新的输入字符串并预测它属于哪个类别.例如,如果新输入是"紫色",那么我应该能够将"颜色"预测为正确的类别.如果新输入是"卡尔加里",则应将"地点"预测为正确的类别.
APPROACH
我做了一些研究,遇到了Word2vec.该库具有我可以使用的"相似性"和"最相似性"功能.所以我想到的一种蛮力方法如下:
因此,例如对于输入"粉红色",我可以计算其与向量"名称"中的单词的相似性取平均值,然后对其他2个向量也执行此操作.给出最高相似度平均值的向量将是输入所属的正确向量.
问题
鉴于我在NLP和机器学习方面的知识有限,我不确定这是否是最好的方法,因此我正在寻找有关解决问题的更好方法的帮助和建议.我对所有建议持开放态度,并请指出我可能因为我是机器学习和NLP世界的新手而犯的任何错误.