Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
ВнизЭлементы ИИ. Распознавание слов. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c