Закрыто

[Повтор] [Python] Скрипт чистки текстов собранных парсерами

Тема в разделе "Бизнес и свое дело", создана пользователем montero, 13 ноя 2016.

Цена: 5025р.
Взнос: 330р.
85%

Основной список: 21 участников

Резервный список: 2 участников

Статус обсуждения:
Комментирование ограничено.
  1. 13 ноя 2016
    #1
    montero
    montero ЧКЧлен клуба (А)

    [Повтор] [Python] Скрипт чистки текстов собранных парсерами

    Предлагаю свой скрипт написанный на Python 3, который чистит тексты, собранные парсерами.

    Скрипт обрабатывает все текстовые файлы с расширением txt в кодировке utf-8 (в той папке где расположен); есть версия для ansi.
    Обработка 100 Мб текста (156 файлов) одним скриптом на компьютере с процессором Intel Core i7 4700HQ занимает 4 мин 5 сек.
    Для ускорения работы можно параллельно запускать несколько одинаковых скриптов.
    Во время работы скрипт выводит сообщения о начале и окончании работы каждого модуля, по окончании работы вы увидите сообщения о времени работы скрипта, первоначальном и конечном размерах всех обрабатываемых файлов.

    Скрипт работает аккуратно, сохраняя максимальное количество предложений. Он оставляет только качественные предложения, удаляя из них мусор и устраняя различные ошибки. Некачественные предложения удаляются. В очищенных текстах вы не найдете китайских иероглифов, непонятных знаков, смайликов и прочих ненужных символов; вы увидите только нормальный текст, знаки пунктуации и необходимые символы. Непарные скобки и кавычки удаляются.

    Участники складчины получат скрипт примерно на 830 строк (открытый код с комментариями), 3 словаря к нему, мануал с описанием установки интерпретатора Python (менее 30 Мб), порядока работы со скриптом и словарями, бонус в виде 3 небольших полезных скриптов для работы с текстовыми файлами.
    Словари - это обычные текстовые файлы. Внося в них изменения вы сможете улучшить качество текстов.
    В бибиотеке будут две портативные программы под Windows для написания/редактирования и запуска скрипта.
    Складчина для тех, у кого есть программа(ы) для парсинга. Никаких дополнительных расходов не потребуется.
    Материал рассчитан на тех, кто никогда не писал скриптов и программ.
    Я доволен качеством работы скрипта, предлагаю посмотреть 10 образцов исходных и обработанных текстов:


    Отзывы участников предыдущей складчины.

    В приватной ветке вы сможете предложить идеи по улучшению скрипта, если они будут здравые, я внесу изменения в код.
    Вы можете здесь разместить ссылки на свои тексты в облаке, я выложу обработанные файлы.
    К началу складчины в скрипте будет улучшена работа со словарями. Во второй складчине на 1 бонус больше.:)
     
    3 пользователям это понравилось.
  2. Последние события

    1. skladchik.com
      Складчина закрыта.
      24 апр 2018
    2. r0dos
      r0dos участвует.
      4 дек 2017
    3. stvlad
      stvlad участвует.
      21 ноя 2017
    4. skladchik.com
      В складчине участвует 20 человек(а).
      21 ноя 2017

    Последние важные события

    1. skladchik.com
      Складчина закрыта.
      24 апр 2018
    2. skladchik.com
      Складчина доступна.
      29 авг 2017
    3. skladchik.com
      Складчина активна.
      24 авг 2017
    4. skladchik.com
      Сбор взносов начинается 24.08.2017.
      19 авг 2017
  3. Обсуждение
  4. 24 ноя 2016
    #2
    Platon Shukin
    Platon Shukin ДолжникДолжник
    скрипты и обработка только русскоязычных текстов предусмотрена?
     
  5. 25 ноя 2016
    #3
    montero
    montero ЧКЧлен клуба (А)
    Основная версия скрипта для русского текста (в основном из-за словарей). Есть версия скрипта для буржунета, но словари вам придётся делать самостоятельно по аналогии с русскими.
     
    Последнее редактирование модератором: 25 ноя 2016
  6. 26 ноя 2016
    #4
    Руфф
    Руфф ЧКЧлен клуба
    Сравнил первый из примеров "Wella Уход за волосами", нашел почищенные целые предложения (напр., Рапунцель или Златовласка). Так и должно быть?

    Что тогда конкретно подразумевается под:
    - качественные предложения?
    - мусор?
    - различные ошибки?

    Наступив на маляку вроде « скрипт чистит все предложение, или как?
     
  7. 27 ноя 2016
    #5
    montero
    montero ЧКЧлен клуба (А)
    Анализ текстов на выходе парсеров показывает, что большую часть коротких предложений надо удалять. Часто это строки с форумов с указанием имён и возраста, иногда что-то другое в т.ч. мусор. Поэтому в скрипте сделан фильтр, который обрезает все строки длиной до 46 символов (при желании можно изменить). Таким образом скрипт работает быстрее, чем если бы на каждый вариант ненужного содержимого в коротких строках была бы написана отдельная регулярка (фильтр). Указанное предложение является коротким, по этому признаку оно удалено. Лучше удалить небольшой процент качественных коротких строк, чем возиться с ними всеми.
    Качественные предложения - хорошие с точки зрения русского языка, а также те, из которых можно с помощью небольших преобразований сделать хорошие.
    Мусор - наборы символов, не имеющие какого-либо смысла, начиная с многократных скобок (смайликов), времени, дат и заканчивая вот этим: 3#$;;/sаж &&&& шг*Юqwr46 .;####.
    Ошибки - прилипшее к скобке или кавычке слово, непарные скобки и кавычки, неправильное начало или окончание строки (число, число с точкой или запятой), второе двоеточие в пропорции ( 2:3: ) и т.п.
    Последнюю строку я не нашел указанном файле. « - спецсимвол html, скрипт заменяет их на нормальные символы, указанный будет заменён на левую двойную угловую скобку, остальная часть строки не изменится.
     
    1 человеку нравится это.
  8. 29 ноя 2016
    #6
    Квентин
    Квентин ЧКЧлен клуба
    А нам? :)
     
  9. 29 ноя 2016
    #7
    montero
    montero ЧКЧлен клуба (А)
    В этой складчине ценник повыше, поэтому я стараюсь дать больше. Мои складчины дают вам возможность быстро научиться писать скрипты для обработки текста. Вообще их надо не 3-4, а больше. Даже начинающий питонист может делать подобные бонусы за один вечер. Так что я всем заинтересованным в данной теме рекомендую поучить язык. Я сам начал писать скрипты после изучения половины среднего по объёму обучающего курса.
    В предыдущую складчину захожу, так что вы можете продолжать задавать вопросы.
     
  10. 29 ноя 2016
    #8
    Квентин
    Квентин ЧКЧлен клуба
    Благодарю Вас за ответ!

    Вопросы буду задавать.
     
  11. 23 июн 2017
    #9
    ПетькаЯ
    ПетькаЯ ЧКЧлен клуба (А)
    Емэйлы, номера телефонов в различных вариантах, адреса - чистит скрипт?
     
  12. 23 июн 2017
    #10
    montero
    montero ЧКЧлен клуба (А)
    Почту, телефоны - да. Адреса частично, сложность в том, что встречаются варианты, когда город не указан, только улица и дом, для 100% удаления всех адресов нужен список всех названий улиц. Дома могут указываться просто числом без слова "дом", буквы "д" или "д.". Этот вопрос можно будет победить пополнив словарь, с которым работает скрипт.
     
    1 человеку нравится это.
Статус обсуждения:
Комментирование ограничено.

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