Shl*_*rtz 23 javascript node.js elasticsearch word2vec
受以下git和视频的启发,我正在尝试为我的域创建概念搜索,使用word2vec
我的查询作为同义词过滤器.
给出以下文档结构:
{
"_index": "conversations",
"_type": "conversation",
"_id": "103130",
"_score": 0.97602403,
"_source": {
"context": "Welcome to our service, how can I help? do you offer a free trial",
"answer": "Yes we do. Here is a link for our trial account."
}
}
Run Code Online (Sandbox Code Playgroud)
我想迭代整个索引并提取"更高有效"(tf-idf?)的单词.
一旦我将拥有前100个单词列表,我将使用创建一个同义词过滤器word2vec
.
我的问题是:如何使用ES Node JS客户端完成这项工作?
文档的 Tf-Idf 通常用于查找文档的相似度(使用余弦相似度、欧氏距离等)
Tf 或术语频率表示文档中单词的频率。单词的出现频率越高,则该单词的重要性越高。
IDF 或逆文档频率表示包含该单词的文档(输入集合)的数量。单词越罕见,单词的重要性越高。
如果我们只使用 TF 构建文档向量,我们很容易收到垃圾邮件,因为常见单词(例如:代词、连词等)变得更加重要。因此,td-idf 的组合给出了更好的含义并表明了该词的真正含义。或者换句话说,要根据重要性对文档中的单词进行排名,不建议仅计算每个单词的 tf,而是在整个输入集合上使用 tf-idf,并根据显示单词的 tf-idf 值进行排名关键词的真正意义。
查看示例 python 解决方案,用于计算 json 推文列表的 tf-idf 值并查找相似的推文。
归档时间: |
|
查看次数: |
961 次 |
最近记录: |