目次
回复内容:

去除相似度较高的内容

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都不错,后者是谷歌发明的

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

CakePHP の役立つリソース CakePHP の役立つリソース Sep 10, 2024 pm 05:27 PM

次のリソースには、CakePHP に関する追加情報が含まれています。より深い知識を得るためにぜひご活用ください。

See all articles