Sto cercando di utilizzare il parser Earley in NLTK per analizzare frasi quali:Utilizzando interi/date come terminali in NLTK parser
Se la data è prima di 12/21/2010 allora di serie = 10
Per fare ciò, sto provando a scrivere un CFG ma il problema è che avrei bisogno di avere un formato generale di date e interi come terminali, invece dei valori specifici. Esistono modi per specificare il lato destro di una regola di produzione come un'espressione regolare, che consentirebbe questo tipo di elaborazione?
Qualcosa di simile:
S -> '[0-9]+'
che gestire tutti gli interi.
Il formato della data dipende dalle impostazioni internazionali. E soprattutto è ambiguo (si scontrano con un'espressione matematica 12 div 21 div 2010 che probabilmente non è quello che vuoi – VGE
Hai ragione ma sarà facile da gestire in quanto l'input non conterrà mai espressioni matematiche come quello che hai menzionato. il formato della data verrà corretto, ad esempio, MM/GG/AAAA. Ho trovato un modo per gestire gli interi, ma sto ancora cercando una soluzione adeguata per le date. – FahimH