是否有可能基于C#或JAVA中的字符串来开发一些基于条件的搜索?
作者:互联网
我在C#中有一个列表.此字符串数组包含从Ms-Word文件读取的Paragraph元素,例如,
清单0->上图显示了主要报告,该报告将在本章中的许多标记示例中使用.此样本文档中有几个有趣的元素.首先,介绍基本的文本元素,即文档的主要构建块.接下来是报告底部的表格,将对其进行全面讨论,包括方便的样式效果(例如行带).最后,标题中显示的图像将被添加以完成报告.
列表1->上图显示了主要报告,该报告将用于本章的许多标记示例.此样本文档中有几个有趣的元素.首先,介绍基本的文本元素,即文档的主要构建块. WordprocessingML的各种其他元素也将被处理.通过将格式信息转换为样式,可以实现更高程度的重用.该文档将使用自定义XML标记进行标记,并讨论其他高级元素(如目录)的插入.但是,在可以添加所有高级功能之前,需要构建文档的基础.
这样的事情.
现在我的搜索字符串是:
上图显示了主要报告,该报告将在本章中的许多标记示例中使用.此样本文档中有几个有趣的元素.首先,介绍基本的文本元素,即文档的主要构建块.接下来是报告底部的表格,将对其进行全面讨论,包括方便的样式效果(例如行带).在研究构成样本文档的所有元素之前,需要先布局基本的文档结构.当您获取WordprocessingML文档并使用Windows资源管理器外壳将docx扩展名重命名为zip时,您会发现许多不同的元素,尤其是在较大的文档中.
我想用列表元素检查我的搜索字符串.
我的标准是“如果每个列表元素包含85%匹配或完全匹配的搜索字符串,那么我们要检索该列表元素.
就我们而言
清单0->更满足我的搜索字符串.
列表1-它也匹配一些文本,但是我认为下面不等于我的标准…
我如何基于String …进行此类条件搜索?
我对我的问题也更加困惑
欢迎您的想法和想法…
解决方法:
关键字是DISTANCE或“字符串距离”.还有“段落相似度”
您试图实现一个函数,该函数将表示为标量,例如问题中建议的百分比,表示一个字符串与另一个字符串的相似程度.
普通的字符串距离函数(例如hamming或Levenstein)可能不合适,因为它们在字符级别而不是单词级别起作用,但是通常这些算法传达了所需的思想.
在单词级别上工作时,您可能还需要考虑一些常见的NLP功能,例如忽略(或给予较少的重视)非常常见的单词(例如“ the”,“ in”,“ of”等)和也许允许某些形式的词干.单词的顺序,或至少它们的接近度也可能是重要的.
要记住的一个关键因素是,即使使用相对较短的字符串,从计算上来说,许多距离函数也可能非常昂贵.在选择一种特定算法之前,您需要了解问题的一般参数:
>必须比较多少个字符串? (平均,最大)
>字符串包含多少个单词/令牌? (平均)
>是否可以引入一个简单的(快速)过滤器来减少要比较的字符串数?
>我们需要多大才能获得语言功能?
>是否可以预处理字符串?
>是否所有记录都使用一种语言?
Comparing Methods for Single Paragraph Similarity Analysis,一篇学术论文提供了有关技术和注意事项的调查.
简而言之,可以应用这个相对开放的问题的设计时间和运行时间的数量变化很大,并且通常是所需精度水平与运行时间资源之间的折衷方案,而解决方案的整体复杂性可能是可以接受的.
以最简单的形式,当单词的顺序无关紧要时,基于匹配的单词的TF-IDF值计算因子之和可能是一个非常可接受的解决方案.
更高级的解决方案可能会引入一系列从NLP借用的流程,例如Part-of-Speech Tagging(例如,为避免误报,例如将“ SAW”用作名词(砍木头),将“ SAW”用作动词的过去式)看”.或者更有可能根据其语法功能彻底过滤掉某些单词),词干以及可能的语义替换,概念提取或latent semantic analysis.
标签:c-4-0,replace,string,java 来源: https://codeday.me/bug/20191102/1994113.html