Вопрос

Кто-нибудь знает хороший словарный API или библиотеку Ruby для поиска определений слов?

Я думаю, это должно работать примерно так:

  1. Я вызываю get_definition(word)
  2. Он возвращает определение этого слова (в идеале, чтобы его можно было легко отформатировать для отображения.

Спасибо

Это было полезно?

Решение

Руби-WordNet похоже, он делает то, что вы ищете:

Ruby-Wordnet-это интерфейс Ruby для лексической базы данных Wordnet®.Wordnet - это онлайн -лексическая справочная система, дизайн которой вдохновлен текущими психолингвистическими теориями лексической памяти человека.Английские существительные, глаголы, прилагательные и наречия организованы в наборы синонимов, каждый из которых представляет собой одну лежащую лексическую концепцию.Различные отношения связывают наборы синонимов.

Другие советы

Wordnik.com имеет несколько API-интерфейсов информации о словах, включая API определений.Дополнительная информация здесь: http://developer.wordnik.com/

[Я работаю в Wordnik.Скоро у нас будет больше API, дайте нам знать, что вы хотите!]

Вчера я обнаружил для этого веб-сервис.

Перейти к британский консул домашнюю страницу и дважды щелкните любое слово (которое еще не является гиперссылкой).

Должно открыться всплывающее окно с определением из Кембриджского словаря.API относительно прост (и это публичный API, я проверил его вчера):

http://dictionary.cambridge.org/learnenglish/results.asp?searchword=SEARCH_PHRASE&dict=L

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

/* BC double-click pop-up dictionary */
var NS = (navigator.appName == "Netscape" || navigator.product == 'Gecko') ? 1 : 0;
if (NS) document.captureEvents(Event.DBLCLICK);
document.ondblclick = dict;
var dictvar;

function dict() {
    if (NS) {
        t = document.getSelection();
        pass_to_dictionary(t);
    } else {
        t = document.selection.createRange();
        if(document.selection.type == 'Text' && t.text != '') {
            document.selection.empty();
            pass_to_dictionary(t.text);
        }
    }
}

function pass_to_dictionary(text) {
    //alert(text);
    if (text > '') {
        window.open('http://dictionary.cambridge.org/learnenglish/results.asp?searchword='+text+ '&dict=L', 'dict_win', 'width=650,height=400,resizable=yes,scrollbars=yes');
    }
}

есть также оболочки для API словаря.com (которому уже несколько лет)

http://rubyforge.org/snippet/detail.php?type=snippet&id=53

http://rubyforge.org/snippet/detail.php?type=snippet&id=52

и викисловарь

http://eightpence.com/ninjawords-a-fast-online-dictionary-fast-like-a-ninja/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top