Таблица поиска не работает в данных обучения Rasa NLU - PullRequest
0 голосов
/ 14 мая 2019

У меня есть примеры для конкретного намерения, также показывающие сущность, и я хочу, чтобы модель распознавала другие слова, которые могут быть сущностями для этого конкретного намерения, но она не распознает его.

## intent: frequency
* what is the frequency of [region](field)?
* what's the frequency of[region](field)?
* frequency of [region](field)?
* [region](field)s frequency?
* [region](field) frequency?
* frequency [region](field)?

## lookup: field
* price
* phone type
* region

Итак, когда я ввожу текст "Какова частота региона?" Я получаю вывод

{'intent': {'name': 'frequency', 'confidence': 0.9517087936401367},
'entities': [{'start': 17, 'end': 23, 'value': 'region', 
'entity': 'field', 'confidence': 0.9427971487440825, 
'extractor': 'CRFEntityExtractor'}], 'text': 'What is the frequency of region?'}

но когда я ввожу текст "Какова частота цены?" Я получаю вывод

{'intent': {'name': 'frequency', 'confidence': 0.9276150465011597},
'entities': [], 'text': 'What is the frequency of price?'}

1 Ответ

1 голос
/ 14 мая 2019

Согласно документации RasaNLU, для того, чтобы поиск работал, вам нужно включить несколько примеров из таблицы поиска.

Кроме того, вы должны понимать, что «тип телефона» и «регион» различнышаблонов, потому что «тип телефона» состоит из двух слов, а «регион» - одно слово.Имея это в виду, я расширил ваш набор данных как

## intent: frequency
* what is the frequency of [region](field)?
* what is the frequency of [city](field)?
* what is the frequency of [work](field)?
* what's the frequency of [phone type](field)?
* what is the frequency of [phone type](field)?
* frequency of [region](field)?
* frequency of [phone type](field)?
* [region](field)s frequency?
* [region](field) frequency?
* frequency [region](field)?

Теперь, когда я попробовал все упомянутые вами примеры, они работали, хотя «цена» не была включена в набор данных, но все шаблоны были покрыты.

Enter a message: What is the frequency of price?
{
  "intent": {
    "name": "frequency",
    "confidence": 0.966820478439331
  },
  "entities": [
    {
      "start": 25,
      "end": 30,
      "value": "price",
      "entity": "field",
      "confidence": 0.7227365687405007,
      "extractor": "CRFEntityExtractor"
    }
  ]
}

Я рекомендую использовать https://github.com/rodrigopivi/Chatito для генерации простого набора данных, это облегчит вам задачу, автоматически создаст синонимы и т. Д.

Кроме того, на случай, если вы этого не сделаетезнаю, что вы также можете использовать файлы для указания на большие запросы, такие как

## lookup:city
  data/lookups/city_lookup.txt

...