Задача каталогизации Ищю хотябы алгоритм как каталогизировать руцями или парсингом из списка параметров какие либо сущьности.
Пример: есть CSV-шка с данными. Каждая строка с одинаковым количеством текстовых нормированных параметров. необходимо на выходе получить дерево с минимальным количеством пустых промежуточных узлов, и максимально короткими путями от корня к конечной записи. Возможно на выходе получить несколько переплетающихся деревьев (однозначная принадлежность узла одного дерева узлу другого.) Сабпример: дерево цветов: - красный, -жёлтый - зеленый - синий - марковный. Дерево сущностей: - еда + мясо + фрукты + овощи + специи - предметы + Пила + игрушечная машинка + пылесос + холодильник + кухонный комбайн вход: Яблоко синее, пылесос морковный, ... Блин, даж примера не составить........ В гугль посылать только с конкретными ключевиками. В библиотекарское училище и палату метрологии и каталогизации - ненадо. Задача скорее из области структуризации неструктурированного контента..... Мож кто сталкивался? Подскажите плиз. |
Цитата:
делаем массив, в который while(!EOF) { считываем построчно CSV, ищем в строке вхождения switch(strcomp(A[i]) case "морковный": считаем в другой массив } как-то так. поправьте меня с ноги. |
Та оно понятно как файл загружать, переименовывать, парсить, санитайзить, ифнотэрор-обрабатывать....
Вопрос в деревьях. Надо из признаков сделать ноды дерева. А по этому алгоритму получится + красненькие + стерео + в Киеве + синезелёныйкрасныйшАр мулька в многоуровневости и вычленении общего и необязательного параметра (к примеру цвет) |
разбиение продуктов на категории ?
гугли по словам "таксономия", "онтология" и "управляемый словарь" (controlled vocabulary) крик души ON: *ля почему мне не попадаются такие интересные задачи а сплошь какой-то шлак типа реализации скидок? |
вдУдел.
короче решается эта задача итэративно. 1) собираем инфу о классифицируемых объектах, описываем их важные отличительные параметры. 2) собираем списки иерархических и ортогональных параметров 3) из иерархических строим дерево (ключевой момент. Длинные ветви - плохо), из ортогональных - N-ьурную матрицу. 4) загоняем данные. 5) проверяем спуски, ищя избыточность и неточность, правя руцями. 6) Вероятно доуточняем дерево, или строим новое, дополненное или наоборот, с выброшенными параметрами. 7) постиоянно доуточняем модель данных (руци) с приходом новых признаков обЪектов, и проверяем спуски и ошибки. Поиск по матрице - простой мультипараметрный фильтр. 3) Подробнее. Задача - получить дерево с короткими ветвями. Составляем спектр признаков, сортируем по убыванию. Составляем спектр сочетанияпар признаков (А отут начинается жЫр). Составляем массив, загоняя туда доминирующие признаки в паре, как узлы (доминанта определяется исходя из спектрального веса единичного признака). Чем больше отсечём сразу, тем короче останутся ветви... дда, ресурсоЁмкенькая задачка. *ушел кноподавить.* |
Время на сервере: 16:07. |
vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co