Форум Херсона. Форум Херсонской молодежи.

Форум Херсона. Форум Херсонской молодежи. (http://forum.norma4.net.ua/)
-   Программирование (http://forum.norma4.net.ua/programmirovanie/)
-   -   Задача каталогизации (http://forum.norma4.net.ua/programmirovanie/13256-zadacha-katalogizacii.html)

Absent 10.03.2009 21:13

Задача каталогизации
 

Ищю хотябы алгоритм как каталогизировать руцями или парсингом из списка параметров какие либо сущьности.

Пример: есть CSV-шка с данными.
Каждая строка с одинаковым количеством текстовых нормированных параметров.

необходимо на выходе получить дерево с минимальным количеством пустых промежуточных узлов, и максимально короткими путями от корня к конечной записи.
Возможно на выходе получить несколько переплетающихся деревьев (однозначная принадлежность узла одного дерева узлу другого.)
Сабпример:
дерево цветов:
- красный,
-жёлтый
- зеленый
- синий
- марковный.

Дерево сущностей:
- еда
+ мясо
+ фрукты
+ овощи
+ специи
- предметы
+ Пила
+ игрушечная машинка
+ пылесос
+ холодильник
+ кухонный комбайн

вход: Яблоко синее, пылесос морковный, ...
Блин, даж примера не составить........

В гугль посылать только с конкретными ключевиками.
В библиотекарское училище и палату метрологии и каталогизации - ненадо.

Задача скорее из области структуризации неструктурированного контента.....

Мож кто сталкивался?
Подскажите плиз.

Davlat 11.03.2009 08:03

Цитата:

Сообщение от Absent (Сообщение 389433)
Яблоко синее, пылесос морковный, ...
Мож кто сталкивался?
Подскажите плиз.

Если точно отсекается по CSV-шке каждый элемент и каждый параметр, то:

делаем массив, в который
while(!EOF)
{
считываем построчно CSV,
ищем в строке вхождения
switch(strcomp(A[i])
case "морковный": считаем в другой массив

}
как-то так. поправьте меня с ноги.

Absent 11.03.2009 12:14

Та оно понятно как файл загружать, переименовывать, парсить, санитайзить, ифнотэрор-обрабатывать....

Вопрос в деревьях.
Надо из признаков сделать ноды дерева.

А по этому алгоритму получится
+ красненькие
+ стерео
+ в Киеве
+ синезелёныйкрасныйшАр

мулька в многоуровневости и вычленении общего и необязательного параметра (к примеру цвет)

zwitter 11.03.2009 12:17

разбиение продуктов на категории ?

гугли по словам "таксономия", "онтология" и "управляемый словарь" (controlled vocabulary)

крик души ON: *ля почему мне не попадаются такие интересные задачи а сплошь какой-то шлак типа реализации скидок?

Absent 11.03.2009 13:28

вдУдел.

короче решается эта задача итэративно.
1) собираем инфу о классифицируемых объектах, описываем их важные отличительные параметры.
2) собираем списки иерархических и ортогональных параметров
3) из иерархических строим дерево (ключевой момент. Длинные ветви - плохо), из ортогональных - N-ьурную матрицу.
4) загоняем данные.

5) проверяем спуски, ищя избыточность и неточность, правя руцями.
6) Вероятно доуточняем дерево, или строим новое, дополненное или наоборот, с выброшенными параметрами.

7) постиоянно доуточняем модель данных (руци) с приходом новых признаков обЪектов, и проверяем спуски и ошибки.
Поиск по матрице - простой мультипараметрный фильтр.

3) Подробнее.
Задача - получить дерево с короткими ветвями.
Составляем спектр признаков, сортируем по убыванию.
Составляем спектр сочетанияпар признаков (А отут начинается жЫр).
Составляем массив, загоняя туда доминирующие признаки в паре, как узлы (доминанта определяется исходя из спектрального веса единичного признака). Чем больше отсечём сразу, тем короче останутся ветви...
дда, ресурсоЁмкенькая задачка.

*ушел кноподавить.*


Время на сервере: 16:07.

vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co