Pull to refresh

Comments 21

А вы не боритесь со спамерскими регистрациями?
Я вот сделал на своём сайте регистрацию только через популярные соц сервисы (ВК, FB, Mail.ru, Ок, Яндекс). Спам регистраций вообще не стало, но и упали обычные регистрации пользователей. Народ с недоверием относится к регистрации через такие сервисы, лично у меня.
Нет, до борьбы с ними пока не дошел.
Можно похожую систему использовать на Хабре, чтобы в некоторых случаях выдавать сообщение «Такая статья уже есть на GeekTimes»
Ага. А еще автоматически определять, к какому сайту эта статья относится — к Хабру, GeekTimes или пр. Я недавно тренировался с нейронными сетями — автоматически определял, к какому хабу можно отнести статью.
Математическая лингвистика классная штука. Есть статистика и объем созданной базы знаний?
Я не совсем понимаю, какие показатели вы имеете в виду под статистикой. Количество записей в индекcе получилось 2.2M. Словарь содержит 25K слов.
Наверное немного неправильно выразился, я имел ввиду что-то вроде сводной таблицы с рангами (значением меры) для разных биграмм в разрезе лексем и словоформ. MI (mutual information, коэффициент взаимной информации) коллокации, MI-конструкции, t-score-коллокации.
Нет, так сильно я не углублялся. Моей задачей было сделать рабочую систему, прилагая минимум усилий.
Уважаемый минусующий, объяснитесь, пожалуйста. Зачем на данном этапе я должен был производить эти манипуляции? Для оптимизации? Я получил рабочий результат, который меня устраивает по всем показателям. Не вижу смысла делать это раньше времени. Можно, конечно, проделать это всё в академических целях, но у меня нет на это времени.
Эх, еще бы словарь русского мата и словарь рекламных предложений.
И чтобы это все по REST API, да и не мне писать…
PS: Вообще «этим» должен заниматься старый добрый сервис яндекс-антиспам (он не Чистый Веб), но не занимается.
UFO just landed and posted this here
UFO just landed and posted this here
1. Не люблю я зависеть от сторонних сервисов, пусть даже и гугловских. А уж платить там, где можно не платить совсем не хочу. Поиграться можно много с чем. Уверен, что есть гораздо более оптимальмые решения. Честно вам скажу, мой алгоритмический и математиматический бекграунд не так хорош, чтобы найти лучшие варианты. Я просто немного погуглил и нашел решения, которые мне показались приемлимыми.

2. Сначала используется индекс, чтобы отсеять большинство лишних записей. Если бы я сразу считал косинусное расстояние для всех — это было бы слишком долго.
А сколько весит обратный индекс?
Что-то около 100-200 Мб у меня было
Такой индекс можно и в памяти держать или хотя бы в off heap.
Спасибо за статью. Есть еще направление под названием Topic model с возможно более известным LDA (Latent Dirichlet Allocation). Если не очень хочется вчитываться в научную публикацию, но очень хочется понять основной смысл и область применения, то можно послушать подкаст от O'Reilly Topic models: Past, present, and future, где автор все достаточно популярно и местами понятно рассказывает. Кстати, один из авторов небезызвестный автор курсов по машинному обученияи и основатель Courserа Andrew Ng.
Если у вас сайт с рецептами и цель — найти похожие/крайне похожие рецепты — я бы поигрался с Tomita Parser(покритикуйте идею).
1. Выделяем факты из текстов
2. Сравниваем факты
3. На выходе имеем совпавшие факты + какой % они занимают от общего текста сравниваемых статей
+ как бонус имеем более-менее структурированные данные, которые можно уже использовать например для фильтров
+ рецепты на одну тему, но с несколько разными пропорциями можно объединить в один тематический цикл

Ну а вообще я всегда считал, что дубликаты эффективнее искать по шинглам
Игрался недавно с таким на Питоне, очень удобно это в sklearn или nltk делается — там много готового инструментария для таких вещей
Спасибо за отличный материал. Столько лет прошло, а мне пригодилось :)
Классно излагаете мысль без лишней воды
Sign up to leave a comment.

Articles