日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

短文重复性检测综述,谷歌文本重复性检测: Detect duplicate content like Google

發(fā)布時間:2023/12/20 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 短文重复性检测综述,谷歌文本重复性检测: Detect duplicate content like Google 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文本重復(fù)性檢測一直是NLP等領(lǐng)域非常重要的一項研究工作,今天 #paperClub# 給大家翻譯一下"Detect duplicate content like Google"

重復(fù)的內(nèi)容是影響網(wǎng)站排名的最重要的負面因素之一。這就是為什么近重復(fù)檢測 (NDD) 在任何 SEO 應(yīng)執(zhí)行的任務(wù)之間占據(jù)重要位置的原因。但是,盡管近乎重復(fù)檢測是一個眾所周知且經(jīng)過深入研究的科學(xué)主題,但 SEO 工具市場并沒有提供開箱即用的解決方案。

1. 近重復(fù)檢測:內(nèi)容與圖像消歧

圖像的近似重復(fù)檢測也是一個重要的 SEO 主題。這是一個性能問題,一個站點是否加載一個圖像版本而不是十個具有自己 URL 的相似圖像。然而,本文的主題是文本內(nèi)容之間的近似重復(fù)檢測。圖像的 NDD 在技術(shù)上是另一項任務(wù),因為圖像具有與文本文件不同的文件性質(zhì)。對于圖像之間的重復(fù)和相似性檢測,市場上有一些很好的工具,但在內(nèi)容 NDD 部分中并非如此。

2. 查找重復(fù)項和近似重復(fù)項,例如 Google!

我以兩種算法為例描述了兩種近似重復(fù)檢測算法。一種經(jīng)過測試的算法在可接受的時間內(nèi)提供可靠的結(jié)果,因此您可以在 SEO 日常業(yè)務(wù)中使用。從 SEO 的角度來看,這兩種方法,即使是輸出不可靠的方法,也特別有趣,因為它們使用了算法,用于谷歌的近重復(fù)檢測。

我在常規(guī)內(nèi)容(HTML、DOCX、TXT、CSV、PDF)上測試了這兩種分析方法,并且在有足夠硬件資源的前提下,不限數(shù)量(在 30.000 個文件和 3.000 個字符上進行了測試)。

NDD算法

一般而言,近重復(fù)檢測的工作原理

  • 文本文檔被分割成帶狀皰疹,
  • 對于每個 shingle,它是令牌(單詞)的連續(xù)子序列,進行所謂的指紋計算,
  • 每個文檔的瓦組相互比較,

相似性的定義:如果文檔具有一定數(shù)量的相同指紋,則認為文檔相似。

對我們來說,了解Minhash和SimHash是什么、它們做什么、Google 如何使用它們、它們在哪里相似、它們?nèi)绾蜗嗷^(qū)分以及它們在哪里失敗是很重要的。

兩種算法都將每個比較的文檔轉(zhuǎn)換為標(biāo)記序列,并從文檔的標(biāo)記序列中生成位串。位串用于確定相似度。

MinHash:1997 年為 AltaVista 發(fā)明,被谷歌用于谷歌新聞個性化。該算法考慮了單詞的順序,但忽略了帶狀皰疹的頻率。

SimHash:于 2007 年為 Google 發(fā)明,并被 Google 用于在網(wǎng)頁抓取時進行重復(fù)檢測。該算法生成對象的緊湊表示,稱為 scatches。可以比較不同對象的數(shù)量,從而將對象的相似性轉(zhuǎn)化為知識。該算法考慮了術(shù)語頻率,但忽略了令牌的順序。

這種行為會導(dǎo)致誤報和誤報,這是我在 SimHash 算法測試中所經(jīng)歷的。除此之外,我的設(shè)置中的 Python 實現(xiàn)需要太多的計算時間才能在生產(chǎn)環(huán)境中使用。但是,讓我們進入正題。

SimHash + Python + Screaming Frog

什么?已知條款?當(dāng)然!至少 Screaming Frog 對任何 SEO 來說都是熟悉的。但是,它在這里只扮演數(shù)據(jù)采購的一小部分角色。

在這里您可以找到Python 代碼和一些信息。

首先,我們應(yīng)該收集我們想要分析的數(shù)據(jù)。關(guān)于應(yīng)該比較的內(nèi)容有不同的含義:

  • <body> 的全部內(nèi)容,帶有所謂的 chrome(HTML 標(biāo)簽、頁眉、頁腳、側(cè)邊欄 - 網(wǎng)頁中所有沒有意義的部分)
  • 只有 SEO 文本,例如 <article id="seo-text"> 的內(nèi)容。

在我的測試中,我比較了整個正文內(nèi)容——您可以測試 SEO 文本并報告您的體驗。我會喜歡并分享你的通知。

假設(shè) Screaming Frog 提取引擎會為您解決問題,請為您想要從中獲取內(nèi)容的頁面部分創(chuàng)建一個提取器。如果是全身的話,

  • 將提取器命名為“BodyExtractor 1”。為什么這樣?Python 腳本將使用此名稱。您可以自由重命名它 - 不要忘記更改腳本中的列名。
  • 選擇作為提取器類型 XPath,
  • 用作選擇器 //body/*

就像屏幕截圖一樣:

?

現(xiàn)在您已準(zhǔn)備好收集數(shù)據(jù)。將您的 Screaming Frog 指向您要分析和運行它的網(wǎng)站。運行完成后,將您的自定義提取導(dǎo)出為 CSV 文件。

讓我們?nèi)?Python。安裝它,如果還沒有的話 - Python2 是選擇的分支(我在 Windows10 的 3.7 上運行它,并且在 Windows上將 mmh3作為所需的包遇到了一堆問題。我的解決方法是安裝 Visual Studio 的某些部分并從內(nèi)-但我不希望您獲得如此痛苦的經(jīng)驗;)。

我的自定義提取 CSV 的大小為 2.7GB。將腳本指向提取文件,如自述文件中所示:

python sf_shingling.py -i internal_html_ap.csv -o output_html_ap.csv -c "BodyContent 1"

我的提取過程用了 18 個小時。在這臺機器上:

?

處理后我得到了幾乎相同大小的文件,2,7GB。為什么?因為具有分析結(jié)果的文件除了包含 URL 對及其計算的 SimHash 索引之外,還包含它們的內(nèi)容。

但這不是問題 - 只需刪除包含內(nèi)容的列,無需打開文件。再次使用 Python:

```

#!/usr/bin/env python # coding:utf-8import pandas as pd f=pd.read_csv( "output_html_ap.csv" ) keep_col = [ 'address' , 'status code' , 'status' , 'Sim Score '] new_f = f[keep_col] new_f.to_csv( "newFile.csv" , index= False )

```

簡單:只需列出您要保留的列,并將它們寫入新文件。

我的新結(jié)果文件大約 6MB - 不是什么大問題。

結(jié)論

我分析過的網(wǎng)站對我來說非常熟悉——我在它上面工作了大約一年。這就是為什么我能夠在分析中看到誤報。

SimHash 索引計算如下:索引越高,文檔越相似。據(jù)此,SimHash 索引等于 1 的文件是 100% 重復(fù)的,索引從 0,6 向上的文件應(yīng)該被審查。好吧,我過濾掉了所有文件,SimHash 索引小于 0,99 并且正在查看剩余文件。

其中一些是具有不同 URL(真實重復(fù))的相同文檔 - 檢測到規(guī)范化和/或 hreflang 問題,

其中一些是真正的半重復(fù):產(chǎn)品頁面具有非常相似的產(chǎn)品描述。在這些情況下,我抓取了他們的規(guī)范以了解這種相似性是否是一個真正的問題。

該算法產(chǎn)生的問題是大約 10% 的誤報和誤報。加上很長的處理時間,我決定進一步調(diào)查。

SoftCorporation LLC 的 Neardup

起初:在寫這篇文章的時候,原來的網(wǎng)站似乎不再可用,所以我創(chuàng)建了一種鏡像GitHub存儲庫以將其保存以供社區(qū)使用。Github 存儲庫包含所有需要的文件(包括第三方 Java 庫)。該軟件以另一種方式工作 - 它直接分析文件。所以下載它,指向你的文件所在的目錄,然后從選擇的終端運行。好消息是:離線幾天后,他們的網(wǎng)站又可以正常工作了。

Neardup 到底是什么,它做了什么,為什么它是我選擇的工具

Neardup是近重復(fù)檢測專利編號:8.370.390的 Java 實現(xiàn),由Vadim Permakoff于 2011 年提交,于2013 年授予。我在ResearchGate獲得了全文和描述。

簡而言之,該算法考慮了先前算法的缺點,特別是那些導(dǎo)致假陰性/陽性的算法。

由于該算法的實際實現(xiàn)服務(wù)于一個易于使用的 Java 軟件,幾乎沒有依賴關(guān)系。我已經(jīng)在 PDF 和 TXT 文件上對其進行了測試,在這兩種情況下都在可容忍的時間內(nèi)獲得了非常可靠的結(jié)果。分析 6.000 個 PDF 文件不到兩分鐘,分析了 30.000 個 TXT 文件不到 10 分鐘。

假設(shè)你已經(jīng)在你的機器上安裝了 Java,Neardup 的使用很簡單:

  • 將包含您的文本的文件夾放在 Neardup 目錄 /neardup/docs/ 中
  • 在您的終端中將程序指向包含文檔的文件夾:

處理后將生成三個包含感興趣信息的文件:

  • report.log:它包含具有相似性索引的 url 對
  • 報告鏈.xml。什么是鏈條?該鏈?zhǔn)俏臋n的有序集合,具有根文檔,按文檔差異排序。鏈中的最后一個文檔可能與第一個文檔完全不同,但是該軟件允許您查看一組中的更改鏈。每個鏈都從根(原始)文檔開始,然后是完全重復(fù)的和近似重復(fù)的文檔,以樹的形式呈現(xiàn)。
  • report-cluster.xml 每個集群都以數(shù)據(jù)透視文檔開始,然后是按相似度得分排序的完全重復(fù)或接近重復(fù)的文檔列表。?
  • 你可以做一些進一步的設(shè)置——它們列在原始站點和我的 Github 鏡像中。

    注意:如果您想測試使用 Screaming Frog 抓取的相同文件,并且不想再次下載它們,我建議您直接從 Excel 創(chuàng)建 TXT 文件。只需為此使用我的 Gist 中的簡單 VB 腳本,它將從 Excel 文件的每一行生成一個 TXT 文件,文件名來自第一列。

    結(jié)論

    Neardup 的速度和研究質(zhì)量(我試圖通過該工具找到任何錯誤信號,但最終無法找到)使其成為我選擇的內(nèi)容分析工具。使用它,別忘了給開發(fā)者點贊!

    Tl; dr:搜索引擎優(yōu)化的近重復(fù)檢測

    用于 SEO 的近乎重復(fù)檢測是一項至關(guān)重要的任務(wù),但沒有現(xiàn)成的工具可以完成這項任務(wù)。我分享了一個工具,用于對任何內(nèi)容文件進行近乎重復(fù)的檢測,該工具是免費的,可提供可靠準(zhǔn)確的結(jié)果并且運行速度極快。

    總結(jié)

    以上是生活随笔為你收集整理的短文重复性检测综述,谷歌文本重复性检测: Detect duplicate content like Google的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。