- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
Есть база из 300к статей.
Каким способом в крадчайшие сроки можно почистить эти тексты на дубли?
если перебирать и проверять каждую статью попарно то это ваще ппц, 6к статей проверяет на пхп под денвером трое суток...
проверка идет так:
1 с 2
1 с 3 и так до .... 1 с 6000 , если первая статья похожая с какой либо другой больше чем на 10% к примеру, то первая статья удаляется и дальше проверяется вторая статья со всеми остальными, кроме первой..... затем третья со всеми, кроме 2 и 1 и т.д. пока все не проверятся...
Как думаете как можно упростить задачу?
P.S. Нужно проверить на дубли все 300к статей...
leo3331 добавил 07.11.2009 в 06:25
Проверяю методом шинглов, длиной в 3 слова
leo3331 добавил 07.11.2009 в 06:27
Может существенно как то можно упростить проверку всей базы перед началом проверки?
статьи в тхт файлах 300к файлов всего
если первая статья похожая с какой либо другой больше чем на 10%
Это вычисление каждый раз происходит? Можно для начала втупую считать количество символов и если статья намного короче или длиннее нафига шингами сравнивать? 🚬
Может существенно как то можно упростить проверку всей базы перед началом проверки?
Как вариант отсортировать по весу, чтоб большое с мелким не сравнивалось. 🚬
Еще можно предварительную сверку по первым 5-10 словам бахнуть, чтоб отсеять явные дубли.
Ярик, тебе отдельный респект, второй раз помог 🚬
leo3331 добавил 07.11.2009 в 07:36
Как вариант есть идея, проверить 3к статей между собой затем к ним добавить еще 3к не чищеных и уже каждую из очищеных сверять непосредственно с новыми статьями... таким способом обойдем очень много проверок не нужных....
leo3331 добавил 07.11.2009 в 07:41
хм, логично конечно же вторые 3к статей между собой тоже проверить перед проверкой двух таких пачек
Может существенно как то можно упростить проверку всей базы перед началом проверки? статьи в тхт файлах 300к файлов всего
Проверить сами файлы на дубликаты вначале. Искать по сочетанию "Duplicates remover" программ полно всяких, как платных и так и нет.
Проверить сами файлы на дубликаты вначале. Искать по сочетанию "Duplicates remover" программ полно всяких, как платных и так и нет.
всмысле на 100% дубли? не понял....
http://holydiver.ru/posts/shingles-text-analizer.html
Может поможет
falkhan, :) именно этот скрипт с этого сайта я и юзаю ;)
leo3331 добавил 07.11.2009 в 08:23
переделал чуток
хм, логично конечно же вторые 3к статей между собой тоже проверить перед проверкой двух таких пачек
Ну как-то так. :) На пачки разбивать по размеру - кстати пачку статей можно пихать в один файл, по статье на строчку + array_unique() + и потом не задрачиваться - открыл, закрыл, записал - массивами оно веселее работается.
Перед чисткой на шинглы, явные дубли прибить - ибо нефиг! Искать одну херню в другой быстрее функцией strstr. И это - удалить переносы строк, лишние пробелы, пустые теги (если есть ;) ) Меньше лишней дряни, быстрее работа пойдет.
по сути эт я сморозил... я проверяю со всеми не провереными на дублит статьями...
а если сделать так:
1 с 2
затем эти 2 с третьей.... кароче по сути по ходу будут удаляться дубли... и меньше статей буит проверяться с каждой новой статьей
и в итоге чтобы уменьшить общее кол-во страниц.... брать и по 100 статей к примеру поразделять пачками и их между собой проверить так уменьшим общее кол-во страниц
и в итоге чтобы уменьшить общее кол-во страниц.... брать и по 100 статей к примеру поразделять пачками и их между собой проверить так уменьшим общее кол-во страниц
В общем я успешно запутался как ты там и чего в каком порядке будешь фильтровать. :) Спать хочу.
У меня схема вырисовывается такая,
1 проверяется со всеми, после проверки дубли нах (или пометить) потом 1 в папку проверено, дубли (если нужны) в папку дубли
Потом 2 проверяется, но база с чем проверяем меньше ;) 1(уже проверенной) там нет и дублей нет 🚬
Потом 3 проверяется, но база с чем проверяем меньше ;) 1 и 2 там нет и дублей нет...
И так далее.+++
Короче база с чем сравниваем с каждой проверкой все меньше и меньше. Дубли в дублях, проверенное в проверенном.
Я правильно просчитал? Одно и тоже по несколько раз дрюкаться не будет. ☝
p.s.
За трое суток много дублей зафильтровалось из 6к?
трое суток я так примерно сказал, я не проверял, обрубил....
Кароче мне больше отдыхать нужно....
я думал фишка в том что если
x = y на 4%
x = z на 4%
где x, y, z = 3 разных статьи
не факт что:
y = z на 4% и выше...
Из этого следует, что если хочу наибольшее кол-во статей на выходе... нужно удалить x, а не y и z
Я такую схему уже обдумывал... подумал что блин y и z статьи могут быть разных размеров и поэтому может и не быть 4% между ними... А тут если смотреть относительно x, то оно никак меньше не может быть 4 этих %
или это у меня тож уже мозги не работают )) ночь не спал блин
leo3331 добавил 07.11.2009 в 11:47
нада спать идти , вечер утра мудренее ))
leo3331 добавил 07.11.2009 в 11:52
нет, Ярик, твоя схема не катит, y и z могут быть похожи просто разными кусками текста с x, а между собой быть уникальными, во как я думал (c)