Executable for requesting a linguistic service

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000, C704S002000, C704S008000, C704S009000

Reexamination Certificate

active

06321372

ABSTRACT:

FIELD OF THE INVENTION
The invention relates to techniques for requesting linguistic services.
BACKGROUND AND SUMMARY OF THE INVENTION
A number of techniques have been proposed for providing linguistic services. For example, it has been proposed to provide software running in a dedicated server computer attached to a network, so that a linguistic service such as foreign language comprehension assistance is available on the network. Other proposed linguistic services include tokenization, tagging, morphological analysis, language identification, disambiguation, idiom recognition, contextual dictionary lookup, terminology extraction, and noun-phrase extraction, and it has been proposed to provide these services in multiple languages. It has further been proposed to use an object oriented design, such as a design written in the C++ programming language, in a portable, robust, extensible architecture both for standalone and client-server implementations.
In one proposal, a version of Xerox Linguistic Development Architecture (XeLDA), client code running on a client machine provides a request to the network for delivery to a server machine; server code running on the server machine receives the request, causes execution of appropriate software modules to perform the requested service, and produces a result, which is then provided to the network for delivery to the client machine. The server code for this version of XeLDA has an input adapter for retrieving and extracting data from the request before services are performed and an output adapter for modifying or formatting the results of the services before providing them to the network. The client code includes service stubs supporting a user application.
Faith, R. and Martin, B.,
A Dictionary Server Protocol
, The Internet Society, October 1997, pp. 1-11, disclose a TCP transaction based query-response protocol that allows a client to access dictionary definitions from a set of natural language dictionary databases. The server protocol is an interface between programs and the dictionary databases. Commands and replies are composed of encoded characters, and each command consists of a command word followed by zero or more parameters. The parameters can include databases, strategies, and words. A response can be a status response indicating the server's response to the last command received or a textual response sent as a series of successive lines of textual matter. If an OPTION MIME command has been given, all textual responses are prefaced by a MIME header. Although the protocol could have been extended to specify searches over databases with certain attributes, this would needlessly complicate parsing and analysis and the classification system could restrict the types of databases that can be used. In the future, extensions to the protocol may be provided to allow a client to request binary encodings. Also, standard extensions should be proposed to allow the client to request certain content types or encodings. Given a database with sufficient mark-up information, it may be possible to generate output in a variety of different formats, the use of which may be explored as extensions to the protocol. Commands beginning with the letter “XC” are reserved for experimental extensions.
The invention addresses basic problems that arise in providing linguistic services upon request. A multitude of different services could be requested including some that are not yet available, and the data on which a service will be requested cannot be known in advance and could be in any of a large number of languages. The changing set of available services, the possibly large set of supported languages, and the unpredictability of data make it difficult to produce a linguistic services system that remains useful over an extended time.
The invention is based on the discovery of new techniques for providing linguistic services that alleviate these problems. The new techniques involve requests for a new linguistic service, which is “new” in the sense that the techniques have made it newly available. The requests each identify the new linguistic service and indicate linguistic data on which the service is to be performed. The new techniques also involve operations that respond to requests by performing the new linguistic service on linguistic data.
Each of the new techniques relates to an executable, sometimes referred to herein as a “service executable”, that can be executed in response to a request and that, when executed, performs the new linguistic service. More specifically, the new techniques relate to the production of service executables from human-readable code, sometimes referred to herein as “linguistic source code” or simply “source code”.
The new techniques treat linguistic services hierarchically, allowing a programmer to write source code for a new linguistic service based on a hierarchical descendant relationship with an ancestor service for which source code already exists. The ancestor service may, for example, be a less specified linguistic service or it may be a proto-service that serves only as an ancestor of one or more linguistic services within a hierarchy. Therefore, source code for the descendant can be produced by modifying the preexisting source code for the ancestor. Then, a service executable can be produced from the source code. When executed in response to a request that identifies the new linguistic service, the service executable performs the new linguistic service on the indicated linguistic data.
The new techniques alleviate the problems described above, because they make it relatively easy to add a new linguistic service by further specifying or otherwise modifying preexisting source code for an ancestor service.
Some of the new techniques can be implemented with object-oriented programming. For example, preexisting source code in an object-oriented programming language can define a class for a proto-service, referred to herein as a “top-level service class”. The top-level service class can include a service identifier whose value can identify one of the descendant linguistic services, parameters that are common to the descendants, and a default execute method that can be further specified to perform any of the descendants.
Parameters of the top-level service class can include input parameters providing information needed to obtain linguistic data on which a linguistic service is performed. For example, one input parameter, referred to herein as an “input format” parameter, could indicate the format and character set of linguistic data to be processed, thus making it relatively easy to add a new input format or a new input character set. Another input parameter, referred to herein as a “data access” parameter, could include data for accessing the linguistic data, such as the linguistic data itself, a file name, a URL, or another type of access data, thus making it relatively easy to add a new way of accessing linguistic data. A related input parameter, referred to herein as a “data position” parameter, could indicate the portion of the linguistic data to be processed, such as a starting position and a number of characters Yet another input parameter, referred to herein as an “input language” parameter, could indicate the natural language of the linguistic data or could have a value indicating that the language is not known, making it relatively easy to take into account a new input language.
Similarly, parameters of the top-level service class can include result parameters providing information needed to return results of performing a linguistic service on linguistic data. For example, one result parameter, referred to herein as a “result format” parameter, could indicate the format and character set in which results are returned or could have a value indicating that the results should, be returned as an unformatted object; this would make it relatively easy to add a new results format or a new character set for results thus making it relatively easy for the client to handle results.
Starting with preexi

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Executable for requesting a linguistic service does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Executable for requesting a linguistic service, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Executable for requesting a linguistic service will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2598093

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.