Как стать автором
Обновить
60
0
Александр Петров @asash

Researcher @ University of Glasgow.

Отправить сообщение
Вам не повезло. Бывают ветреные и дождливые дни, но очень мало дней когда совсем нет солнца. Суммарное количество осадков примерно как в Москве.

Информация про 8 лет до ПМЖ в Великобритании неверная. Для большинства it-шников это 5 лет +1 до гражданства.
Погода тоже не такая плохая как принято считать. В том же Лондоне зимой в среднем +9 градусов.

Собственно код который вычисляет похожесть участка изображения и пикселя в моем случае.


def sim(pixels1, pixels2):
    b1 = pixels1.mean()
    b2 = pixels2.mean()
    return np.equal(pixels1, pixels2).mean() - abs(b1 - b2)

В pixels1 — бирнаризованный участок изображения в виде еденичек/ноликов. в pixels-2 бинаризованное представление символа

ИМХО вы перемудрили немного с матричным разложением. Набросал на коленке вариант в котором мы выбираем символ просто исходя из количества совпавших пикселей и средней яркости. Результат выглядит не хуже, хотя никакой линейной алгебры в данном случае не нужно

image
В Великобританию если вы переезжаете по tier 2 визе (обычная рабочая виза) жена тоже имеет право работать.
А я вот кстати не согласен что «отличия интерфейса и абстрактного класса» такой уж простейший вопрос. Это вопрос довольно специфичный для Java-мира, и программист может прекрасно жить без этого знания если он например программировал на python или c++.
Что при этом не мешает при необходимости выучить java за пару недель при необходимости узнать и ответ на этот вопрос тоже.
Можно конечно сказать, что если человек устраиваться «разработчиком java» он должен знать такие вещи, но по моему мнению, если человек хорошо знает один язык то и второй освоит.
И аборты разрешили только в этом году.
И Эдинбург, пожалуйста. Интересно посмотреть как выглядит наш город.
Принцип — это в первую очередь Distributed Hash Table. Примеры других технологий — Apache Cassandra, Amazon Dynamo Db и так далее.

По поводу N-Gram — возможно что-то и понадобится поменять при построении индекса, однако предусмотреть все невозможно. Архитектурно и идейно получится все равно то же самое: обратный индекс построенный при помощши технологий больших данных.
Я сделал работу только по построению индекса, так как в этом была цель этого шага:) Aerospike тут выполняет роль которую может любое другое key-value хранилище построенное на этих принципах, например dynamodb. Работа key-value хранилищ это интересная область, но для моей задачи это просто инструмент (так же как например spark).

По поводу исправления ошибок и например обработки синонимов — на самом деле архитектура не меняется от этого. Просто в момент извлечения данных из индекса необходимо будет извлечь большее количество документов, а уже потом правильным образом их отсортировать (об этом в следующей статье)
Спасибо за комментарий. Свои цели я описывал в предыдущей статье, в ваших терминах это «поиграться со спарком». Конечно же я не планирую в одиночку перебить индустриальные разработки, а на примере задачи продемонстрировать разные технологии и алгоритмы.
Спасибо! Скоро ;)
Есть классический труд «введение в информационный поиск» ( Кристофер Д. Маннинг и другие).
Правда там насколько я помню без особого фокуса на распределенные вычисления и машинное обучение довольно поверхностное, но для знакомства пойдет:)

Ну и не пропустите мои следующие части ;)

Добрый день! Прямое хэширование будет работать плохо, так как достаточно изменить один бит и весь хэш будет совершенно другим. Но можно попытаться воспользоваться например Locality Sensitive Hashing, оно пытается давать одинаковые хэши близким строкам. См https://en.m.wikipedia.org/wiki/Locality-sensitive_hashing

1) на этот вопрос нельзя ответить однозначно, каждая поисковая система имеет свою политику на этот счет. так же даже внутри одной поисковой системы может существовать несколько разных роботов разного назначения, например один обходит часто быстро меняющиеся страницы, а другой редко все остальные.

2) существуют — например в вышеупомянутом robots.txt можно указать ссылку на файл sitemap, который будет содержать ссылки на страницы сайта. также у некоторых поисковиков есть прямо форма «добавить страницу».
Частично объясняется дубликатами — часть из них я начал фильтровать только после начала краулинга. Например мой краулер изначально считал страницы habrahabr.ru/post/345672 и habrahabr.ru/post/345672 (разница в слеше в конце) разными.
Сложно оценить, так как это у меня хобби-проект, и делал я его в свободное от работы время. В целом наверное недели 2 в режиме «час-два» после работы. В целом первая простая версия была готова в первый же день, но потом меня немного втянуло и я там прикручивал мониторинги и пакетную обработку задач, автоматический деплой в облако и тд :)
Спасибо! Индексация в следующей статье.
Уточние вопрос? Насколько я понимаю MPP-это принцип архитектуры проектирования когда память физически разделена по кластеру, в отличе от SMP, когда много процессов имеют одну общую память. В этом плане Hbase сам по себе является MPP-системой
К сожалению у меня нет такого опыта. Зато был опыт работы с hdfs через сторонние библиотеки, такие как snakebite — оно работает быстрее чем нативный клиент.

Информация

В рейтинге
Не участвует
Откуда
Glasgow, Scotland South, Великобритания
Дата рождения
Зарегистрирован
Активность