Еженедельные задачи - achugr/GoodsReview GitHub Wiki
(05.12.2011 - 12.12.2011)
Женя Ванслов
Запланировано
- Рефакторинг кода проекта(конструкторы, final для нужных полей, @NotNull где надо, запись NULL в базу)
Саня Марчук
Запланировано
- произвести анализ полученных результатов(процент "правильных" тезисов), предложить более эффективный алгоритм
Сережа Серебряков
Запланировано
- отчет по тому что готово в плане виджета(архитектура виджета, архитектура бд для виджета, потоки данных)
Руслан Мокаев
Запланировано
- предоставить информацию о TF-IDF слов из комментариев, оценить полезность этой информации
Ярик Скударнов
Запланировано
- разобраться с кодировками mystem(подмена простого анализатора прилагательных)
(28.11.2011 - 05.12.2011)
Женя Ванслов
Запланировано
Саня Марчук
Запланировано
- аналитика в области извлечения тезисов (будет обсуждено)
Сережа Серебряков
Запланировано
- начало работы над проектом виджета
Руслан Мокаев
Запланировано
Ярик Скударнов
Запланировано
- проверить извлечение тезисов(при наличии времени, в противном случае, делаю я)
(21.11.2011 - 28.11.2011)
Женя Ванслов
Запланировано и сделано
- Подготовка к докладу, подтема "определению категории товара"
Саня Марчук
Запланировано и сделано
- Исправить баг с докачкой страниц
- Подготовить обзор методов машинного обучения, которые могут быть использованы в проекте
Сережа Серебряков
Запланировано и частично сделано
- примеры извлечения тезисов при помощи "программы века", оценка эффективности
Руслан Мокаев
Запланировано и почти-почти сделано!
- доделать tf-idf, оценить эффективность
Ярик Скударнов
Запланировано и сделано(извлечение тезисов - нужно проверить)
- подключить программу mystem, оценить как она может нам помочь
- сделать извлечение тезисов при помощи словаря объектов
##( 14.11.2011 - 21.11.2011)
Женя Ванслов
Запланировано и сделано(во внутренних проектах)
- продумать алгоритм определения категории товара
Саня Марчук
Запланировано и сделано(есть баги)
- Сделать скачивание только недостающих страниц ситилинка
- Опционально: Рефакторинг кода с целью сделать все нормально: скачивать все категории, описание.
Сережа Серебряков
Запланировано и сделано
- вывод базы комментариев в файл, чтобы можно было разметить тестовое множество
- буферизованное чтение из базы (второстепенно, откладывается на потом)
Руслан Мокаев
Запланировано, не сделано
- проверить tf-idf на словах комментариев
Ярик Скударнов
Запланировано и сделано
- создание словаря существительных для извлечения тезисов
##( 7.11.2011 - 14.11.2011)
Женя Ванслов
Запланировано и сделано
- indexer
- searcher
- прикручивание searcher к frontend
Саня Марчук
Запланировано и сделано
- Сделать чистку собираемой информации от мусора
- Сделать "умное" складывание товаров в базу по названию
- Привязать в базе каждый review к product
Сережа Серебряков
Запланировано и сделано(не полностью)
- Контроллер для query
- Контроллер для query_unique
- Оценить какой еще есть "шум" кроме предлогов, постараться выкинуть его
Руслан Мокаев
Запланировано и сделано(не полностью)
- Сделать так, чтобы в тезисах не было предлогов
- Оценить какой еще есть "шум" кроме предлогов, постараться выкинуть его
Ярик Скударнов
Запланировано и сделано
- indexer
- searcher
(31.11.2011 - 7.11.2011)
Женя Ванслов
Запланировано и сделано:
- Сделать главную страницу со строкой поиска принять с нее запрос(считаем что пришло наименование товара) service должен дергать метод, который забирает все из "product + review + thesis" отдать инфу на отрисовку
- Сделать на xsl + xml отрисовку информации о товаре по строкам:
- вся инфа о товаре
- тезис + оценка тезиса ...тезисы n) комментарий + оценка комментария ...комментарии
Не запланировано но сделано
- популярные товары на главной
- кроме страницы товара - страница результата поиска
Саня Марчук
Запланировано и сделано
- Дамп сайта, из дампа вытаскивается вся нужная инфа в оперативную память
Запланировано, но не сделано
- Сложить из оперативной памяти в бд (буквально пара строк кода, сложность вызвана изменениями в архитектуре бд)
Сережа Серебряков
Запланировано и сделано
- Реализовать выборку из базы набора "товар - отзывы - голоса за отзывы - тезисы - голоса за тезисы(которые наши, из таблицы "thesis")", запрос - наименование товара
- логирование ошибок доступа (частично)
- контроллеры бд по просьбе разработчиков других модулей (частично)
- /* работы сделано больше чем на 75%(процентов на 90%), если считать последнюю неделю(по другим модулям была более общая задача и стояла на больший срок, а общая задача по бд - все контроллеры) */
Руслан Мокаев
Запланировано и сделано
- Написать класс для выборки тезисов из комментариев, используя частотный словарь Использовать интерфейс БД, методы, которых не хватает описать здесь Выбираем все товары, пробегаемся по связанным с ними таблицам review, для каждого товара составляем частотный словарь, на основе которого заполняем таблицу thesis, записывая в importance частоту вхождения. P.S. думаю включим в thesis поле frequency..importance будет учитывать частоту, но ее тоже неплохо бы хранить
Ярик Скударнов
Запланировано и сделано
- индексер, серчер по примеру других проектов
Запланировано и частично сделано
- тестер для индексера и серчера
(19.10.2011 - 26.10.2011)
Женя (+-) //пока что нет взаимодействия с БД
блок frontend, нужно сделать следующее: по адресу localhost:8080/index.html должна висеть главная страничка сервиса (строка поиска + логотип). Введенная в строку поиска строка должна быть передана ялету "GetReviewOnProductYalet", тот должен подключить "GetReviewOnProductService" из package ru.goodsReview.frontend.service, этот класс должен сделать обращение к бд через контроллер в ru.goodsReview.storage, и вернуть объект ShowReviewOnProductYalet, который даст это на отрисовку xsl-ке..думаю, пока что объект для вытаскивания из базы и последующей передачи на отрисовку может выглядеть так: public class ResponseCortege { private Product product; private ReviewList reviewList; private ThesisList thesisList; } В итоге при нажатии кнопки "поиск" нужно сделать переход на страницу c результатом поиска, которая может выглядеть примерно так: товар, его описание, рядом список тезисов, а снизу комментарии(примерно реализовать макет из вики)
Саня (-+)//нужно еще разбираться
блок extractor - сделать прикручивание web harvest к java, дергаться будет контроллер БД с полной функциональностью, задание вроде бы достаточно ясно(при этом нужен xml парсер? Ярик написал его, вопросы по функциональности к нему)
Сергей (+-) //все кроме тезисов
блок storage реализовать вытаскивание из БД связки Product - ReviewList - ThesisList(использует Олег), сделать загрузку в базу связки Product-ReviewList-Vote (которую будет использовать Саня), загрузку в базу( таблица query)(использует Олег), поискового запроса. Сделать для каждой нужной сущности класс в ru.goodsReview.core.model
Руслан (+-)//нужно вытащить из базы и обработать
Нужно сделать модель для обработки отзывов, модель для их доставания из базы и складывания туда обработанной инфы. ru.goodsReview.miner.model - сущности, которые удобны для обработки информации, ru.goodsReview.miner.controller - доставание из базы, представление в удобоваримом для обработки формате(из miner.model), ru.goodsReview.miner.brain - обработка miner.model, создание miner.model, передача service, который уже сложит в базу чет кашу написал, кажется, но я так вижу..жду предложений!
Ярик (+)//нужно проверить работу модуля. Тестер написан, indexer и searcher протестированы, всё работает блок indexer - индексация БД для быстрого поиска по названию товара, у schoolInfo этот блок реализован, там можно посмотреть как это происходит. Как я понял, происходит так: создаем таблицу(или даже отдельную БД, вот этого не понял), там храним связь имя товара - id товара, только проиндексированную по имени, блок должен предоставлять возможность по заданному имени товара вернуть его id в основной базе, вот как-то так.
(12.10.2011 - 19.10.2011) Активируем всякие разные чакры и работаем!
- Александр - webHarvest, доизвлекать отзывы + xfresh, jetty, yalet
- Руслан - jetty, научиться принимать запросы, рабочие примеры
- Олег - xfresh, yalet, обработка запроса, рабочие примеры
- Сергей - jdbcTemplate, контроллеры для БД
(5.10.2011-12.10.2011)
- Александр, Руслан - webHarvest, наладить сбор данных, сделать базу комментариев. Есть риск не успеть из-за сложности структуры сайтов интернет-магазинов. (+) //извлечена информация о большом множестве товаров
- Олег - javaSpring, Apache Tomcat.(XFresh + Jetty, после некоторых уточнений) Задача настроить веб-сервер, разобраться с тем как принимать и обрабатывать http запросы. Риск технологии достаточно сложные, банально может не хватить времени.(-/+) //несвоевременная постановка задачи, больше такого не повторится
- Сергей - Создать таблицы БД, реализовать контроллер с базовыми функциями. Риск - сложность освоение технологии, нехватка времени. (+/-) //процесс идет
(28.09.2011 - 5.10.2011)
- Александр - извлечение данных при помощи WebHarvest, пара рабочих примеров на сайтах-информаторах(ulmart, ситилинк, яндекс.маркет) (-/+)
- Руслан - извлечение данных при помощи webHarvest (-/+)
- Олег - изучить механизмы классификации и кластеризации данных (+/-)
- Сергей - архитектура БД, работа с mysql в java (+)
- Ярослав - изучить механизмы анализа текста на семантику (+/-)
- Артемий - анализ текстов на схожесть (+/-)