Я новичок в этом, писательство не самое сильное из моих умений. Я не считаю, что то, что я должен сказать, наводит на размышления, ново или даже важно. Поэтому вместо того, чтобы идти на что-то особенное, я бы использовал среду, чтобы развлечь себя своими мыслями и получить ясность в отношении того, над чем я работаю.

Так над чем я работаю?

(Слишком много вещей)

Прочитав книгу Алекса Рейнхарта Statistics Done Wrong, я был вынужден исследовать многословие и глубину, с которой научные статьи представляют свои выводы. Так что я состряпал сценарий веб-скрейпинга и запустил его в работу на выходных, посвященных затмению. Оказывается, не стоит оставлять автономный непроверенный скрипт майнинга статей, когда вы отправляетесь в интернет на выходные. К счастью для меня, скрипт рухнул на второй день (вероятно, не по моей вине, я буду винить библиотеку запросов).

Имея в своем распоряжении около 10 500 статей в формате PDF, я попытался преобразовать их в необработанный текст. К счастью, для этого есть библиотека Python! PDFMiner — замечательный небольшой инструмент, который заставил меня работать с текстом в кодировке Unicode и ascii примерно за 10 минут. Теперь, чтобы очистить его.

Поскольку я просто хочу посмотреть на используемые слова, я удалил юникод и знаки препинания. Затем я обнаружил, что при преобразовании PDF в текст у меня осталось множество слов, которые были разбиты вместе, например: «positionfrom» и «nonfullrank». Я должен был придумать способ исправить это.

Мне нравятся такие проблемы, потому что я знаю, что решение есть, но я предпочитаю создавать его самостоятельно и разбираться в мельчайших деталях. Мое решение может быть не самым лучшим, самым быстрым или самым красивым, но оно мое, и я могу настроить его по своему усмотрению. Гаечный ключ: некоторые из этих строк состоят из 2, 3 или 4 слов. И что еще хуже, некоторые слова являются именами собственными.

С помощью stack-exchange я смог получить список всех кусков строки. Было бы неплохо, если бы был быстрый способ проверить, написано ли слово с ошибкой… К счастью, для этого есть библиотека Python! (Для этого должна быть аббревиатура.) После быстрого pip install «pyenchant» я был готов проверить каждую подстроку и присвоить логическое значение для правильного написания, я даже разрешил правильное написание, если подстрока появлялась в моей статье (заботясь о большинстве этих надоедливых имен собственных).

Теперь я отправляюсь на гонки, чтобы построить корпус слов и посмотреть на частоту статистических терминов в моих очищенных статьях.

Итак, чему я научился из всего этого?

Для этого есть библиотека,но ничто не сравнится с созданием собственного медленного и неуклюжего метода. Конечно, я мог бы создать свой собственный метод для фактической проверки орфографических ошибок (у меня есть набор слов, которые просто пересекают мое слово с набором слов). ), но я, вероятно, потратил бы остаток недели на поиски первого шага в написании конвертера PDF. Выбирайте свои сражения и занимайтесь тем, что кажется недостижимым.

Проверьте репозиторий, если хотите.

Еще не все…