Esistono librerie per il calcolo dei punteggi di similarità semantica per una coppia di frasi?Python: punteggio di similarità semantico per le stringhe
Sono a conoscenza del database semantico di WordNet e di come posso generare il punteggio per 2 parole, ma sto cercando librerie che eseguano tutte le attività di pre-elaborazione come port-stemming, stop word, ecc, su intere frasi e produce un punteggio per quanto riguarda le due frasi.
Ho trovato uno work in corso che è stato scritto utilizzando il framework .NET che calcola il punteggio utilizzando una serie di passaggi di pre-elaborazione. C'è qualche progetto che faccia questo in python?
Io non sto cercando per la sequenza di operazioni che avrebbero aiutato a trovare il punteggio (come chiesto here)
mi piacerebbe implementare ogni fase da sola, o funzioni colla da diverse librerie in modo che funziona per coppie di frasi, ma ho bisogno di questo principalmente come strumento per testare le inferenze sui dati.
EDIT: stavo considerando usando NLTK e calcolando il punteggio per ogni coppia di parole ripetuti su due frasi, e quindi trarre conclusioni dalla deviazione standard dei risultati, ma non so se questa è una stima legittima della somiglianza. Inoltre, ci vorrà molto tempo per stringhe lunghe.
Ancora una volta, sto cercando progetti/librerie che lo implementino già in modo intelligente. Qualcosa che mi permette di fare questo:
import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'
>>similarity(str1,str2)
>>0.889
Considerare modelli semantici vettoriali o modelli di scomposizione matriciale per confrontare la similarità della frase. In caso contrario, è possibile ricorrere a un coseno simile a lesk, che vettorizza per prima una frase per calcolare il coseno tra i 2 vettori – alvas
se si desidera appesantire qualcosa come soglia o avere un disperato bisogno del punteggio, considerare la similarità wup di NLTK. Dovresti usare qualcosa come il pattern CLIPS per ottenere il tipo (verbo, nome, agg., Ecc.).puoi usarlo per trovare effettivamente il numero perfetto di categorie per LSA/LDA come trovato in gensim o un'implementazione fuzzy/cosine di Kmean. –