nlp - 使用 word2vec 聚类相似词
问题描述
我有各种各样的餐馆标签,我也有一些与餐馆无关的词。如下所示:
vegan
vegetarian
pizza
burger
transportation
coffee
Bookstores
Oil and Lube
我有大约 500 个标签的组合。我想知道有没有办法选择与食物选择相关的类似标签,而省略油和润滑油、运输等词。
我尝试使用 word2vec,但是其中一些有多个单词并且无法找到正确的方法。
蛮力方法是手动标记它们。但是,我想知道有没有办法使用 NLP 或 Word2Vec 将所有相关标签聚集在一起。
解决方案
Word2Vec 可以帮助解决这个问题,但要考虑的关键因素是:
你的词向量是如何训练的?使用现成的向量(比如
GoogleNews
在大量新闻故事中训练的流行向量)不太可能与您的领域中这些词的含义紧密匹配,或者包含像“oil_and_lube”这样的多词标记。但是,如果你有一个来自你自己领域的良好训练语料库,以及来自上下文中使用的受控词汇表(如 )的多词标记oil_and_lube
,那么你可能会得到非常好的向量来准确地表达你需要的标记。词向量的相似性并不是严格意义上的“同义词”,而是其他形式的密切关系,包括对立性和词可以互换或在相似上下文中使用的其他方式。因此,无论词向量相似度值是否为您特别想要的“与食物相关”测试提供良好的阈值截止,您都必须尝试和修补。(例如:作为直接替换的词是否彼此最接近,或者在相同主题中常见的词是否彼此最接近,可以受
window
参数是否更小或更大。因此,您可以找到调整 Word2Vec 训练参数来改进结果向量以满足您的特定需求。)
就如何进行提出更多建议需要更多关于可用训练数据的详细信息——这些标签来自哪里?他们的格式是什么?你有多少?– 以及您的最终目标 – 为什么区分餐厅标签和非餐厅标签很重要?
推荐阅读
- java - 调用 setText() 时 JavaFX 文本不会改变
- javascript - 反应原生 TextInput
- python - 使用python for循环获取具有值的json对象
- python - 有没有办法通过使用导入的 csv 中的字符串来生成列表名称?
- ios - IOS Webkit 跟踪被点击的 url 和 URL Scheme
- java - 为什么 Java 9 中不推荐使用 finalize() 方法?
- java - 为什么我的服务无法在 Android Pie 上运行
- ios - Obj-c - 对字典中的数组进行排序?
- php - 包裹在字符串中的 PHP WPML 字符串翻译
- sql - 结果数据集中的 SQL 案例表达式问题