12.04.2014 / 17:20 | |
Oak Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| Ze88s, openGL? Канеш
__________________
Эль Презеденте |
12.04.2014 / 21:51 | |
Ze88s Пользователь Сейчас: Offline
Имя: Владимир Регистрация: 20.02.2014
| Oak, а где можно об этом почитать?
|
13.04.2014 / 07:30 | |
K_B_ZH95 Пользователь Сейчас: Offline
Имя: Koseke Регистрация: 19.05.2012
| у меня есть база вопрос-ответов(1 МБ). Какой алгоритм есть типа латентно-семантический анализ? На ж2ме. Т.е мне надо искать из база вопроса напр "москва создавал",
|
13.04.2014 / 07:37 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| K_B_ZH95, все зависит от структуры базы данных и ее расположения.
|
13.04.2014 / 08:06 | |
K_B_ZH95 Пользователь Сейчас: Offline
Имя: Koseke Регистрация: 19.05.2012
| samodelkin, база-простой текстовый файл, вопрос,ответ,вопрос,ответ и т.д. Каждый вопрос новом строке
|
13.04.2014 / 08:47 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| K_B_ZH95, тогда все просто- открываешь файл и читаешь строки и проверяешь найдена ли подстрока в строке с помощью метода индексОф.
|
13.04.2014 / 09:19 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| K_B_ZH95 (13.04.2014/07:30) у меня есть база вопрос-ответов(1 МБ). Какой алгоритм есть типа латентно-семантический анализ? На ж2ме. Т.е мне надо искать из база вопроса напр "москва создавал",С учетом ограничености ресурсов, я бы предложил вариант такой: - написать метод который к примеру извлекает корни слов (пример: (пере)создавал(ась)) - прочитать файл и проиндексировать содержимое (приводим в ловеркейс) и добавить в хештаблицу по типу hashtable.put("создавал", new Integer[]{1, 5, 10}); где числа это номера строк -в идеале, все бы ключи перевести в массив (он самый быстрый в циклах. Но это лишняя память - получаем запрос "москва создавалась", выделяем "Москва" и "создавал", дергаем получение значения по ключу, если в массивах есть совпадающие номера строк (5 и 10), то скипаем в файле все строки кроме нужных, счтываем их и возвращаем как результат (вектором, массивом, как удобно)
Постоянная перечитка базы + подготовка строк к работе будут тормозить значительно. А так потребуется конечно оперативка и время на подготовку, но можно запустить фоновый тред и пока оно будет парсится по мере работы туда уже будут доступны кое какие результаты. Как то так)
Изменено Salat-Cx65 (13.04 / 09:21) (всего 1 раз) |
13.04.2014 / 11:36 | |
K_B_ZH95 Пользователь Сейчас: Offline
Имя: Koseke Регистрация: 19.05.2012
| Salat-Cx65, спс,приблизительный алгоритм. А такой алгоритме производительность какой будет? Из baza.txt извлекаем примерные ключевые слова на dictonary.ext он там будет в формате *байт*москва*байт2*создавал* и создадим baza2.ext там будет база.тхт в формате блок1*байт*байт2*блок2 и т.д. Напр. ищем "москва создавал" .сначала ищем из dictonary.ext строки имеет какой байт(адрес). Метод вернет байт,байт2 и его ищем из baza2.ext какой блок больше сходить. Примерно такой.
|
13.04.2014 / 15:40 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| K_B_ZH95, так как телефоны с ж2ме обрабатывают данные около 100кб./сек., то на один поиск одной фразы будет затрачиваться максимум 10секунд.
|
13.04.2014 / 15:57 | |
Oak Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| samodelkin, не пиши бред людям, пожалуйста
__________________
Эль Презеденте |