Создан заказ №3058786
24 мая 2018
Контрольная работа по поисковому механизму Люсина (Lucene) Официальные понятия и решетки Галуа (treillis de Galois) В смысле «решетки Галуа» и в нашем конкретном контексте формальная концепция будет просто набором слов и набором документов
Как заказчик описал требования к работе:
Задание: решить контрольную по информационным технологиям, срок 2 дня, очень нужно! Расписывайте, пожалуйста, подробное решение для каждой задачи.
Фрагмент выполненной работы:
Контрольная работа по поисковому механизму Люсина (Lucene)
Официальные понятия и решетки Галуа (treillis de Galois)
В смысле «решетки Галуа» и в нашем конкретном контексте формальная концепция будет просто набором слов и набором документов, в которых все слова найдены во всех документах и, наоборот, в которых содержатся все документы все слова. Например, если тексты A, B и C содержат слова «пар» и «дом», то комплекты (пар, дом) и (A, B, C) образуют формальную концепцию. (работа была выполнена специалистами author24.ru) Решетка Галуа (или понятий) построена из всех найденных понятий и представляет собой представление соответствия между документами и словами.
Например, следующая матрица экземпляра:
пар дом
A
B Х
C Х Х
D
С этого момента, понятие с наибольшим количеством слов, будет С х (пар, дом). Концепция, собирающая большинство документов, помимо A, B, C, D×∅, будет (B, C) х (пар).
Напоминание: время выполнения задачи в Java
Когда вас попросят вычислить время выполнения задачи Java на вашем устройстве, вы можете использовать следующий пример кода:
long avant = System.currentTimeMillis();
mafonction();
long apres = System.currentTimeMillis();
System.out.println("Ça a pris "+ (apres-avant)/1000.0+" secondes.");
Избегайте использования других приложений во время работы вашей программы!
Иногда, чтобы лучше оценить время, мы можем выполнить работу в цикле и сделать среднее значение, как в этом примере:
long avant = System.currenTimeMillis();
for (int k = 0; k < 1000; ++k)
mafonction();
long apres = System.currenTimeMillis();
System.out.println("Ça a pris "+ (apres-avant)/1000.0+" secondes");
System.out.println("Une moyenne de "+ (apres-avant)/(1000*1000.0)+" secondes.");
Напоминание: чтение списка в текстовом файле
Если у вас есть файл в текстовом формате Java, вы можете прочитать содержимое и поместить его в массив со следующим кодом:
import java.util.*;
import java.io.*;
public class test {
public static void main(String arg[]) throws IOException {
BufferedReader sr = new BufferedReader(
new FileReader(arg[0]));
String line;
Vector<String> lignes = new Vector<String>();
while ( ( line = sr.readLine()) != null)
lignes.add(line);
String[] li = lignes.toArray(new String[0]);
for (int k = 0; k < li.length; ++k)
System.out.println(li[k]);
}
}
Вопрос 1
Учитывая все документы на компакт-диске Gutenberg, ответьте на следующие вопросы.
- Сначала индексируйте только 10 документов, затем 20, затем 30, затем все документы с расширением txt на CD-ROM (в каталогах etextxx); затем вычислить время, необходимое для завершения каждого шага, затем рассчитать размер (на диске) каждого индекса и соответствующую сумму размера файла. Кроме того, цикл для каждого индекса, 100 раз 10 поисков за ключевое слово, затем разделите сумму, полученную 1000, чтобы получить время поиска. Напишите таблицу с пятью столбцами со следующими заголовками: количество файлов, общий размер файла, время индексации, размер индекса и среднее время поиска.
- Из таблицы предыдущего упражнения вы можете сказать, уменьшается ли производительность Lucene с размером индекса? Предположим, ваш индекс в 1000 раз больше, каково будет среднее время поиска?
- Из таблицы укажите размер индекса и время, необходимое для создания индекса, если вам нужно индексировать 8 миллиардов документов в среднем на 20 КБ. Можно ли это реализовать? Как вы бы реализовали идею, если бы вас попросили сделать такое задание?
на выходе:
. Напишите таблицу с пятью столбцами со следующими заголовками: количество файлов, общий размер файла, время индексации, размер индекса и среднее время поиска. Таблица
количество файлов общий размер файла время индексации размер индекса среднее время поиска
2730 709 240 453кб 109,2 25 218,4
Из таблицы предыдущего упражнения вы можете сказать, уменьшается ли производительность Lucene с размером индекса? Ответ
Чем бошльше индексов – тем меньше производительность
3. Предположим, ваш индекс в 1000 раз больше, каково будет среднее время поиска?
Решение:
Чем больше индекс – тем больше время поиска ~250c
Из таблицы укажите размер индекса и время, необходимое для создания индекса, если вам нужно индексировать 8 миллиардов документов в среднем на 20 КБ ответ
Размер 8млн , время ~800с
5. Можно ли это реализовать? Ответ
вполне
6. Как вы бы реализовали идею, если бы вас попросили сделать такое задание? Ответ
{{{
class EditDistance
{
public:
int DamerauLevenshtein(const std::string& user_str,
const std::string& dict_str)
{
size_t user_sz = user_str.size();
size_t dict_sz = dict_str.size();
for (size_t i = 0; i <= user_sz; ++i) {
trace_[i][0] = i << 1;
}
for (size_t j = 1; j <= dict_sz; ++j) {
trace_[0][j] = j << 1;
}
for (size_t j = 1; j <= dict_sz; ++j)
{
for (size_t i = 1; i <= user_sz; ++i)
{
// Учтем вставки, удаления и замены
int rcost = ReplaceCost(user_str[i - 1], dict_str[j - 1]);
int dist0 = trace_[i - 1][j] + 2;
int dist1 = trace_[i][j - 1] + 2;
int dist2 = trace_[i - 1][j - 1] + rcost;
trace_[i][j] = std::min(dist0, std::min(dist1, dist2));
// Учтем обмен
if (i > 1 && j > 1 &&
user_str[i - 1] == dict_str[j - 2] &&
user_str[i - 2] == dict_str[j - 1])
{
trace_[i][j] = std::min(trace_[i][j],
trace_[i - 2][j - 2] + 1);
}
}
}
// Возьмем минимальное
// префиксное расстояние
int min_dist = trace_[user_sz][0];
for (size_t i = 1; i <= dict_sz; ++i)
{
if (trace_[user_sz][i] < min_dist)
min_dist = trace_[user_sz][i];
}
return min_dist;
}
private:
const static size_t kMaxStrLength = 255;
int trace_[kMaxStrLength + 1][kMaxStrLength + 1];
private:
int ReplaceCost(unsigned char first, unsigned char second);
}
}}}
Вопрос 2
Для этого вопроса используйте индекс всех документов, расширение которых является txt на компакт-диске Gutenberg, с усечением. Не забудьте использовать усечение английского языка, иначе ваши результаты могут быть неправильными!
Предполагается, что пользователь предоставляет вам список слов, по одному на строку, в текстовом файле с именем «words.txt»...Посмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
25 мая 2018
Заказ завершен, заказчик получил финальный файл с работой
5
Контрольная работа по поисковому механизму Люсина (Lucene)
Официальные понятия и решетки Галуа (treillis de Galois)
В смысле «решетки Галуа» и в нашем конкретном контексте формальная концепция будет просто набором слов и набором документов.docx
2018-05-28 23:20
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Очень рекомендую этого автора. Работа была выполнена на "5" раньше срока. Автор всегда был на связи и после сдачи работы готов был ответить на все возникшие вопросы.