加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java快速字符串匹配(将文本与类别关联)

发布时间:2020-12-15 02:27:42 所属栏目:Java 来源:网络整理
导读:假设我有一个类似的帖子 标题:“WEB:2011年SEO” 说明:“在2011年的网络上谈论SEO的会议” 另外,我有一个与关键字相关的类别列表: “IT”(猫) – “网页设计”,“搜索引擎优化”,“开发”,“网页开发”(关键字) 我有多个类别(它,艺术,医疗,文学,机械等…
假设我有一个类似的帖子

>标题:“WEB:2011年SEO”
>说明:“在2011年的网络上谈论SEO的会议”

另外,我有一个与关键字相关的类别列表:

>“IT”(猫) – > “网页设计”,“搜索引擎优化”,“开发”,“网页开发”(关键字)

我有多个类别(它,艺术,医疗,文学,机械等…)

我需要使用java自动升级我的帖子与这些类别和关键字(一种标记),以改善未来的搜索.

上面的示例:应匹配“SEO”和“web”,因此main_category字段应填充“IT”,subfield_category应填充“SEO”或“web”(或者两者都可以,这也不错太)

我的问题是,我能想出的唯一解决方案是进入强制执行(测试所有单词,当一个匹配你有类别和与之关联的关键字列表)时,它会降低我的表现…

有什么方法可以更好地进行搜索吗?我也可以修改我的category->关键字结构来做更好的事情(我还是不知道怎么……)

提前谢谢!

编辑:正如评论中提到的那样,准确性并不是那么重要.我不需要100%准确的标记,因为我知道我可以根据字符串的原始匹配有一个诚实的正确数量.

此外,我认为的逻辑是:查看帖子标题/描述,搜索任何匹配的关键字,标记类别,在此类别中搜索更多关键字,保存3到5个匹配的关键字

解决方法

您可能想尝试使用 Machine Learning的不同方法.

算法说明:
首先,创建一个学习样本[您确定如何标记它们的文档,您可以手动标记样本并将其作为算法的输入].然后,使用k包单词为这些样本创建Bag Of Words [您将需要通过对质量进行基准测试来确定哪个k是最优的,我将在后面解释].

每个单词都是一个“功能”,接下来,对于每个新文档,您将尝试查找学习样本中的哪个文档是nearest neighbor [即在你的Bag Of Words中有大多数“单词”,新文件将被标记为最近邻居.

如何评估质量?您可以通过从学习样本中取出10%的文档来检查质量,并仅学习剩余的90%.完成学习后,您可以通过检查剩余10%的准确度来评估算法的准确程度.请注意,您可能需要执行此操作几次以找到如上所述的最佳k [Bag Of Words size].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读