facebook / facebook/duckling

Parsed "Mon-Fri 7am-7pm CST, Sat-Sun 8am-6pm CST" incorrectly

Aberta
#174 1 comentário 0 reações 0 responsáveis Ver no GitHub
bug
Linguagem predominante
Haskell
Estrelas
4.3k
Forks
740
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Duckling is extracting "Mon-Fri 7am-7pm CST, Sat-Sun 8am-6pm CST" incorrectly. It extracts "Mon-Fri 7am-7pm CST" as one phrase and "Fri 7am-7pm CST, Sat" as another phrase and "7am-7pm CST, Sat-Sun 8am-6pm CST" as last phrase. It should be extracted into two phrases "Mon-Fri 7am-7pm CST" and "Sat-Sun 8am-6pm CST" as two intervals. However, extracting "Mon-Fri 7am-7pm CST" and "Sat-Sun 8am-6pm CST" separately works fine.

```python
text = "Mon-Fri 7am-7pm CST, Sat-Sun 8am-6pm CST"
requests.post(url="http://localhost:8000/parse", data={"text":text}).json()
```
> [{'body': 'Mon-Fri 7am-7pm CST',
'dim': 'time',
'end': 19,
'latent': False,
'start': 0,
'value': {'from': {'grain': 'minute',
'value': '2018-04-09T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-09T18:01:00.000-07:00'},
'type': 'interval',
'values': [{'from': {'grain': 'minute',
'value': '2018-04-09T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-09T18:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-10T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-10T18:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-11T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-11T18:01:00.000-07:00'},
'type': 'interval'}]}},
{'body': 'Fri 7am-7pm CST, Sat',
'dim': 'time',
'end': 24,
'latent': False,
'start': 4,
'value': {'from': {'grain': 'minute',
'value': '2018-04-13T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-14T18:01:00.000-07:00'},
'type': 'interval',
'values': [{'from': {'grain': 'minute',
'value': '2018-04-13T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-14T18:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-20T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-21T18:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-27T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-28T18:01:00.000-07:00'},
'type': 'interval'}]}},
{'body': '7am-7pm CST, Sat-Sun 8am-6pm CST',
'dim': 'time',
'end': 40,
'latent': False,
'start': 8,
'value': {'from': {'grain': 'minute',
'value': '2018-04-14T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-14T17:01:00.000-07:00'},
'type': 'interval',
'values': [{'from': {'grain': 'minute',
'value': '2018-04-14T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-14T17:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-15T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-15T17:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-21T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-21T17:01:00.000-07:00'},
'type': 'interval'}]}}]

```python
text = "Sat-Sun 8am-6pm CST"
requests.post(url="http://localhost:8000/parse", data={"text":text}).json()
```
> [{'body': 'Sat-Sun 8am-6pm CST',
'dim': 'time',
'end': 19,
'latent': False,
'start': 0,
'value': {'from': {'grain': 'minute',
'value': '2018-04-14T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-14T17:01:00.000-07:00'},
'type': 'interval',
'values': [{'from': {'grain': 'minute',
'value': '2018-04-14T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-14T17:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-15T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-15T17:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-21T08:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-21T17:01:00.000-07:00'},
'type': 'interval'}]}}]

```python
text = "Mon-Fri 7am-7pm CST"
requests.post(url="http://localhost:8000/parse", data={"text":text}).json()
```
> [{'body': 'Mon-Fri 7am-7pm CST',
'dim': 'time',
'end': 19,
'latent': False,
'start': 0,
'value': {'from': {'grain': 'minute',
'value': '2018-04-09T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-09T18:01:00.000-07:00'},
'type': 'interval',
'values': [{'from': {'grain': 'minute',
'value': '2018-04-09T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-09T18:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-10T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-10T18:01:00.000-07:00'},
'type': 'interval'},
{'from': {'grain': 'minute', 'value': '2018-04-11T07:00:00.000-07:00'},
'to': {'grain': 'minute', 'value': '2018-04-11T18:01:00.000-07:00'},
'type': 'interval'}]}}]

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.