Нужны ссылки, чтобы понять / проанализировать предложение для чат-бота без использования существующих библиотек

Я пытался много искать об этом, но все, что я мог найти, это ссылки на библиотеки NLP и AIML или API-интерфейсы чат-ботов. Я хочу начать с нуля и самостоятельно анализировать предложения, чтобы я мог написать базового чат-бота, который дает ответы, подобные человеческим. Может ли кто-нибудь указать на некоторые ссылки/исследовательские документы/учебники/видео для этого?


person The_Coder    schedule 31.08.2016    source источник


Ответы (2)


Без использования библиотек NLP вам придется писать часть их функций самостоятельно. Хотя это может быть образовательным, вы должны знать, что это также может занять очень много времени.

Некоторые академические ресурсы:

Программные/практические ресурсы:

person avip    schedule 31.08.2016

Поскольку вы используете AIML, вы можете начать работу, просто написав несколько шаблонов, которым вы хотели бы соответствовать. Представьте, что вы хотите проанализировать простейшую форму предложения в форме подлежащее глагол объект. Используя AIML v2, вы можете определить наборы для субъекта, глагола и объекта. Чтобы все было предельно просто, наборы подлежащих и объектов могут содержать простые объекты (кошка, собака, мышь, шляпа, циновка, сыр), а набор глаголов может быть таким, как есть, сидеть и т. д. Тогда ваш AIML будет таким:

<category>
  <pattern> * <set>subject</set> <set>verb</set> * <set>object</set> </pattern>
  <template>
    <random>
      <li>I like <star index="2"/>s</li>
      <li>I hate <star index="2"/>s</li>
    </random>
  </template>
</category>

Ввод типа «Кошка сидела на коврике» или «Собака съела кость» будет случайным образом генерировать вывод, такой как «Я люблю кошек», «Я ненавижу собак» и т. д. Очевидно, что вам потребуется значительно расширить логику шаблона для анализа предложение в полезной форме.

Обратите внимание, что это чрезвычайно простой пример, цель которого состоит в том, чтобы показать, как сопоставление шаблонов AIML позволяет вам быстро добиться чего-то, что затем можно улучшить.

person Ubercoder    schedule 27.02.2017