Вниз  Java-программирование (1-ые посты)
- 12.04.2014 / 17:20
Oak
  Пользователь

Oak 
Сейчас: Offline
Ze88s, openGL? Канеш
__________________
 Эль Презеденте
- 12.04.2014 / 21:51
Ze88s
  Пользователь

Ze88s 
Сейчас: Offline
Oak, а где можно об этом почитать?
- 13.04.2014 / 07:30
K_B_ZH95
  Пользователь

K_B_ZH95 
Сейчас: Offline
у меня есть база вопрос-ответов(1 МБ). Какой алгоритм есть типа латентно-семантический анализ? На ж2ме. Т.е мне надо искать из база вопроса напр "москва создавал",
- 13.04.2014 / 07:37
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
K_B_ZH95, все зависит от структуры базы данных и ее расположения.
- 13.04.2014 / 08:06
K_B_ZH95
  Пользователь

K_B_ZH95 
Сейчас: Offline
samodelkin, база-простой текстовый файл, вопрос,ответ,вопрос,ответ и т.д. Каждый вопрос новом строке
- 13.04.2014 / 08:47
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
K_B_ZH95, тогда все просто- открываешь файл и читаешь строки и проверяешь найдена ли подстрока в строке с помощью метода индексОф.
- 13.04.2014 / 09:19
Salat-Cx65
  Пользователь

Salat-Cx65 
Сейчас: Offline
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
  Пользователь

K_B_ZH95 
Сейчас: Offline
Salat-Cx65, спс,приблизительный алгоритм. А такой алгоритме производительность какой будет? Из baza.txt извлекаем примерные ключевые слова на dictonary.ext он там будет в формате *байт*москва*байт2*создавал*
и создадим baza2.ext там будет база.тхт в формате блок1*байт*байт2*блок2 и т.д. Напр. ищем "москва создавал" .сначала ищем из dictonary.ext строки имеет какой байт(адрес). Метод вернет байт,байт2 и его ищем из baza2.ext какой блок больше сходить. Примерно такой.
- 13.04.2014 / 15:40
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
K_B_ZH95, так как телефоны с ж2ме обрабатывают данные около 100кб./сек., то на один поиск одной фразы будет затрачиваться максимум 10секунд.
- 13.04.2014 / 15:57
Oak
  Пользователь

Oak 
Сейчас: Offline
samodelkin, не пиши бред людям, пожалуйста
__________________
 Эль Презеденте
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)