0

这对我来说是一个新领域,我不确定这是否是我正在寻找的。查询数据库时需要更改约束。这方面的一个例子是求职网络应用程序。如果用户在 50 英里半径范围内搜索具有某些特征的工作,我需要找到不完全匹配但与他非常相关的工作。

如果用户的工作几乎 100% 匹配,但距离 52 英里,我还需要检索它以呈现给用户(考虑到它的相关性,因为 50 英里中的 2 英里仅多 4%)。

这个想法是开发一个新的求职网络应用程序,并希望它会发展。这些公司在网站上创建他们的工作机会,并由用户搜索。这几乎是常态。不同之处在于搜索机制。它比简单的数据库查询要聪明一点,这就是为什么我需要知道如何获得更多结果来过滤它们。如果有一个限制,例如(从薪水 > 25000 或薪水 < 26000 的工作中选择 *),则 100% 匹配但薪水为 24999 的工作将不会显示在结果中,尽管它应该显示在结果中,因为它很接近。这个想法是通过贝叶斯网络或其他方式获得数据库中所有接近的工作(因此我必须将约束放宽到更大的值),确定它与用户的相关性。

所以我需要一些指针来寻找关于这个主题的更多信息,如何放松这些约束以进行更广泛的搜索,然后通过贝叶斯网络计算与用户的相关性并显示它。

谁能帮我?谢谢

4

1 回答 1

1

一种通用的方法是进行快速的第一阶段搜索,这可能会让一些垃圾通过,然后对你从中得到什么进行更详细的检查。在您的示例中,您可能只需将查询词每次更改 10%,因此 (select * from jobs where Salary > 25000 or Salary < 26000) 变为 (select * from jobs where Salary > 22500 or Salary < 23400) - 你真的意味着或在这里,顺便说一句,还是应该是和?

然后取出通过第一阶段的答案,并按照与理想值的百分比差的平方和之类的方式对它们进行排序,并向用户显示前 N 个答案。这很简单,您可能会找到一个涉及正态分布的论点,证明它是对某事物或其他事物的贝叶斯计算。

于 2012-09-12T04:22:25.353 回答