Вопрос по работе с ключевыми словами

Тема в разделе "Вопросы и ответы", создана пользователем Anubis, 15.12.15.

  1. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Спарсил ключевика из букварикса. До этого алгоритм работы чистки ключей был такой:
    1. Удалил стоп слова с помощью KeyWordKeeper
    2. Удалил дубли
    3. Сделал выборку по кол-во слов
    На первом шаге с файлом больше 6 мб KeyWordKeeper завис и больше признаки жизни не подает, пробовал чистить с помощью KeyWasher - история аналогичная, висит.
    Посмотрел Пингвин, но он удаляет весь ключевик, если находит стоп слово, а мне нужно удаление этого стоп слова. Может быть такая возможность есть в платной версии? На сайте подобной инфы не нашел.
    Может быть Есть какие-то аналоги, которые помогут мне это автоматизировать, а не руками удалять каждое стоп слово в Notepad++? Заранее спасибо.
     
  2. mordvin

    mordvin Модератор Команда форума

    Сообщения:
    215
    Симпатии:
    161
    Баллы:
    67
    а список стоп слов большой?
     
  3. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Нет, пару десятков, просто если такой функционал в платном Пингвине есть, я бы его купил.
     
  4. mordvin

    mordvin Модератор Команда форума

    Сообщения:
    215
    Симпатии:
    161
    Баллы:
    67
    а чем тебе нотепад не нравится? =)
    [​IMG]

    Понимаю не выход. но как вариант =)
     
  5. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Да нет, я прекрасно знаю что можно так сделать, просто KWK прекрасно и быстро справлялся с этой задачей, но вот на больших файлах чего-то странно себя повел. Хотелось бы все таки максимально автоматизировать этот процесс :)
     
  6. mordvin

    mordvin Модератор Команда форума

    Сообщения:
    215
    Симпатии:
    161
    Баллы:
    67
    Ну могу посоветовать кейколлектор только тогда
     
  7. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Спасибо большое! Посмотрю :)
     
  8. Marbas

    Marbas Активный участник

    Сообщения:
    120
    Симпатии:
    61
    Баллы:
    50
    В том же KWK можно разбить текстовые файлы на определенное количество строк, попробуй это, а потом уже удаляй минус слова.
     
  9. root

    root Активный участник

    Сообщения:
    156
    Симпатии:
    136
    Баллы:
    57
    В платной версии такого нет.
    Попробуй вот эту регулярку в Notepad++
    Найти:
    ^(.*)стоп слово которое надо удалить из кейворда(.*)$
    Заменить на:
    \1 \2

    [​IMG]
     
  10. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Спасибо огромное за советы, но все таки выкрутился разбивкой файлов на более мелкие, ноут долго не перегружал, после перезагрузки KWK ожил.
     
  11. mordvin

    mordvin Модератор Команда форума

    Сообщения:
    215
    Симпатии:
    161
    Баллы:
    67
    а сразу несколько слов? А то их может и сотня быть
     
  12. root

    root Активный участник

    Сообщения:
    156
    Симпатии:
    136
    Баллы:
    57
    В регулярке так не выйдет, том только по одному слову :(
     
  13. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Вот поэтому для подобных вещей, пока подходит KWK. Ноут i7, 16 ОЗУ - 27 стоп-слов, файл ключевиков 3 МБ (170 000 слов), обрабатывает 143271 мс. Что наверное достаточно медленно.
     
  14. mordvin

    mordvin Модератор Команда форума

    Сообщения:
    215
    Симпатии:
    161
    Баллы:
    67
    Печально
     
  15. Anubis

    Anubis Новичок

    Сообщения:
    41
    Симпатии:
    1
    Баллы:
    23
    Нужно разработчикам Пингвина написать просьбу о подобном функционале. Он довольно шустро работает.
     
  16. sheck

    sheck Новичок

    Сообщения:
    47
    Симпатии:
    21
    Баллы:
    14
    Выйдет, только нужно несколько прогонов сделать, пока все не вычистится:

    Найти: ^(.*)(бэд кей 1|бэд кей 2|бэд кей 3|и т.д.)(.*)$
    Заменить на: \1 \3

    Ну и потом заменить несколько подряд идущих пробелов на один:

    Найти: \#{2,10}
    Заменить на:\#

    (вместо # - пробел)
     
  17. Denchik

    Denchik Модератор Команда форума

    Сообщения:
    65
    Симпатии:
    14
    Баллы:
    24
    Кто как делает? У меня такая же задача, как и у ТС. Нужно удалить стоп-слова из ключей. Не всю строку, где есть стоп-слово, а именно удалить сами стоп-слова из строк.
    Усложняется всё тем, что файл с ключами примерно на 60КК строк, а файл стоп-слов примерно на 2К строк.
     
  18. noreff

    noreff Участник

    Сообщения:
    102
    Симпатии:
    44
    Баллы:
    29
    Можно разбить файл на части, например этим - http://www.gdgsoft.com/gsplit/
    а дальше поиск/замена по файлам в notepad++ и регулярки как выше описывали в топике.
     
  19. sir.vasilii

    sir.vasilii Новичок

    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    17
    Попробуй KeyWasher - http://searchengines.guru/showthread.php?t=444774
     
  20. capturis

    capturis Участник

    Сообщения:
    56
    Симпатии:
    104
    Баллы:
    46
    sed пробуй https://insider.social/threads/obrabotka-teksta-baz.538/page-2#post-6979
     
    Denchik нравится это.

Поделиться этой страницей