Создание текстового корпуса Википедии для обработки естественного языка

Одним из первых вещей, необходимых для задач обработки естественного языка (NLP), является корпус. В лингвистике и НЛП корпус (буквально латинский для тела) относится к коллекции текстов. Такие коллекции могут состоять из одного языка текстов или могут охватывать несколько языков - существует множество причин, по которым многоязычные корпуса (множественное число корпуса) могут быть полезны. Корпора может также состоять из тематических текстов (исторических, библейских и т. Д.). Корпорации обычно используются исключительно для статистического лингвистического анализа и проверки гипотез.

Хорошо, что Интернет заполнен текстом, и во многих случаях этот текст собран и хорошо организован, даже если он требует некоторого подбора в более удобный, точно определенный формат. В частности, Википедия является богатым источником хорошо организованных текстовых данных. Это также обширная коллекция знаний, и беспрепятственный ум может придумывать всевозможные варианты использования именно такого текста.

Здесь мы сделаем корпус из набора статей из английской Википедии, которые свободно и удобно доступны онлайн.

Здесь мы сделаем корпус из набора статей из английской Википедии, которые свободно и удобно доступны онлайн


Установить Генсим

Для того, чтобы легко создать текстовый корпус без разметки статьи Википедии, мы будем использовать gensim , тематическое моделирование библиотека для Python. В частности, класс gensim.corpora.wikicorpus.WikiCorpus создан именно для этой задачи:

Создайте корпус из дампа базы данных Википедии (или другого MediaWiki).

Для того, чтобы правильно выполнить следующие шаги, вам нужно будет иметь Gensim установлен , Это достаточно простой процесс; используя пункт:

Двигаясь дальше ...


Загрузите файл дампа Википедии

Файл дампа Википедии также необходим для этой процедуры, что вполне очевидно. Самые последние такие файлы можно найти Вот ,

Предупреждение: последний такой файл дампа базы данных английской Википедии имеет размер ~ 14 ГБ, поэтому загрузка, хранение и обработка указанного файла не совсем тривиальны.

Файл, который я нашел и использовал для этой задачи, был enwiki-latest-pages-articles.xml.bz2. Загрузите его или другой подобный файл для использования в следующих шагах.


Сделать корпус

Я написал простой скрипт на Python (с вдохновением от Вот ) построить корпус, убрав из статей всю разметку Википедии, используя gensim. Вы можете прочитать о классе WikiCorpus (упомянутом выше) Вот ,

Код довольно прост: файл дампа Википедии открывается и читается статья за статьей, используя метод get_texts () класса WikiCorpus, каждый из которых в конечном итоге записывается в один текстовый файл. Файл дампа Википедии и полученный файл корпуса должны быть указаны в командной строке.

$ python make_wiki_corpus enwiki-latest-pages-article.xml.bz2 wiki_en.txt Обработано 10000 статей Обработано 20000 статей Обработано 30000 статей Обработано 50000 статей Обработано 60000 статей Обработано 70000 статей Обработано 80000 статей Обработано 90000 статей Обработано 90000 статей Обработано 100000 статей ...

Через несколько часов приведенный выше код оставляет мне файл с именем wiki_en.txt.


Проверьте корпус

Затем второй скрипт проверяет текстовый файл корпуса, который мы только что создали.

Теперь имейте в виду, что этот большой файл дампа Википедии привел к созданию очень большого файла корпуса. Учитывая его огромный размер, у вас могут возникнуть трудности при считывании полного файла в память за один раз.

Затем этот сценарий начинается с чтения 50 строк - что равняется 50 полным статьям - из текстового файла и вывода их на терминал, после чего вы можете нажать клавишу, чтобы вывести еще 50, или набрать «STOP», чтобы выйти , Если вы остановитесь, скрипт продолжит загрузку всего файла в память. Что может быть проблемой для вас. Тем не менее, вы можете проверять текст партиями строк, чтобы удовлетворить ваше любопытство, что в результате запуска первого сценария произошло что-то хорошее.

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

Файл корпуса должен быть указан в командной строке для выполнения.

$ python check_wiki_corpus.py wiki_en.txt ... лучшие любимые патриотические песни harperresource внешние ссылки mp и записи realaudio доступны в библиотеке слова конгресса Соединенных Штатов слова ноты midi file в кибер-гимнале Америка - прекрасный парк в Колорадо-Спрингс, названный в честь Кэтрин Ли Бейтс слова архивная коллекция Америки красивый фонарь слайд из другого бесплатного ноты >>> Чтобы выйти, нажмите «STOP» или нажмите клавишу Enter для получения дополнительной информации <<<

И это все. Некоторый простой код, чтобы выполнить то, что gensim делает простую задачу. Теперь, когда вы вооружены достаточным корпусом, мир обработки естественного языка - ваша устрица. Время для веселья.


Связанные :

Похожие

Языковые курсы - разные языковые уровни для каждого типа курса
30 ноября 16:37 https://www.sprachreisen.org/sprachreisenratgeber/sprachniveau/articles/prachniveau-testen-und-den-richtigen-kurs-auswahlen 2018-11-30 2013-12-31 Sprachreisen.org Sprachreisen.org https://www.sprachreisen.org/assets/logo-sprachreisen-7252bfdc708f9fa7d02311ba55ba6910c758dc1afb48f8dea531ac662119a448.png Категория: языковые курсы /
Как я могу дважды загрузить Windows XP и Windows 7?
Настройка компьютера для двойной загрузки двух операционных систем может быть еще более неприятной. Двойная загрузка - это процесс установки двух отдельных операционных систем на один компьютер с возможностью выбора, какую из них запускать. Независимо от того, выберете ли вы запуск дважды, потому что вас не устраивает обновление, или просто потому, что вам нравятся аспекты каждой операционной системы, процесс один и тот же. Windows 7 является крупным обновлением Windows XP, но обе операционные
Картинка по кругу за 60 секунд. Нет свободной программы без графики
... для этой цели, которая у меня есть на диске. Оказалось, что :-) Если после этого наша фотография не будет напечатана на рекламном щите, мы можем успешно использовать Word или PowerPoint. Все, что вам нужно, это 60 секунд, и у нас есть готовая фотография в кругу (возможно, в сердце, если вы предпочитаете ;-) Теперь я постараюсь описать, как стать опытным графическим дизайнером, имея в своем распоряжении только офисную упаковку. ОБНОВЛЕНИЕ (11.01.2018) Это одна из самых популярных
Окончательное руководство по доставке Shopify
Для многих предпринимателей запуск магазина прямой поставки Shopify - отличный способ проникнуть в электронная коммерция , Мы знаем, что тратить время и деньги на управление вашими запасами очень сложно. Вот почему создание интернет-магазина, в котором используется бизнес-модель с прямой доставкой, является отличным вариантом, так как вам никогда не понадобится проводить какие-либо запасы. Вы сможете сосредоточить свое драгоценное
Изучение лучших книг для чтения
Умение читать книги помогает вашему мальчику или девочке лучше использовать знания начальной школы. Захватывающие истории способствуют потоку чтения и творчества. Если ваш ребенок освоит алфавит и начнет читать первые тексты в школе, вы также можете начать с первых простых детских книг. Учебные книги для чтения: наши 6 рекомендаций Книжный рынок не может быть больше, и поэтому это нелегкое решение. Какую книгу читать? Мы выбрали 6 рекомендаций для чтения руководств, которые
Какую книгу читать?