Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание универсального опросника, Структура данных 
:(
    Опции темы
Kizja
Дата 25.3.2010, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



Привет, хочу написать универсальный опросник, который бы на основе вопросов и полученных ответов делал бы какие либо выводы...

Например: спортивный клуб предоставляет своим клиентам опросник, на основании которого надо выявить предпочтения человека к тому или иному виду спорта и предложить эти наиболее подходящие виды спорта, выдав информацию о них, а все остальные отбросить...

Вопросы и виды спорта должны быть легко заменяемые, т.е. никакого хардкоженного кода в данном месте быть не должно. Думаю, что эти данные: виды спорта и вопросы с возможными ответами + правила по которым тот или иной вид спорта будет выбран, загружать через xml.

Про спорт в данном случае просто пример, надо чтобы любые тематики поддерживались бы на основе загружаемых файлов: выбор техники (телефона, компа, итд), постановка диагноза на основании симптомов, итд. Т.е. вопросы и тематики разные, формат данных одинаковый...

В связи с этим пытаюсь изобрести универсальную модель данных, которая удовлетворяла бы этим условиям - с вопросами и ответами вроде как несложно, а вот как правила эти лучше задавать чего-то не могу сообразить. Пока что наброски такие:

Правила:

Код

<?xml version="1.0"?>
<rules>
    <rule>
        ???
    </rule>
</rules>


Вопросы-ответы, первый вариант:

Код

<?xml version="1.0"?>
<questions>
    <question>
        <text>Какая цель посещения спортивного клуба?</text>
        <answers>
            <answer>улучшение здоровья</answer>
            <answer>увеличение мышечной массы</answer>
            <answer>похудение</answer>
        </answers>
        <rules>
            <rule>???</rule>
        </rules>
    </question>
</questions>


или второй:

Код

<?xml version="1.0"?>
<questions>
    <question>
        <text>Какая цель посещения спортивного клуба?</text>
        <answers>
            <answer>
                <text>улучшение здоровья</text>
                <rules>
                    <rule>
                        ???
                    </rule>
                </rules>
            </answer>
            <answer>
                <text>увеличение мышечной массы</text>
                <rules>
                    <rule>
                        ???
                    </rule>
                </rules>
            </answer>
            <answer>
                <text>похудение</text>
                <rules>
                    <rule>
                        ???
                    </rule>
                </rules>
            </answer>
        </answers>
    </question>
</questions>


У кого есть какие идеи на этот счёт ? Как вообще лучше эти правила сделать ? - какие-то очки за каждый определённый ответ даются, а за какие-то ответы снимаются, если ответ негативный или как ? В таком случае может получиться, что ответы были разные, а сумма одинаковая и выводов верных не сделать...

Вобщем как лучше такое сделать, какую структуру данных выбрать, как эти правила вообще лучше оформить ?

Это сообщение отредактировал(а) Kizja - 25.3.2010, 09:43
PM MAIL   Вверх
MaxPayneC
Дата 25.3.2010, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Универсальную модель данных изобрести нельзя. Поставьте задачу более точно, тогда возможно вам помогут.
PM   Вверх
Kizja
Дата 25.3.2010, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



MaxPayneC, ну вроде как я достаточно ясно описал. Например, если на вопрос про цель посещения спортивного клуба, ты отвечаешь, что целью является "увеличение мышечной массы", то просто напрашивается отправить человека в тренажёрный зал, а не скажем играть в шахматы или в бадминтон... Вот эти выводы и надо как-то описать правилами, чтобы такие выводы программа была бы в состоянии сделать... Или на ваш взгляд это невозможно ?

Или что конкретно кажется недостаточно описанным ?
PM MAIL   Вверх
MaxPayneC
Дата 25.3.2010, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Это недостаточное описание.
Попробую написать свою постановку вашей задачи.
Вводим сущности "вопрос", "вариант ответа на вопрос", "совет".
Для каждого ответа на вопрос известно, на какой вопрос это ответ, и насколько он увеличивает шанс получить каждый из советов.
У совета также определено, для какого вопроса этот совет может быть дан.
Например:

Вопрос А:
1. О1: (С1 + 0.5, С2 + 0.3, С3 + 0.6)
2. О2: (С1 + 0.3, С2 + 0.4, С3 + 0.4)
3. О3: (С1 + 0.2, С2 + 0.6, С3 + 0.3)

Для всех ответов, которые пометил опрашиваемый, мы прибавляем соответствующие константы к "шансу получить совет", и выводим их в порядке убывания, возможно поставив некую нижнюю границу по коэффициенту.
PM   Вверх
Kizja
Дата 25.3.2010, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 15.7.2007

Репутация: нет
Всего: нет



Да, это вроде как вариант, а как думаешь в таком случае может xml выглядеть следующим образом:

Вопросы:

Код

<?xml version="1.0"?>
<questions>
    <question id="1">
        <text>Какая цель посещения спортивного клуба?</text>
        <answers>
            <answer id="1">улучшение здоровья</answer>
            <answer id="2">увеличение мышечной массы</answer>
            <answer id="3">похудение</answer>
        </answers>
    </question>
</questions>


Правила:
Код

<?xml version="1.0"?>
<rules>
    <rule id="1">
        <name>Тренажёрный зал</name>
        <questions>
            <question questionId="1">
                <factors>
                    <factor answerId="1">0.4</factor>
                    <factor answerId="2">0.7</factor>
                    <factor answerId="3">0.5</factor>
                </factors>        
            </question>
        </questions>
    </rule>
</rules>

PM MAIL   Вверх
MaxPayneC
Дата 25.3.2010, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Может, но я бы привязал коэффициенты к ответам в том же хмл.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.5995 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.