Sto cercando qualche input e teoria su come affrontare un argomento lessicale.
Diciamo che ho una raccolta di stringhe, che può essere solo una frase o potenzialmente più frasi. Vorrei analizzare queste stringhe e strappare le parole più importanti, forse con un punteggio che denota la probabilità che la parola sia importante.
Diamo un'occhiata ad alcuni esempi di cosa intendo.
Esempio 1:
"Voglio davvero un Keurig, ma non posso permettermene uno!"
Questo è un esempio molto semplice, solo una frase. Come umano, posso facilmente vedere che "Keurig" è la parola più importante qui. Inoltre, "permettersi" è relativamente importante, sebbene non sia chiaramente il punto principale della frase. La parola "I" appare due volte, ma non è affatto importante poiché non ci dice davvero alcuna informazione. Potrei aspettarmi di vedere un hash di parole / punteggi qualcosa del genere:
"Keurig" => 0.9
"afford" => 0.4
"want" => 0.2
"really" => 0.1
etc...
Esempio n. 2:
"Ho appena avuto una delle migliori pratiche di nuoto della mia vita. Spero di riuscire a mantenere i miei tempi in competizione. Se solo mi fossi ricordato di prendere il mio orologio non impermeabile."
Questo esempio ha più frasi, quindi ci saranno parole più importanti in tutto. Senza ripetere l'esercitazione puntuale dell'esempio n. 1, probabilmente mi aspetto di vedere due o tre parole veramente importanti che escono da questo: "nuoto" (o "pratica del nuoto"), "competizione" e "guardare" (o "impermeabile" watch "o" watch non waterproof "a seconda di come viene gestito il trattino).
Dati un paio di esempi come questo, come faresti per fare qualcosa di simile? Ci sono librerie o algoritmi (open source) esistenti nella programmazione che già lo fanno?