Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung PHP-Tutorial 去除相似度较高的内容

去除相似度较高的内容

Jun 06, 2016 pm 08:39 PM
mysql php 全文搜索

如何去除相似度较高的内容?可以不择手段!

如下面三条笑话几乎是一样的,只是个别符号和换行不换行的差别。假设现在有30万条数据,其中有几万条是这样具有高相似度的,我要怎么做才能把这些数据筛选出来?

可以不择手段,最好是PHP/MySQL,客户端之类的。

哥应邀参加前任婚礼,和一帮陌生人坐一桌, 旁边一哥们问我是新娘什么人? 我回答,我只是来看一下以前战斗过的地方! 没想到一桌子的人举起酒杯:
大家都是战友,干杯,多喝点,一会讨论战斗经验!

哥应邀参加前任婚礼,和一帮陌生人坐一桌,旁边一哥们问我:“是新娘什么人?” 我回答,我只是来看一下以前战斗过的地方!
没想到一桌子的人举起酒杯:“大家都是战友,干杯,多喝点,一会讨论战斗经验!”

哥应邀参加前任婚礼,和一帮陌生人坐一桌,旁边一哥们问我是新娘什么人?我回答,我只是来看一下以前战斗过的地方!没想到一桌子的人举起酒杯:大家都是战友,干杯,多喝点,一会讨论战斗经验!

回复内容:

如何去除相似度较高的内容?可以不择手段!

如下面三条笑话几乎是一样的,只是个别符号和换行不换行的差别。假设现在有30万条数据,其中有几万条是这样具有高相似度的,我要怎么做才能把这些数据筛选出来?

可以不择手段,最好是PHP/MySQL,客户端之类的。

哥应邀参加前任婚礼,和一帮陌生人坐一桌, 旁边一哥们问我是新娘什么人? 我回答,我只是来看一下以前战斗过的地方! 没想到一桌子的人举起酒杯:
大家都是战友,干杯,多喝点,一会讨论战斗经验!

哥应邀参加前任婚礼,和一帮陌生人坐一桌,旁边一哥们问我:“是新娘什么人?” 我回答,我只是来看一下以前战斗过的地方!
没想到一桌子的人举起酒杯:“大家都是战友,干杯,多喝点,一会讨论战斗经验!”

哥应邀参加前任婚礼,和一帮陌生人坐一桌,旁边一哥们问我是新娘什么人?我回答,我只是来看一下以前战斗过的地方!没想到一桌子的人举起酒杯:大家都是战友,干杯,多喝点,一会讨论战斗经验!

只回答相似度处理

similar_text() 函数相比,levenshtein() 函数更快,但similar_text() 函数能通过更少的必需修改次数提供更精确的结果,在追求速度而少精确度,并且字符串长度有限时可以考虑使用 levenshtein() 函数,而且 similar_text() 对中文支持的并不好

最后留一个自己捣鼓的: 通过余弦定理+分词计算文本相似度PHP版

https://github.com/xiaobeicn/text-similarity-php

要求不高的话直接用similar_text吧,DEMO: http://3v4l.org/iBXvC

如果只是多出几个标点符号、换行的话,那可以去掉那些符号、换行,然后比较字符串md5的值。当然,如果文字的顺序变大很大,这个也就不行了

说白了就是文章摘要算法 如果是我的话分词肯定不够 还要上词性分析 留下名词动词做特征能更准一些

我给你一个我认为最靠谱的方案
(1)对文章进行词性划分,只保留动词和名词部分,比如
哥应邀参加前任婚礼,和一帮陌生人坐一桌, 旁边一哥们问我是新娘什么人? 我回答,我只是来看一下以前战斗过的地方! 没想到一桌子的人举起酒杯:
大家都是战友,干杯,多喝点,一会讨论战斗经验!

这段文字我认为特征是 婚礼 新娘 战斗 就被 经验 战友
(2)你需要很多的例子,比如10000篇,根据这一万篇,大致推断整个30万文本中所有可能重要的词汇,根据经验这个个词汇表如果不处理会超过10w个
(3)使用特征提取算法精简词汇表,至于怎么特征提取这至少是烟酒生课程才会讲的,都是数学,这样你会把10w个词缩减到3000左右
(4)用这3000个词表示每一个文本,比如w1=[0,0,1,1,.....0,..1,,0...1..0...]我们不考虑词频,这样的数据结构用位图非常容易转化为字符串
(5)使用Hash表对所有文本进行去重
这样的效率是最高的,但是肯定有误差,因为特征提取本身就是信息量减少的过程,来换取最快的速度,但是可以做到任何一个新文本来,分词的过程不计,几乎是O(1)的时间复杂度

再提供一种思路:去掉所有标点符号、空格以及换行符之后用动态规划算法计算“编辑距离/Levenshtein距离”(即把字符串s1经过变换得到s2的最少编辑次数,其中一次编辑可以是添加一个字符、删除一个字符或者修改一个字符)。比较容易实现,效率也不错(大约就是O(N^2)其中N是字符串长度)

这个算法貌似是信息学竞赛的经典算法,搜一下“字符串编辑距离”应该就能找到(维基百科也有),如果不想用库的话可以考虑该方法

我想说的也是编辑距离,楼上已经说了。

http://www.cnblogs.com/liangxiaxu/archive/2012/05/05/2484972.html

余弦定理和simhash都不错,后者是谷歌发明的

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Nützliche CakePHP-Ressourcen Nützliche CakePHP-Ressourcen Sep 10, 2024 pm 05:27 PM

Die folgenden Ressourcen enthalten zusätzliche Informationen zu CakePHP. Bitte nutzen Sie diese, um sich hierzu vertiefende Kenntnisse zu verschaffen.

See all articles