Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检测文本字符串/复制文本中的重复_Php_Text_Pattern Matching_Fft - Fatal编程技术网

Php 检测文本字符串/复制文本中的重复

Php 检测文本字符串/复制文本中的重复,php,text,pattern-matching,fft,Php,Text,Pattern Matching,Fft,我有一个输入表单,用户可以上传测试报告,最小长度为100字。有些用户写得比这少,只需复制他们写的内容,直到达到100字的阈值 理想情况下,我希望通过php测试文本字符串是否包含重复文本,即复制该字符串子集的位置。 我在考虑对文本进行傅里叶分析,这可能会导致字符串中的文本重复。 是否存在用于此目的的php类或正则表达式示例 一些示例文本: 等等等等。这是一些文字,现在我感到无聊。这是一些 现在我感到厌烦了。这是一些文字,现在我感到无聊。 这是一些文字,现在我感到无聊。这是我现在的一些文字 感到无聊

我有一个输入表单,用户可以上传测试报告,最小长度为100字。有些用户写得比这少,只需复制他们写的内容,直到达到100字的阈值

理想情况下,我希望通过php测试文本字符串是否包含重复文本,即复制该字符串子集的位置。 我在考虑对文本进行傅里叶分析,这可能会导致字符串中的文本重复。 是否存在用于此目的的php类或正则表达式示例

一些示例文本:

等等等等。这是一些文字,现在我感到无聊。这是一些 现在我感到厌烦了。这是一些文字,现在我感到无聊。 这是一些文字,现在我感到无聊。这是我现在的一些文字 感到无聊。最后是一些东西

更新:我的解决方案如下

1将字符串映射到整数数组,即查找每个字符的数字表示形式。因此,上面的示例将成为

numerics = array ( 2, 5, 1, 2, 5, 1, ...);
2对该阵列进行傅里叶变换,得到特征频谱

FT = fft (numerics);
这将检测字符空间中的规则模式。 e、 g.可以使用计算fft

3检测函数FT的峰值。与背景噪声相比,测量峰值的相对高度

4为峰值设置阈值。如果任何峰值高于此阈值,则返回文本中出现的规则模式。e、 g.句子重复几次,应以一定的频率清楚地标记出一个高峰

由于这项提议在数据分析方面相当直截了当,我想知道它以前是否没有被编码过。这就是我在这里想问的,是否有人知道这种算法在开源软件中是否已经存在


当然,对于如何解决此问题的其他解决方案/建议,我们将不胜感激。

现有的函数或库无法以您喜欢的方式检测重复字符串。你可以把问题分解成一个算法,从一个词开始,而不是两个词等等。但这将是非常多的工作

你的客户将开始复制不重复的句子,你将遇到另一个你无法解决的问题


你必须管理你的测试人员,选择惩罚他们非法进入的选项。

请发布你正在进行的工作解决方案,不要只是要求我们编写代码。@JAL我要求的是一个php类,它可能已经作为解决方案存在。如果你必须输入100个单词,我不想在你的公司工作,因为它工作正常。点击率会上升!对于StackOverflow来说,要求用户推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题是离题的。@JAL我刚刚发布了一个解决问题的建议。也许有人有更简单的解决办法?