2012-05-02 19 views
13

Estoy construyendo un sistema que necesita proporcionar comentarios sobre cosas en inglés natural. Una cosa que es útil es poder expresar las fechas en un formato informal. Lo que estoy buscando es esencialmente el inverso de Chronic, Natty, o la tarea descrita en esta pregunta: Natural Language date and time parser for java.Generador de lenguaje natural para fechas (Java)

¿Esto está demasiado lejos como para haberlo hecho? ¿Debo intentar rodar mi propia pieza cableada simple para los rangos de fechas que tienen sentido para mí? ¿O hay alguna manera ingeniosa de revertir los analizadores existentes para escindir (incluso distorsionar) las oraciones que describen las fechas?

EDITAR - Para aclarar, aunque cualquier tipo de salida es interesante y útil, estoy particularmente interesado en la generación de salida variada/creativa. es decir, "la próxima semana", "dentro de siete días", "el próximo jueves" y "la semana que viene tarde", todo para la misma fecha.

+4

Definitivamente existen, es decir [javascript] (https://github.com/timrwood/moment). Sin embargo, no puedo recordar ninguno para Java. – Andrew

+1

No entiendo muy bien lo que está preguntando, pero parece que quiere generar "Miércoles, dos de mayo de dos mil y doce" (~) a partir de "05/02/2012" (~), ¿es correcto? ? Si es así, no es demasiado difícil codificar una función que le dará los resultados deseados. Vea la clase DateFormat de java: http://docs.oracle.com/javase/6/docs/api/java/text/DateFormat.html – XenoRo

+0

@TheLima Creo que es más lo que quiere, '05/03/2012' ->' tomorrow' o '05/07/2012' ->' el próximo lunes' – Andrew

Respuesta

4

No hay mucho por ahí. Personalmente, me encantaría ver una variante de SimpleDateFormatter llamada RelativeDateFormatter que le permita a uno crear sus propias variaciones de formatos de fecha relativos. Aquí es lo que encontré:

  • Una simple clase Relative Date.
  • A relative date formatter (por lo que alguien hizo hacer uno ya!).
  • Pretty time se ve también como se ajusta a la ley - y está en una cesión temporal experto en alguna parte, si eso es algo que se encuentra deseable ...

Sólo un lado, me di cuenta de este post sobre why relative date formats suck. Proporcionar solo fechas relativas puede ser un error: si la información va a guardarse en una fecha posterior, la fecha relativa podría ser inútil. En un sitio web que hice proporcioné un mouseover con la fecha absoluta, y las reglas de CSS para imprimir la fecha absoluta. Supongo que hay que tener en cuenta: considere cómo y cuándo se verán las fechas. Si son algo que no sea "AHORA", entonces quizás desee considerar incluir la fecha absoluta también.

+0

Me gusta Pretty Time, eso se ve bien. Voy a ver tanto la sugerencia de Andrew y de 'momento' en la primera oportunidad. ¡Te llamaré luego! – mtrc

Cuestiones relacionadas