Próbuję wymyślić coś podobnego do Kalendarza Google (lub nawet niektórych wiadomości w Gmailu), w którym tekst w formacie swobodnym zostanie przeanalizowany i skonwertowany do określonych dat/godzin.Jak mogę wyodrębnić datę i godzinę z tekstu swobodnego?
Niektóre przykłady (dla uproszczenia zakładamy, że w tej chwili jest 1 stycznia 2013 o 1 w nocy):
"I should call Mom tomorrow to wish her a happy birthday" -> "tomorrow" = "2013-01-02"
"The super bowl is on Feb 3rd at 6:30pm" -> "Feb 3rd at 6:30" => "2013-02-03T06:30:00Z"
"Remind me to take out the trash on Friday" => "Friday" => "2013-01-04"
Przede wszystkim Poproszę to - czy są jakieś już istniejących bibliotek open source, które to (lub część tego). Jeśli nie, jakie podej cie nale y przyjąć?
myślę o kilku różnych możliwości:
- Wiele wyrażeń regularnych, jak wiele, jak można wymyślić dla każdego innego przypadku użycia
- Jakiś Bayesa Net, że patrzy na n- Gram i kategoryzuje je w różnych scenariuszach, takich jak "względna data", "względny dzień tygodnia", "konkretna data", "data i czas", a następnie uruchamia je za pomocą mechanizmu reguł (może więcej wyrażeń regularnych), aby ustalić rzeczywistą datę .
- wysłaniem go do wyszukiwarki Google i spróbuj wyciągnąć sensowne informacje z wyników wyszukiwania (ten prawdopodobnie nie jest realistyczny)
Wow, to ma wszystko, co chciałem! Dzięki! – Paul