Подтвердить что ты не робот

Кто-нибудь разбирался в Викисловаре?

Wiktionary - это словарь wiki, который охватывает многие языки. У него даже есть переводы. Мне было бы интересно разобрать его и играть с данными, кто-нибудь делает что-нибудь подобное раньше? Есть ли библиотека, которую я могу использовать? (Предпочтительно Python.)

4b9b3361

Ответ 2

Я когда-то загрузил викиатарную дамп, пытаясь собрать слова и определения для славянских языков. Я подошел к нему с помощью elementtree, чтобы перейти к файлу xml, который является дампом. Я бы не пытался очистить или просканировать сайт и просто загрузить xml-дамп, который wikimedia предоставляет для wiktionary. Перейдите в wikimedia downloads, найдите английские викиатарные дампы (enwiktionary) и перейдите к самому последнему дампу. Вероятно, вам понадобится файл pages-articles.xml.bz2, который представляет собой только контент статьи, никакой истории или комментариев. Разберите это с любыми библиотеками обработки xml, которые вы предпочитаете в python. Я лично предпочитаю elementtree. Удачи.

Ответ 3

wordnik проделал отличные определения синтаксического анализа и т.д. и у них есть отличный api

как и другие, упомянутые выше, wiktionary - это форматирование-катастрофа и не был создан для чтения на компьютере

Ответ 4

У меня была трещина при разборе немецкого виктуария. Я закончил тем, что записывал это слишком сложно, но я поставил код (не совсем убранный) на https://github.com/benreynwar/wiktionary-parser, прежде чем я дал вверх. Хотя существуют конвенции, используемые редакторами, они не применяются ничем иным, как надзорным надзором. Разнообразие шаблонов, используемых вместе со всеми опечатками на страницах, делает синтаксический анализ довольно сложным.

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

Ответ 5

Да, многие анализировали Викисловарь. Обычно вы можете найти прошлый опыт в архивах Викисловарь-l для рассылки.

Проект, не упомянутый другими ответами, - это DBPedia Визуальное извлечение RDF.

Десятки других исследовательских проектов проанализированы Викисловарь: вы можете найти несколько примеров из недавнего Викисловаря специального и в другие вопросы информационного бюллетеня Викимедиа.

Недавно кто-то также сделал Английский виртуозный REST API который включает неопределенное подмножество данных Викисловаря; планы на будущее еще неизвестны.

Ответ 6

Я только что сделал список слов из немецкого дампа:

bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words

Ответ 7

Вы можете играть с анализируемой в MySQL базе данных Викисловаря. Существует две базы данных (английская Викисловарь и Русская Викисловарь), созданная парсером, написанным на Java: http://wikokit.googlecode.com

Если вам нравится PHP, тогда вы можете играть с piwidict - PHP API для этого машиночитаемого Викисловаря 2

Ответ 8

Вам может быть интересно dbnary проект, а не питон, но интересный. Претензии поддерживают синтаксический анализ для 21 языка и он обеспечивает wikdict.

Ответ 9

Существует также JWKTL, который отлично справляется с анализом и извлечением структурированных данных из wiktionary. Он написан на Java и поддерживает публикации на английском, немецком и русском языках.

Ответ 10

Это зависит от того, насколько тщательно вам нужно разбирать его. Если вам просто нужно получить все содержимое слова на языке (определение, этимология, произношение, спряжение и т.д.), То это довольно легко. Я сделал это раньше, хотя в Java с помощью jsoup

Однако, если вам нужно разобрать его на разные компоненты контента (например, просто получить определения слова), тогда это будет намного сложнее. Викисловатая запись для слова на языке не имеет заранее определенного шаблона, поэтому заголовок может быть чем угодно: от <h3> до <h6>, порядок разделов может быть перепутан, они могут повторяться и т.д.