Sto cercando di implementare la previsione analizzando le frasi. Si consideri il seguente [piuttosto noioso] frasiStruttura dati per la memorizzazione delle associazioni di parole
Call ABC
Call ABC again
Call DEF
Mi piacerebbe avere una struttura dati per le frasi di cui sopra come segue:
Call: (ABC, 2), (again, 1), (DEF, 1)
ABC: (Call, 2), (again, 1)
again: (Call, 1), (ABC, 1)
DEF: (Call, 1)
In generale, Word: (Word_it_appears_with, Frequency), ....
Si prega di notare l'intrinseca ridondanza in questo tipo di dati. Ovviamente, se la frequenza di ABC
è 2 su Call
, la frequenza di Call
è 2 su ABC
. Come ottimizzo questo?
L'idea è di utilizzare questi dati quando si digita una nuova frase. Ad esempio, se è stato digitato Call
, dai dati, è facile dire che ABC
è più probabile che sia presente nella frase e offrirlo come primo suggerimento, seguito da nuovo e DEF
.
Mi rendo conto che questo è uno dei milioni di possibili modi di implementare la previsione, e attendo con impazienza suggerimenti su altri modi per farlo.
Grazie
Sono abbastanza sicuro che non ci sia una risposta ben stabilita perché il tuo obiettivo non è abbastanza tangibile. Fondamentalmente, si tratta di un problema di intelligenza artificiale, e le soluzioni di intelligenza artificiale di solito hanno i loro capricci che le persone possono convivere con; tuttavia, senza conoscere il tuo contesto esatto, è difficile dire quali stranezze sarebbero accettabili. Per questo motivo, sto votando per chiudere la tua domanda. (È molto interessante, a mio parere non è adatto per Stack Overflow.) – zneak
Detto questo, puoi usare una rappresentazione ad albero per le tue parole e avere ogni ramo dell'albero una probabilità. Questo potrebbe funzionare bene se l'input è ripetitivo e la sintassi relativamente fissa, ma avrai problemi ad abbinare il linguaggio naturale in questo modo. – zneak
Potrei usare un albero, sì, ma vorrei eliminare la ridondanza nei dati: la frequenza di word1 che si verifica con word2 sarà ovviamente la stessa di word2 che si verifica con word1. Inoltre, l'input è continuo, quindi le probabilità sono fuori questione. – WeNeigh