Как получить содержимое Викисловаря word?



как API Викисловаря может быть использован для определения того, существует ли слово?

844   6  

6 ответов:

The Wiktionary API может использоваться для запроса, существует ли слово.

примеры для существующих и несуществующих страниц:

http://en.wiktionary.org/w/api.php?action=query&titles=test http://en.wiktionary.org/w/api.php?action=query&titles=testx

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

чтобы получить данные слова в небольшом формате XHTML (если требуется больше, чем существование), запросите печать версия страницы:

http://en.wiktionary.org/w/index.php?title=test&printable=yes http://en.wiktionary.org/w/index.php?title=testx&printable=yes

они могут быть проанализированы с помощью любого стандартного синтаксического анализатора XML.

есть несколько предостережений в том, чтобы просто проверить, что Wiktionary имеет страницу с именем, которое вы ищете:

нюанс #1: все Викторы, включая английский Викисловарь, на самом деле имеют цель включить каждое слово на каждом языке, поэтому, если вы просто используете вызов API выше, вы будете знать, что слово, о котором вы спрашиваете, является словом по крайней мере на одном языке, но не обязательно на английском языке: http://en.wiktionary.org/w/api.php?action=query&titles=dicare

нюанс #2: возможно, редирект существует от одного слова к другому слову. Это может быть от альтернативного написания, но это может быть от какой-то ошибки. Вызов API выше не будет различать перенаправление и статью:http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry

нюанс #3: некоторые Викторы в том числе английский Викисловарь включает "распространенные орфографические ошибки":http://en.wiktionary.org/w/api.php?action=query&titles=fourty

нюанс #4: некоторые Wiktionaries позволяют заглушки записи, которые имеют мало или вообще никакой информации о термине. Раньше это было распространено на нескольких Викисловарях, но не на английском Викисловаре. Но, похоже, теперь он распространился и на английский Викисловарь:https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83 (Постоянная ссылка на when заглушка заполнена, поэтому вы все еще можете видеть, как выглядит заглушка: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161)

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

вы можете скачать дамп Wikitionary data. Там больше информации в FAQ. Для ваших целей определения свалку вероятно, это лучший выбор, чем дамп xml.

чтобы это было действительно просто, извлеките слова из дампа следующим образом:

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

возможно, вы захотите попробовать JWKTL. Я только что узнал об этом ;)

http://en.wikipedia.org/wiki/Ubiquitous_Knowledge_Processing_Lab#Wiktionary_API

http://www.ukp.tu-darmstadt.de/software/jwktl/

Если вы используете Python, вы можете использовать WiktionaryParser Суяш Бехера.

Вы можете установить его с помощью

sudo pip install wiktionaryparser

пример использования:

>>> from wiktionaryparser import WiktionaryParser
>>> parser = WiktionaryParser()
>>> word = parser.fetch('test')
>>> another_word = parser.fetch('test', 'french')
>>> parser.set_default_language('french')

Comments

    Ничего не найдено.