Java快速字符串匹配(将文本与类别关联)
假设我有一个类似的帖子Java快速字符串匹配(将文本与类别关联),java,string,string-matching,Java,String,String Matching,假设我有一个类似的帖子 标题:“网络:2011年的搜索引擎优化” 描述:“2011年关于网络搜索引擎优化的会议” 此外,我还有一个类别列表,其中包含相关关键字: “IT”(cat)->“网页设计”、“搜索引擎优化”、“开发”、“网页开发”(关键词) 我有多个类别(it、艺术、医学、文学、机械等) 我需要使用java自动升级带有这些类别和关键字的帖子(一种标签),以改进未来的搜索 上面的例子:应该匹配“seo”和“web”,所以主字段应该用“IT”填充,子字段应该用“seo”或“web”填
- 标题:“网络:2011年的搜索引擎优化”
- 描述:“2011年关于网络搜索引擎优化的会议”
- “IT”(cat)->“网页设计”、“搜索引擎优化”、“开发”、“网页开发”(关键词)
另外,我考虑的逻辑是:查看帖子标题/描述,搜索任何匹配的关键词,用类别标记,搜索更多的关键词到这个类别中,保存3到5个匹配的关键词,你可能想尝试不同的方法,使用 算法描述:
首先,创建一个学习样本[您确实知道如何标记它们的文档,您可以手动标记样本并将其作为算法的输入]。然后,使用
k
bag of words为这些示例创建[您需要通过对质量进行基准测试来确定哪个k
是最佳的,我将在后面解释]
每个单词都是一个“特征”,接下来,对于每个新文档,您将尝试从学习样本中找出哪一个文档是最常见的[即,在您的单词包中有最多的“单词”),新文档将被标记为其最近的邻居
如何确定质量基准?
您可以通过从学习样本中提取10%的文档来检查质量,并且只学习剩余的90%。完成学习后,您可以通过检查剩余10%的准确度来评估算法的准确度。请注意,您可能需要这样做几次,才能找到上面提到的最佳k[字包大小]。您有学习的样本吗?[即,您知道如何标记的一组文档]?此外,您是否对标记的准确性感兴趣?或者你能假设标记词总是在主题/描述中吗?这是最大的问题:不:(我只有原始文档,没有任何示例上下文:(准确性并不重要,这就是为什么我决定将2-3个二级关键字关联到每个帖子。你需要在文本中逐字查找一个类别,然后将该单词与找到的类别对应的一组单词关联吗?或多或少:我将首先搜索一个关键字,因为一般类别更难发现(我无法关联)“web”到“it”基于原始字符串匹配…我应该首先搜索与web匹配的关键字,或类似的关键字,然后提取类别)对于我拥有的每个包,k是否应该相等?我拥有的所有关键字都是由一些SEO专家或其他人提供的,并且列表非常不同(对于某些类别,我有大约20个关键词,而其他类别只有2-3个)另外:我知道学习样本在这种方法中是最基本的,但是你认为有可能实现混合解决方案吗?我想我知道答案,因为没有学习基础,ml是不可能的,对吧?你必须有一个学习样本。但是,这种方法不需要决定哪些单词是关键词,它们将是由BoW选择。我认为它值得一试,几个月前我用它来发现推特的积极性时效果不错。我会尝试一下,我必须非常仔细地计划,这是一个阻碍问题(没有分类就无法上线)但我也不能在这上面花太多时间…我会把这个问题留给其他建议,但我正在尝试你的建议(如果这是唯一的一个,我会在2-3天内接受,保证!)根据您的回答,我发现这是完美的,使用贝叶斯分类器结合单词袋方法,它工作顺利,我可以对匹配进行评级,并以高准确率添加正确的值!感谢您的想法amit!