比如下面的截图中。红框中的文本除了作为整体的组织形式,对内容没有实际的贡献。
有什么办法可以识别出来一段话中有意义的,或者最有意义的内容。
这是要尽量减少全文搜索索引文件的大小吧?
我觉得没啥好办法,批量的东西做不到精准,除非机器学习。GD全文索引又不可能用上ML。
换个思路,半AI:希望全文搜索索引的,需先指定特定标签,在该特定标签内的才生成索引,其他的内容忽略。
缺点是:这样一来,使用全文搜索的门槛提高了不少,不是每个人都有HTML标签的基础知识。
2 个赞
https://code.google.com/archive/p/boilerpipe/
看到一个技术,不知道是否有对应的c++的实现
2 个赞
规定一个忽略索引的标记,让有需要的作者自己加上就可以。
<span searchable="0">不需要参与索引的文本</span>
或者直接添加可索引内容标记:
<div searchable="1">需要索引的文本</div>
1 个赞
首先,从一段话中分析出有意义的文本是不现实的,因为样本太少,就连人都不一定知道是不是有意义的。
这个问题也许可以换成:在很多文本中,找到出现次数很多的句子。也许 Stop Word 和 TFIDF 可以拿来思考思考,找找灵感。
3 个赞
请教个与全文搜索相关的问题:
有什么软件可以比对两个文本文件,找出最为接近的行、进行可视化的分栏对比?
这个最为接近的行,可以是按这一行在另一个文档中搜索相同UTF码最多的行、并按相似度排序;如果这一行对应有三四个以上的另一个文档相同行,则比对范围可以增加前/后行、再进行搜索比较
现有的软件如BeyondCompare大多是找不同,两个文档类似的行、稍微有不同就pass了
开源的Meld可以用正则表达式pass掉部分内容再开始比较,这一点不错,可惜还是找不同而不是找相似
EmEditor 中的 Compare 挺复杂的,暂时无需求没仔细研究过,可以试试。
我的需求应该是要进行全文比对后、在后台生成索引
EmEditor 中的 Compare 大多不行
要求如果这么具体,恐怕只能写专门的脚本了