![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#3
|
|||
|
|||
|
Делаем базу знаний на чем-то, типа продукционных правил. В части ЕСЛИ указываем ключевые слова, в части ТО - варианты ответов из которых происходит случайный выбор (1 ответ - частный случай - для вопросов, на которые ответ предопределен). Одно из правил делается специальным - оно используется тогда, когда никакое другое правило неприменимо. PROFIT.
Пример класса для правил: Код:
type
TRule = class
KeyWords : TStringList;
Answers : TStringList;
constructor Create;
constructor Load(Stream : TStream);
destructor Destory; override;
procedure LoadFromStream(Stream : TStream);
procedure SaveToStream(Stream : TStream);
function GetMatchLevel(Questtion : String) : Double; overload;
function GetMatchLevel(Words : TStringList) : Double; overload;
end;PS. Далее, видимо, в раздел "Работы" с соответ. обозначением цены и сроков. Ну или пиши код и начинай задавать конкретные вопросы здесь. PPS. Голосом тоже, в принципе, можно. Только интернет нужен будет - у гугла распознавалку спрашивать. Последний раз редактировалось lmikle, 05.07.2017 в 06:31. |