W jaki sposób można wykorzystać API Wikisłownika do określenia, czy słowo istnieje, czy nie?
api
dictionary
mediawiki-api
wiktionary
Armentage
źródło
źródło
Odpowiedzi:
Wikisłownik API może być użyty do zapytania, czy słowo istnieje.
Przykłady istniejących i nieistniejących stron:
Pierwsze łącze zawiera przykłady innych typów formatów, które mogą być łatwiejsze do przeanalizowania.
Aby pobrać dane słowa w małym formacie XHTML (powinno być wymagane więcej niż istnienie), poproś o wersję strony do druku:
Można je następnie przeanalizować za pomocą dowolnego standardowego parsera XML.
źródło
https://en.wiktionary.org/w/?curid=[page_id]&printable=yes
:, aby przekierować na stronę XHTML przy użyciupageid
.Jest kilka zastrzeżeń, jeśli chodzi o sprawdzenie, czy Wikisłownik ma stronę o nazwie, której szukasz:
Zastrzeżenie # 1 : Wszystkie Wikisłowniki, w tym angielski, mają na celu uwzględnienie każdego słowa w każdym języku, więc jeśli po prostu użyjesz powyższego wywołania API, będziesz wiedział, że słowo, o które pytasz, jest słowem w co najmniej jednym języku, ale niekoniecznie angielski: http://en.wiktionary.org/w/api.php?action=query&titles=dicare
Zastrzeżenie nr 2 : Być może istnieje przekierowanie z jednego słowa do innego. Może pochodzić z alternatywnej pisowni, ale może wynikać z jakiegoś błędu. Powyższe wywołanie API nie rozróżnia przekierowania od artykułu: http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry
Zastrzeżenie # 3 : Niektóre Wikisłowniki, w tym angielski, zawierają „typowe błędy ortograficzne”: http://en.wiktionary.org/w/api.php?action=query&titles=fourty
Ostrzeżenie # 4 : Niektóre Wikisłowniki dopuszczają wpisy pośredniczące, które zawierają niewiele informacji lub nie zawierają ich wcale. To było powszechne w kilku Wikisłownikach, ale nie w angielskim Wikisłowniku. Ale wydaje się, że teraz rozprzestrzenił się również na angielskie Wikisłownik: https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83 (link stały, gdy kod jest wypełniony, więc nadal możesz zobaczyć jak wygląda stub: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161 )
Jeśli nie są one zawarte w tym, czego chcesz, będziesz musiał załadować i przeanalizować sam wikitekst, co nie jest łatwym zadaniem.
źródło
&prop=info
do zapytania i sprawdź odpowiedź pod kątemredirect
atrybutu.Możesz pobrać zrzut danych Wikitionary . Więcej informacji znajduje się w FAQ . Dla twoich celów zrzut definicji jest prawdopodobnie lepszym wyborem niż zrzut xml.
źródło
Aby było to naprawdę proste, wyodrębnij słowa ze zrzutu w następujący sposób:
źródło
LANGwiktionary-DATE-pages-articles.xml.bz2
. Przejdź do łącza , a następnie kliknijLANGwiktionary
(LANG, np. „En”, „de” ...).Jeśli używasz Pythona, możesz użyć WiktionaryParser autorstwa Suyash Behera.
Możesz go zainstalować przez
Przykładowe użycie:
źródło
Możesz wypróbować JWKTL. Właśnie się o tym dowiedziałem;)
http://en.wikipedia.org/wiki/Ubiquitous_Knowledge_Processing_Lab#Wiktionary_API
http://www.ukp.tu-darmstadt.de/software/jwktl/
źródło
Jak wspomniano wcześniej, problem z tym podejściem polega na tym, że Wikisłownik dostarcza informacji o wszystkich słowach we wszystkich językach . Dlatego metoda sprawdzania, czy strona istnieje przy użyciu interfejsu API Wikipedii, nie zadziała, ponieważ istnieje wiele stron ze słowami innymi niż angielskie. Aby temu zaradzić, musisz przeanalizować każdą stronę, aby dowiedzieć się, czy istnieje sekcja opisująca angielskie słowo . Przetwarzanie wikitekstu nie jest prostym zadaniem, chociaż w twoim przypadku nie jest takie złe. Aby omówić prawie wszystkie przypadki, wystarczy sprawdzić, czy wikitekst zawiera
English
nagłówek. W zależności od używanego języka programowania, możesz znaleźć narzędzia do budowania AST z wikitekstu. Obejmie to większość przypadków, ale nie wszystkie, ponieważ Wikisłownik zawiera kilka typowych błędów ortograficznych.Alternatywnie możesz spróbować użyć Lingua Robot lub czegoś podobnego. Lingua Robot analizuje zawartość Wikisłowników i dostarcza ją jako REST API. Niepusta odpowiedź oznacza, że słowo istnieje. Zwróć uwagę, że w przeciwieństwie do Wikisłownika, samo API nie zawiera błędów ortograficznych (przynajmniej w momencie pisania tej odpowiedzi). Proszę również zauważyć, że Wikisłownik zawiera nie tylko słowa, ale także wyrażenia wielowyrazowe.
źródło
Możesz użyć Revisions API:
https://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=test&rvslots=*&rvprop=content&formatversion=2
lub Parse API:
https://en.wiktionary.org/w/api.php?action=parse&page=test&prop=wikitext&formatversion=2
Więcej przykładów znajduje się w dokumentacji .
źródło
Oto początek analizy danych dotyczących etymologii i wymowy:
Aktualizacja : Oto streszczenie, które jest bardziej rozwinięte.
źródło
langs
?langs
jest kilka tysięcy wierszy, za duży dla SO.