问题标签 [relevance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1885 浏览

feature-extraction - 如何处理 tf-idf 中非常不常见的术语?

我正在实现一个天真的“关键字提取算法”。我是自学成才的,所以我缺乏一些在线文学中常见的术语和数学。

因此,我正在查找文档的“最相关关键字”:

  1. 我计算每个术语在当前文档中使用的频率。我们称之为tf
  2. 我查看了这些术语在整个文档数据库中的使用频率。我们称之为df
  3. 我通过r = tf / df计算每个术语的相关权重r

每个文档都是语料库的适当子集,因此没有文档包含不在语料库中的术语。这意味着我不必担心被零除。

我按它们的r对所有术语进行排序,并保留许多最重要的术语。这些是与本文档最密切相关的顶级关键字。本文档中常用的术语更为重要。在整个文档数据库中通用的术语不太重要。

我相信这是tf-idf的一种幼稚形式。

问题是,当术语在整个数据库中非常罕见但出现在当前文档中时,它们的r值似乎太高了。

由于样本量小,这可以被认为是某种人工制品。弥补这一点的最佳方法或通常方法是什么?

  • 丢弃在整个数据库中不常见于某个阈值的术语。如果是这样,该阈值是如何计算的?似乎它取决于太多因素而不能成为硬编码值。
  • 可以通过某种数学函数(例如平方反比或余弦)对其进行加权或平滑吗?

我已经尝试在网上搜索并阅读tf-idf,但我发现的大部分内容都是比较文档,我对此并不感兴趣。此外,其中大多数的解释与行话和公式的比例都很低。

(事实上​​,我的项目是对这个问题的概括。我真的在 Stack Exchange 网站上使用标签,所以术语的总数很少,停用词无关紧要,低使用率的标签可能比低使用率的词更常见在标准情况下。)

0 投票
1 回答
596 浏览

mysql - 根据类似于 mysql 的标签选择相关标题

标签

帖子

我们如何才能获得包含 valuesomegood在同一个 post_id 中的 post_id = 1 和 2?

所以结果是

good title剂量显示,因为标签中的 post_id = 4 没有some值。 some不符合要求good

0 投票
1 回答
18212 浏览

php - MYSQL 全文搜索按相关性排序

我试图让我的全文搜索按相关性排序。如果删除 ORDER BY 但不按相关性排序,这是我的代码。我已经尝试过了,它实际上做到了,所以它根本找不到任何结果......有什么想法吗?

编辑*

然后在代码中

更新 这对我有用,我终于通过使用它来工作了

0 投票
1 回答
293 浏览

django - 通过将相关数据与对象中的每个单独项目匹配来基于 Django 中的相关性进行文本搜索

手头数据 org_name、name、phone、email_id、incorporation_date... 如何使用我必须与模型中的数据进行比较并根据相关性显示结果的数据。

例子:

我应该能够将 Apple 与 org_name 中的数据、Steve 中的名称等进行比较,并使用 DJANGO 以相关性降序显示匹配的行!

0 投票
1 回答
165 浏览

mysql - MySQL ORDER BY CASE / IF 相关问题

我从未使用过 ORDER BY CASE 或 ORDER BY IF() ,我在互联网上找到的几个例子比帮助我尝试完成以下任务更令人困惑:

我有一个成员列表,我想通过在此成员列表中将用户排序更高(到顶部)来“奖励”用户的活动。

在我的示例中,我有一个名为“users”的 MySQL 表,其中包含 3 列:

  • “user_percentage”保存每个用户填写的所有配置文件字段的值 (0 - 100)。
  • 如果用户上传了个人资料照片,则“user_photo”保留值(0 = false,1 = true)。
  • “user_lastlogin 保存他们上次访问的值(时间戳)。

这有点难以解释,但简单地说就是我想要的:

  • 具有较高 user_percentage 值的用户应该在成员列表的顶部,但如果他没有 user_photo,那么他应该在成员列表中“下移”,如果他有一个旧的 user_lastlogin 时间戳,则将他列出更多在会员顺序下。

  • 另外,我要防止的是用户已经注册,填写了所有个人资料字段(然后 user_percentage 值将 = 100)并上传了照片(然后 user_photo 将 = 1),但从那以后再也没有登录很长一段时间(所以他有一个很旧的 user_lastlogin = 时间戳),然后我希望这个用户在成员列表中向下移动。

我的问题是:这是否可能与 1 MySQL ORDER BY 语句有关?

假设 user_photo 的重要性仅为 30%,而 user_lastlogin 的重要性更高,而 user_percentage 的重要性也更高一些。

有任何想法吗?

此致!

0 投票
3 回答
443 浏览

cakephp - CakePHP 按相关性搜索

我正在开发一个招聘网站,我想通过相关性搜索招聘广告,例如,我有职位名称、job_text 等字段。现在假设一个人搜索 cakephp,我想先得到 cakephp 的结果,然后他们说 php 也匹配,但 cakephp 显然是最相关的。我怎样才能做到这一点?

0 投票
1 回答
144 浏览

php - 订单关键字结果相关性

我创建了一个查询,该查询根据用户创建的关键字从数据库中获取相当短的字符串(感谢 zhikharev回答):

我的问题是我不知道如何按相关性对结果进行排序。请注意,数据库中的一个标签可以包含多个单词。

假设用户搜索“纽约市”。然后在数据库中我有:

我希望结果如下所示:

它应该查找与用户输入中的单词最匹配的标签,以及与搜索中单词的顺序大致相同的标签。

0 投票
1 回答
160 浏览

sql - 使用 FREETEXTTABLE 处理来自多表的搜索结果相关性

我正在开发一个应用程序,它允许用户通过关键字搜索(使用 SQL 2008 全文索引表的 FREETEXTTABLE 功能)查找产品引用。这些参考是从两个可靠的不同数据库中提取的。但是,当我按等级排序时,它们不会给出相同的结果。我使用如下请求:

现在我想根据他们对 BOTH 请求的排名找到最相关的参考。

我想知道添加排名是否更好:例如,第一个表的排名为 115,第二个表的排名为 95,总排名为 210。或者,如果最好将它们相乘(100, 100 参考将变为 10 000 参考),因此 105,95 参考会更少,因为即使加法得分相同,结果也不相同。

任何提高这种情况下结果相关性的建议将不胜感激

0 投票
1 回答
563 浏览

freebase - 带有数据转储的 Freebase 评分

如果您使用 Freebase 搜索按名称获取任何实体的匹配项,您将获得按相关性分数排序的结果。尝试例如泰姬陵

我正在尝试使用 Freebase 数据转储获得类似的结果,因此在我的数据库中,与“泰姬陵”相关的主题将按相关性进行排序,即首先是建筑,其次是音乐家,依此类推。

是否有任何建议如何在不查询 Freebase 搜索 API 的情况下实现这一目标?

0 投票
2 回答
200 浏览

mysql - 如何在表格中获得相关性分数

我有一个带有游戏类型标签的 mysql 表,比如

game_typetags

games和另一张桌子

我想列出相关的游戏(用常见类型标签的数量给它们打分)并用 playcount 排序。

所以我试图在 PHP 中得到这样一个数组:

所以当我用 调用这个函数时$typetags = [race,sports],它应该返回

我应该为此使用什么查询?谢谢 !