JP5276903B2 - 閲覧システム、プラグインプログラム、ならびに、紹介プログラム - Google Patents

閲覧システム、プラグインプログラム、ならびに、紹介プログラム Download PDF

Info

Publication number
JP5276903B2
JP5276903B2 JP2008149206A JP2008149206A JP5276903B2 JP 5276903 B2 JP5276903 B2 JP 5276903B2 JP 2008149206 A JP2008149206 A JP 2008149206A JP 2008149206 A JP2008149206 A JP 2008149206A JP 5276903 B2 JP5276903 B2 JP 5276903B2
Authority
JP
Japan
Prior art keywords
web service
introduction
text
request
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008149206A
Other languages
English (en)
Other versions
JP2009294995A5 (ja
JP2009294995A (ja
Inventor
涛 程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2008149206A priority Critical patent/JP5276903B2/ja
Priority to PCT/JP2009/053733 priority patent/WO2009147879A1/ja
Publication of JP2009294995A publication Critical patent/JP2009294995A/ja
Publication of JP2009294995A5 publication Critical patent/JP2009294995A5/ja
Application granted granted Critical
Publication of JP5276903B2 publication Critical patent/JP5276903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用しやすくし、その結果をユーザが確認しやすくするのに好適な、閲覧システム、当該ブラウザで実行されるプラグインプログラム、ならびに、当該プラグインプログラムと共働する紹介装置を実現するための紹介プログラムに関する。
従来から、インターネット内に配置された文書を、ユーザの端末装置から閲覧するWWW(World Wide Web)システムが提供されている。このようなウェブ文書を閲覧するためのアプリケーションはブラウザと呼ばれ、各種のブラウザが各社から提案されている。
ブラウザを経由して利用できるサービスには、外国語で作成されたウェブ文書をユーザの母国語に飜訳するものがある。たとえば、あるシステムでは、ユーザが飜訳を希望するウェブ文書のURL(Universal Resource Locater)を、CGI(Common Gateway Interface)を用いて飜訳サーバに知らせ、飜訳サーバが当該ウェブ文書を取得した後に飜訳を行い、飜訳後の文書をユーザのブラウザに提供して表示させることとしている。
このように、各種の飜訳、辞書検索、辞典検索、商品検索、地図検索など、ユーザが指定したテキスト等を処理対象データとし、これに対して所定の処理を施して、その結果を、処理結果データとして、当該ユーザに提供するウェブサービスが、各種提供されており、関連技術が以下の文献に開示されている。
特許第3422897号公報 周安平、田中久美子「Omniget: 第三者情報を提示するブラウザ内ブラウザ」言語処理学会 第14回年次大会 発表論文集 p.717−720
ここで、[特許文献1]には、ブラウザが動作するオペレーティング・システムのシステムコールにフックをかけてマウスカーソルの近傍に表示される文字列を取得し、当該文字列の飜訳結果をポップアップ表示する技術が開示されている。
また、[非特許文献1]には、ユーザがあるウェブ文書の閲覧を希望する場合に、ユーザ本人でも、ウェブ文書提供者でもない、第三者の意見を聞きたい場合を考慮し、たとえば上記の飜訳サービスを「第三者の意見」として当該ウェブ文書の飜訳文が提供される場合に、ポップアップ表示により当該翻訳文を提示する技術が開示されている。
しかしながら、ポップアップ表示による手法では、ユーザが注目する位置の近傍にポップアップ表示がなされることから、ポップアップ表示によって元のウェブ文書が隠され、ユーザが元のウェブ文書を閲覧しにくくなってしまう、という問題が生じる。また、「第三者の意見」として複数のウェブサービスが使用できる場合に、ユーザが望む情報を、通信負荷を抑制しつつ、適切に提示する技術が望まれている。
本発明は、このような課題を解決するためになされたもので、ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用しやすくし、その結果をユーザが確認しやすくするのに好適な、閲覧システム、当該ブラウザで実行されるプラグインプログラム、ならびに、当該プラグインプログラムと共働する紹介装置を実現するための紹介プログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係る閲覧システムは、閲覧用コンピュータと、複数のウェブサービス装置と、紹介装置と、を有し、以下のように構成する。
すなわち、閲覧用コンピュータは、ブラウザプログラムを実行することにより、URL受付部、文書取得部、表示部として機能する。
ここで、URL受付部は、URL(Universal Resource Locator)を指定するURL指示入力を受け付ける。
一方、文書取得部は、受け付けられた指示入力に指定されるURLに配置されるウェブ文書を取得する。
さらに、表示部は、取得されたウェブ文書のDOM(Document Object Model)ツリーに基づいて、当該ウェブ文書を画面に描画して表示する。
一方、複数のウェブサービス装置のそれぞれは、サービス要求受信部、サービス処理部、サービス応答送信部を備える。
ここで、サービス要求受信部は、処理対象データを指定するウェブサービス要求を受信する。
一方、サービス処理部は、受信されたウェブサービス要求に指定される処理対象データに所定のウェブサービス処理を施す。
さらに、サービス応答送信部は、所定の処理を施して得られた処理結果データを指定するウェブサービス応答を、当該ウェブサービス要求の送信元に送信する。
さらに、紹介装置は、紹介要求受信部、サービス選択部、紹介応答送信部を備える。
ここで、紹介要求受信部は、テキストを指定する紹介要求を受信する。
一方、サービス選択部は、受信された紹介要求に指定されるテキストを処理可能なウェブサービス装置を、複数のウェブサービス装置から選択する。
さらに、紹介応答送信部は、選択されたウェブサービス装置を指定する紹介応答を当該紹介要求の送信元へ送信する。
そして、閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、プラグインプログラムを実行することにより、位置受付部、テキスト取得部、紹介要求送信部、紹介応答受信部、要素挿入部、表示制御部として機能する。
ここで、位置受付部は、表示されたウェブ文書の文書内の位置を指定する位置指示入力を受け付ける。
一方、テキスト取得部は、表示されたウェブ文書のDOMツリーのうち、受け付けられた位置指示入力に指定される位置に表示されるテキストを取得する。
さらに、紹介要求送信部は、取得されたテキストを指定する紹介要求を、紹介装置に送信する。
そして、紹介応答受信部は、紹介装置から送信された紹介応答を受信する。
一方、要素挿入部は、受信された紹介応答に指定されるウェブサービス装置に、取得されたテキストを処理対象データとして指定するウェブサービス要求を送信することによって当該ウェブサービス装置から送信されるウェブサービス応答に指定される処理結果データが埋め込まれるべき埋込用要素ノードを、表示されたウェブ文書のDOMツリーのうち、取得されたテキストの近傍に挿入する。
さらに、表示制御部は、表示されたウェブ文書のDOMツリーに要素ノードが挿入され、もしくは、ウェブサービス応答が受信され、当該ウェブサービス応答に指定される処理結果データが埋込用要素ノードに埋め込まれると、表示部に当該変更されたウェブ文書を再描画させて当該画面に表示させる。
また、本発明の閲覧システムは、以下のように構成することができる。
すなわち、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行する閲覧用コンピュータにおいて、テキスト取得部は、受け付けられた位置指示入力に指定される位置を含む要素ノードのうち、あらかじめ定められた種類の要素ノードであって、最小の要素ノードを、表示されたウェブ文書のDOMツリーから検索し、当該検索された最小の要素ノードの子孫であるテキストノードのテキストが
(1)取得されていなければ、当該テキストを、当該取得された結果のテキストとし、
(2)過去に取得済みであれば、テキストは取得できなかったものとする。
一方、要素挿入部は、インラインフレーム要素、オブジェクト要素、もしくは、スクリプト要素のノードを当該埋込用要素ノードとして用いる。
また、本発明の閲覧システムは、以下のように構成することができる。
すなわち、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行する閲覧用コンピュータにおいて、当該あらかじめ定められた種類の要素ノードには、アンカー要素ノードが含まれ、取得された最小の要素ノードがアンカー要素ノードである場合、既に、当該アンカー要素ノードの子孫であるテキストノードのテキストが過去に取得済みであれば、URL受付部は、当該アンカー要素ノードに指定されるURLを、URL指示入力に指定されるものとして受け付ける。
また、本発明の閲覧システムは、以下のように構成することができる。
すなわち、紹介装置において、サービス選択部は、当該複数のウェブサービス装置の受信された紹介要求に指定されるテキストに対する適合度をそれぞれ計算し、当該適合度が、所定の閾値以上であるウェブサービス装置を選択し、当該ウェブサービス装置が複数選択された場合、紹介応答送信部は、当該選択されたウェブサービス装置について計算された適合度の順をさらに紹介応答に指定する。
一方、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行する閲覧用コンピュータにおいて、要素挿入部は、受信された紹介応答にウェブサービス装置が複数指定されている場合、当該指定された複数のウェブサービス装置のうち、当該適合度が最大のウェブサービス装置に対する当該埋込用要素ノードと、当該適合度が2位以下のウェブサービス装置のそれぞれに対する問合せ用要素ノードと、を、表示されたウェブ文書のDOMツリーのうち、取得されたテキストの近傍に挿入する。
さらに、閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行することにより、ノード置換部としてさらに機能する。
ここで、受け付けられた位置指示入力に指定される位置を含む要素ノードが、当該問合せ用要素ノードのいずれかである場合、ノード置換部は、当該問合せ用要素ノードに対するウェブサービス装置に対する埋込用要素ノードを、当該問合せ用要素ノードの位置に挿入し、当該問合せ用要素ノードを非表示もしくは削除することにより、当該問合せ用要素ノードと当該埋込用要素ノードで置換する。
また、本発明の閲覧システムは、以下のように構成することができる。
すなわち、紹介装置において、サービス選択部は、当該ウェブサービス装置の適合度を、当該テキストが含まれていたウェブ文書の文字コードおよび当該テキストに含まれる文字の出現頻度に基づいて計算する。
また、本発明の閲覧システムにおいて、閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行することにより、報告送信部としてさらに機能する。
ここで、ノード置換部により、当該問合せ用要素ノードが当該埋込用ノードに置換されると、報告送信部は、当該置換された問合せ用要素ノードに対するウェブサービス装置のウェブサービス要求がされた旨を指定する要求報告を、紹介装置に送信する。
一方、紹介装置は、報告受信部、回数積算部としてさらに機能する。
ここで、報告受信部は、ウェブサービス装置のウェブサービス要求がされた旨を指定する要求報告を受信する。
一方、回数積算部は、当該複数のウェブサービス装置のそれぞれが、受信された要求報告に指定されていた回数を積算する。
さらに、サービス選択部は、当該ウェブサービス装置の適合度を、積算された回数に基づいて計算する。
また、本発明の閲覧システムにおいて、報告送信部は、当該ウェブサービス要求がされるごとにその旨を蓄積し、当該紹介要求に当該蓄積された情報に基づいて当該ウェブサービス要求がされた旨を指定することにより、当該要求報告を送信し、報告受信部は、紹介要求受信部が当該紹介要求を受信するごとに、当該紹介要求に指定されているウェブサービス要求を取得することにより、当該要求報告を受信するように構成することができる。
また、本発明の閲覧システムは、ユーザが当該ブラウザプログラムに登録したブックマークレットを、当該ウェブ文書が表示された後に、当該ユーザが選択すると、当該ブックマークレットのプログラムが、当該閲覧用コンピュータを、紹介装置から当該プラグインプログラムをロードして実行するように機能させるように構成することができる。
本発明のその他の観点に係るプログラムは、上記閲覧システムにおいて、ブラウザプログラムが実行されている環境で閲覧用コンピュータにより実行されるべきプラグインプログラムである。
本発明のその他の観点に係るプログラムは、紹介用コンピュータを、上記の閲覧システムの紹介装置の各部として機能させる紹介プログラムである。
本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
本発明によれば、ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用しやすくし、その結果をユーザが確認しやすくするのに好適な、閲覧システム、当該ブラウザで実行されるプラグインプログラム、ならびに、当該プラグインプログラムと共働する紹介装置を実現するための紹介プログラムを提供することができる。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、一般的な情報処理装置に本発明が適用される実施形態を説明するが、各種のゲーム装置、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
図1は、本発明の閲覧システムの実施形態の1つに係るウェブサービス装置、紹介装置、閲覧用コンピュータが実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置101は、CPU(Central Processing Unit;中央処理ユニット)102によって制御される。情報処理装置101に電源を投入すると、CPU 102は、ROM 103に記憶されたIPL(Initial Program Loader;初期プログラムローダ)を実行する。
IPLは、ハードディスク104、FDドライブ110に装着されたFD、CD−ROMドライブ(CDD)111に装着されたCD−ROMなどの記録媒体に記憶されたOS(Operating System;オペレーティング・システム)プログラムを読み出して実行するプログラムである。
OSを起動した後、CPU 102は、キーボード105やマウス106などにより入力されたユーザの指示にしたがって、あるいは、ハードディスクなどにあらかじめ記述された設定ファイルの内容にしたがって、ハードディスクなどに記憶されたアプリケーションプログラムを実行する。
ここで、本実施形態におけるウェブサービス装置や紹介装置を構成するサーバ用コンピュータでは、サーバ用プログラムがアプリケーションプログラムに相当し、閲覧装置用コンピュータでは、ブラウザプログラムおよび当該ブラウザプログラムの機能を付加するプラグインプログラムがアプリケーションプログラムに相当する。
キーボード105や、マウス106などを操作することによって、各種の情報が入力される。ハードディスク104、FDドライブ110に装着されたFD、CD−ROMドライブ111に装着されたCD−ROMなどの記憶媒体に、各種の情報が記録されることになる。
CPU 102は、プログラムの実行の際に、RAM 107を一時的な作業用記憶領域として用いる。このほか、一時的な作業用記憶領域として、CPU 102内に設けられたレジスタやキャッシュ(図示せず)が使われる。
プログラムの実行に伴ない、途中経過を見せるため、CPU 102は、液晶ディスプレイやCRT(Cathode Ray Tube)などの表示装置108に当該情報を表示することができる。マウス106による指示操作では、マウス106を移動することにより、画面に表示されたカーソルが移動し、マウス106をクリックすることにより、カーソルが指すメニュー項目を選択することができる。
情報処理装置101は、NIC(Network Interface Card)やモデムなどのインターフェース109を介してインターネットなどのコンピュータ通信網と通信を行うことができる。インターフェース109を介して受信した字画入力を処理の対象としたり、出力された文字をインターフェース109を介して送信したり、インターフェース109を介して受信したプログラムを実行したり、などができる。
閲覧用コンピュータにて、一般的なブラウザプログラムが動作している状況下では、画面にウェブ文書が表示されていると、他のウェブ文書に対するアンカーが画面に表示される。
ブラウザプログラムの既定の動作、すなわち、プラグインプログラムを導入していないときの動作では、ユーザがマウス106を利用してアンカーをシングルクリックすると、インターネット内でアンカーのURLに配置されたウェブ文書が取得され、取得されたウェブ文書のDOMツリーがRAM 107内に構築されて、当該DOMツリーにしたがって、ウェブ文書の内容が画面に表示される。
ここで、他のウェブ文書に対するアンカーは、アンカー要素、すなわち、href属性に当該ウェブ文書のURLが指定されるa要素によって表現され、画面には、a要素の開始タグと終了タグに挟まれたテキストが表示され、このテキストをマウスでクリックすることにより、リンクされたウェブ文書が画面に表示される。
以下、この処理を繰り返すことにより、ユーザは、URLを指定するアンカーで連結されたウェブ文書を次々と閲覧することができる。
なお、携帯電話などの携帯端末を閲覧用コンピュータとして使用する場合には、表示されているウェブ文書の上下のスクロールを矢印キーで行うと、アンカーが順次強調表示されて現在注目している旨がユーザに提示され、ユーザが、所望のアンカーが強調表示されているときに、決定キーを押すと、そのアンカーに対するウェブ文書の取得が開始される。
以下では、理解を容易にするため、マウス106を利用した操作体系を中心に説明するが、本実施形態は、必ずしもマウス106を必須とするものではなく、ウェブ文書を閲覧するためのブラウザ一般に適用可能である。
図2は、ブラウザプログラムを実行している閲覧用コンピュータの概要構成を示す模式図である。以下、本図を参照して説明する。
すなわち、閲覧用コンピュータ201は、ブラウザプログラムを実行することにより、URL受付部202、文書取得部203、表示部204として機能する。
ここで、URL受付部202は、URL(Universal Resource Locator)を指定するURL指示入力を受け付ける。たとえば、URL指示入力は、マウス106を用いたアンカーのクリックによって生じることになる。
一方、文書取得部203は、受け付けられた指示入力に指定されるURLに配置されるウェブ文書を取得する。すなわち、CPU 101の制御の元、インターフェース109を介してウェブ文書が取得される。
さらに、表示部204は、取得されたウェブ文書のDOM(Document Object Model)ツリーに基づいて、当該ウェブ文書を画面に描画して表示する。取得されたウェブ文書のDOMツリーは、RAM 107内に展開され、DOMツリーにしたがって、表示装置108にウェブ文書の内容が表示される。
このようなブラウザプログラムが動作する環境においては、JavaScript、JScript、ECMAScriptなどのプログラミング言語で記述されたスクリプトを実行することができる。本実施形態におけるプラグインプログラムは、このようなスクリプトにより実現され、ウェブ文書の表示の際に実行される。
プラグインプログラムを指定する手法には、以下のようなものがある。すなわち、ウェブ文書内に直接埋め込む手法、ウェブ文書内にプラグインプログラムが配置されているURLを埋め込む手法などである。
このほか、ウェブ文書がすでに画面に表示されている状態で、ブックマークレットを選択することによって、当該表示済みウェブ文書に対して、プラグインプログラムを実行することもできる。
ここで、ブックマークレットとは、JavaScript等で記述されたプログラム断片をユーザの「お気に入り」などのリンク集に登録したものをいう。当該プログラム断片には、プラグインプログラムを所定のURLからロードして、現在表示されているウェブ文書に対して処理を行う旨が記述されているのである。
ブックマークレットは、ブラウザに用意されているメニューを選択したり、ツールバーのボタンをクリックしたりすることで、実行が可能である。
また、ブックマークレットに相当する機能は、あらかじめ、ブラウザプログラムに組み込むことも可能である。この場合、プラグインプログラムは、ブラウザプログラムによって実行されるライブラリ関数に相当するものとなり、プラグインプログラムが動的リンク可能なライブラリである場合には、両者を分離することができるが、静的にリンクされたライブラリである場合には、プラグインプログラムは、ブラウザプログラムと一体に構成されることになる。この場合に、ウェブ文書が取得されるごとに、所定のブックマークレットが実行する機能と同じ処理を自動的に実行することとしても良い。
さて、以下では、理解を容易にするため、まず、ウェブサービス装置および紹介装置について説明し、ついで、ブラウザプログラムが動作する環境でプラグインプログラムが動作する閲覧用コンピュータについて説明することとする。
(ウェブサービス装置)
図3は、本実施形態の閲覧システムが有するウェブサービス装置の概要構成を示す模式図である。以下、本図を参照して説明する。
本実施形態のウェブサービス装置301は、サービス要求受信部302、サービス処理部303、サービス応答送信部304を備える。
ここで、サービス要求受信部302は、処理対象データを指定するウェブサービス要求を受信する。
ウェブサービス要求は、HTTP(Hyper Text Transfer Protocol)プロトコルに基づくGETメソッドやPOSTメソッド、あるいは、XML(eXtensible Markup Language)/HTTPをベースとしたSOAP(Simple Object Access Protocol)プロトコルなどを用いるのが、典型的である。
たとえば、処理対象データとしてテキスト「text」を指定するウェブサービス要求は、GETメソッドによる場合には、以下の例のようなURLに対するウェブ文書の取得要求として実現される。
http://xxx.yyy.com/query.cgi?q=text
ここで、「xxx.yyy.com」は、当該ウェブサービス装置に割り当てられるIP(Internet Protocol)アドレスに対応付けられるホスト名であり、「query.cgi」は、当該ウェブサービスを実行するCGIスクリプト名である。また、「q=text」は、パラメータ名「q」のパラメータの値として「text」を渡す、の意味である。
このようにして、ウェブサービス要求が指定されると、サービス処理部303は、受信されたウェブサービス要求に指定される処理対象データに所定のウェブサービス処理を施す。
上記の例において、検索エンジンをウェブサービスとする場合には、「text」を含む文書を検索して、当該文書へのアンカーを含むウェブ文書が処理結果データとして生成される。
英日飜訳をウェブサービスとする場合には、「text」に対する飜訳結果「1.文書、文字列。2.本文、原文。3.教科書。」のような、飜訳結果を含むウェブ文書が処理結果データとして生成される。
一方、日英飜訳をウェブサービスとする場合には、「text」に対する飜訳はできない。したがって、飜訳できない旨を表すウェブ文書が処理結果データとして生成されることになるが、後述する紹介装置により、このようなウェブサービス要求をできるだけ生じないようにすることも可能である。
また、地図検索による場合にも、「text」に合致する地名は存在しないが、略称や発音や綴りが類似する「テキサス州(Tex.)」「テト川(Thet river)」「テキストサルトTexto Salto」などの地名が候補としてあげるとともに、その中で最も尤度が高いテキサス州の地図の画像を含むようなウェブ文書が処理結果データとして生成される。
商品検索を行う場合には、「text」に関連する商品(たとえば、文字列textを題名に含む書籍やDVD等。)を紹介するウェブ文書が処理結果データとして生成される。
サービス応答送信部304は、このようにして得られた所定の処理を施して得られた処理結果データを指定するウェブサービス応答を、当該ウェブサービス要求の送信元に送信する。
したがって、任意のウェブサーバが、URLを指定するウェブサービス要求を受け付けて、当該ウェブ文書をウェブサービス応答として返すウェブサービス装置と考えることも可能であり、本実施形態においては、ウェブサービス装置は、1台としても良いし、複数台とすることも可能である。
ウェブサービス装置が複数台ある場合には、各ウェブサービス装置は、異なるウェブサービス会社によって運営されるのが一般的である。本実施形態は、このような、異なる運営元による異なるウェブサービスをユーザが受ける際に、統一的なインターフェースで、ユーザに理解しやすく提示しようとするものである。
(紹介装置)
図4は、本実施形態に係る紹介装置の概要構成を示す模式図である。以下、本図を参照して説明する。
上記のように、紹介装置は、ウェブサービスを受けるのに先立って、処理対象データがウェブサービスを受けるのに適合しているか否かを判定し、当該処理対象データが受けられるウェブサービスをあらかじめ紹介するものである。
本実施形態に係る紹介装置401は、紹介要求受信部402、サービス選択部403、紹介応答送信部404を備える。なお、後述する実施形態において説明するように、報告受信部405、回数積算部406を備えることとしても良い。
ここで、紹介要求受信部402は、テキストを指定する紹介要求を受信する。紹介要求に指定されるテキストは、ウェブサービス要求に指定されるテキストと同じもの(上記の例では、「text」に相当する。)とするのが一般的である。
一方、サービス選択部403は、受信された紹介要求に指定されるテキストを処理可能なウェブサービス装置301を、複数のウェブサービス装置301から選択する。
各社からさまざまなウェブサービスが提供されている現在、紹介装置401において、各種の既存のウェブサービスを集中管理し、各ウェブサービスが、当該テキストに対して適用可能か否かを判定して、適用可能なものを選択する。
上記の例では、紹介要求に指定されるテキストは、「text」であるから、検索エンジン、英日飜訳、商品検索、地図検索が適用可能であり、これらのウェブサービスを提供するウェブサービス装置が、選択の対象となる。一方、日英飜訳は、適用できないから、選択の対象とならない。
テキストに対してウェブサービスが適用可能か否かは、以下のような各種の基準によって定めることができる。
(1)紹介要求を送信した閲覧用コンピュータを操作するユーザがあらかじめ設定したウェブサービスのみを選択する。たとえば、英日飜訳のみを利用したい場合に、ユーザがその旨を設定しておくと、紹介装置401のサービス選択部は、英日飜訳を提供するウェブサービス装置301を一つ選択することになる。
(2)テキストを表現する文字の文字コードや出現頻度を元に判断する。紹介要求に指定されるテキストは、後述するように、現在ユーザが閲覧中のウェブ文書から抽出されたものであるのが一般的である。したがって、当該閲覧中のウェブ文書を記述する文字コード(たとえば、ASCIIコードか、Shift_JISコードか、等。)に基づけば、英日飜訳が適用可能か、日英飜訳が適用可能か、等を求めることができる。
また、ウェブ文書から抽出したテキストをUNICODEなどの所定の文字コードに変換した上で、紹介要求に指定する場合には、当該テキストに含まれる文字の出現頻度に基づいて、英文字のみであれば英日飜訳が可能、ひらがな、かたかな、漢字が含まれていれば日英飜訳が可能、等のような判断が可能である。
(3)ユーザの過去のサービス利用履歴に基づいてウェブサービスの適合度を定める。過去に頻繁に利用したウェブサービスほど、選択の対象となる可能性を高くするものである。
(4)上記(1)〜(3)等の基準を適宜組み合わせる。たとえば、上記(1)〜(3)のそれぞれの結果に所定の係数を乗じて積算してスコアを得て、そのスコアが閾値より高いか否かに基づいて判断を行う手法である。詳細については後述する。
以下では、理解を容易にするため、特記しない限りウェブサービス装置301は一つだけ選択されるものとして説明する。
さらに、紹介応答送信部404は、選択されたウェブサービス装置301を指定する紹介応答を当該紹介要求の送信元へ送信する。
紹介応答には、選択されたウェブサービス装置301を指定する手法として、問合せ用のURLやXMLのテンプレートなどを、紹介応答に指定することとするのが典型的である。たとえば、上記のURLにより特定されるウェブサービスが選択された場合には、紹介応答には、以下の文字列
http://xxx.yyy.com/query.cgi?q=text
あるいは、以下の文字列
http://xxx.yyy.com/query.cgi?q=
が指定される。
前者の場合には、閲覧用コンピュータでは、当該文字列をそのまま利用すれば、ウェブサービスを受けることができ、「text」の長さが短い場合や、紹介要求に指定されるテキストの一部のみを抽出してウェブサービスを受ける場合等に適している。また、ウェブサービスが処理可能な文字コードが限定されている場合には、紹介装置401にて、指定されたテキストを当該ウェブサービス用の文字コードに変換して、文字列内に指定すると、閲覧用コンピュータ側で各種の文字コード変換が不要になる利点がある。
後者の場合には、閲覧用コンピュータ側で、紹介応答に指定される文字列に、抽出されたテキストを連結してから、ウェブサービスを受けることになり、テキストの長さが長い場合等に適している。
後者のバリエーションとしては、紹介応答に指定される文字列中において、抽出されたテキストを埋め込む場所を、特定の予約文字列で表記しておき、閲覧用コンピュータ側では、紹介応答に指定される文字列の中の予約文字列を抽出されたテキストで置換してからウェブサービスを受ける手法がありうる。この手法は、XML形式など、入れ子になった構造によって通信を行うプロトコルに適している。
紹介要求/紹介応答の送受には、ウェブサービス要求/ウェブサービス応答の送受と同様に、HTTPプロトコルのGET/POSTメソッドや、SOAPプロトコル等を適用することができる。
紹介装置401は、複数のウェブサービスから1つを選択することとしても良いし、いずれか複数のウェブサービスを選択することとしても良い。後者の場合には、どのウェブサービスがユーザの望むものであるか、を推測した適合度(上記の「スコア」に相当する値。)が、各サービスごとに得られる。
したがって、各ウェブサービスの適合度も紹介応答に指定して、閲覧用コンピュータで利用させることとしても良い。このような実施形態については、後述する。
(閲覧用コンピュータ)
図5は、当該ブラウザプログラムを実行している環境で、プラグインプログラムを実行する閲覧用コンピュータの概要構成を示す模式図である。以下、本図を参照して説明する。
上記のように、本実施形態では、表示部204にウェブ文書が表示されている状況でユーザがブックマークレットを選択すると、紹介装置401からプラグインプログラムがダウンロードされて、現在表示中のウェブ文書を処理対象として、プラグインプログラムが実行される。
本図に示す閲覧用コンピュータ201は、図2に示す要素に加え、位置受付部501、テキスト取得部502、紹介要求送信部503、紹介応答受信部504、要素挿入部505、表示制御部506として機能する。
ここで、位置受付部501は、表示されたウェブ文書の文書内の位置を指定する位置指示入力を受け付ける。
すなわち、位置受付部501は、マウス106が表示装置107の画面に表示されているウェブ文書のどこをクリックしたかを取得するものであり、URL受付部202の処理をフックするものと考えることができる。
一方、テキスト取得部502は、表示されたウェブ文書のDOMツリーのうち、受け付けられた位置指示入力に指定される位置に表示されるテキストを取得する。
テキスト取得部502は、クリックされた要素ノードに囲まれる(当該要素ノードの子ノードの)テキストを取得するのが典型的である。
さらに、紹介要求送信部503は、取得されたテキストを指定する紹介要求を、紹介装置401に送信し、紹介応答受信部504は、紹介装置401から送信された紹介応答を受信する。
この処理には、JavaScriptのXMLHttpRequest機能を用いるのが典型的である。
一方、要素挿入部505は、受信された紹介応答に指定されるウェブサービス装置301に、取得されたテキストを処理対象データとして指定するウェブサービス要求を送信することによって当該ウェブサービス装置301から送信されるウェブサービス応答に指定される処理結果データが埋め込まれるべき埋込用要素ノードを、表示されたウェブ文書のDOMツリーのうち、取得されたテキストの近傍に挿入する。
閲覧用コンピュータ201にロードされたプラグインプログラムが実行されると、これら各部の処理を実現するため、以下の処理が実行される。
(A)まず、ウェブ文書のDOMツリーを構成する要素ノードのうち、所定のタグに相当する要素ノードを順に抽出する。JavaScriptにおいては、document.getElementsByTagName()命令に対して、タグ名を指定すると、要素ノードの配列が得られるため、この配列に順にアクセスすることで、「所定のタグに対応する要素ノード」のオブジェクトが得られる。
所定のタグとしては、段落を表すp、他のウェブ文書のURLへのアンカーを表すaなどのほか、div,span,em,strike,b,s,u,i,h1,h2,h3,h4,h5,h6,td,li,dd,dtなど、ある程度まとまったテキストを囲むタグを採用するのが典型的である。いずれのタグを採用するかは、適宜変更が可能である。
(B)そして、当該抽出された各要素ノードのオブジェクトのonclick属性に、所定のJavaScriptの手続を、イベントハンドラとして設定する。これにより、位置受付部501がウェブ文書をクリックした位置が取得できるようになる。具体的なイベントハンドラ手続の内容の一例は、以下の通りである。以下、イベントハンドラ手続が.onclick属性に設定される要素ノードを「注目要素ノード」と呼ぶ。
(1)まず、当該注目要素ノードの子孫であるテキストノードを連結して、当該要素ノードに囲まれるテキストを取得する。たとえば、当該注目要素ノードの.childNodes属性により列挙されるノードの.nodeValue属性を連結することで、当該テキストが得られる。そして、必要があれば、当該テキストを、所定の文字コードに変換する。典型的には、変換先の文字コードにはUNICODE(UTF−8)を用いる。この処理は、テキスト取得部502が実行する処理に相当する。
(2)さらに、当該変換済みテキストのテキストと、必要があれば、元のウェブ文書が作成されている文字コードの種類と、を指定する紹介要求パケットを生成して、所定の紹介装置401に送信する。これには、XMLHttpRequestオブジェクトを利用することで実現が可能であり、紹介要求送信部503が実行する処理に相当する。
(3)そして、送信した紹介要求パケットに対して紹介応答を受信し、当該紹介応答に指定されるウェブサービス装置301のURL等を取得する。すなわち、上記のXMLHttpRequestオブジェクトに含まれる.responseText属性を吟味することになる。これは、紹介応答受信部504が実行する処理に相当する。
(4)紹介応答にウェブサービスを受けるためのURLが指定されている場合には、当該テキストに対するウェブサービスのURLを参照先として指定するiframeタグからなるインラインフレーム要素ノードを、埋込用要素ノードとして生成する。さらに、この埋込用要素ノードを、当該注目要素ノードの近傍に追加する。近傍として典型的なのは、子の最後、もしくは、当該注目要素ノードの次の要素ノードであるが、適宜br要素などを挿入することとして、見やすくなるように体裁を整えても良い。これらの処理は、適宜.parentNode属性を参照したり、.appendChild()メソッドを利用したりすることで実現でき、要素挿入部505が実行する処理に相当する。
(5)最後に、当該要素ノードおよびその子孫の.onclick属性から、当該イベントハンドラ手続を削除する。これ以降は、当該要素ノードをクリックしたとしても、紹介装置401への問合せ等は生じなくなり、ブラウザプログラムのデフォルトのイベントハンドラが実行されることになる。たとえば、a要素が抽出対象である場合は、当該a要素ノードのテキストを初めてクリックした場合には、紹介装置401への問い合わせやインラインフレーム要素の挿入などが実行されるが、2回目のクリックでは、a要素の参照先のウェブ文書を閲覧したい旨の指定入力として処理されることになる。
上記の(A)(B)の処理は、処理対象としたいウェブ文書がブラウザプログラムによって表示されている段階で、ブックマークレットを選択することで実行されるが、上記イベントハンドラ(1)〜(5)の処理そのものは、ユーザが要素ノードをクリックするまで実行されない。
したがって、ブラウザプログラムは、画面の再描画を必要としない。このため、ブックマークレットを選択してプラグインプログラムを実行したとしても、その際のユーザの待ち時間は極めて短かくてすむ。
ユーザがある要素ノードをクリックして初めて、表示中のウェブ文書のDOMツリーに、新たな要素ノード(インラインフレーム要素)の挿入が行われ、ウェブサービス装置301との通信や、画面の再描画が実行される。
すなわち、表示制御部506は、表示されたウェブ文書のDOMツリーに要素ノードが挿入され、もしくは、ウェブサービス応答が受信され、当該ウェブサービス応答に指定される処理結果データが埋込用要素ノードに埋め込まれると、表示部に当該変更されたウェブ文書を再描画させて当該画面に表示させる。
なお、表示制御部506の機能は、ブラウザプログラムが提供する再描画の機能をそのまま利用するのが典型的であるが、JavaScriptの機能を用いれば、再描画の際に種々の処理を実行させることも可能である。
上記(B)および(5)のようにイベントハンドラを設定することにより、テキスト取得部502は、受け付けられた位置指示入力に指定される位置を含む要素ノードのうち、あらかじめ定められた種類の要素ノードであって、最小の要素ノードを、表示されたウェブ文書のDOMツリーから検索し、その.onclick属性に指定されたイベントを実行する。
したがって、当該検索された最小の要素ノードの子孫であるテキストノードのテキストが取得されていなければ、当該テキストを、当該取得された結果のテキストとし、紹介装置401への問合せやインラインフレームの挿入が実行される。
一方、過去に取得済みであれば、イベントハンドラの設定は解除されているので、テキストは取得できなかったことになり、紹介装置401への問合せやインラインフレームの挿入は実行されないことになる。
上記の説明では、インラインフレーム要素を挿入することとしていたが、上記(1)〜(5)に相当するようなイベントハンドラ処理を記述したオブジェクト要素、もしくは、スクリプト要素のノードを当該埋込用要素ノードとして用いることも可能である。オブジェクト要素やスクリプト要素を採用した場合には、ブラウザプログラムに頼らずに、ウェブサービスの返事待ちである旨を表示する処理などを、さらに追加することとしても良い。
以下では、これらの要素の代表例として、iframeを用いたインラインフレーム要素を採用する例を説明するものとする。
さらに、当該注目要素ノードの.onfocus属性や.onblur属性に、当該要素ノードを表示する体裁(フォント、表示色、背景色等)を変更するイベントハンドラを適宜設定することとすれば、表示されているウェブ文書内のテキストについてウェブサービスを受けることができるか否かをユーザが容易に知ることができる。
図6は、本実施形態の閲覧システムにおける通信の様子を示す説明図である。以下、本図を参照して説明する。
閲覧用コンピュータ201においてブラウザプログラムが実行され、ユーザがURLを指定すると、ウェブサーバ551へのウェブ文書要求が生じ(601)、当該URLを提供するウェブサーバ551から、ウェブ文書が入手され(602)、当該入手されたウェブ文書が画面に表示される。
図7は、本実施形態の閲覧用コンピュータのこの時点における画面の表示例を示す説明図である。
本図に示すように、ブラウザ701のアドレスバー702には、ウェブサーバ551のURLが入力・表示されており、文書表示領域703には、得られたウェブ文書が表示されている。このほか、ブラウザ701のツールバーには、ブックマークレットを実行するボタン704も表示されている。
ユーザがマウスカーソル705を移動させてボタン704を選択し、ブックマークレットを実行すると、閲覧用コンピュータ201は、紹介装置401へプラグインプログラムを要求し(603)、ダウンロードして(604)、表示中のウェブ文書に対して、プラグインプログラムを実行する。
なお、プラグインプログラムが、閲覧用コンピュータ201に既にキャッシュ済みの場合には、ダウンロード要求(603)およびその応答(604)を実行せず、キャッシュされたプラグインプログラムをそのまま実行することとしても良い。
プラグインプログラムが実行されると、所定の要素ノードの.onclick,.onfocus,.onblur属性が変更される。
図8は、本実施形態の閲覧用コンピュータのこの時点における画面の表示例を示す説明図である。以下、本図を参照して説明する。
本図に示す表示例を図7に示す表示例と比較すると、マウスカーソル705の位置が同じであるにもかかわらず、本図の例では、マウスカーソル705の近傍のテキスト706「This is a pen.」の背景色が変化して、強調表示されていることがわかる。これは、.onfocus属性や.onblur属性がブックマークレットの実行によって書き換えられたことによる。
ここでユーザが、マウス106をクリックすると強調表示されているテキスト706を囲む要素ノードについて、.onclickイベントハンドラが起動され、上記(1)〜(5)の処理が実行される。
すなわち、閲覧用コンピュータ201から紹介装置401へ紹介要求が送信され(605)、紹介装置401から閲覧用コンピュータ201へ紹介応答が送信される(606)。
すると、閲覧用コンピュータ201では、紹介応答に指定されたURLに基づいて、埋込用要素ノードが生成され、クリックされたテキストの近傍に挿入される。
この挿入によって、ブラウザプログラムは、再描画を開始するが、埋込用要素ノードの描画の際に、ウェブサービス装置301へ、「This is a pen.」に相当するテキストを指定するウェブサービス要求が送信される(607)。
図9は、本実施形態の閲覧用コンピュータのこの時点における画面の表示例を示す説明図である。
本図に示すように、テキスト706の近傍に、インラインフレーム707が表示されており、その中には、ブラウザプログラムの機能によってウェブサービス要求に対する返答待ちである旨が表示されている(ブラウザプログラムの種類によっては、何も表示されない場合もある。以下同様。)。
ウェブサービス装置301から送信されたウェブサービス応答(608)を閲覧用コンピュータ201が受信すると、インラインフレーム707の中に、ウェブサービス応答の内容が表示される。
なお、あるウェブ文書を表示中にブックマークレットを起動すると、当該ブックマークレットによりロードされたスクリプトプログラムに対応付けられるドメインは、紹介装置401のドメインではなく、当該表示中のウェブ文書を提供するウェブサーバ551のドメインとなる。
すると、ブラウザの設定によっては、XMLHttpRequestを直接利用してスクリプトプログラムから紹介装置401と通信しようとしても、クロスドメイン制限によって、通信が不可能となる場合がある。
このような場合には、XMLHttpRequestからAdobe Flash(商標)や「Macromedia Flash」(商標)によるファイルを経由する技術を利用することで、スクリプトプログラムと紹介装置401との通信を可能とすることができる。
図10は、本実施形態の閲覧用コンピュータのこの時点における画面の表示例を示す説明図である。
本図に示すように、インラインフレーム707の中には、テキスト706「This is a pen.」の英日飜訳の結果である「これはペンです。」が表示されている。
このように、本実施形態の技術においては、ユーザが閲覧中のウェブ文書の所望の箇所について、ユーザが指示入力を行うだけで、適切なウェブサービスを受けることができ、しかもその結果が、当該箇所の近傍に挿入されて表示される。
このため、注目箇所を隠してしまうおそれがあるポップアップ表示とは異なり、注目箇所とウェブサービスの結果とが、ブラウザの表示画面内で並置されて表示される。したがって、ユーザは、2つの内容を簡単に対比して理解することができる。
また、本技術によれば、ユーザの希望に応じてウェブサービスへの問い合わせを行うため、不必要なネットワーク通信は生じることがなく、軽快な動作が実現できる。
上記の例では、紹介装置401によって紹介されるウェブサービスは1種類に限られていた。以下では、複数のウェブサービスが紹介される場合について考えるものとする。
閲覧用コンピュータ201から送信された紹介要求に指定されるテキストについて、適用可能なウェブサービスが複数ある場合には、紹介装置401は、それらのウェブサービスの適合度を何らかの手法により計算して順位をつける。適合度については、上記のような手法のほか、ユーザが順位をあらかじめ決めて紹介装置401に登録しておく手法、後述する実施例における手法など、種々の技術を採用することができる。
そのようにして、複数のウェブサービスが選択された場合には、紹介応答には、適合度が1位のウェブサービスと、2位以下のウェブサービスと、が指定されることになる。
すると、閲覧用コンピュータ201では、埋込用要素ノードとして、以下の要素ノードの集合体を採用する。
(1)適合度が1位のウェブサービスに対しては、当該テキストに対するウェブサービスのURLを参照先として指定するiframeタグからなるインラインフレーム要素ノード。
(2)適合度が2位以下のウェブサービスのそれぞれに対しては、.onclick属性にサービス要求イベントハンドラを指定し、ノード値であるテキストに当該ウェブサービスの名称等を採用したdiv要素やspan要素などによるサービス要求要素ノード。
上記の例のテキスト706「This is a pen.」に対して、適用可能なウェブサービスが「英日飜訳」「英仏飜訳」「商品penの検索」「単語penのウェブ検索」の4種類あり、その適合度がこの順序であったとする。
図11は、本実施形態における埋込用要素ノードをDOMツリーに挿入した直後における閲覧用コンピュータの画面の表示例を示す説明図である。以下、本図を参照して説明する。
テキスト706の近傍に表示されるインラインフレーム707の中には、ブラウザプログラムによって、適合度1位の「英日飜訳」のウェブサービス要求に対する返答待ちである旨が表示されている。
このほか、テキスト706の近傍には、クリック可能なテキスト708「英仏飜訳」テキスト709「商品penの検索」テキスト710「単語penのウェブ検索」が表示されている。
図12は、埋込用要素ノードに含まれるインラインフレームの問い合わせが終了した後の画面の表示例を示す説明図である。以下、本図を参照して説明する。
テキスト706の近傍に表示されるインラインフレーム707の中に、適合度1位の英日飜訳の結果が表示されている。
さて、テキスト708「英仏飜訳」テキスト709「商品penの検索」テキスト710「単語penのウェブ検索」等をクリックした場合に起動されるサービス要求イベントハンドラは、起動されると、
(1)当該ウェブサービスのURLを参照先として指定するiframeタグからなるインラインフレーム要素ノードを生成し、
(2)当該起動されたサービス要求イベントハンドラが.onclick属性に指定された要素ノードを非表示もしくは削除し、当該インラインフレーム要素ノードをそのかわりに表示するように、DOMツリーに挿入して、要素ノードの置換を行う、
という処理を行う。この処理は、ノード置換部(図示せず。)が、要素挿入部505や表示制御部506を制御して行う処理に相当する。
図13は、テキスト708「英仏飜訳」をクリックした直後の画面の表示例を示す説明図である。以下、本図を参照して説明する。
本図では、前図までに表示されていたテキスト708「英仏飜訳」は非表示となって、これに置換されて、インラインフレーム711が表示されている。その中には、クリックされた「英仏飜訳」のウェブサービス要求に対する返答待ちである旨が表示されている。
図14は、クリックされたウェブサービス要求に対する問い合わせが終了した後の画面の表示例を示す説明図である。以下、本図を参照して説明する。
インラインフレーム711の中には、「This is a pen.」「英仏飜訳」の結果である「C'est un stylo.」が表示されることになる。
このほか、テキスト709「商品penの検索」やテキスト710「単語penのウェブ検索」をクリックした場合も同様に、インラインフレームがテキストのかわりに表示され、そのインラインフレームの中に、当該ウェブサービスの問合せ結果が表示されるのである。
本実施形態によれば、複数のウェブサービスの適用が可能な場合に、ユーザに必要なウェブサービスをできるだけ簡易な操作で迅速に提供することができる。以下の実施例では、ウェブサービスの適合度を求める手法の一つについて説明する。
本実施形態は、上記実施例と同様に、紹介装置401において、サービス選択部403は、当該複数のウェブサービス装置301の受信された紹介要求に指定されるテキストに対する適合度をそれぞれ計算し、当該適合度が、所定の閾値以上であるウェブサービス装置301を選択し、当該ウェブサービス装置301が複数選択された場合、紹介応答送信部404は、当該選択されたウェブサービス装置301について計算された適合度の順をさらに紹介応答に指定する場合に適用されるものである。
このとき、サービス要求イベントハンドラは、起動されると、上記実施例における処理(1)(2)のほか、
(3)当該ウェブサービス要求がされた旨を、紹介装置401に報告する
処理を実行する。
この処理(3)は、報告送信部(図示せず。)が実行する処理に対応する。典型的には、この報告には、閲覧用コンピュータを利用しているユーザを識別する情報も指定される。
紹介装置401では、報告受信部405が報告を受信すると、回数積算部406が、ユーザが積極的に選択することによって各ウェブサービス装置301を利用した回数を積算して記録する。すなわち、報告の受信により、報告に指定されるウェブサービス装置301を利用した回数を増加させるのである。
さらに、今後の紹介要求に対して、各ウェブサービスの適合度を計算する場合には、サービス選択部403は、当該積算された回数に基づいて、適合度を求める。具体的には、過去の総数を利用することとしても良いし、直近で利用している割合が高いウェブサービスの適合度を高くすることとしても良い。
また、適合度2位以下のウェブサービスの利用が報告された場合には、適合度1位のウェブサービスの適合度を低くするように調整することも可能である。
この適合度の計算は、各ユーザが、どのようなテキストに対して、どのようなウェブサービスを選択するか、を紹介装置401が「学習」することに相当する。したがって、この「学習」には、自然言語処理における仮名漢字変換の学習と同様のアルゴリズムを適用することが可能である。
たとえば、積算された利用回数のみを用いるのではなく、元のウェブ文書の記述に利用されていた文字コードやテキストに出現する文字の出現頻度などの情報と組み合わせて「学習」を行うことにより、ユーザが望むウェブサービスの順位を適切に推測することができるようになるものと考えられる。
なお、上記の処理(3)では、ウェブサービスが要求されるごとに紹介装置401にその旨を報告しているが、これを以下のように変更することも可能である。すなわち、ウェブサービスが要求されるごとに、JavaScriptの配列変数等に、要求したウェブサービスの種類を追加登録していくものとする。
そして、次回に紹介要求を送信する際に、当該配列変数の中身も紹介要求パケットに入れてから送信し、当該配列変数をクリアするのである。
一方、紹介装置401側では、紹介要求を受信すると、配列変数の中身を抽出して、要求回数の積算を行う。
この態様では、報告送信部は、紹介要求送信部503を利用して報告を送信し、報告受信部404は、紹介要求受信部401を利用して報告を受信することとなり、閲覧用コンピュータ201と紹介装置401との間の通信回数を低減することができる。
上記のように、本発明によれば、ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用しやすくし、その結果をユーザが確認しやすくするのに好適な、閲覧システム、当該ブラウザで実行されるプラグインプログラム、ならびに、当該プラグインプログラムと共働する紹介装置を実現するための紹介プログラムを提供することができる。
本発明の閲覧システムの実施形態の1つに係るウェブサービス装置、紹介装置、閲覧用コンピュータが実現される典型的な情報処理装置の概要構成を示す模式図である。 ブラウザプログラムを実行する閲覧用コンピュータの概要構成を示す模式図である。 本実施形態の閲覧システムが有するウェブサービス装置の概要構成を示す模式図である。 本実施形態に係る紹介装置の概要構成を示す模式図である。 ブラウザプログラムを実行している環境で、プラグインプログラムを実行する閲覧用コンピュータの概要構成を示す模式図である。 本実施形態の閲覧システムにおける通信の様子を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。 本実施形態の閲覧用コンピュータの画面の表示例を示す説明図である。
符号の説明
101 情報処理装置
102 CPU
103 ROM
104 HD
105 キーボード
106 マウス
107 RAM
108 表示装置
109 インターフェース
110 FDドライブ
111 CD−ROMドライブ
201 閲覧用コンピュータ
202 URL受付部
203 文書取得部
204 表示部
301 ウェブサービス装置
302 サービス要求受信部
303 サービス処理部
304 サービス応答送信部
401 紹介装置
402 紹介要求受信部
403 サービス選択部
404 紹介応答送信部
405 報告受信部
406 回数積算部
501 位置受付部
502 テキスト取得部
503 紹介要求送信部
504 紹介応答受信部
505 要素挿入部
506 表示制御部
551 ウェブサーバ
701 ブラウザ
702 アドレスバー
703 文書表示領域
704 ボタン
705 マウスカーソル
706 処理対象のテキスト
707 インラインフレーム
708 クリック可能なテキスト
709 クリック可能なテキスト
710 クリック可能なテキスト
711 インラインフレーム

Claims (10)

  1. 閲覧用コンピュータと、複数のウェブサービス装置と、を有する閲覧システムであって、
    (a)前記閲覧用コンピュータは、ブラウザプログラムを実行することにより、
    URL(Universal Resource Locator)を指定するURL指示入力を受け付けるURL受付部、
    前記受け付けられた指示入力に指定されるURLに配置されるウェブ文書を取得する文書取得部、
    前記取得されたウェブ文書のDOM(Document Object Model)ツリーに基づいて、当該ウェブ文書を画面に描画して表示する表示部
    として機能し、
    (b)前記複数のウェブサービス装置のそれぞれは、
    処理対象データを指定するウェブサービス要求を受信するサービス要求受信部、
    前記受信されたウェブサービス要求に指定される処理対象データに所定のウェブサービス処理を施すサービス処理部、
    前記所定の処理を施して得られた処理結果データを指定するウェブサービス応答を、当該ウェブサービス要求の送信元に送信するサービス応答送信部
    を備える閲覧システムにおいて、
    当該閲覧システムは、さらに紹介装置を有し、
    (c)前記紹介装置は、
    テキストを指定する紹介要求を受信する紹介要求受信部、
    前記受信された紹介要求に指定されるテキストを処理可能なウェブサービス装置を、前記複数のウェブサービス装置から選択するサービス選択部、
    前記選択されたウェブサービス装置を指定する紹介応答を当該紹介要求の送信元へ送信する紹介応答送信部
    を備え、
    (d)前記閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、プラグインプログラムを実行することにより、
    前記表示されたウェブ文書の文書内の位置を指定する位置指示入力を受け付ける位置受付部、
    前記表示されたウェブ文書のDOMツリーのうち、前記受け付けられた位置指示入力に指定される位置に表示されるテキストを取得するテキスト取得部、
    前記取得されたテキストを指定する紹介要求を、前記紹介装置に送信する紹介要求送信部、
    前記紹介装置から送信された紹介応答を受信する紹介応答受信部、
    前記紹介応答が受信されると、
    (1)前記紹介応答に指定されるウェブサービス装置のいずれか一つに対応付けられる埋込用要素ノードであって、前記取得されたテキストを処理対象データとして指定するウェブサービス要求を送信することによって当該ウェブサービス装置から送信されるウェブサービス応答に指定される処理結果データが埋め込まれるべき埋込用要素ノードと、
    (2)前記紹介応答に指定される他のウェブサービス装置のそれぞれと対応付けられる問い合わせ用要素ノードであって、前記受け付けられた位置指示入力に指定される位置に当該問い合わせ用要素ノードが表示されている場合、当該問い合わせ用要素ノードに対応付けられるウェブサービス装置に前記取得されたテキストを処理対象データとして指定するウェブサービス要求を送信することによって当該ウェブサービス装置から送信されるウェブサービス応答に指定される処理結果データが埋め込まれるべき問い合わせ用要素ノードと、
    を、前記表示されたウェブ文書のDOMツリーのうち、前記取得されたテキストの近傍に挿入する要素挿入部、
    前記表示されたウェブ文書のDOMツリーに要素ノードが挿入され、もしくは、ウェブサービス応答が受信され、当該ウェブサービス応答に指定される処理結果データが埋込用要素ノードもしくはサービス要求要素ノードに埋め込まれると、前記表示部に当該変更されたウェブ文書を再描画させて当該画面に表示させる表示制御部
    としてさらに機能する
    ことを特徴とする閲覧システム。
  2. 請求項1に記載の閲覧システムであって、
    前記テキスト取得部は、前記受け付けられた位置指示入力に指定される位置を含む要素ノードのうち、あらかじめ定められた種類の要素ノードであって、最小の要素ノードを、前記表示されたウェブ文書のDOMツリーから検索し、当該検索された最小の要素ノードの子孫であるテキストノードのテキストが
    (1)取得されていなければ、当該テキストを、当該取得された結果のテキストとし、
    (2)過去に取得済みであれば、テキストは取得できなかったものとし、
    前記要素挿入部は、インラインフレーム要素、オブジェクト要素、もしくは、スクリプト要素のノードを当該埋込用要素ノードとして用いる
    ことを特徴とする閲覧システム。
  3. 請求項2に記載の閲覧システムであって、
    当該あらかじめ定められた種類の要素ノードには、アンカー要素ノードが含まれ、
    前記取得された最小の要素ノードがアンカー要素ノードである場合、既に、当該アンカー要素ノードの子孫であるテキストノードのテキストが過去に取得済みであれば、前記URL受付部は、当該アンカー要素ノードに指定されるURLを、URL指示入力に指定されるものとして受け付ける
    ことを特徴とする閲覧システム。
  4. 請求項1に記載の閲覧システムであって、
    前記紹介装置において、前記サービス選択部は、当該複数のウェブサービス装置の前記受信された紹介要求に指定されるテキストに対する適合度をそれぞれ計算し、当該適合度が、所定の閾値以上であるウェブサービス装置を選択し、当該ウェブサービス装置が複数選択された場合、前記紹介応答送信部は、当該選択されたウェブサービス装置について計算された適合度の順をさらに紹介応答に指定し、
    当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行する前記閲覧用コンピュータにおいて、前記要素挿入部は、前記受信された紹介応答にウェブサービス装置が複数指定されている場合、
    (1)前記埋込用要素ノードに、当該適合度が最大のウェブサービス装置を対応付け、
    (2)前記問い合わせ用要素ノードのそれぞれに、当該適合度が2位以下のウェブサービス装置のそれぞれを対応付け、
    前記閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行することにより、前記受け付けられた位置指示入力に指定される位置を含む要素ノードが、当該問合せ用要素ノードのいずれかである場合、当該問合せ用要素ノードに対するウェブサービス装置に対する埋込用要素ノードを、当該問合せ用要素ノードの位置に挿入し、当該問合せ用要素ノードを非表示もしくは削除することにより、当該問合せ用要素ノードと当該埋込用要素ノードで置換するノード置換部としてさらに機能する
    ことを特徴とする閲覧システム。
  5. 請求項4に記載の閲覧システムであって、
    前記紹介装置において、前記サービス選択部は、当該ウェブサービス装置の適合度を、当該テキストが含まれていたウェブ文書の文字コードおよび当該テキストに含まれる文字の出現頻度に基づいて計算する
    ことを特徴とする閲覧システム。
  6. 請求項4または5に記載の閲覧システムであって、
    前記閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行することにより、前記ノード置換部により、当該問合せ用要素ノードが当該埋込用ノードに置換されると、当該置換された問合せ用要素ノードに対するウェブサービス装置のウェブサービス要求がされた旨を指定する要求報告を、前記紹介装置に送信する報告送信部としてさらに機能し、
    前記紹介装置は、
    ウェブサービス装置のウェブサービス要求がされた旨を指定する要求報告を受信する報告受信部、
    当該複数のウェブサービス装置のそれぞれが、前記受信された要求報告に指定されていた回数を積算する回数積算部
    をさらに備え、
    前記サービス選択部は、当該ウェブサービス装置の適合度を、前記積算された回数に基づいて計算する
    ことを特徴とする閲覧システム。
  7. 請求項6に記載の閲覧システムであって、
    前記報告送信部は、当該ウェブサービス要求がされるごとにその旨を蓄積し、当該紹介要求に当該蓄積された情報に基づいて当該ウェブサービス要求がされた旨を指定することにより、当該要求報告を送信し、
    前記報告受信部は、前記紹介要求受信部が当該紹介要求を受信するごとに、当該紹介要求に指定されているウェブサービス要求を取得することにより、当該要求報告を受信する
    ことを特徴とする閲覧システム。
  8. 請求項1から7のいずれか1項に記載の閲覧システムであって、
    ユーザが当該ブラウザプログラムに登録したブックマークレットを、当該ウェブ文書が表示された後に、当該ユーザが選択すると、当該ブックマークレットのプログラムが、当該閲覧用コンピュータを、前記紹介装置から当該プラグインプログラムをロードして実行するように機能させる
    ことを特徴とする閲覧システム。
  9. 請求項1から8のいずれか1項に記載の閲覧システムの閲覧用コンピュータにより実行されるプラグインプログラム。
  10. 紹介用コンピュータを、請求項1から8のいずれか1項に記載の閲覧システムの紹介装置の各部として機能させる紹介プログラム。
JP2008149206A 2008-06-06 2008-06-06 閲覧システム、プラグインプログラム、ならびに、紹介プログラム Active JP5276903B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008149206A JP5276903B2 (ja) 2008-06-06 2008-06-06 閲覧システム、プラグインプログラム、ならびに、紹介プログラム
PCT/JP2009/053733 WO2009147879A1 (ja) 2008-06-06 2009-02-27 閲覧システム、プラグインプログラム、ならびに、紹介プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008149206A JP5276903B2 (ja) 2008-06-06 2008-06-06 閲覧システム、プラグインプログラム、ならびに、紹介プログラム

Publications (3)

Publication Number Publication Date
JP2009294995A JP2009294995A (ja) 2009-12-17
JP2009294995A5 JP2009294995A5 (ja) 2012-06-07
JP5276903B2 true JP5276903B2 (ja) 2013-08-28

Family

ID=41397958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008149206A Active JP5276903B2 (ja) 2008-06-06 2008-06-06 閲覧システム、プラグインプログラム、ならびに、紹介プログラム

Country Status (2)

Country Link
JP (1) JP5276903B2 (ja)
WO (1) WO2009147879A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6327880B2 (ja) * 2014-02-24 2018-05-23 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005050247A (ja) * 2003-07-31 2005-02-24 Office Clean:Kk 情報検索方法、広告方法および広告料金課金方法
JP4428048B2 (ja) * 2003-12-24 2010-03-10 カシオ計算機株式会社 情報表示制御装置及びプログラム
CN101166211A (zh) * 2006-10-16 2008-04-23 琥珀媒体有限公司 一种提供网络资源信息以及对应服务的方法和***

Also Published As

Publication number Publication date
WO2009147879A1 (ja) 2009-12-10
JP2009294995A (ja) 2009-12-17

Similar Documents

Publication Publication Date Title
US7702811B2 (en) Method and apparatus for marking of web page portions for revisiting the marked portions
US7010551B2 (en) File conversion method, file converter, and file display system
US20070294646A1 (en) System and Method for Delivering Mobile RSS Content
US20010018649A1 (en) Relay device, server device, terminal device, and translation server system utilizing these devices
US20070006076A1 (en) System and method for providing Asian Web font documents
US8676880B2 (en) Server apparatus, communication apparatus, and method for generating navigation information
TW200821867A (en) Program, character input editing method, and apparatus
CN106951270B (zh) 一种代码处理方法、***及服务器
JP2006243829A (ja) ウェブコンテンツ変換方法およびウェブコンテンツ変換システム
JP2009032229A (ja) 確認システム、情報提供システム、ならびに、プログラム
JP2014206983A (ja) 自動スクロール実行システムおよび方法
US8090702B2 (en) Analyzing web site traffic
JP2007072596A (ja) 情報共有システムおよび情報共有方法
JPWO2005121982A1 (ja) 情報提供システム、方法、プログラム、情報通信端末、および情報表示切り替えプログラム
US20050198568A1 (en) Table display switching method, text data conversion program, and tag program
JP2004070809A (ja) Web情報閲覧装置、Web情報表示方法及びそのプログラム
JP2007128367A (ja) 情報検索ノウハウ管理システム
JP2009211278A (ja) 携帯端末を利用した検索システムおよびその検索方法
JP5276903B2 (ja) 閲覧システム、プラグインプログラム、ならびに、紹介プログラム
WO2016011699A1 (zh) 一种用于配置浏览器的导航页的方法与装置
KR100573091B1 (ko) 퍼스널 배너 작성 프로그램
JP5565197B2 (ja) Webアプリケーションの連携方法、連携装置、および連携プログラム
JP5330169B2 (ja) コンテンツデータ提供装置
JP4752020B2 (ja) 文字列取得方法及び文字列取得システム
JP2001022788A (ja) 情報検索装置および情報検索プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130520

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5276903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250