23

単語の定義を検索するための優れた辞書 API または Ruby ライブラリを知っている人はいますか?

私はそれが次のように動作するはずだと考えています:

  1. get_definition(word) を呼び出します
  2. その単語の定義を返します (理想的には、表示用に定義を簡単にフォーマットする何らかの方法で.

ありがとう

4

4 に答える 4

16

Wordnik.comには、定義APIを含むいくつかのword-infoAPIがあります。詳細はこちら:http ://developer.wordnik.com/

[私はWordnikで働いています。間もなくAPIが増える予定ですので、ご希望をお知らせください。]

于 2010-02-05T00:03:03.023 に答える
14

昨日、このためのWebサービスを発見しました。

ブリティッシュ・カウンシルのホームページに移動し、任意の単語 (まだハイパーリンクになっていない) をダブルクリックします。

これにより、Cambridge Dictionary の定義を含むポップアップ ウィンドウが開きます。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');
    }
}
于 2008-10-19T16:37:12.273 に答える
6

Ruby-WordNetは、探していることを実行しているように聞こえます。

Ruby-WordNet は、WordNet® 字句データベースへの Ruby インターフェイスです。WordNet は、人間の語彙記憶に関する現在の心理言語学理論に着想を得て設計された、オンラインの語彙参照システムです。英語の名詞、動詞、形容詞、副詞は同義語セットに編成されており、それぞれが 1 つの基本的な語彙概念を表しています。さまざまな関係がシノニム セットをリンクします。

于 2008-10-19T16:44:35.190 に答える
1

Dictionary.com の API (数年前) のラッパーもあります。

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/

于 2008-10-19T17:07:34.957 に答える