gpt4 book ai didi

javascript - 使用 Node JS 客户端从 Elasticsearch 索引中提取最重要的单词

转载 作者:IT老高 更新时间:2023-10-28 22:04:53 33 4
gpt4 key购买 nike

灵感来自以下 gitvideo我正在尝试为我的域创建一个概念搜索,使用 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."
}
}

我想遍历整个索引并提取具有“更高显着性”(tf-idf ?)的单词。
获得前 100 个单词列表后,我将使用 word2vec 创建一个同义词过滤器。

我的问题是:如何使用 ES Node JS 客户端来做到这一点?

最佳答案

文档的Tf-Idf通常用于查找文档的相似度(使用余弦相似度、欧几里得距离等)

Tf 或词频表示一个词在文档中出现的频率。词的频率越高,词的重要性就越高。

Idf 或逆文档频率表示包含该单词的文档(输入集合)的数量。词越稀有,词的重要性越高。

如果我们只使用 TF 构建文档向量,我们很容易产生垃圾邮件,因为常用词(例如:代词、连词等)变得更加重要。因此,td-idf 的组合给出了更好的含义,并表明了这个词的真正意义。或者换句话说,根据重要性对文档的单词进行排名,不建议只计算每个单词的 tf,而是在整个输入集合上使用 tf-idf 并根据 tf-idf 值进行排名关键字的真正意义。

查看示例 python 解决方案,用于计算 json 推文列表的 tf-idf 值并查找类似推文。

Github Sample

关于javascript - 使用 Node JS 客户端从 Elasticsearch 索引中提取最重要的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40590699/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com