Pull to refresh
4
0
Денис Баженов @denis_bazhenov

User

Send message
На слайде про вывод jstack ошибка. Идентификатор потока в Linux (LWP) – это nid. Tid это адрес объекта потока в адресном пространстве JVM.
«Проблема» с cosine similarity в моем понимании заключается в консервативности самой метрики. Проще наверное продемонстрировать на примере:

  • пара Item-векторов {0, 5} и {0, 5} имеет cosine similarity = 1;
  • пара Item-векторов {5, 5} и {0, 5} имеет cosine similarity = 1/sqrt(2);

Во-втором случае вектора, дальше друг от друга (item'ы менее похожи). Но это, на мой вгляд не совсем правомерно, ведь у нас просто нет оценки по одному Item'у. Потенциально, там могла быть 5-ка, что опять нас привело бы к единичной косинусной мере. Возможно, хорошей альтернативой было бы не занулять, а «засреднять» оценки. То есть, заполнять пустые ячейки матрицы средней оценкой Item'а, или средней оценкой целовека (по всем item'ам). Это должно сделать алгоритм не таким консервативным к отсутствующим оценкам.
Item-вектора, которые мы получаем из User-Item матрицы и на основании которых мы потом считаем косинус угла, тоже разрежены как и сама матрица. Встает вопрос, что делать с пустыми позициями векторов. Есть два решения, которые лежат «на поверхности» (заполнять нулями или брать только позиции заполненные в обоих векторах), но оба они по-своему плохи. Интересно, как поступаете вы?
Основная сила ES лежит конечно же в Lucene. Очень продвинутая библиотека для работы с инвертированным индексом. Мы его эксплуатируем уже лет 5. В данный момент в эксплуатации кластер из ~20 машин. За это время пришли к архитектуре во многом похожей на ES, но в некоторых аспектах существенно отличающейся. В частности, мы храним документы отдельно, а не в индексе. А также, координацией поиска внутри кластера и индексацией занимаются отдельные машины. Это позволяет более «экономно» масштабировать систему.
Спасибо за статью. Мы тоже используем maven для организации CI-цикла, вполне довольны. Более подробно свой опыт описывал у себя в блоге – Маленький Билд и его друзья
Хорошая статья, спасибо. Я у себя в блоге тоже описал байесовский классификатор, но с большим упором на теорию. В частности более подробно написал про проблему неизвестных слов (additive smoothing, то зачем вы использовали 10^-7).

Information

Rating
Does not participate
Location
Россия
Registered
Activity