python - 如何检查词嵌入的性能
问题描述
我使用了 gensim Word2Vec 模型并将其应用到我的文档列表中。好吧,词嵌入正在被创建。我想知道 Word2Vec 在我的文档列表中是否表现良好。有什么指标可以衡量吗?我如何理解 Word2Vec 是否真的在我的文档语料库上运行良好,或者我应该尝试一些不同的嵌入?下面是我从 gensim 使用的代码。
import gensim
model = gensim.models.Word2Vec(documents , size=150, window=10, min_count=2, sg=1, workers=10)
解决方案
“表现良好”没有统一的定义。这取决于你的最终目标。
为什么要创建词向量?你希望他们提供什么价值?
有了这些问题的答案,您可以首先以一种非正式的、临时的方式查看结果:查看一些最近邻词(的结果wordvecs.most_similar(query_word)
),看看它们是否对您有意义,适合您的需求和问题-领域。
但是要真正测试您的模型是否随着时间的推移而变得更好,随着您改进数据或模型参数,您应该形成一些符合您最终目标的可重复的定量测试。(例如:您是否需要某些词对彼此更接近而不是与某个第三个词更接近?您是否使用词向量作为其他分类或信息检索过程的输入,这些过程具有一些已知的、理想的结果?)
运行这些测试,对模型进行评分,然后将一个模型的得分与另一个模型的得分进行比较。
推荐阅读
- powershell - 基于类的 streamReader 和 xmlReader 锁定文件,函数不锁定
- asp.net-mvc - 如何在 mvc 的 httppostedfilebase 中提供扩展名?
- python - 如何在气流中使用 PythonVirtualenvOperator?
- reactjs - React路由器重定向页面但组件没有被渲染
- mysql - 归类 (latin1_swedish_ci,IMPLICIT) 和 (utf8mb4_general_ci,COERCIBLE) 的非法混合
- java - 如何解决这些异常并在 Wildfly 服务器上部署我的 Spring Boot 项目?
- python - 为什么我的产品不能完成冲洗方法?
- javascript - 如何将 Json 日期时间转换为普通日期时间格式(dd.mm.yyyy)?
- apache-spark - 如何将 ArrayType(StructType) 的 spark 数据框列拆分为 pyspark 中的多个列?
- flutter - 如何在 Dart/Flutter 中获取整个月的天数?