Executable for requesting a linguistic service
First Claim
1. A method of producing executables for a system that performs linguistic services in response to requests, the system including a processor for executing the executables;
- the method comprising;
obtaining preexisting source code for an ancestor service;
the ancestor service being an ancestor of a new linguistic service in a hierarchy within which an ancestor is less specified than its descendants;
modifying the preexisting source code to produce modified source code for responding to requests for the new linguistic service;
each request identifying the new linguistic service and indicating linguistic data on which the new linguistic service is to be performed in response to the request; and
using the modified source code to produce a service executable that, when executed by the processor in response to a request for the new linguistic service, performs the new linguistic service on the indicated linguistic data.
4 Assignments
0 Petitions
Accused Products
Abstract
An executable for a new linguistic service is produced using preexisting source code for an ancestor service that is a less specified ancestor of the new linguistic service in a hierarchy. The preexisting source code is modified, such as by further specifying it, to produce modified source code for responding to requests for the new linguistic service, where each request identifies the new linguistic service and indicates linguistic data on which it is to be performed. The modified source code is then used to produce the executable for the new linguistic service. The preexisting source code can, for example, define a top-level class in an object-oriented programming language, with common parameters including input parameters with information for obtaining the linguistic data and result parameters with information for returning results of the new linguistic service.
-
Citations
19 Claims
-
1. A method of producing executables for a system that performs linguistic services in response to requests, the system including a processor for executing the executables;
- the method comprising;
obtaining preexisting source code for an ancestor service;
the ancestor service being an ancestor of a new linguistic service in a hierarchy within which an ancestor is less specified than its descendants;
modifying the preexisting source code to produce modified source code for responding to requests for the new linguistic service;
each request identifying the new linguistic service and indicating linguistic data on which the new linguistic service is to be performed in response to the request; and
using the modified source code to produce a service executable that, when executed by the processor in response to a request for the new linguistic service, performs the new linguistic service on the indicated linguistic data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
a service identifier whose value can identify one of the descendant linguistic services;
common parameters that are common to the descendants; and
a default execute method that can be further specified to perform any of the descendant linguistic services.
- the method comprising;
-
4. The method of claim 3 in which the common parameters include input parameters providing information needed to obtain the linguistic data on which the new linguistic service is performed;
- the input parameters including;
an input format parameter indicating a format and character set of the linguistic data;
a data access parameter that includes data for accessing the linguistic data;
a data position parameter indicating a portion of the linguistic data to be processed; and
an input language parameter having a value that indicates the language of the linguistic data or indicates that the language is not known.
- the input parameters including;
-
5. The method of claim 4 in which the modified source code defines a lower-level service class in the object-oriented programming language, the lower-level service class being a descendant of the top-level service class;
- the lower-level service class including a specialized execute method for performing the new linguistic service, the specialized execute method;
creating a data retrieval object that obtains linguistic data in accordance with the data access parameter;
creating a content extraction object that extracts textual content in accordance with the input format parameter;
calling an associated method of a language identification object for identifying the language of the linguistic data in accordance with the input language parameter; and
calling associated methods of one or more module objects for performing the new linguistic service on the part of the linguistic data indicated by the data position parameter.
- the lower-level service class including a specialized execute method for performing the new linguistic service, the specialized execute method;
-
6. The method of claim 5 in which the data retrieval object uses the data access parameter to create a specialized instance of an input data class that includes parameters and methods for accessing the linguistic data.
-
7. The method of claim 6 in which the specialized instance of the input data class includes a method that retrieves the linguistic data in chunks;
- the content extraction object using the input format parameter to create a specialized instance of an input data extraction class that includes parameters and methods for extracting textual content from the chunks.
-
8. The method of claim 3 in which the common parameters include result parameters providing information needed to return results of performing the new linguistic service on linguistic data;
- the result parameters including;
a result format parameter with a value indicating a format and character set in which results are returned or a value indicating that the results should be returned as an unformatted object.
- the result parameters including;
-
9. The method of claim 8 in which the modified source code defines a lower-level service class in the object-oriented programming language, the lower-level service class being a descendant of the top-level service class;
- the lower-level service class including a specialized execute method for performing the new linguistic service, the specialized execute method, if the result format parameter'"'"'s value indicates a format and character set;
creating a result conversion object for converting the results of the new linguistic service in accordance with the format and character set indicated by the result format parameter.
- the lower-level service class including a specialized execute method for performing the new linguistic service, the specialized execute method, if the result format parameter'"'"'s value indicates a format and character set;
-
10. The method of claim 9 in which the result conversion object is a specialized instance of a pivot format class that provides a representation of a document;
- the result conversion object having a definition method that uses a format definition object for the format and character set indicated by the result format parameter to convert the result conversion object into the format and character set indicated by the result format parameter.
-
11. The method of claim 9, further comprising:
-
obtaining preexisting conversion source code for an ancestor conversion class;
the ancestor conversion class being an ancestor of a new format definition class in a hierarchy within which an ancestor is less specified than its descendants;
modifying the preexisting conversion source code to produce modified conversion source code for defining the new format definition class for converting instances of the pivot format class to the format and character set indicated by the result conversion parameter; and
using the modified conversion source code to produce a conversion executable that, when executed by the processor, creates an instance of the new format definition class that performs the new result conversion method;
the format definition object being an instance of the new format definition class.
-
-
12. The method of claim 11 in which the preexisting conversion source code defines a top-level result conversion class in the object-oriented programming language;
- the top-level result conversion class including;
a result identifier field whose value can identify one of the descendants of the top-level result conversion class.
- the top-level result conversion class including;
-
13. The method of claim 3 in which the act of modifying the preexisting source code produces source code defining a lower-level service class in the object-oriented programming language, the lower-level service class including:
-
specific parameters that are specific to the new linguistic service; and
a specialized execute method for performing the new linguistic service.
-
-
14. The method of claim 13 in which the new linguistic service responds to linguistic data in a first natural language by providing results in a second natural language different than the first;
- the specific parameters including;
a result language parameter indicating the second natural language.
- the specific parameters including;
-
15. The method of claim 13 in which the new linguistic service provides dictionary lookup services on untokenized text data;
- the specific parameters including;
module type parameters indicating types of linguistic modules that are employed to provide dictionary lookup services;
the indicated types of linguistic modules including a type of tokenizer, a type of morpho-syntactic analyzer, a type of syntactic disambiguator, and a type of dictionary lookup.
- the specific parameters including;
-
16. The method of claim 13, further comprising:
-
in response to a request for the new linguistic service, operating the processor to execute the service executable to produce an instance of the lower-level service class; and
operating the processor to perform the new linguistic service in accordance with the lower-level service class instance.
-
-
17. The method of claim 13 in which the act of using the modified source code to produce the service executable further produces a second service executable that uses the lower-level service class instance as an input, the method further comprising:
-
obtaining preexisting communication source code for an ancestor communication class;
the ancestor communication method being an ancestor of descendant communication classes in a hierarchy within which an ancestor is less specified than its descendants;
modifying the preexisting communication source code to produce modified communication source code for a new communication method;
the modified communication source code defining a descendant of the ancestor communication class; and
using the modified communication source code to produce a communication executable that, when executed by the processor, performs the new communication method;
the lower-level service class instance being provided to the second service executable by the executing the communication executable.
-
-
18. The method of claim 17 in which the preexisting communication source code defines a top-level client-side class and a top-level server-side class in the object-oriented programming language;
- source code for the top-level client-side class being used to produce a client communication executable for execution by a processor of a client machine;
source code for the top-level server-side class being used to produce a server communication executable for execution by a processor of a server machine;
the act of modifying the preexisting communication source code comprising;producing modified source code for a first lower-level client-side class for communicating the instances of the lower-level service class to the server machine and modified source code for a counterpart lower-level server-side class for receiving instances of the lower-level service class from the client machine; and
producing modified source code for a second lower-level client-side class for directly providing instances of the lower-level service class as input for the processor of the client machine during execution of the second service executable.
- source code for the top-level client-side class being used to produce a client communication executable for execution by a processor of a client machine;
-
19. An article of manufacture produced by the method of claim 1;
- the article of manufacture comprising;
a storage medium; and
the service executable stored on the storage medium.
- the article of manufacture comprising;
Specification