Ho milioni di documenti (quasi 100 milioni), ogni documento ha campi come competenze, hobby, certificazione e istruzione. Voglio trovare la somiglianza tra ogni documento insieme a un punteggio.
Di seguito è riportato un esempio di dati.
skills hobbies certification education
Java fishing PMP MS
Python reading novel SCM BS
C# video game PMP B.Tech.
C++ fishing PMP MS
quindi quello che voglio è la somiglianza tra la prima riga e tutte le altre righe, la somiglianza tra la seconda riga e tutte le altre righe e così via. Quindi, ogni documento dovrebbe essere confrontato con ogni altro documento. per ottenere i punteggi di somiglianza.
Scopo è che interrogo il mio database per convincere le persone in base alle competenze. In aggiunta a ciò, ora voglio persone che, pur non avendo le competenze, sono in qualche modo in sintonia con le persone con le competenze specifiche. Ad esempio, se volevo ottenere dati per le persone che hanno abilità JAVA, apparirà la prima riga e ancora una volta, l'ultima riga apparirà uguale alla prima riga in base al punteggio di somiglianza.
Sfida: la mia sfida principale è calcolare un punteggio di somiglianza per ogni documento rispetto ad ogni altro documento, come si può vedere dallo pseudo codice sottostante. Come posso farlo più velocemente? C'è qualche modo diverso per farlo con questo pseudo codice o c'è qualche altro approccio computazionale (hardware / algoritmo) per farlo più velocemente?
document = all_document_in_db
For i in document:
for j in document:
if i != j :
compute_similarity(i,j)
PS: io uso python