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

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

Info

Publication number
WO2009147879A1
WO2009147879A1 PCT/JP2009/053733 JP2009053733W WO2009147879A1 WO 2009147879 A1 WO2009147879 A1 WO 2009147879A1 JP 2009053733 W JP2009053733 W JP 2009053733W WO 2009147879 A1 WO2009147879 A1 WO 2009147879A1
Authority
WO
WIPO (PCT)
Prior art keywords
web service
introduction
text
web
request
Prior art date
Application number
PCT/JP2009/053733
Other languages
English (en)
French (fr)
Inventor
涛 程
Original Assignee
国立大学法人 東京大学
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 国立大学法人 東京大学 filed Critical 国立大学法人 東京大学
Publication of WO2009147879A1 publication Critical patent/WO2009147879A1/ja

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

Definitions

  • the present invention is directed to a browsing system suitable for facilitating application of a web service desired by a user to text included in a web document being browsed by a browser, and making it easier for a user to confirm the result.
  • the present invention relates to a plug-in program that is executed in the above and an introduction program for realizing an introduction device that cooperates with the plug-in program.
  • WWW World Wide Web
  • Such an application for browsing a web document is called a browser, and various browsers have been proposed by various companies.
  • Some services available via the browser translate web documents created in foreign languages into the user's native language. For example, in a certain system, a URL (Universal Resource Location) of a web document that a user desires to translate is notified to the translation server using CGI (Common Gateway Interface), and the translation server obtains the web document. The translation is performed and the translated document is provided to the user's browser for display.
  • CGI Common Gateway Interface
  • Patent Document 1 discloses a technique for hooking a system call of an operating system on which a browser operates to acquire a character string displayed in the vicinity of the mouse cursor and popping up a translation result of the character string. Is disclosed.
  • Non-Patent Document 1 considers the case where a user wishes to listen to a third party who is neither the user nor the web document provider when he / she wants to browse a web document.
  • a technique has been disclosed for presenting a translated sentence in a pop-up display when a translated sentence of the Web document is provided with the translation service as “third party opinion”.
  • the present invention has been made to solve such a problem, and makes it easy to apply a web service desired by a user to text included in a web document being browsed by a browser. It is an object of the present invention to provide a browsing system, a plug-in program executed by the browser, and an introduction program for realizing an introduction device that cooperates with the plug-in program, which are suitable for easy confirmation.
  • the browsing system includes a browsing computer, a plurality of web service devices, and an introduction device, and is configured as follows.
  • the browsing computer functions as a URL reception unit, a document acquisition unit, and a display unit by executing a browser program.
  • the URL receiving unit receives a URL instruction input for specifying a URL (Universal Resource Locator).
  • the document acquisition unit acquires a web document arranged at the URL specified in the received instruction input.
  • the display unit draws and displays the web document on the screen based on the DOM (Document Object Model) tree of the acquired web document.
  • DOM Document Object Model
  • each of the plurality of web service devices includes a service request reception unit, a service processing unit, and a service response transmission unit.
  • the service request receiving unit receives a web service request designating processing target data.
  • the service processing unit performs predetermined web service processing on the processing target data specified in the received web service request.
  • the service response transmission unit transmits a web service response designating processing result data obtained by performing a predetermined process to the transmission source of the web service request.
  • the introduction device includes an introduction request reception unit, a service selection unit, and an introduction response transmission unit.
  • the introduction request receiving unit receives an introduction request designating text.
  • the service selection unit selects a web service device that can process the text specified in the received introduction request from a plurality of web service devices.
  • the introduction response transmission unit transmits an introduction response designating the selected web service device to the transmission source of the introduction request.
  • the browsing computer executes the plug-in program in the environment in which the browser program is executed, so that the position reception unit, the text acquisition unit, the introduction request transmission unit, the introduction response reception unit, the element insertion unit, the display Functions as a control unit.
  • the position receiving unit receives a position instruction input for designating a position in the document of the displayed web document.
  • the text acquisition unit acquires the text displayed at the position specified by the received position instruction input in the DOM tree of the displayed web document.
  • the introduction request transmission unit transmits an introduction request designating the acquired text to the introduction device.
  • the introduction response receiving unit receives the introduction response transmitted from the introduction device.
  • the element insertion unit transmits a web service request designating the acquired text as processing target data to the web service device designated in the received introduction response, thereby transmitting the web service from the web service device.
  • An embedding element node in which processing result data specified in the response is to be embedded is inserted in the vicinity of the acquired text in the DOM tree of the displayed web document.
  • the display control unit inserts an element node into the DOM tree of the displayed web document or receives a web service response, and embeds processing result data specified in the web service response in the embedding element node. Then, the changed web document is redrawn on the display unit and displayed on the screen.
  • the browsing system of the present invention can be configured as follows.
  • the text acquisition unit determines in advance among the element nodes including the position specified in the received position instruction input.
  • a minimum element node is searched from the DOM tree of the displayed web document, and the text of a text node that is a descendant of the searched minimum element node is obtained (1). If not, the text is the resulting text, (2) If it has been acquired in the past, it is assumed that the text could not be acquired.
  • the element insertion unit uses an inline frame element, object element, or script element node as the embedding element node.
  • the browsing system of the present invention can be configured as follows.
  • the predetermined type of element node includes an anchor element node, and the acquired minimum element
  • the URL reception unit specifies the URL specified for the anchor element node as a URL instruction. Accept as specified in input.
  • the browsing system of the present invention can be configured as follows.
  • the service selection unit calculates the fitness for the text specified in the received introduction request of the plurality of web service devices, and the web service device whose fitness is equal to or greater than a predetermined threshold value
  • the introduction response transmission unit further designates the order of matching calculated for the selected web service device as the introduction response.
  • the element insertion unit is specified when a plurality of web service devices are specified in the received introduction response.
  • the embedding element node for the web service device having the maximum conformance level and the inquiry element node for each of the web service devices having the second suitability level or lower are displayed. Is inserted in the vicinity of the acquired text in the DOM tree of the obtained web document.
  • the browsing computer further functions as a node replacement unit by executing the plug-in program in an environment in which the browser program is executed.
  • the node replacement unit is for embedding in the web service device for the query element node.
  • the element node is inserted at the position of the inquiry element node, and the inquiry element node is hidden or deleted, thereby replacing the inquiry element node with the embedding element node.
  • the browsing system of the present invention can be configured as follows.
  • the service selection unit calculates the fitness of the web service device based on the character code of the web document in which the text is included and the appearance frequency of the character included in the text.
  • the browsing computer further functions as a report transmission unit by executing the plug-in program in an environment in which the browser program is executed.
  • the report transmission unit notifies that the web service device web service request has been made for the replaced inquiry element node.
  • a request report designating “” is transmitted to the introducing device.
  • the introduction device further functions as a report receiving unit and a frequency accumulating unit.
  • the report receiving unit receives a request report designating that a web service request of the web service device has been made.
  • the number accumulating unit accumulates the number of times that each of the plurality of web service devices is specified in the received request report.
  • the service selection unit calculates the fitness of the web service device based on the accumulated number of times.
  • the report transmission unit accumulates the fact every time the web service request is made, and indicates that the web service request is made based on the accumulated information in the introduction request.
  • the report receiver receives the web service request specified in the referral request every time the referral request receiver receives the referral request.
  • a report can be configured to be received.
  • the bookmarklet program introduces the browsing computer. It can be configured to function to load and execute the plug-in program from the device.
  • a program according to another aspect of the present invention is a plug-in program to be executed by a browsing computer in an environment in which the browser program is executed in the browsing system.
  • a program according to another aspect of the present invention is an introduction program that causes an introduction computer to function as each part of the above-described browsing system introduction device.
  • the program of the present invention can be recorded on a computer-readable information recording medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
  • a computer-readable information recording medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
  • the above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed.
  • the information recording medium can be distributed and sold independently of the computer.
  • a browsing system suitable for facilitating application of a web service desired by a user to text included in a web document being browsed by a browser, and for facilitating the user to confirm the result, It is possible to provide a plug-in program to be executed by the browser and an introduction program for realizing an introduction device that cooperates with the plug-in program.
  • FIG. 1 is a schematic diagram illustrating a schematic configuration of a typical information processing apparatus in which a web service device, an introduction device, and a browsing computer according to one embodiment of a browsing system of the present invention are realized. It is a schematic diagram which shows the general
  • Information processing apparatus 102 CPU 103 ROM 104 HD 105 Keyboard 106 Mouse 107 RAM DESCRIPTION OF SYMBOLS 108 Display apparatus 109 Interface 110 FD drive 111 CD-ROM drive 201 Browsing computer 202 URL reception part 203 Document acquisition part 204 Display part 301 Web service apparatus 302 Service request reception part 303 Service processing part 304 Service response transmission part 401 Introduction apparatus 402 Referral request reception unit 403 Service selection unit 404 Referral response transmission unit 405 Report reception unit 406 Count accumulation unit 501 Position reception unit 502 Text acquisition unit 503 Referral request transmission unit 504 Referral response reception unit 505 Element insertion unit 506 Display control unit 551 Web server 701 Browser 702 Address bar 703 Document display area 704 Button 705 Mouse cursor 706 Text to be processed 707 Inline frame 708 Clickable text 709 Clickable text 710 Clickable text 711 Inline frame
  • Embodiments of the present invention will be described below.
  • an embodiment in which the present invention is applied to a general information processing apparatus will be described.
  • the present invention is similarly applied to information processing apparatuses such as various game apparatuses, PDAs, and mobile phones. Can be applied. That is, the embodiment described below is for explanation, and does not limit the scope of the present invention. Therefore, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.
  • FIG. 1 is a schematic diagram showing a schematic configuration of a typical information processing apparatus in which a web service device, an introduction device, and a browsing computer according to one embodiment of the browsing system of the present invention are realized.
  • a description will be given with reference to FIG. 1
  • the information processing apparatus 101 is controlled by a CPU (Central Processing Unit) 102.
  • the CPU 102 executes an IPL (Initial Program Loader) stored in the ROM 103.
  • IPL Initial Program Loader
  • the IPL reads an OS (Operating System) program stored in a recording medium such as a hard disk 104, an FD attached to the FD drive 110, or a CD-ROM attached to a CD-ROM drive (CDD) 111. Program to be executed.
  • OS Operating System
  • the CPU 102 executes an application program stored in the hard disk or the like in accordance with a user instruction input by the keyboard 105 or the mouse 106 or in accordance with the contents of a setting file described in advance on the hard disk or the like. Execute.
  • the server program corresponds to an application program
  • the browsing device computer a browser program and a plug-in that adds functions of the browser program are included.
  • the program corresponds to an application program.
  • Various information is input by operating the keyboard 105, the mouse 106, or the like.
  • Various types of information are recorded on storage media such as the hard disk 104, the FD mounted on the FD drive 110, and the CD-ROM mounted on the CD-ROM drive 111.
  • the CPU 102 uses the RAM 107 as a temporary working storage area when executing the program.
  • a register or a cache (not shown) provided in the CPU 102 is used as a temporary work storage area.
  • the CPU 102 can display the information on the display device 108 such as a liquid crystal display or a CRT (Cathode Ray Tube) in order to show the progress.
  • the cursor displayed on the screen is moved by moving the mouse 106, and the menu item pointed to by the cursor can be selected by clicking the mouse 106.
  • the information processing apparatus 101 can communicate with a computer communication network such as the Internet via an interface 109 such as a NIC (Network Interface Card) or a modem.
  • a computer communication network such as the Internet
  • an interface 109 such as a NIC (Network Interface Card) or a modem.
  • a stroke input received via the interface 109 can be processed, an output character can be transmitted via the interface 109, a program received via the interface 109 can be executed, and the like.
  • the web document arranged at the anchor URL in the Internet is acquired. Then, a DOM tree of the acquired web document is built in the RAM 107, and the contents of the web document are displayed on the screen according to the DOM tree.
  • an anchor for another web document is expressed by an anchor element, that is, an a element in which the URL of the web document is specified in the href attribute, and is sandwiched between a start tag and an end tag of the a element on the screen. Text is displayed, and the linked web document is displayed on the screen by clicking the text with the mouse.
  • the user can browse one after another web documents linked by an anchor that specifies a URL.
  • a mobile terminal such as a mobile phone
  • the anchors are highlighted in sequence, indicating that the user is currently paying attention.
  • the enter key When presented to the user and the user presses the enter key while the desired anchor is highlighted, acquisition of the web document for that anchor is started.
  • the present embodiment does not necessarily require the mouse 106, and is applied to browsers for browsing web documents in general. Is possible.
  • FIG. 2 is a schematic diagram showing a schematic configuration of a browsing computer executing a browser program.
  • FIG. 2 is a schematic diagram showing a schematic configuration of a browsing computer executing a browser program.
  • the browsing computer 201 functions as the URL reception unit 202, the document acquisition unit 203, and the display unit 204 by executing a browser program.
  • the URL receiving unit 202 receives a URL instruction input for specifying a URL (Universal Resource Locator).
  • the URL instruction input is generated by clicking an anchor using the mouse 106.
  • the document acquisition unit 203 acquires a web document placed at the URL specified in the received instruction input. That is, a web document is acquired via the interface 109 under the control of the CPU 101.
  • the display unit 204 draws and displays the web document on the screen based on the DOM (Document Object Model) tree of the acquired web document.
  • the acquired DOM tree of the web document is expanded in the RAM 107, and the content of the web document is displayed on the display device 108 according to the DOM tree.
  • a script written in a programming language such as JavaScript, JScript, or ECMAScript can be executed.
  • the plug-in program in the present embodiment is realized by such a script, and is executed when a web document is displayed.
  • plug-in programs There are the following methods for specifying plug-in programs. That is, there are a method of embedding directly in a web document, a method of embedding a URL where a plug-in program is arranged in a web document, and the like.
  • the plug-in program can be executed for the displayed web document by selecting the bookmarklet while the web document is already displayed on the screen.
  • a bookmarklet refers to a program fragment written in JavaScript or the like registered in a link collection such as a user's “favorite”.
  • the program fragment describes that a plug-in program is loaded from a predetermined URL and the currently displayed web document is processed.
  • the bookmarklet can be executed by selecting a menu prepared in the browser or clicking a toolbar button.
  • the function corresponding to the bookmarklet can be incorporated in the browser program in advance.
  • the plug-in program corresponds to a library function executed by the browser program. If the plug-in program is a library that can be dynamically linked, the two can be separated, but statically In the case of a linked library, the plug-in program is configured integrally with the browser program. In this case, every time a web document is acquired, the same processing as that performed by a predetermined bookmarklet may be automatically executed.
  • FIG. 3 is a schematic diagram illustrating a schematic configuration of a web service apparatus included in the browsing system of the present embodiment.
  • a description will be given with reference to FIG.
  • the web service device 301 of the present embodiment includes a service request receiving unit 302, a service processing unit 303, and a service response transmitting unit 304.
  • the service request receiving unit 302 receives a web service request designating processing target data.
  • the web service request typically uses a GET method or POST method based on the HTTP (Hyper Text Transfer Protocol) protocol, or a SOAP (Simple Object Access Protocol) based on XML (eXtensible Markup Language) / HTTP. Is.
  • HTTP Hyper Text Transfer Protocol
  • SOAP Simple Object Access Protocol
  • XML eXtensible Markup Language
  • xxx.yyy.com is a host name associated with an IP (Internet Protocol) address assigned to the web service device
  • query.cgi is the name of a CGI script that executes the web service. It is.
  • Q text” means that “text” is passed as the parameter value of the parameter name “q”.
  • the service processing unit 303 performs a predetermined web service process on the processing target data specified in the received web service request.
  • the search engine is a web service
  • a document including “text” is searched, and a web document including an anchor to the document is generated as processing result data.
  • the translation result for "text” is a web document that contains the translation result, such as "1. Document, character string, 2. Text, original text, 3. Textbook.” Is generated as processing result data.
  • a web document that introduces a product related to “text” (for example, a book or a DVD containing the text “text” in the title) is generated as processing result data.
  • the service response transmission unit 304 transmits a web service response designating the processing result data obtained by performing the predetermined process obtained as described above to the transmission source of the web service request.
  • any web server can accept a web service request specifying a URL and return the web document as a web service response.
  • the web service device One unit may be used, or a plurality of units may be used.
  • each web service device When there are a plurality of web service devices, each web service device is generally operated by a different web service company. In the present embodiment, when a user receives such different web services from different management sources, the present embodiment is intended to present the user with an easy-to-understand with a unified interface.
  • FIG. 4 is a schematic diagram showing a schematic configuration of the introduction device according to the present embodiment.
  • a description will be given with reference to FIG.
  • the introduction device determines whether the processing target data is suitable for receiving the web service, and introduces the web service that can receive the processing target data in advance. To do.
  • the introduction device 401 includes an introduction request reception unit 402, a service selection unit 403, and an introduction response transmission unit 404.
  • a report receiving unit 405 and a frequency accumulating unit 406 may be provided.
  • the introduction request receiving unit 402 receives an introduction request designating text.
  • the text specified in the introduction request is generally the same as the text specified in the web service request (corresponding to “text” in the above example).
  • the service selection unit 403 selects a web service device 301 that can process the text specified in the received introduction request from the plurality of web service devices 301.
  • Whether or not the web service can be applied to the text can be determined by various criteria as follows. (1) Select only the web service set in advance by the user operating the browsing computer that sent the introduction request. For example, when only the English-Japanese translation is to be used, if the user sets that fact, the service selection unit of the introduction device 401 selects one web service device 301 that provides the English-Japanese translation. become. (2) Judgment is made based on the character code and the appearance frequency of the character expressing the text. As will be described later, the text specified in the introduction request is generally extracted from a web document currently being browsed by the user. Therefore, based on the character code (for example, ASCII code or Shift_JIS code) describing the web document being browsed, whether English-Japanese translation or Japanese-English translation is applicable, etc. Can be requested.
  • the character code for example, ASCII code or Shift_JIS code
  • the introduction response transmission unit 404 transmits an introduction response designating the selected web service device 301 to the transmission source of the introduction request.
  • an inquiry URL or an XML template is typically designated in the introduction response.
  • the browsing computer can receive the web service if the character string is used as it is, and when the length of “text” is short or only a part of the text specified in the introduction request It is suitable for extracting web and receiving web services.
  • the introduction device 401 converts the designated text into the character code for the web service and designates it in the character string. There is an advantage that various character code conversions are unnecessary on the computer side.
  • the browsing computer will connect the extracted text to the character string specified in the referral response and receive the web service, which is suitable when the text is long. ing.
  • the place where the extracted text is embedded is indicated by a specific reserved character string, and on the viewing computer side, the character specified in the introduction response.
  • This method is suitable for a protocol that performs communication using a nested structure such as an XML format.
  • the GET / POST method of the HTTP protocol, the SOAP protocol, etc. can be applied as in the case of sending / receiving the web service request / web service response.
  • the introduction device 401 may select one of a plurality of web services, or may select any of a plurality of web services. In the latter case, the degree of suitability (a value corresponding to the “score” described above) that estimates which web service is desired by the user is obtained for each service.
  • the conformity of each web service may be specified in the introduction response and used on the browsing computer. Such an embodiment will be described later.
  • FIG. 5 is a schematic diagram showing a schematic configuration of a browsing computer that executes a plug-in program in an environment in which the browser program is executed.
  • a description will be given with reference to FIG.
  • a plug-in program is downloaded from the introduction device 401, and the currently displayed web document is displayed.
  • a plug-in program is executed as a processing target.
  • the browsing computer 201 shown in this figure includes a position reception unit 501, a text acquisition unit 502, an introduction request transmission unit 503, an introduction response reception unit 504, an element insertion unit 505, and a display control unit 506. Function.
  • the position receiving unit 501 receives a position instruction input for specifying a position in the document of the displayed web document.
  • the position receiving unit 501 acquires where the mouse 106 clicked on the web document displayed on the screen of the display device 107, and is considered to hook the processing of the URL receiving unit 202. it can.
  • the text acquisition unit 502 acquires the text displayed at the position specified in the received position instruction input in the DOM tree of the displayed web document.
  • the text acquisition unit 502 acquires text surrounded by the clicked element node (of a child node of the element node).
  • the introduction request transmission unit 503 transmits an introduction request designating the acquired text to the introduction device 401
  • the introduction response reception unit 504 receives the introduction response transmitted from the introduction device 401.
  • This process typically uses the JavaScript XMLHttpRequest function.
  • the element insertion unit 505 is transmitted from the web service device 301 by transmitting a web service request designating the acquired text as processing target data to the web service device 301 designated in the received introduction response.
  • the element node for embedding in which the processing result data specified in the web service response to be embedded is to be inserted in the vicinity of the acquired text in the DOM tree of the displayed web document.
  • element nodes corresponding to a predetermined tag are sequentially extracted from element nodes constituting the DOM tree of the web document.
  • a tag name for the document.getElementsByTagName () instruction an array of element nodes is obtained. By accessing this array in order, the object of “element node corresponding to a given tag” Is obtained.
  • Predetermined tags include p for paragraphs, a for anchors to URLs of other web documents, div, span, em, strike, b, s, u, i, h1, h2, h3, h4 , H5, h6, td, li, dd, dt, etc., tags that surround a certain amount of text are typically employed. Which tag is used can be changed as appropriate.
  • a predetermined JavaScript procedure is set as an event handler in the onclick attribute of the extracted object of each element node.
  • the position where the position receiving unit 501 clicked the web document can be acquired.
  • An example of specific event handler procedure contents is as follows.
  • an element node whose event handler procedure is set to the .onclick attribute is referred to as a “target element node”.
  • a text node that is a descendant of the element node of interest is concatenated to obtain text surrounded by the element node.
  • the text is obtained by concatenating the .nodeValue attribute of the nodes enumerated by the .childNodes attribute of the element of interest node.
  • the text is converted into a predetermined character code.
  • UNICODE UTF-8 is used as the character code of the conversion destination. This process corresponds to the process executed by the text acquisition unit 502.
  • an introduction request packet for designating the text of the converted text and, if necessary, the type of character code in which the original web document is created is generated, and is sent to a predetermined introduction device 401.
  • This can be realized by using the XMLHttpRequest object, and corresponds to the processing executed by the introduction request transmission unit 503.
  • an inline frame element node including an iframe tag that specifies the URL of the web service for the text as a reference destination is used as an embedding element node.
  • this embedding element node is added in the vicinity of the target element node.
  • a typical neighborhood is an element node at the end of a child or the element node next to the element element of interest.
  • the appearance may be arranged so that it is easy to see by inserting a br element or the like as appropriate.
  • the browser program does not require screen redrawing. Therefore, even if the bookmarklet is selected and the plug-in program is executed, the waiting time of the user at that time can be extremely short.
  • the display control unit 506 inserts an element node into the DOM tree of the displayed web document, or receives a web service response, and the processing result data specified in the web service response is stored in the embedding element node.
  • the changed web document is redrawn on the display unit and displayed on the screen.
  • the function of the display control unit 506 typically uses the redrawing function provided by the browser program as it is. However, if the JavaScript function is used, various processes are executed at the time of redrawing. Is also possible.
  • the text acquisition unit 502 can select a predetermined type of element from among the element nodes including the position specified in the received position instruction input.
  • the node which is the smallest element node, is searched from the DOM tree of the displayed web document, and the event specified by the .onclick attribute is executed.
  • the text of a text node that is a descendant of the searched minimum element node has not been acquired, the text is used as the acquired text, and an inquiry to the introduction device 401 or insertion of an inline frame is performed. Executed.
  • an inline frame element is inserted.
  • an object element or script element node in which an event handler process corresponding to the above (1) to (5) is described is included in the embedding element. It can also be used as a node.
  • an object element or a script element is adopted, a process for displaying that the web service is waiting for a reply may be added without relying on a browser program.
  • the event handler that changes the appearance for displaying the element node is appropriately set in the .onfocus attribute or the .onblur attribute of the element element of interest, it is displayed.
  • the user can easily know whether or not the web service can be received for the text in the existing web document.
  • FIG. 6 is an explanatory diagram showing a state of communication in the browsing system of the present embodiment.
  • a description will be given with reference to FIG.
  • a web document request is made to the web server 551 (601), and the web document is obtained from the web server 551 that provides the URL (602).
  • the obtained web document is displayed on the screen.
  • FIG. 7 is an explanatory diagram showing a display example of the screen at this point of the browsing computer of the present embodiment.
  • the URL of the web server 551 is input and displayed in the address bar 702 of the browser 701, and the obtained web document is displayed in the document display area 703.
  • a button 704 for executing a bookmarklet is also displayed on the toolbar of the browser 701.
  • the browsing computer 201 requests the plug-in program from the introduction device 401 (603), downloads it (604), and displays it.
  • the plug-in program is executed for the web document.
  • the cached plug-in program may be executed as it is without executing the download request (603) and the response (604). .
  • the .onclick, .onfocus, and .onblur attributes of the predetermined element node are changed.
  • FIG. 8 is an explanatory diagram showing a display example of the screen at this point of the browsing computer of the present embodiment.
  • a description will be given with reference to FIG.
  • the text 706 “This is a pen near the mouse cursor 705 is displayed in the example shown in FIG. 7 even though the position of the mouse cursor 705 is the same. It can be seen that the background color of “.” Changes and is highlighted. This is because the .onfocus and .onblur attributes have been rewritten by executing the bookmarklet.
  • the .onclick event handler is activated for the element node surrounding the highlighted text 706, and the above processes (1) to (5) are executed.
  • an introduction request is transmitted from the browsing computer 201 to the introduction device 401 (605), and an introduction response is transmitted from the introduction device 401 to the browsing computer 201 (606).
  • the browsing computer 201 generates an embedding element node based on the URL specified in the introduction response, and inserts it in the vicinity of the clicked text.
  • the browser program starts redrawing, but when drawing the embedding element node, the web service request for designating the text corresponding to “This is a pen.” Is sent to the web service device 301. It is transmitted (607).
  • FIG. 9 is an explanatory diagram showing a display example of the screen at this point of the browsing computer of the present embodiment.
  • an inline frame 707 is displayed in the vicinity of the text 706, and it is displayed that the browser program function is waiting for a response to the web service request (in the browser program). Depending on the type, nothing may be displayed.
  • the browsing computer 201 When the browsing computer 201 receives the web service response (608) transmitted from the web service device 301, the content of the web service response is displayed in the inline frame 707.
  • the domain associated with the script program loaded by the bookmarklet is not the domain of the introduction device 401, but the web server that provides the web document being displayed It becomes the domain of 551.
  • FIG. 10 is an explanatory diagram showing a display example of the screen at this point of the browsing computer of the present embodiment.
  • the inline frame 707 displays “This is a pen.” Which is the result of the English-Japanese translation of the text 706 “This is a pen.”.
  • the user can receive an appropriate web service only by inputting an instruction for a desired portion of the web document being browsed by the user, and the result is It is inserted and displayed near the location.
  • the spot of interest and the result of the web service are displayed side by side in the display screen of the browser. Therefore, the user can easily compare and understand the two contents.
  • the web service introduced by the introduction device 401 is limited to one type. In the following, let us consider the case where a plurality of web services are introduced.
  • the introduction device 401 calculates the order of suitability of these web services by using some method. Put on.
  • various techniques such as a method in which the user decides the order in advance and registers the information in the introduction device 401, and a method in an embodiment described later can be employed for the degree of fitness.
  • the web service with the first matching degree and the web services with the second or lower ranking are designated in the introduction response.
  • the browsing computer 201 employs the following collection of element nodes as embedding element nodes.
  • An inline frame element node consisting of an iframe tag that designates the URL of the web service for the text as a reference destination for the web service with the highest degree of matching.
  • For each web service that has a second or lower fitness specify a service request event handler in the .onclick attribute, and use a div element or span that uses the name of the web service as the node value text. Service request element node by element etc.
  • the applicable web services are “English-Japanese translation”, “English-French translation”, “product pen search”, and “word pen web search”. Suppose there are types and the degree of fitness is in this order.
  • FIG. 11 is an explanatory diagram showing a display example of the browsing computer screen immediately after the embedding element node in the present embodiment is inserted into the DOM tree.
  • FIG. 11 is an explanatory diagram showing a display example of the browsing computer screen immediately after the embedding element node in the present embodiment is inserted into the DOM tree.
  • FIG. 12 is an explanatory diagram showing a display example of the screen after the inquiry about the inline frame included in the embedding element node is completed.
  • a description will be given with reference to FIG.
  • FIG. 13 is an explanatory diagram showing a display example of a screen immediately after the text 708 “English-French translation” is clicked.
  • a description will be given with reference to FIG. 13
  • FIG. 14 is an explanatory diagram showing a display example of the screen after the inquiry for the clicked web service request is completed.
  • a description will be given with reference to FIG.
  • a web service necessary for the user can be quickly provided by an operation as simple as possible.
  • one method for obtaining the conformity of a web service will be described.
  • the service selection unit 403 calculates the fitness for the texts specified in the received introduction requests of the plurality of web service devices 301, and When the web service device 301 having a fitness level equal to or greater than a predetermined threshold is selected and a plurality of web service devices 301 are selected, the introduction response transmission unit 404 calculates the fitness calculated for the selected web service device 301. This is applied when the order of degrees is further specified in the introduction response.
  • This process (3) corresponds to a process executed by a report transmission unit (not shown). Typically, this report also specifies information identifying the user who is using the viewing computer.
  • the number accumulating unit 406 accumulates and records the number of times each web service device 301 is used by the user actively selecting. That is, the number of times of using the web service device 301 specified in the report is increased by receiving the report.
  • the service selection unit 403 obtains the suitability based on the accumulated number of times. Specifically, the past total number may be used, or the fitness level of the web service that has been used most recently may be increased.
  • This calculation of the fitness corresponds to the introduction device 401 “learning” what web service each user selects for what text. Therefore, for this “learning”, it is possible to apply an algorithm similar to that for learning kana-kanji conversion in natural language processing.
  • the introduction device 401 when the introduction device 401 receives an introduction request, the contents of the array variable are extracted and the number of requests is integrated.
  • the report transmission unit transmits a report using the introduction request transmission unit 503, and the report reception unit 404 receives the report using the introduction request reception unit 401.
  • the number of communication with the introduction device 401 can be reduced.
  • the present invention it is easy to apply the web service desired by the user to the text included in the web document being browsed by the browser, and it is preferable for the user to easily confirm the result.

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)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

 ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用し、その結果をユーザが確認できるようにするため、ブラウザ(701)の文書表示領域(703)におけるテキスト(706)をユーザがクリックすると、紹介装置に対してウェブサービスの紹介を求め、その応答に指定される飜訳等のウェブサービスに対する問合せURLが指定されたインラインフレーム(707)をテキスト(706)の近傍に挿入するイベントハンドラが起動されるので、ブラウザ(701)を実行する閲覧用コンピュータからウェブサービス装置に対して問合せが行われ、その結果がインラインフレーム(707)内に表示される。ポップアップ表示とは異なり、ユーザが注目しているテキスト(706)が、ウェブサービスの結果を表示するインラインフレーム(707)によって隠されることがないため、ユーザの視認性が増す。

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ツリーのうち、取得されたテキストの近傍に挿入する。
 さらに、閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行することにより、ノード置換部としてさらに機能する。
 ここで、受け付けられた位置指示入力に指定される位置を含む要素ノードが、当該問合せ用要素ノードのいずれかである場合、ノード置換部は、当該問合せ用要素ノードに対するウェブサービス装置に対する埋込用要素ノードを、当該問合せ用要素ノードの位置に挿入し、当該問合せ用要素ノードを非表示もしくは削除することにより、当該問合せ用要素ノードと当該埋込用要素ノードで置換する。
 また、本発明の閲覧システムは、以下のように構成することができる。
 すなわち、紹介装置において、サービス選択部は、当該ウェブサービス装置の適合度を、当該テキストが含まれていたウェブ文書の文字コードおよび当該テキストに含まれる文字の出現頻度に基づいて計算する。
 また、本発明の閲覧システムにおいて、閲覧用コンピュータは、当該ブラウザプログラムが実行されている環境で、当該プラグインプログラムを実行することにより、報告送信部としてさらに機能する。
 ここで、ノード置換部により、当該問合せ用要素ノードが当該埋込用ノードに置換されると、報告送信部は、当該置換された問合せ用要素ノードに対するウェブサービス装置のウェブサービス要求がされた旨を指定する要求報告を、紹介装置に送信する。
 一方、紹介装置は、報告受信部、回数積算部としてさらに機能する。
 ここで、報告受信部は、ウェブサービス装置のウェブサービス要求がされた旨を指定する要求報告を受信する。
 一方、回数積算部は、当該複数のウェブサービス装置のそれぞれが、受信された要求報告に指定されていた回数を積算する。
 さらに、サービス選択部は、当該ウェブサービス装置の適合度を、積算された回数に基づいて計算する。
 また、本発明の閲覧システムにおいて、報告送信部は、当該ウェブサービス要求がされるごとにその旨を蓄積し、当該紹介要求に当該蓄積された情報に基づいて当該ウェブサービス要求がされた旨を指定することにより、当該要求報告を送信し、報告受信部は、紹介要求受信部が当該紹介要求を受信するごとに、当該紹介要求に指定されているウェブサービス要求を取得することにより、当該要求報告を受信するように構成することができる。
 また、本発明の閲覧システムは、ユーザが当該ブラウザプログラムに登録したブックマークレットを、当該ウェブ文書が表示された後に、当該ユーザが選択すると、当該ブックマークレットのプログラムが、当該閲覧用コンピュータを、紹介装置から当該プラグインプログラムをロードして実行するように機能させるように構成することができる。
 本発明のその他の観点に係るプログラムは、上記閲覧システムにおいて、ブラウザプログラムが実行されている環境で閲覧用コンピュータにより実行されるべきプラグインプログラムである。
 本発明のその他の観点に係るプログラムは、紹介用コンピュータを、上記の閲覧システムの紹介装置の各部として機能させる紹介プログラムである。
 本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
 上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
 本発明によれば、ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用しやすくし、その結果をユーザが確認しやすくするのに好適な、閲覧システム、当該ブラウザで実行されるプラグインプログラム、ならびに、当該プラグインプログラムと共働する紹介装置を実現するための紹介プログラムを提供することができる。
本発明の閲覧システムの実施形態の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 インラインフレーム
 以下に本発明の実施形態を説明する。以下では、理解を容易にするため、一般的な情報処理装置に本発明が適用される実施形態を説明するが、各種のゲーム装置、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との間の通信回数を低減することができる。
 なお、本願においては、日本国特許出願特願2008-149206号(2008年6月6日出願)を基礎とする優先権を主張するものとし、指定国の法令が許す限り、当該基礎出願の内容をすべて本願にとりこむものとする。
 上記のように、本発明によれば、ブラウザで閲覧中のウェブ文書に含まれるテキストに対して、ユーザが希望するウェブサービスを適用しやすくし、その結果をユーザが確認しやすくするのに好適な、閲覧システム、当該ブラウザで実行されるプラグインプログラム、ならびに、当該プラグインプログラムと共働する紹介装置を実現するための紹介プログラムを提供することができる。

Claims (10)

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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2009147879A1 true WO2009147879A1 (ja) 2009-12-10

Family

ID=41397958

Family Applications (1)

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

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 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム

Citations (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 情報検索方法、広告方法および広告料金課金方法
JP2005189993A (ja) * 2003-12-24 2005-07-14 Casio Comput Co Ltd 情報表示制御装置、プログラム及び情報表示制御方法
JP2008112446A (ja) * 2006-10-16 2008-05-15 Hupoo Media Japan Kk ネットワークリソース情報の提供方法、そのユーザー機器及びそのネットワーク機器

Patent Citations (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 情報検索方法、広告方法および広告料金課金方法
JP2005189993A (ja) * 2003-12-24 2005-07-14 Casio Comput Co Ltd 情報表示制御装置、プログラム及び情報表示制御方法
JP2008112446A (ja) * 2006-10-16 2008-05-15 Hupoo Media Japan Kk ネットワークリソース情報の提供方法、そのユーザー機器及びそのネットワーク機器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Proceedings of the 14th annual meeting of the Association for Natural Language Processing", 17 March 2008, article SHU, TANAKA: "Dai Sansha Joho o Teiji suru Browser Nai Browser", pages: 717 - 720 *
MIURA, SHIZUKU, TANAKA: "Web Browser o Riyo shita Bunsho Naiso Kino no Jitsugen", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 43, no. 12, 15 December 2002 (2002-12-15), pages 3706 - 3717 *

Also Published As

Publication number Publication date
JP2009294995A (ja) 2009-12-17
JP5276903B2 (ja) 2013-08-28

Similar Documents

Publication Publication Date Title
US10262300B2 (en) Presenting image previews in electronic messages
US9111008B2 (en) Document information management system
US7216072B2 (en) Relay device, server device, terminal device, and translation server system utilizing these devices
KR100265548B1 (ko) 기계번역방법및장치
US7010551B2 (en) File conversion method, file converter, and file display system
CN101452453B (zh) 一种输入法网址导航的方法和一种输入法系统
US20070294646A1 (en) System and Method for Delivering Mobile RSS Content
KR100907671B1 (ko) 기록 매체 및 문자 입력 편집 방법
US20070006076A1 (en) System and method for providing Asian Web font documents
KR20090023708A (ko) 웹사이트 데이터 오그멘트 방법 및 웹 페이지 콘텐츠 검색 시스템
US20180218076A1 (en) Information obtaining method and apparatus
US8650474B2 (en) Methods for web content optimization in single page display environments and systems thereof
US7272792B2 (en) Kana-to-kanji conversion method, apparatus and storage medium
US20110099495A1 (en) Method for enabling internet access on a multifunction reprographic machine
US20150161111A1 (en) Interpreted Language Translation System and Method
US20030080986A1 (en) System and method for accessing and utilizing remote bookmark lists
CN110874254A (zh) 包括计算设备的系统、可读介质及生成帮助系统的方法
JP2004070809A (ja) Web情報閲覧装置、Web情報表示方法及びそのプログラム
JP5185891B2 (ja) コンテンツ提供装置、コンテンツ提供方法およびコンテンツ提供プログラム
JP2007128367A (ja) 情報検索ノウハウ管理システム
JP4725876B2 (ja) データ引き渡し装置
JP5276903B2 (ja) 閲覧システム、プラグインプログラム、ならびに、紹介プログラム
JP2007034464A (ja) 広告コンテンツ提示システム、広告コンテンツ提示プログラム
KR100573091B1 (ko) 퍼스널 배너 작성 프로그램
JP5330169B2 (ja) コンテンツデータ提供装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09758146

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09758146

Country of ref document: EP

Kind code of ref document: A1