8

Я працюю над курсовою роботою в якій маю створити чатбота.

Мене цікавить чи є якийсь універсальний (або майже універсальний) спосіб визначити центр питального реченння, а також чи можна розробити щось схоже на шаблон питального речення?

За порадою @bytebuster доповнення до питання:

Для побудови чатбота я вирішив використати Ланцюги Маркова.

До цього часу мені вдалося розробити генератор випадкових фраз для якого потрібен початковий текст (я використовував Кайдашеву сім'ю, Чорну раду, П'ятнадцятирічний капітан та деякі інші твори).

Пояснення роботи:

Нехай у нас є початкові речення: Чорний кіт любить червоні квіти та Білий кіт любить сині квіти. Тоді ми можемо розбити кожне з цих речень на елементи певного розміру, для прикладу візьмемо розмір 2 слова, та співставити цьому елементу наступне слово що йде по порядку.

"Чорний кіт" -> "любить" : 1,  
"кіт любить" -> "червоні" : 1,
"любить червоні" -> "квіти" : 1,

Числами в слові що спіставляється є кількість варіантів які бувають після цього елемента.

В результаті з двома реченнями ця модель буде мати вигляд:

"Чорний кіт" -> ["любить" : 1],
"Білий кіт" -> ["любить" : 1],
"кіт любить" -> ["червоні" : 1, "сині": 1"], 
"любить червоні" -> ["квіти" : 1],
"любить сині" -> ["квіти" : 1],
"червоні квіти" -> [<кінець>: 1],
"сині квіти" -> [<кінець>: 1]

Таким чином можна отримати нові речення: Білий кіт любить червоні квіти

Початок: Білий кіт -> вибираємо випадково з варіантів "Білий кіт" ["любить" : 1],

Білий кіт любить ->  вибираємо випадково з варіантів "кіт любить" ["червоні" : 1, "сині": 1"]

Білий кіт любить червоні -> вибираємо випадково з варіантів "любить червоні" і т.д

Результати примітивні так як в роботі не враховуються мовні аспекти (крім вибору початку).

Результат роботи:

Лаврінові дуже хотілось одкраяти свою частку від прибутків лаконі- докинув работорговець.

Саме тепер усі як ти мене водиш наче дитину.

Буде й того що ти гуляєш у великому масштабі по всій скатерті.

Одчини бо вікна поб'ю!

Покажи мені хату твого батька.

Більше про технічні деталі тут та дещо попередня версія моєї програми тут (я багато чого змінив з часу коли питання на Code Review було задане).

Нажаль надто багато інформації про побудову чатботів на цьому принципі немає, але якщо б могти розбити кожну репліку співрозмовника (для початку саме питальні речення) на якісь елементарні об'єкти то можна б було співставляти з відповідями і можливо отримувати гарні результати.

02/02/18 Нові данні

Робота зрушила з місця після того як я знайшов проект MegaHAL. Найімовірніше суть питання вже не актуальна. Та якщо ком'юніті зацікавлене в роботі то я можу продовжувати доповнювати питання.

  • Дайте визначення "центру питального речення". Якщо в українській мові є якісь норми, що до розташування "центру" спільнота допоможе. Зараз це питання з програмування, а не з галузді української мови. – finesoul Feb 22 at 11:14
  • Як на мене питання занадто загальне. Спільнота не зможе дати однозначної відповіді. Голосую за закриття цього питання. – finesoul Feb 22 at 11:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.