Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.18;
Скачать: CL | DM;

Вниз

Элементы ИИ. Распознавание слов.   Найти похожие ветки 

 
Jean ©   (2003-07-23 20:45) [0]

Это не пустая философия. Действительно есть потребность реализовать сей механизм. То есть попытаться/научить компьютер понимать хотя бы ограниченный набор слов.
Суть задачи (минимум) вот в чем. Есть БД "Учет посетителей" в фитнесс-клубе. В клубе есть несколько залов: Аэробика, тренажерный и солярий. В БД предусмотрена возможность добавлять новые/изменять существующие/удалять ненужные. Изначально были заведены залы под именно такими названиями. В программе периодически приходится определять какой это зал, то бишь происходит сравнение с именем зала, причем выглядит это примерно так: ЕСЛИ ЗАЛ = "Аэробика" ТО... Как видно, если пользователь сменит название на "Аэробный зал" либо что-то другое, программа работать перестанет.
Таким образом, необходимо каким-либо образом "объяснить" компьютеру, что "Аэробика" и "Аэробный зал" + масса других понятий суть одно и тоже.
Мне представляется это так: завести несколько разделов(классов) слов, т.е. раздел Аэробика, раздел Солярий, раздел Тренажеры. И в эти разделы заводить всю ту массу понятий, которые имеют место быть и могут появиться в дальнейшем. Причем если понятие ранее не встречалось, то его необходимо отнести к какому-либо классу.
В связи с этим, возникает еще один вопрос. Каким-либо образом необходимо работать с такими классами, т.е. добавлять их или удалять. Например, появляется у них Мед.пункт.

У кого какие мысли по этом поводу? Конкретная реализация Дельфи/СИ/АДО/ИБ меня сейчас не интересует. Интересны будут мнения по реализации "в общем".


 
Johnmen ©   (2003-07-23 21:11) [1]

Мысль, для начала, проста, как первый трактор :
"Нарушения(ошибки) при проектировании БД."
Поясняю. Не должно быть в приложении ничего такого, что может привести к потребности "ЕСЛИ ЗАЛ = "Аэробика" ТО...". В простейшем варианте, должно быть еше поле, характеризующее тип/атрибут сущности "ЗАЛ".


 
Jean ©   (2003-07-23 21:16) [2]

Нарушения есть, полностью согласен. Или можно сказать так: программа написана под конкретного пользователя. Этих пользователей может быть сколь душе угодно и мне не хотелось бы изменять ее под каждого, пусть даже и чуть-чуть.
Например, есть зал "Солярий". А завтра его обзовут "Зал для загара". Как определять, что это одно и тоже?


 
Johnmen ©   (2003-07-23 21:23) [3]

Стандартно - по первичному ключу в таблице "Залы".


 
SniZ ©   (2003-07-23 21:26) [4]

искус интел?


 
Jean ©   (2003-07-23 21:32) [5]

> Johnmen © Я ж диктую, что запись могут удалить, тогда у нее код смениться. Т.е. было так 12 = Солярий. А его взяли и грохнули. Надеятся на прямые руки юзверей не приходится. А потом, когда его тут же добавляют номер-то уже будет другой.


 
Johnmen ©   (2003-07-23 21:42) [6]

>Jean © (23.07.03 21:32)

Ну я же говорю о грамотном ПРОЕКТИРОВАНИИ БАЗЫ ДАННЫХ !
И не касаюсь (пока? :)) построения приложения.

>А потом, когда его тут же добавляют номер-то уже будет другой.

И что с того ? Какое это имеет значение ? Что будет не так ?


 
Мышь   (2003-07-23 21:54) [7]

Надеяться на прямые руки кого угодно не надо. Чтобы не удалили ЗАЛ, в котором кто-то занимается нужно сделать на сервере отношение (RelationShip) Master-Detail. То есть, ЗАЛы в одной табличке, у каждого ЗАЛа есть свой уникальный Id; ЧЕЛОВЕКи в другой табличке, у каждого ЧЕЛОВЕКа есть поле ЗАЛ_Id, которое ссылается на Id в табличке ЗАЛов. При попытке удалить ЗАЛ, на который ссылается ЧЕЛОВЕК своим ЗАЛ_Id, сервер будет выкидывать сообщение о нарушении целостности базы. А запись удалена не будет. А вот названия ЗАЛов и имена ЧЕЛОВЕКов можно менять как угодно.


 
Мышь   (2003-07-23 21:58) [8]

А в программе вообще не надо делать никаких проверок, в которых могут использоваться СЛОВА. Если нужна сводка, ее можно делать с помощью, например, GROUP BY... Если нужна информация по конкретному ЗАЛу, пусть пользователь выберет его из списка, в результате чего программа получит Id на основе выбранного пользователем СЛОВА. Вроде логично?



Страницы: 1 вся ветка

Текущий архив: 2003.08.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
14-58496
dez
2003-08-04 20:15
2003.08.18
Как не дать мыше уйти с компонента


14-58467
Алексей
2003-07-23 08:29
2003.08.18
Упаковка dbf таблицы


14-58474
Piero
2003-07-22 21:48
2003.08.18
IB--> Firebird v Yaffil


14-58448
Buffoon
2003-08-01 22:50
2003.08.18
как запустить IE с апределенным URL ом


14-58465
Новик
2003-07-21 16:06
2003.08.18
ado и dll