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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

1. 近重復檢測:內容與圖像消歧

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

2. 查找重復項和近似重復項,例如 Google!

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

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

NDD算法

一般而言,近重復檢測的工作原理

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

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

對我們來說,了解Minhash和SimHash是什么、它們做什么、Google 如何使用它們、它們在哪里相似、它們如何相互區分以及它們在哪里失敗是很重要的。

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

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

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

這種行為會導致誤報和誤報,這是我在 SimHash 算法測試中所經歷的。除此之外,我的設置中的 Python 實現需要太多的計算時間才能在生產環境中使用。但是,讓我們進入正題。

SimHash + Python + Screaming Frog

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

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

首先,我們應該收集我們想要分析的數據。關于應該比較的內容有不同的含義:

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

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

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

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

就像屏幕截圖一樣:

?

現在您已準備好收集數據。將您的 Screaming Frog 指向您要分析和運行它的網站。運行完成后,將您的自定義提取導出為 CSV 文件。

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

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

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

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

?

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

但這不是問題 - 只需刪除包含內容的列,無需打開文件。再次使用 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 )

```

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

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

結論

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

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

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

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

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

SoftCorporation LLC 的 Neardup

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

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

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

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

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

假設你已經在你的機器上安裝了 Java,Neardup 的使用很簡單:

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

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

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

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

    結論

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

    Tl; dr:搜索引擎優化的近重復檢測

    用于 SEO 的近乎重復檢測是一項至關重要的任務,但沒有現成的工具可以完成這項任務。我分享了一個工具,用于對任何內容文件進行近乎重復的檢測,該工具是免費的,可提供可靠準確的結果并且運行速度極快。

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。