Sto tentando di raggruppare, ad esempio, stringhe sulla programmazione con altre stringhe sulla programmazione, stringhe sulla fisica con altre stringhe sulla fisica, ecc., Per una vasta gamma di argomenti. Nonostante l'evidente aspetto linguistico teorico del problema, sto cercando di farlo utilizzando la programmazione / il software.
Il fatiscente: dato un gran numero di stringhe, come potrei fare per raggrupparle per tema semantico?
La particolare applicazione: ho circa 200.000 domande trivia che vorrei classificare in raggruppamenti comuni (automobili, computer, politica, Canada, cibo, Barack Obama, ecc.).
Cosa ho esaminato: Wikipedia ha un elenco di toolkit di elaborazione del linguaggio naturale (supponendo che ciò che sto cercando di fare sia in realtà chiamato PNL), quindi ne ho esaminati alcuni, ma nessuno sembra fare qualcosa di simile ai miei bisogni.
Note: è stato sottolineato che per fare ciò è necessaria una conoscenza aggiuntiva (ad es. Una Porsche è un'auto, il C ++ è un linguaggio di programmazione). Presumo quindi che siano necessari i dati di addestramento, ma se ho solo l'elenco di domande e risposte, come posso generare i dati di addestramento? E poi come posso utilizzare i dati di allenamento?
Altre note: se l'attuale formattazione del mio Q & As aiuta (anche se sembra JSON, è fondamentalmente un file di testo non elaborato):
// row 1: is metadata
// row 2: is a very specific kind of "category"
// row 3: is the question
// row 4: is the answer
{
15343
A MUSICAL PASTICHE
Of classical music's "three B's", he was the one born in Hamburg in 1833
Johannes Brahms
}
Ma prima che qualcuno sottolinei che esiste già una categoria, nota che ci sono ~ 200k domande e risposte come questa, e sostanzialmente tante "categorie". Sto cercando di raggrupparli in gruppi più ampi come quelli sopra elencati. Inoltre, questa formattazione può essere modificata molto facilmente per tutte le domande, lo faccio a livello di programmazione.
E altre note: in realtà non so quante categorie avrò bisogno (almeno 10-20), perché non ho letto tutte le domande da solo. Mi aspettavo in parte di determinare in qualche modo il numero finito durante la categorizzazione. In ogni caso, posso sempre creare manualmente un numero di categorie.