English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Testo principale
In precedenza, ho utilizzato l'algoritmo TF-IDF per estrarre automaticamente le parole chiave.
Per trovare articoli simili, è necessario utilizzare"Similitudine coseno(cosine similiarity). Di seguito, farò un esempio per spiegare cosa sia la "similitudine coseno".
Per semplificare, iniziamo con le frasi.
Frase A: Mi piace guardare la televisione, non mi piace guardare i film.
Frase B: Non mi piace guardare la televisione, non mi piace guardare i film.
Come possiamo calcolare la somiglianza tra queste due frasi?
La logica di base è: se le parole di queste due frasi sono più simili, il loro contenuto dovrebbe essere più simile. Pertanto, possiamo iniziare con la frequenza delle parole per calcolare la loro somiglianza.
Passo uno, dividere le parole.
Frase A: me/ piace/ guardare/ televisione, non/ piace/ guardare/ film.
Frase B: me/ non/ piace/ guardare/ televisione, anche/ non/ piace/ guardare/ film.
Passo due, elencare tutte le parole.
me, piace, guardare, televisione, film, non, anche.
Passo tre, calcolare la frequenza delle parole.
Frase A: me 1, piace 2, guardare 2, televisione 1, film 1, non 1, anche 0.
Frase B: me 1, piace 2, guardare 2, televisione 1, film 1, non 2, anche 1.
Passo quattro, scrivere il vettore di frequenza delle parole.
Frase A: [1, 2, 2, 1, 1, 1, 0]
Frase B: [1, 2, 2, 1, 1, 2, 1]
Arrivati a questo punto, il problema diventa come calcolare la somiglianza tra questi due vettori.
Possiamo immaginarli come due segmenti di spazio, entrambi partono dal punto di origine ([0, 0, ...]) e si dirigono in direzioni diverse. Due segmenti formano un angolo tra loro, se l'angolo è di 0 gradi, significa che le direzioni sono le stesse e i segmenti si sovrappongono; se l'angolo è di 90 gradi, significa che formano un angolo retto, le direzioni non sono affatto simili; se l'angolo è di 180 gradi, significa che le direzioni sono esattamente opposte.Quindi, possiamo giudicare la somiglianza tra i vettori attraverso la grandezza dell'angolo. Minore è l'angolo, maggiore è la somiglianza.
Prendendo ad esempio lo spazio bidimensionale, i vettori a e b dell'immagine superiore sono due vettori, dobbiamo calcolare l'angolo θ tra di loro. Il teorema di coseno ci dice che possiamo ottenere:
Supponiamo che il vettore a sia [x1, y1], il vettore b sia [x2, y2], allora la teorema di coseno può essere riscritto nella seguente forma:
I matematici hanno dimostrato che questo metodo di calcolo del coseno è valido anche per i vettori n-dimensionali. Supponiamo che A e B siano due vettori n-dimensionali, A è [A1, A2, ..., An], B è [B1, B2, ..., Bn], allora il coseno dell'angolo θ tra A e B è uguale a:
Utilizzando questa formula, possiamo ottenere il coseno dell'angolo tra le frasi A e B;
Più il valore del coseno è vicino a 1, più l'angolo è vicino a 0 gradi, quindi i due vettori sono più simili, questo si chiama 'similarità di coseno'.Quindi, le frasi A e B sono molto simili, in effetti, l'angolo tra loro è circa 20,3 gradi.
Da questo, abbiamo ottenuto un algoritmo per 'trovare articoli simili';
(1) Utilizzare l'algoritmo TF-IDF per trovare le parole chiave degli articoli;
(2) Estrarre alcune parole chiave (ad esempio, 20) da ciascun articolo, unire in un insieme e calcolare la frequenza delle parole di questo insieme per ciascun articolo (per evitare le differenze di lunghezza degli articoli, è possibile utilizzare la frequenza relativa delle parole);
(3) Generare le vettori di frequenza delle parole di ciascun articolo;
(4) Calcolare la similarità di coseno tra due vettori, maggiore è il valore, più simili sono.
La similarità di coseno è un algoritmo molto utile, che può essere utilizzato per calcolare la somiglianza tra due vettori.
La prossima volta, voglio parlare di come generare automaticamente un riassunto di un articolo basato su una statistica delle frequenze delle parole.
Questo è tutto il contenuto dell'articolo, speriamo che sia utile per la tua apprendimento e che tu sostenga fortemente il tutorial di urla.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright è dell'autore originale, il contenuto è stato contribuito volontariamente dagli utenti di Internet e caricato autonomamente, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale connessa. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente i contenuti sospetti di violazione del copyright.