2016-06-18 2 views
1

Ich habe einige Daten mit beschreibenden Daten (z. B. Montag vor Thanksgiving, letzter Tag im Februar, 4. Samstag im April) als Teil der Beschreibung der Start- und Endzeiten. Einige der Daten sind explizit (z. B. 31. Oktober). Ich möchte die beschreibenden und die expliziten Werte so speichern, dass ich für jedes Jahr berechnen kann, wann die genauen Daten sind. Ich habe ein wenig gesucht und bin zu kurz gekommen.Wie speichert man beschreibende Daten wie "Der letzte Tag im Februar", "Vierter Samstag im April"?

Dies fühlt sich an wie eine gemeinsame Sache, und jemand muss es gelöst haben. Ich bin auch neugierig, ob diese Art von beschreibenden Daten einen richtigen Namen haben.

Wie in den Tags verwendet meine App Python + Django.

Danke!

+1

Klingt mehr wie ein Problem bei der Verarbeitung natürlicher Sprache für mich. Es gibt das ['timex'] (https://github.com/nltk/nltk_contrib/blob/master/nltk_contrib/timex.py) Dienstprogramm nltk contrib, das andere in ähnlichen Themen erwähnen, aber ich sehe nicht, dass es funktioniert Ihre Eingabe-Strings gut. 'Delorean' Bibliothek hat die [natürliche Sprache] (http://delorean.readthedocs.io/en/latest/quickstart.html#natural-language) Unterstützung, aber umgekehrt. – alecxe

+1

Sie können auch externe Dienste wie https://wit.ai/ oder ['chrono'] (http://wanasit.github.io/pages/chrono/) verwenden, die Ihr" beschreibendes "Datum analysieren und interpretieren können . – alecxe

+1

Siehe auch http://stackoverflow.com/questions/1495487/is-there-any-python-library-for-parsing-dates-and-times-from-a-natural-language und http://stackoverflow.com/questions/1003326/ist-es-eine-natürliche-Sprache-Parser-für-Datum-mal-in-Javascript. – alecxe

Antwort

1

Wenn Sie nur eine Handvoll wiederkehrender beschreibender Daten haben, ist es am einfachsten, ein Wörterbuch zu erstellen, das sie in die expliziten Daten übersetzen kann, wann immer sie in Ihren Daten erscheinen.

Wenn Sie willkürliche beschreibende Daten oder eine große Anzahl von ihnen haben, scheint es, dass, wie in den Kommentaren diskutiert wurde, NLP der Weg zu gehen ist.

Verwandte Themen