2016-08-03 23 views
0

Dies könnte am Ende eine sehr allgemeine Frage sein, aber hoffentlich wird es auch für andere nützlich sein.Wörterbuch-API für gestresste Silben verwendet

Ich möchte in der Lage sein, ein Wort anzufordern, das x Zahl der Silben mit einer Betonung auf x ist. [Y] Silbe. Ich habe viele APIs gefunden, die beide zurückgeben, wie zum Beispiel Wordnik, aber ich weiß nicht, wie ich mich dem Suchaspekt nähern soll. Die URL, um die Silben zu erhalten, ist

aber ich werde das Wort vor der Zeit nicht wissen, um diese Anfrage zu stellen. Sie haben auch dies:

GET /words.json/randomWords 

, die eine Liste zufällige Wörter zurückgibt.

Gibt es eine Möglichkeit, mit dieser API zu erreichen, was ich will, ohne immer wieder nach zufälligen Wörtern zu fragen und zu prüfen, ob sie meine Bedürfnisse erfüllen? Das scheint nur so, als wäre es wirklich langsam und dränge mich über meine Nutzungsgrenzen hinweg.

Muss ich meine eigene Datenstruktur mit den Wörtern und Silben erstellen, um lokal abzufragen?

+0

Leider bietet Wordnik diese Daten derzeit nicht an, aber etwas ähnliches ist auf unserer Roadmap. Ich habe kein Veröffentlichungsdatum, aber wenn Sie unserer API-Ankündigungsliste beitreten (http://wordnik.us2.list-manage1.com/subscribe?u=1c9b004e359a58df355705423&id=e142268969), werden Sie die erste sein, die davon erfährt. (Auch, bitte zögern Sie nicht, Feature-Anfragen senden!) – esperluette

+0

Wow! Ich habe nicht erwartet, dass jemand von Wordnik darauf reinkommt. Ich habe die Ankündigungsliste abonniert und freue mich darauf, Neues zu hören! – jemtan990

Antwort

1

Ich bezweifle, dass Sie diese Art von spezialisierten Abfrage auf einer der großen Wörterbuch APIs finden. Sie müssen ein englisches Wörterbuch herunterladen und Ihre eigene Datenstruktur erstellen, um so etwas zu tun.

The Moby Project hat ein Bindestrich-Wörterbuch mit etwa 185.000 Wörtern. Es gibt viele andere Wörterbuchprojekte. Ein guter Ort, um zu beginnen, ist http://www.dicts.info/dictionaries.php.

Sobald Sie das Wörterbuch heruntergeladen haben, müssen Sie es vorprozessieren, um Ihre Datenstruktur zu erstellen. Sie sollten in der Lage sein, eine Wörterbuch- oder Hash-Map zu erstellen, die mit (Silben, Betonung) indiziert ist und deren Datenelement eine Liste von Wörtern ist. Sie hätten also einen Eintrag wie (4, 2) (4-Silben Wort mit Betonung auf der 2. Silbe), und eine Liste aller solcher Wörter.

Um es abzufragen, dann würden Sie einfach die Abfrage in eine Struktur packen und diesen Schlüssel in der Hash-Map nachschlagen. Wählen Sie dann ein zufälliges Wort aus der resultierenden Liste.

+0

Dies ist die Antwort, die ich erwartet hatte, aber nicht gehofft hatte. Ich habe versucht, eine Abkürzung zu finden, aber ich denke, ich werde die rohe Arbeit machen. Danke für die Ressourcen! – jemtan990