Domanda

sto sperimentando un po 'con confronto testuale / rilevamento base di plagio, e volete provare questo su base web-to-web. Tuttavia, io sono un po 'bloccato nel trovare un modo corretto di elaborare il testo.

Come si elaborare e confrontare il contenuto di due siti web per plagio?

Sto pensando qualcosa di simile a questa pseudo-codice:

// extract text
foreach website in websites
  crawl website - store structure so pages are only scanned once
  extract text blocks from all pages - store this is in list

// compare      
foreach text in website1.textlist
  compare with all text in website2.textlist

Mi rendo conto che questa soluzione potrebbe accumulare molto rapidamente un sacco di dati, quindi potrebbe essere possibile solo per farlo funzionare con molto piccoli siti web.

Non ho ancora deciso l'algoritmo vero e proprio confronto di testo, ma in questo momento io sono più interessato a ottenere l'algoritmo effettivo processo di lavoro prima.

Sto pensando che sarebbe una buona idea per estrarre tutto il testo come singoli pezzi di testo (da paragrafi, tabelle, intestazioni e così via), come testo può muoversi intorno alle pagine.

Sono l'attuazione del presente in C # (forse ASP.NET).

Sono molto interessato a qualsiasi input o consigli si potrebbe avere, quindi si prega di sparare! :)

È stato utile?

Soluzione

Il mio approccio a questo problema potrebbe essere quella di google per specifici, blocchi piuttosto uniche di testo il cui copyright si sta cercando di proteggere.

Detto questo, se si vuole costruire la vostra soluzione, ecco alcuni commenti:

  • Rispetto robots.txt. Se hanno segnato il sito come do-not-crawl, è probabile che non stanno cercando di trarre profitto dal suo sito web in ogni caso.
  • Sarà necessario aggiornare la struttura del sito è stato memorizzato di volta in volta come siti web cambiano.
  • Sarà necessario il testo correttamente separato dal tag HTML e JavaScript.
  • sarà essenzialmente bisogno di fare una ricerca a testo integrale in tutto il testo della pagina (con i tag / script rimosso) per il testo che si desidera proteggere. Ci sono buone, algoritmi pubblicati per questo.

Altri suggerimenti

Probabilmente stai andando ad essere più interessati a rilevazione frammento. per esempio, un sacco di pagine avranno la parola "casa" su di loro e non si cura. Ma è abbastanza improbabile molte pagine avranno esattamente le stesse parole su tutta la pagina. Quindi probabilmente si desidera confrontare e riferire su pagine che hanno le partite exct di lunghezza 4,5,6,7,8, ecc parole e conteggi per ogni lunghezza. Assegnare un punteggio e loro peso e se si supera il "numero magico" riportare i xeroxers sospetti.

Per C #, è possibile utilizzare il browser web () per ottenere una pagina e abbastanza facilmente ottenere il suo testo. Siamo spiacenti, nessun esempio di codice utile per copiare / incollare, ma MSDN ha di solito abbastanza buoni campioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top