Home > スポンサー広告 > Aonaware Web Services DictServiceの WordNet英英辞書で調べる User JavaScript

スポンサーサイト

スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

2011-12-24 (土) 03:35

このコメントは管理者の承認待ちです

2011-12-24 (土) 03:36

このコメントは管理者の承認待ちです

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/181-1442729d
Listed below are links to weblogs that reference
スポンサーサイト from Karafuto Blog
Trackback from 2013-10-07 (月) 07:46

-

管理人の承認後に表示されます (more…)

Home > スポンサー広告 > Aonaware Web Services DictServiceの WordNet英英辞書で調べる User JavaScript

Home > user javascript > Aonaware Web Services DictServiceの WordNet英英辞書で調べる User JavaScript

Aonaware Web Services DictServiceの WordNet英英辞書で調べる User JavaScript

user javascript

aonawaredictservice_wordnetdictionary.js

Karafuto Blog: Aonaware Web Services DictServiceで調べたDictServiceを使って、英英辞書の User JavaScriptを作ってみた。

Operaのコンテキストメニューから User JavaScriptを呼び出し、Aonaware Web Services DictServiceからデータを取得して表示する。DictServiceは XMLを返すから、BadgerFishを利用して、JSONPに変換する。

Aonaware Web Services DictService

Aonaware Web Services DictServiceの APIの中から、辞書を選んで検索する DefineInDictを使用する。

DefineInDictのリクエスト URL
http://services.aonaware.com/DictService/DictService.asmx/DefineInDict?dictId=(辞書ID)&word=(単語)
(例)http://services.aonaware.com/DictService/DictService.asmx/DefineInDict?dictId=gcide&word=name

WordNet

英英辞書として使えそうな辞書は、The Collaborative International Dictionary of English v.0.48とWordNet (r) 2.0だが、The Collaborative International Dictionary of Englishのほうが情報量は多いが、返すデータが複数で、多かったり少なかったりするので、情報量が一定の WordNetを利用する。

WordNetを指定した DefineInDictのリクエスト URL
http://services.aonaware.com/DictService/DictService.asmx/DefineInDict?dictId=wn&word=(単語)
(例)http://services.aonaware.com/DictService/DictService.asmx/DefineInDict?dictId=wn&word=blank
XMLデータ
<?xml version="1.0" encoding="utf-8"?>
<WordDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://services.aonaware.com/webservices/">
    <Word>(単語)</Word>
    <Definitions>
        <Definition>
            <Word>(単語)</Word>
            <Dictionary>
                <Id>wn</Id>
                <Name>WordNet (r) 2.0</Name>
            </Dictionary>
            <WordDefinition>
                (意味、内容)
           </WordDefinition>
          </Definition>
      </Definitions>
</WordDefinition>

BadgerFishでXMLからJSONPに変換する

Aonaware Web Services DictServiceは XMLしか返さないので、スクリプトから利用しやすい JSONPに変換する。前にKarafuto Blog: イースト辞書Webサービスで英語を調べる User JavaScriptでやった時のようにYahoo! Pipesで可能だが、同じサービスばかりでも詰まらないから、BadgerFishを使ってみた。

BadgerFishのリクエスト URL
http://badgerfish.ning.com/xml2json.php?url=(URLエンコードしたWeb APIのURL)&jsonp=(関数名)
WordNetを指定した DefineInDictのURLをパラメータにした BadgerFishのリクエスト URL
http://badgerfish.ning.com/xml2json.php?url=http%3a%2f%2fservices%2eaonaware%2ecom%2fDictService%2fDictService%2easmx%2fDefineInDict%3fdictId%3dwn%26word%3d(単語)&jsonp=(関数名)
(例)http://badgerfish.ning.com/xml2json.php?url=http%3a%2f%2fservices%2eaonaware%2ecom%2fDictService%2fDictService%2easmx%2fDefineInDict%3fdictId%3dwn%26word%3ddefine&jsonp=callback
JSONPデータ
(関数名)({
    "WordDefinition":{
        "Word":{
            "$":"(単語)",
            "@xmlns":{
                "$":"http:\/\/services.aonaware.com\/webservices\/",
                "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
        }},
        "Definitions":{
            "Definition":{
                "Word":{
                    "$":"(単語)",
                    "@xmlns":{
                        "$":"http:\/\/services.aonaware.com\/webservices\/",
                        "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                        "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
                }},
                "Dictionary":{
                    "Id":{
                        "$":"wn",
                        "@xmlns":{
                            "$":"http:\/\/services.aonaware.com\/webservices\/",
                            "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                            "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
                    }},
                    "Name":{
                        "$":"WordNet (r) 2.0",
                        "@xmlns":{
                            "$":"http:\/\/services.aonaware.com\/webservices\/",
                            "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                            "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
                    }},
                    "@xmlns":{
                        "$":"http:\/\/services.aonaware.com\/webservices\/",
                        "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                        "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
                }},
                "WordDefinition":{
                    "$":"(単語の意味、内容)",
                    "@xmlns":{
                        "$":"http:\/\/services.aonaware.com\/webservices\/"
                        "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema"
                        "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
                }},
                "@xmlns":{
                    "$":"http:\/\/services.aonaware.com\/webservices\/",
                    "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                    "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
            }},
            "@xmlns":{
                "$":"http:\/\/services.aonaware.com\/webservices\/",
                "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
                "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
        }},
        "@xmlns":{
            "$":"http:\/\/services.aonaware.com\/webservices\/",
            "xsd":"http:\/\/www.w3.org\/2001\/XMLSchema",
            "xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"
}}})

選択した文字列を Aonaware Web Services DictServiceに渡し、返ってきたデータを表示するUser JavaScript

選択した文字列を Aonaware Web Services DictServiceに送り、WordNet辞書で調べる。その時に、BadgerFishを間に挟み、返ってくる XMLを JSONPに変換。コールバック関数で受け取り、英単語の説明を表示する。

単語の説明がたくさん返ってくることがあるので、名詞(n)、動詞(v)、形容詞(adj)、副詞(adv)の定義をそれぞれ三つまでに切っている。

  1. 文字列が選択されていなければ、何もしないで終わり。
  2. パイプから空のデータしか返ってこなければ、「単語は見つかりませんでした」と表示する。
  3. パイプからデータが返ってくれば(必ずしも翻訳に成功したとは限らないが)、左上に表示する。
  4. マウスを少し動かすか、ESCを押せば、表示を削除する。
ダウンロード

aonawaredictservice_wordnetdictionary.js

使い方

上のUser JavaScript(aonawaredictservice_wordnetdictionary.js)をダウンロードして、User JavaScriptを保存するフォルダにコピーする。

Operaのメニューファイルの[Hotclick Popup Menu]に以下を追加する。(Operaを再起動。)

Item, "WordNet英英辞書" = "Go to page, "javascript:opera.AonawareWordNetSearch();""

調べたい英単語を選択して、Operaのコンテキストメニューから上に書いたものを選べば、User JavaScriptが呼び出されて、調べた結果が左上に表示される。表示されたものは、マウスを動かすか、ESCを押せば消える。

注意

  • 選択した文字列に記号があったり、文字列が長い時にエラーが出る。
  • Aonaware Web Services DictService、BadgerFishと 2つのサービスを利用しているので、少し時間がかかる。
  • 当然、2つのサービスのどちらかが止まれば、このスクリプトは動かなくなる。

Comments:2

2011-12-24 (土) 03:35

このコメントは管理者の承認待ちです

2011-12-24 (土) 03:36

このコメントは管理者の承認待ちです

Comment Form

Trackback+Pingback:1

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/181-1442729d
Listed below are links to weblogs that reference
Aonaware Web Services DictServiceの WordNet英英辞書で調べる User JavaScript from Karafuto Blog
Trackback from 2013-10-07 (月) 07:46

-

管理人の承認後に表示されます (more…)

Home > user javascript > Aonaware Web Services DictServiceの WordNet英英辞書で調べる User JavaScript

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。