WO2011137724A1 - 基于语义逻辑的类自然语言人机对话装置 - Google Patents

基于语义逻辑的类自然语言人机对话装置 Download PDF

Info

Publication number
WO2011137724A1
WO2011137724A1 PCT/CN2011/073328 CN2011073328W WO2011137724A1 WO 2011137724 A1 WO2011137724 A1 WO 2011137724A1 CN 2011073328 W CN2011073328 W CN 2011073328W WO 2011137724 A1 WO2011137724 A1 WO 2011137724A1
Authority
WO
WIPO (PCT)
Prior art keywords
language
semantic
expression
string
component
Prior art date
Application number
PCT/CN2011/073328
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 上海五和际软件信息有限公司
Priority to US13/695,051 priority Critical patent/US9690779B2/en
Publication of WO2011137724A1 publication Critical patent/WO2011137724A1/zh

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Definitions

  • the invention relates to a language representation, browsing and editing tool based on a semantic logic structure, which can be used as an interactive interface or a human-machine interface interface of a software device and a service.
  • the invention specifically relates to a technical solution for language tagging, browsing, editing and conversion by establishing a model of concepts such as language components, sentence patterns or grammar formats.
  • Semantic logic is represented by natural language and machine language; the scale of the conceptual model of language components can be flexibly controlled according to user needs in an appropriate scope, maintaining validity, accuracy and feasibility; it can provide more for machine translation, human-computer interaction and Internet system.
  • a practical language specification is represented by natural language and machine language; the scale of the conceptual model of language components can be flexibly controlled according to user needs in an appropriate scope, maintaining validity, accuracy and feasibility; it can provide more for machine translation, human-computer interaction and Internet system.
  • the invention relates to a semantic network, a language component representation, a statement representation, a statement template, a sentence representation, a grammatical representation, a knowledge representation, a natural language processing, a language conversion, a machine translation, a human machine interface, and a question and answer system.
  • the object of the present invention is to establish a general language specification system and a human-machine dialogue mechanism, which can be regarded as a core component of the basic normative system of information exchange and information processing in the modern information society. Provides a common fast language text input and editing mechanism.
  • Modern information technology provides a variety of word processing programs represented by MS-WORD, but the common flaw is the lack of direct support for semantic logic, and text editing programs that support semantic logic, such as XML editors, lack of necessity.
  • Friendly, flexible or open man-machine interface. Provides a common combination of various language text translation translation technology solutions. Natural language interpreting, generating XML and other machine languages have various technical solutions, and the present invention provides a basic solution while providing a processing mechanism compatible with various other solutions, enabling corresponding fields. The various applications can work together to leverage their respective strengths.
  • the background art related to the present invention mainly relates to a resource definition framework system RDF, a semantic network OWL, an object-oriented programming method, a language component representation, a natural language processing model, a machine translation, and an executable natural language, and the related fields currently have a large number of related technologies. There are tens of thousands of patents in technical papers.
  • HTML provides a formal expression of language, but the design does not deviate from the level of character or word processing. If you further add semantic logic annotations, you can get a broader application.
  • RDF and OWL can represent the semantic logic structure well, but need to be supported by mature and effective editing devices to generate a representation scheme of complex content to meet the needs of practical applications.
  • RDFa embeds RDF concepts in various existing markup languages, such as adding attribute tags to HTML, but still does not directly form technical solutions at the logical language level.
  • XForm provides a way to edit XML documents. In general, the semantic network information generated by the human-machine interface provided by various methods can finally be represented by XML, so it is an editing tool of XML language.
  • the invention establishes a language component logic expression device according to a language component composition conceptual model, establishes various forms of language expression devices and generation devices with semantic logic tags, and parses the semantic logic markup language expression device to obtain a semantic logic expression device Therefore, different language translation conversions can be performed, and the semantic logic content of the language representation can be edited, converted, or other functions can be completed according to the above-mentioned markup language. It should be noted that the various devices included in the present invention are implemented by combining program code or markup language with an information processing device.
  • the information processing device may be a computer system, a mobile phone, a portable computing device, or the like, and the common feature is a hardware device including a central processing unit, a memory, a display, a keyboard or a mouse, and a corresponding system driver software portion.
  • the design proposed by the present invention is a more specific application device formed by combining corresponding markup language and program code with these information processing devices.
  • the classification, labeling and naming of the concept system are important technical aspects of the invention.
  • the design of the present invention includes the hierarchical construction of the concept system and the construction process of the concept classification system, such as distinguishing the upper and lower concepts, the concept types and the attribute concepts. It is important to understand the concept of attributes as a means of expressing relationships between concepts.
  • the invention further establishes a conceptual system corresponding to language components based on a general concept classification system, and can regard this process as an extension of the general concept system establishment process.
  • the process of building a conceptual system can be done through RDF, OWL, and other RDF-based specification systems, or it can be described in more ways.
  • the technical solution provided by the patent "Object-oriented information server, its production method and browser, application number: 200410055435.2" obviously also contributes to the establishment process of this concept system.
  • the exemplary embodiment provided by the present invention in turn, can help the user to establish this conceptual system more intuitively by a form similar to natural language.
  • An important reason for using these technical solutions to build a conceptual model is to further support the establishment of an automated inference system to support the best implementation of the present invention.
  • the language component as an abstract concept class can be used as a common superior concept class for classification into other specific languages.
  • the conceptual system corresponding to the language component can cover a wide range, but obviously includes sentence components, sentences, paragraphs, texts, and so on.
  • the first is the statement component.
  • the statement component is composed of conceptual objects in the objective existence. Concept objects have different naming forms at the language level. Although the appearance is very different, all the points may be single. This ambiguity provides a theoretical basis for using unique markup codes.
  • a statement is a conceptual body mainly consisting of a subject, a predicate, and an object component.
  • the program module is composed of the code of the three concept objects and the code of the three attribute contents of the access phrase subject, predicate, and object.
  • variable pronoun or an indefinite pronoun concept as a sentence component, that is to say, the sentence component may be played by a specific or indefinite conceptual subject object.
  • variable pronouns represent one or more unspecified concept objects in a human collection.
  • the concept of variable pronouns is the logical representation of the subject of indefinite or unknown concepts. These conceptual subjects can complete the description of attribute features through multiple sentences, that is, limit the scope of the subject of indefinite concepts.
  • the use of the variable pronoun concept as a component of the sentence can support the completion of the description process, making the semantic logic content of the sentence component infinitely complex, while effectively simplifying the representation structure or process of the semantic logic content. (The difference between a simple statement and a complex statement is to some extent only the number of variable pronouns in the subject, predicate, object, etc. and the complexity of the process of semantically defining the variable pronoun.)
  • Subjects and objects can be formed by specific or unspecified conceptual objects, but their content ranges need to be determined based on the nature of the predicate components.
  • the predicate component can be a behavioral concept (verb, a special behavioral noun) or a property of the conceptual object (noun).
  • the content scope of the corresponding subject and object can be determined by defining the domain (RDFS.domain) and the value domain (RDFS.range) of these concepts, thereby forming a complete statement that is semantically logically legal.
  • a compound statement is composed of a plurality of statements, so the logical expression program module corresponding to the compound statement is composed of a plurality of corresponding statement program modules, a connection word concept reflecting the statement relationship, and program code.
  • Logical inference rules and query question and answer statements are typical applications of compound statements.
  • the inference rule there are generally two parts: the premise hypothesis and the conclusion. These two parts are respectively described by multiple sentences; the query question and answer statement must include a premise hypothesis part, and the content of this part can also pass multiple sentences. carry out.
  • variable pronouns help support the universality of rule application in inference rules; variable pronouns help to support the description of query target concepts in query questions and answers.
  • a paragraph is composed of a plurality of statements, so the logical expression program module corresponding to the paragraph is composed of a plurality of corresponding statement program modules and program control codes.
  • the text is composed of multiple paragraphs, and the program module corresponding to the text concept is composed of a paragraph program module and corresponding program code.
  • the linguistic component representation involves two technical aspects: semantic logical representation and linguistic representation.
  • a program module semantic logic expression device (1) is established corresponding to the language component concept.
  • the attributes that the language component indicates that the device needs to establish include language component types (such as statements, sentence components, etc.), language, and constituent language components, etc., so it is necessary to establish a corresponding attribute access method.
  • the language component logic expression device (1) has two functions: one is a service function (11), and the format (Locale) Locale) , the other is the service function (12): parse (ClauseExp Clause) (service function (12) is optional and therefore not mentioned in the claims) because the program modules corresponding to other language component concepts are directly or indirectly inherited from the upper program module, so they have these two service functions. But provide different internal implementation processes.
  • the process of language component processing is a process of recursively calling the service function and then processing the result of the call in a comprehensive manner.
  • This design can take advantage of the advantages of the Polymorphism in the object-oriented programming language to simplify the coding of the program's integrated processing.
  • Service function (11) format(Locale When locale is called, it provides a service for converting the logical expression device (1) into a language expression device (4): ClauseExp.
  • the input parameter is the language recognition parameter (6): Locale. That is, corresponding to each language recognition parameter (6), one or more different results can be obtained, and the internal implementation process of each language component has corresponding arrangement and adjustment to reflect the grammatical features of the specific language category. .
  • any logical expression device (1) can be converted as needed to achieve the purpose of converting local semantic components to multiple language forms.
  • the service function (11) of the semantic logic expression device (1) is called to receive the language recognition parameter (6): locale, and the program code control calls the logical expression device that constitutes the paragraph or statement (1)
  • Service function (11) when the service function (11) of the logical expression device (1) of the paragraph or statement is called, the program code controls the service function of the logical expression device (1) that constitutes the statement or statement component (11) , and so on, form a process of recursively executing the program code, and then combine the processed results in a certain manner to achieve the result of the layer-by-layer generation language expression device (4).
  • the language expression device (4) comprises a set of specific language expression and markup systems and program control codes combined with the information processing device, characterized by comprising a set of semantic logic tagging symbol systems, which can assist the machine identification to control the types of semantic logic components.
  • semantic logic tagging symbol systems which can assist the machine identification to control the types of semantic logic components.
  • content, constraint scope, language type and positioning language semantic conversion device (3) these mark symbology are transparent to the user, the user does not perceive the existence of the mark, but the mark system can assist the machine to quickly and accurately identify the complex structure of the language component And content to minimize ambiguity.
  • conceptual objects are represented by unique and named symbols. This method is significantly different from the ordinary text representation method.
  • the concept object is represented by a hyperlink, the user sees the name symbol of the concept object, and the concept object unique tag URI and other content of the tag system are transparent to the user.
  • the name symbol of a conceptual object can be ever-changing but the unique token is unique to the machine, avoiding logical ambiguity.
  • the program control code included in the language expression device (4) may be stored in combination with the mark code, or may be a part of other external programs; the language expression device (4) may be implemented by text characters or by other languages such as voice.
  • the expression form is implemented; the markup symbology of semantic logic can be completed by creating new markup symbols, or it can indirectly achieve the effect of semantic logic markup by marking the content with an existing markup language.
  • the generated language representation device (4) is diverse due to factors such as language specifications, habits, languages, and the like, and thus different conversion processes are required.
  • the present invention includes a service function (11) to implement a proxy transfer mechanism, the specific content is as follows:
  • a system for registering a semantic logic representation device (1) and a corresponding semantic to language forward conversion device (2) is established.
  • the registration library can be a data structure in the form of a database or an in-memory data table, etc., or can be a program module plug-in management system, or can be automatically indexed and completed by the compiler execution system.
  • Registering one or more semantic-to-language forward conversion devices (2) for each or each type of semantic logic expression device (1) may be referred to as a formatter Formater, when the service function (11): format(Locale When locale is called, the service will obtain the formatter Formater corresponding to the language parameter locale from the registration library, and transfer the task to the Formater agent. Multiple formatter Formaters can be registered for each language type, so flexible and semantic-to-language conversion services can be formed to reflect the versatility of language grammar or lexical.
  • a language-to-semantic reverse conversion device (3) is established for each or each type of language expression device (4), the device comprising a service function (31), which can provide a specific language expression device when the service function is invoked ( 4)
  • the included symbology is inversely converted into a service of the corresponding semantic logic expression device (1).
  • Any language component represented by the language expression device (4) can be separately converted as needed to achieve the purpose of any local text reverse conversion represented by the language expression device (4) to become the logical expression device (1).
  • the step is to locate the constituent language component and the corresponding language semantic conversion device (3) according to the provided language expression device (4), and call the corresponding service function (31), and perform appropriateness comprehensive processing:
  • the program code controls the service function (31) of the language semantic conversion device (3) constituting the paragraph or sentence, and the result is appropriately processed.
  • the program code control calls the service function (31) constituting the statement language semantic conversion device (3), and the result is appropriately processed;
  • the program code controls the service function (31) of the language semantic conversion device (3) constituting the sentence component, and the result is appropriately processed; and so on.
  • the process of recursively executing the program code by forming various language components reaches the result of converting the language text expressed by the language expression device (4) into the logical expression device (1).
  • the conversion device (2) can be constructed based on the contents of various predicate components (verb or conceptual object attribute noun).
  • verbs define the content of their domain and value domain (RDFS.domain and RDFS.range), and correspondingly the subject part of the sentence (the subject of the behavior) and the object part (object or behavior point)
  • the target is defined by adding appropriate prepositions and adverbs to connect related concept objects to form a statement representation structure centered on the predicate component, and the user can edit and modify the content of each sentence component with the aid of the language dialogue device (5).
  • the objective fact corresponding to the reflection is that if the content of the predicate component of the statement changes, the sentence pattern of the whole statement may change. At this time, the existing other concept objects should be migrated to the new sentence structure and further adjusted and modified by the user.
  • domain and value domain RDFS.domain and RDFS.range
  • semantics of sentence semantic logic can be better, and the weakness of the legitimacy of the sentence analysis rule is avoided. Therefore, the language component semantics is needed.
  • the content of the domain and the value domain is added to the logical tag to define the scope of the content of the language component.
  • the human language dialogue device (5) is a semantic logic browsing editing device comprising program code combined with the information processing device, characterized by comprising a set of semantic logic expression devices (1), semantic and language conversion devices (2) and ( 3)
  • the functions and implementation methods provided are as follows:
  • the browsing display, the human language dialogue device (5) can receive the text or symbology formed by the language expression device (4) with the semantic logic tagging system, and present it to the user in some manner.
  • the semantic logic markup system is transparent to the user, and the user does not feel the existence of the semantic logic markup system, but can support the implementation of functions such as editing and translation later.
  • the implementation process can adopt a markup language such as HTML. Reasonable nesting of semantic logic to mark content and then display it to the user through the appropriate browser.
  • the human-machine language dialogue device (5) includes a set of language component editing interfaces, and a set of human-machine interface is used to help the user locate different language components. Users can locate various language components, subject, predicate, object, statement or paragraph, etc.
  • the method of locating the program is: 1 Determine whether the area of interest to the user (such as the location of the mouse click) is a language component; the semantic logic markup system helps determine whether the current location is a language component or a language component.
  • the statement is set as a positioning object; 3 if it is a statement component, it is determined whether the sentence component belongs to a positionable object (for example, reading and judging editable attributes); If the positionable object is set as the positioning object; otherwise, the statement to which the statement component belongs is set as the positioning object.
  • a positionable object for example, reading and judging editable attributes
  • the human-machine language dialogue device (5) provides rapid establishment of language component technical support based on the positioning language component.
  • the specific method is: 1
  • the insertion function program is triggered by a user dialogue event, an event generated by an operation of a device such as a mouse and keyboard; 2 the insertion function program determines the language component type that the user can insert according to the currently located language component;
  • the insert statement program determines the position of the insertion or the type of the executable operation, such as replacing the current positioning object, inserting before or after the current positioning object; 4 user confirms the selection;
  • the plug-in function program generates a corresponding device (4) by creating a semantic logic expression device (1) corresponding to the selected insertion language component and calling the function (11), and then inserting it into the selected position to complete the operation. Inserted is a "blank" structure copy, the user only needs to edit and modify the blank language component content to achieve the purpose of generating a new language object.
  • Editing and editing, providing editing functions based on the positioning language components is content editing based on language component objects.
  • the human-machine language dialogue device (5) edits the localized language components according to the semantic logic mark system, including some or all functions such as deleting, modifying, copying, pasting, dragging, etc.
  • the specific methods are as follows: 1 Delete the language component of the target. You only need to remove the corresponding markup language node from the node tree (for example, HTML.TAG node) to achieve the purpose; 2 copy and paste.
  • the positioning of the language components in the appropriate data structure (for example, converted to semantic logic device (1)) stored in the system clipboard can complete the copy operation; during the paste operation, re-execute the positioning program, put the system in the system
  • the data in the board is extracted, that is, the currently positioned language component can be replaced according to the user's selection, or the insertion can be completed before or after the currently located language component; when necessary, the program can extract the semantic logic mark content of the current positioning language component, Check the data in the clipboard or determine whether the above paste operation or paste operation can be completed; 3 Drag and drop operation.
  • the implementation process of drag and drop is similar to copying and pasting.
  • the language component of the positioning will be dragged and stored in the system transfer module with an appropriate data structure (for example, converted into a semantic logic device (1)); as the mouse is dragged, the program continuously executes the positioning program again. Locating the current language component object, and determining the operation that the data in the system transfer module can complete according to the semantic logic of the current positioning object, and prompting the user; if the semantic logic is illegal when terminating the drag, the user is rejected or prompted to select whether to continue; The currently located language component can be replaced according to the user's selection, or the insertion can be completed before or after the currently located language component; the program can extract the semantic logic tag content of the currently located language component when necessary, and check the data in the clipboard. Determine whether the above paste operation or what paste operation can be completed;
  • the edit modification function supports a fast statement generation and copying process, which avoids a lot of repeated input and frequent keyboard operations compared to the conventional character input method, and thus has obvious efficiency advantages.
  • a special editing method of the sentence component, the human-machine language dialogue device (5) provides the content of the sentence component of the specific window interface input positioning.
  • the specific implementation process is: 1 The window interface determines the range of the input content by the mark of the current language component; (the markup system contains the content range mark or can be calculated by the relevant language component); 2 The user inputs relevant information, such as characters, and then searches for the positioning input content object within the determined range; or displays the data content that meets the range requirement for the user to select, or selects the matching requirements in the commonly used data (such as historical data) of the user. The data is displayed for the user to choose; 3 The user can also directly input the content of the statement component.
  • the content of the statement component includes two categories: one is a common data type, such as a string and a number, and the other is a conceptual object, that is, RDF.Resource.
  • Ordinary data types can be completed by the user at any time; the user can create a new concept object at any time, and the new concept needs to help the user input relevant information through a specific dialog window, such as unique tags and names, etc. 4
  • the content selected or input by the user is replaced with the current sentence component. If necessary, the input legality verification can be performed at the same time, and the illegal input content can be rejected or appropriately marked (for example, the background color is changed) to prompt the user to modify.
  • the translation conversion function, the human-machine language dialogue device (5) provides a specific window interface for local translation conversion of the localized language components, and provides a flexible language expression
  • the implementation method is: 1 Reading the corresponding language semantic conversion device (3) tag information included in the localized language component; 2 obtaining an instance of the corresponding language semantic conversion device (3); 3 converting the localized language component into a logical expression device (1); Index locating device (1) all available semantic-to-language forward conversion devices (2) are displayed in an appropriate manner for the user to select; 5 Performing a user-selected semantic-to-language forward conversion device (2) service function (21) to generate a corresponding language expression device (4); The generated language expression device (4) is used to replace the current language component of the user's location or displayed for user reference. This process guarantees the consistency of the semantic logic content.
  • the human-machine language dialogue device (5) is an open language dialogue platform, the implementation method is: 1 Establish a mechanism for registering or managing semantic logic expression devices (1), semantic and language conversion devices (2) and (3); A user interface supporting the completion of the above process is established, and the user can adjust the size of the registration or management system as needed, and can newly convert the new conversion device (2) (3) that meets the requirements of the specification.
  • This open platform mechanism supports the use of semantic logic expression devices (1), semantic language conversion devices (2) and (3) established by third parties, which can promote application development in different fields.
  • the session function, the human-machine language dialogue device (5) can provide a human-machine dialogue interface for the user to use other software and services (555), and the user can talk with the information world through a familiar language manner, thereby reducing the learning cost.
  • the method is: 1
  • the human language dialogue device (5) sends the language expression device (4) with the semantic logic mark system to the third party application or service in some manner (555);
  • the third-party application or service (555) converts the language expression device (4) into a language form acceptable to the system, and returns the processing result, which may still be represented by the language expression device (4);
  • the human language dialogue device (5) receives the result or information returned by the third party application or service, performs language conversion if necessary, and finally presents it to the user for use or further processing by the language expression device (4).
  • the storage and communication function, the human-machine language dialogue device (5) can store the symbol set formed by the language expression device (4) directly or indirectly on the storage medium, thereby supporting the transmission of the information in the network.
  • the implementation method is to generate a certain markup language document, such as an HTML document, by using the above-mentioned translation conversion function, and the document can be saved and propagated as a normal text document, and the special feature is that the semantic logic content can be directly understood by the user and the machine, and the user Quickly edit or content trade-offs, control content to spread across different audiences, and improve the automation and efficiency of information processing.
  • Figure 1 shows the semantic logic representation device (1) and its service function (11) (12) and language representation device (4) relationship.
  • FIG. 2 Schematic diagram of the logical relationship of the semantic language conversion device
  • Figure 2 shows the logical relationship between the semantic language conversion means (2) and (3) and the semantic logic presentation means (1) and the language presentation means (4).
  • (21) and (31) are semantic language conversion devices (2) and (3) Corresponding to the service features provided.
  • FIG. 3 shows the combined semantic language conversion device (2) (3), semantic logic representation device (1) and language representation device (4) and human-machine language dialogue device (5)
  • the logical relationship also shows the relationship with third-party applications and services (555). (5) and (555) can interact through (1) and (4) and synthesize and resolve through (2) and (3).
  • Drawing 4 shows a graphical interface diagram of a human language dialogue device in an embodiment.
  • FIG. 5 shows a schematic diagram of the execution result of the question and answer statement in the embodiment in the form of a data table
  • FIG. 6 shows a schematic diagram of the execution result of the question and answer statement in the embodiment in the form of a statement.
  • Drawing 7 shows an interface diagram for editing the content of the sentence component in the implementation, including a unique tag input box and a name input box.
  • Figure 8 shows a display diagram of the trigger translation translation program menu, the display translation option user community, and the translation conversion execution result in the implementation scheme.
  • the black button on the right side of the drawing is light gray to indicate that the current cursor position prohibits the operation.
  • the application program for implementing the content of the present invention may be a plug-in or independent program code of an application system such as a word processing software, a form processing software, a browser software, an operating system software, an enterprise application software, a mobile application software, an embedded application software, or the like.
  • An exemplary optimized implementation provided below is a question and answer system independent application implemented in the JAVA language to demonstrate the basic design ideas and implementation of the present invention. Nonetheless, the implementation does not have to be limited to a certain programming language. In fact, the implementation of certain functions may lead to better implementations through other programming languages, such as Javascript.
  • Semantic expression device is via Java
  • the language expression device implemented by the program code for man-machine dialogue is realized by the HTML.Element control generated by the markup text implemented by the HTML language.
  • the Q&A system uses JENA, a semantic web development platform provided by HP.
  • the language expression device used for dialogue with the Jena platform is a simple statement of the triple structure, Jena RDQ and Jean Rule.
  • Jena RDQ and Jean Rule are SPARQL and RULE released by W3C respectively JENA implementation of the ML specification system.
  • JENA technically provides dynamic maintenance support for the concept system and provides a platform for semantic logic network applications.
  • the language component service interface program module IClause.java is established as an embodiment of the semantic logic expression device (1).
  • the device is a superordinate conceptual program module shared by other language components and has two service functions: one is a service function (11), format(Locale) Locale) , the other is the service function (12), parse (ClauseExp clause).
  • Public interface ISentence extends IClause ⁇ public String toSentenceTag(Locale locale);//Convert to text in the form of a statement // If the input language is HTML_Chinese, Then convert the HTML markup text into Chinese format // If the input language is HTML_English, convert the HTML markup text into English format ⁇
  • Public class Statement extends Clause implements ISentence ⁇ IComponent subject; IComponent predict; IComponent object; public Statement() ⁇ . hence ⁇
  • Public object getValue() can be a URI of a concept object or other common data type
  • the statement component module SComponent is an example of implementing IComponent.
  • Object Value; / / statement component can be a concept object URI or other common data type / / is a resource defined in the RDF specification issued by the W3C Or Litteral// respectively recorded as RDF.Resource and RDF. Litteral
  • Attr + Util.attr(LANG, locale);//Help determine the type of display language
  • Attr + Util.attr(RANGE, Range);//Help to limit the scope of the content during the editing process
  • Attr + Util.attr("class”, isValid()? "normalStyle”: "warningStyle”); / / display process to help distinguish between correct input and incorrect input
  • Boolean result Util.checkRange(getValue(), getRange()); //Check if the input meets the required scope through a third-party platform
  • Public class Source extends SComponent ⁇ //The label of the third-party platform
  • variable pronoun program module Variable.java variable pronouns are very important expressions in rules, queries and other complex statements. It can associate simple statement statements with each other to form a complete and complex semantic relation expression form in the query statement.
  • a pronoun is a means of querying the content of a target item.
  • the variable pronoun Variable is a demonstration of a special statement component that implements IComponent.
  • Variable[] selects;//target concept object selection
  • a function can be used either as a statement or as a statement component, which is a complex feature of a function form.
  • the input parameter of the function is the subject
  • the predicate is a verb
  • the object is a variable pronoun.
  • the input parameter of the function as the subject, the predicate is a verb
  • the object is the result of the function, and the semantic logic concept represented by the function itself.
  • Verb The verb concept program module Verb.java is built.
  • the verb Verb is a demonstration of the special statement component of IComponent.
  • Semantic-to-language forward conversion device (2) includes a service function (21), when the service function is called, the provided semantic logic expression device (1) is used as an input parameter to convert it forward to conform to a specific language habit And standardized language expression device (4).
  • the language-to-semantic reverse conversion device (3) includes program code in combination with an information processing device, including a service function (31).
  • the human language language dialogue device (5) the semantic logic browsing and editing device, is implemented by JTextPane.
  • JTextPane The entire process of viewing display, editing, and dialogue is supported through JTextPane and related applications.
  • the browsing display, the HTML formatted text generated by the program module having the interface IClause, is an effective way to implement the language expression device (4).
  • the HTML formatted text can be directly accepted and displayed by javax.swing.text.JTextPane.
  • the markup system with semantic logic markup is transparent to the user. The user does not feel the existence of the semantic logic markup system, but can pass javax.
  • the .swing.text.HTMLDocument and related program modules manage and use the ELEMENT node tree formed by the HTML text to support the specific implementation of other aspects of the present invention.
  • Positioning language components javax.swing.text.JTextPane can support human-machine dialogue, as a user interface to help users locate different language components.
  • the node focuseElment of the content with the "type" attribute is a language component node, and can determine whether the language component node is a statement node or a statement component node according
  • the method is to determine whether the content of the content of the "type" attribute includes the "COMPONENT” character; or convert the language component into a Clause module, and determine whether the Clause module has an IComponent or an ISentence interface; convert the language component node focuseElment into a
  • the Clause module's method is: read the "PARSER" attribute value of the node to determine the name of the formatter IFormater corresponding to the language component, and call the parser() method after obtaining the instance of the formatter; If focuseElment is a statement component node, then you need to determine whether it belongs to the editable or positionable statement component through the markup system; if not, you can continue to search for the focuseElment parent node until the focuseElment is set to a statement component.
  • the node of the statement 5 Set the background color of the focuseElment to yellow.
  • the method of establishing and inserting, creating and inserting language components is to establish a device such as a mouse and keyboard to listen to the response event program module to implement the following process: Determine the types of statements that the user can insert based on the type and semantic logic rules of the current focuseElment language node, such as statement statements, query statements, variable pronouns, functions or rules, etc.
  • the inserted position or the type of the executable operation is determined, for example, replacing the current statement, inserting before or after the current statement;
  • an instance of a program module corresponding to the language component is established, and the module implements the IClause interface; Call the toHTMLTag method in the corresponding program module instance to generate the corresponding HTML text according to the currently used language type; 5 Insert the generated HTML text into the specified location of the current HTMLDocument.
  • HTMLDocument supports parsing HTML text and inserting it in the node tree.
  • the inserted statement can be just a copy of a "blank statement", in which only the logical structure and conjunction of the statement, etc., the user only needs to edit and modify the blank statement component to complete the editing of the statement.
  • the way to drag and drop the language node focuseElment is to convert the drag node Elegate to a Clause module instance or HTML text and add it to a java.awt.datatransfer.
  • Transferable is transferred by the system; drag and drop with the mouse movement to determine the drag and drop target node, the method is basically the same as the process of locating the language component; at the same time, according to the drag node type, target node type and semantic logic
  • the rule determines whether the target node position can accept the content of the drag node and the operation that can be completed, and prompts the user; when the user releases the mouse to terminate the dragging process, it determines whether to reject the operation or complete the user selection according to the user's selection and logic judgment. operating.
  • the special editing method of the sentence component when the language component of the positioning is a sentence component, can perform operations such as deleting, copying, pasting, dragging, and inserting a sentence component, or inputting related content through a specific window interface.
  • the specific process includes: 1 When the user double-clicks the sentence component area to trigger an editing window interface program; 2 the program determines the range of the input content by the mark of the current language component; 3 displays the historical data content that meets the range requirement for the user to select; 4 If the historical data does not include the content that the user wishes to input, the user can input related information, such as characters, and then search for the positioning input content object within the determined range; the user can also directly input the sentence component content: ordinary data can be directly input through the keyboard.
  • Concept objects can be directly positioned by entering their unique tags and names. 5
  • the content selected or input by the user is replaced with the current sentence component and added to the history record. If necessary, the input legality verification can be performed at the same time, and the illegal input content can be rejected or appropriately marked (for example, the background color is changed) to prompt the user to modify.
  • the translation conversion function when the language component positioned by the above method is a statement and a sentence component node, can perform a local translation conversion operation, and provides a flexible text expression.
  • the implementation method is to establish a translation conversion interface program module: 1 When the user dialog event triggers the translation interface program, the focuseElment is converted into the corresponding Clause program module by reading the "PARSER" attribute value of the node to determine the name of the formatter (with the IFormater interface) corresponding to the language component, and obtaining the format.
  • the instance of the device is called after the parser() method; 2 After obtaining the Clause module, several formatters can be obtained for each language, and these options and conversion preview results can be displayed by the interface program for the user to select; The current language component focuseElment of the user location is replaced with the conversion target content according to the user's selection.
  • the semantic language conversion device registration system in the Clause and Statement improvement program code modules, all involve the implementation process of the semantic language conversion device registration system. Please refer to the code contents of the two program modules: getFormater(%), register(... .%) and Util.register((7) have detailed annotations.
  • IDialog includes the code part of the HTML.FORM for the language component, through which the user interface installation requesting the service to the third-party platform is completed; 2 When the user issues an instruction through this interface, it triggers execution of the execute() code. This part of the code first converts the statement into jena code and sends it to the jena platform to obtain the result of the execution; then displays the result: the returned result may be a data table, also It may be a statement or a triple set; finally, the result needs to be formalized as necessary and returned to the calling interface in HTML form and displayed.
  • HTMLDocument can assist in the conversion of the text content displayed by JTextPane into an HTML text document with all the marked content, which can be stored on disk or spread on the network.
  • the toolkit Util provides some of the service support that is closely related to the implementation of this solution. These services and support may come from many sources:
  • Handling content related to the JENA platform dialogue including reading more textual data, logical data reasoning, and query support.
  • Functional coverage is broad, and exemplary embodiments of the present invention can provide three basic functions.
  • the first is information input.
  • the information input through the natural language can be accepted by the machine, and the determined information model or information processing data structure is established in the machine.
  • the second is the question and answer statement editing function, through the natural language question and answer.
  • the statement can describe the content of the information needs; the third is the rearrangement, combination, and repeated application of the information output.
  • the implementation of the present invention in combination with a semantic web platform such as Jena, can support the definition and maintenance aspects of a conceptual system that conforms to international norms, and these specification systems are likely to become an important part of future Internet application standards.
  • the related language representation vocabulary system is open, and users can flexibly install vocabulary systems or semantic logic data according to the needs of the professional field. This can make full use of the application results of the existing markup language specification system of various semantic logics.
  • Adequacy and effectiveness An important theoretical basis of the present invention is that any conceptual object or human-machine dialog process can be described by the use of simple statements and simple statement sets.
  • the invention establishes a language representation system of semantic logic based on the concept system. Although it does not necessarily achieve the degree of flexibility and change of natural language from the formed text and syntax, it should still be said to be sufficient from the semantic logic. Effective. More importantly, the resulting text and syntax can be refined through a mature formatter program system, and gradually evolve from a natural language to a natural language effect.
  • any complex logical relationship can be expressed by a few simple statements and careful conceptual model design.
  • the application of the formatter proxy mechanism can accommodate and integrate the application of various natural language processing technology solutions.
  • the integration application through various machine translation solutions may Become a new breakthrough in the direction of machine translation development.
  • the human-machine language dialogue device realizes the language editing process at the language component level, compares the traditional text character input method, avoids a lot of repeated input and frequent keyboard operation, and has obvious efficiency advantages. More importantly, the semantic logic information represented by the natural language can be understood and used by human users and understood and reused by the user's machine agent, which greatly improves the automation level and efficiency of information processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

基于语义逻辑的类自然语言人机对话装置 技术领域
本发明涉及一种基于语义逻辑结构的语言表示、浏览和编辑工具,可以作为软件装置和服务的互动接口或人机界面接口。本发明具体涉及通过对语言成分、句型或语法格式等概念建立模型,提出语言标记、浏览、编辑和转换的技术方案。语义逻辑通过自然语言和机器语言表示;语言成分概念模型的规模可以根据用户需要灵活控制在适当的范围,保持有效性、准确性和可行性;可以为机器翻译、人机互动和互联网体系提供更加实用的语言规范。
本发明涉及语义网络、语言成分表示、语句表示、语句模板、句型表示、语法表示、知识表示、自然语言处理、语言转换、机器翻译、人机接口、问答系统。本发明的目的是建立一种通用的语言规范体系和人机对话机制,可以作为现代信息社会信息交换和信息处理的基本规范体系的核心组成部分。提供通用的快速语言文本输入和编辑机制。现代信息技术提供了多种多样的以MS-WORD为代表的文字处理程序,但共同的缺陷是缺乏对语义逻辑的直接支持,而能够支持语义逻辑的文本编辑程序,例如XML编辑器,缺乏必要的友好、灵活或开放的人机界面。提供通用的各种语言文本转换翻译技术方案的组合机制。自然语言相互翻译、生成XML和其它机器语言具有各种各样的技术解决方案,本发明提供了一种基本的解决方案,同时提供了一种兼容其它各种解决方案的处理机制,使得相应领域的各种应用可以共同运行发挥各自的优势。提供通用的基于自然语言的人机对话机制,为各种应用程序和服务提供更为友好灵活开放的使用平台。
当基于新的规范体系生成的文本在广泛的社会领域中像流行的文字文档,例如WORD文档,一样广泛应用,不仅用户也可以自由地对其中的内容进行控制,也就是可以方便地进行取舍和传播,并且机器可以自动理解处理,一个新的逻辑互联网时代也就到来了。
背景技术
与本发明相关的背景技术主要涉及资源定义框架体系RDF、语义网络OWL、面向对象的编程方法、语言成分表示、自然语言处理模型、机器翻译和可执行的自然语言等技术,相关领域目前有大量技术论文并存在数以万计的专利。
HTML从形式上提供了的语言表达方式,但设计没有脱离字符或文字处理的层次,如果进一步添加语义逻辑的标注,则可以获得更加广阔的应用。RDF和OWL可以很好的表示语义逻辑结构,但需要借助成熟有效的编辑装置支持,方可产生复杂内容的表示方案,适应实际应用的需要。RDFa在现有各种标记语言中嵌入RDF概念,例如在HTML中加入属性标记,但仍然没有直接在逻辑语言层次上形成技术解决方案。XForm提供了编辑XML文档的方法。总的来说通过各种方法提供的人机接口产生的语义网络信息最终可以通过XML表示出来,因此都是一种XML语言的编辑工具。但如果上升到完整的自然语言的表示方案层面上,XForm显然是不能胜任的技术方案。涉及到的典型相关专利列表如下:1)面向对象的信息服务器、其制作方法及浏览器(200410055435.2,2004.07.27, G06F17/30(2006.01), 武征);2)语句构件装置和基于语句构件的多语种专业翻译方法 (200910129096.0, 2009.03.15, 刘树根);3)一种自然语言语义信息统一编码方法(02153705.4, 2002.12.02, 刘莎) ;4)自然语言句群语义的表示与获取方法(01145132.7, 2001.12.30);5)一种语义约定全文翻译系统和方法(02131412.8, 2002.10.10, G06F17/28, 刘莎);6)开放式全息全选全程模板式人机互补语言翻译方法(98125015.7,  1998.11.20,  刘莎, 主 分 类 号:G06F17/28);7)APPARATUS AND METHOD FOR DETERMINISTICALLY CONSTRUCTING A TEXT QUESTION FOR APPLICATION TO A DATA SOURCE(翻译为:通过人机互动构建数据系统问答语句文本的装置和方法)(WO/2006/110372, 04.04.2006, BUSINESS OBJECTS, S.A., B25C 5/06 (2006.01))。
虽然本发明或多或少地在某些方面与相关领域的上述技术方案存在交叉和依赖关系,但从整体方案而言具有实质性的区别。
发明内容
本发明根据语言成分构成概念模型建立语言成分逻辑表达装置,建立带有语义逻辑标记的各种形式的语言表达装置和生成装置,对具有这种语义逻辑标记语言表达装置进行解析获得语义逻辑表达装置,由此可以进行不同的语言翻译转换,并可以根据上述标记语言来完成对语言表示的语义逻辑内容进行编辑修改、转换或完成更多的其它功能。需要说明的是本发明中包括的各种装置是通过与信息处理装置结合程序代码或标记语言完成的。所述信息处理装置可以是计算机系统、手机、手提计算设备等等大小信息处理装置,共同的特征是包括中央处理器、存储器、显示器、键盘或鼠标等硬件设备和相应的系统驱动软件部分。本发明提出的设计方案是通过相应的标记语言、程序代码同这些信息处理装置结合形成的更加具体的应用装置。
1. 语言成分概念体系
对概念体系进行分类、标记和命名是本发明的重要前提技术环节。本发明的设计方案包括对概念体系的完成层次化和建立概念分类体系的构造过程,例如区别上下位概念、概念类型和属性概念。理解属性概念是表示概念之间关系的手段十分重要。本发明进一步基于一般的概念分类体系建立语言成分对应的概念体系,可以将这个过程视为一般概念体系建立过程的延伸。
建立概念体系这个过程可以通过RDF、OWL和其它基于RDF的规范体系加以完成,也可以通过更多其它方式加以描述。专利《面向对象的信息服务器、其制作方法及浏览器 ,申请号:200410055435.2》提供的技术解决方案,显然同样有助于这种概念体系的建立过程。本发明提供的示范实施方案则通过类似于自然语言的形式反过来可以更加直观地帮助用户建立这种概念体系。利用这些技术方案建立概念模型的重要原因是可以进一步支持自动推理系统的建立,进而支持本发明的最佳实施应用。
建立语言成分概念。语言成分作为一个抽象的概念类可以作为其它各种具体语言成分类的共同上位概念类。语言成分对应的概念体系包括的范围可以很广,但显然包括语句成分、语句、段落、文本等等。首先是语句成分。语句成分是由客观存在中的概念对象构成的。概念对象在语言层面有不同的命名形式,虽然外表千差万别,但所有的指向可能是单一的,这种单义性为使用唯一标记代码提供了理论依据。语句是一个主要包括主语、谓语、宾语成分的概念体,其程序模块是由三个概念对象的标记和存取语句主语、谓语、宾语这三个属性内容的代码所组成的。通过语句的使用可以建立和修改概念体之间的关联关系,使得概念体系成为一个不断变化的动态体系,并不断地同现实世界保持主观上的同步。
需要引入变量代词或不定代词概念作为语句成分使用,也就是说语句成分可能是由特定或不定概念主体对象来充当的。例如“一个人”和“任何人”作为变量代词表示人类集合中的一个或多个不特定概念对象。变量代词概念是不定或未知概念主体的逻辑表示,这些概念主体可以通过多个语句来完成属性特征的描述,亦即对不定概念主体范围进行限定。通过变量代词概念作为语句成分使用可以支持这个描述过程的完成,使得语句成分的语义逻辑内容变得无限度的复杂,同时有效地简化语义逻辑内容的表示结构或过程。(简单语句和复杂语句的区别从一定程度上说仅仅在于主语、谓语、宾语等成分中的变量代词的使用数量和对变量代词作出语义限定过程的复杂度。)
主语和宾语可以由特定的或不特定的概念对象形成,但它们的内容范围需要根据谓语成分的性质确定。谓语成分可以是一个行为概念(动词,一个特殊的行为名词)或概念对象的属性(名词)确定。可以通过限定这些概念的定义域(RDFS.domain)和值域(RDFS.range)确定对应主语和宾语的内容限定范围,从而构成语义逻辑上合法的完整语句。
复合语句是由多个语句组成的,因此复合语句对应的逻辑表达程序模块是由多个对应的语句程序模块、反映语句关联关系的连接词概念和程序代码组成。逻辑推理规则和查询问答语句等是复合语句的典型应用。在推理规则中一般包括两个部分:前提假设和结论,这两个部分又分别是由多个语句完成描述的;查询问答语句必然包括一个前提假设部分,这个部分的内容同样可以通过多个语句完成。值得注意的是这两种情形下变量代词的应用都是非常重要的。在推理规则中变量代词帮助支持规则应用的普遍性;在查询问答中变量代词帮助支持查询目标概念的描述。段落是由多个语句组成的,因此段落对应的逻辑表达程序模块是由多个对应的语句程序模块和程序控制代码组成。文本是由多个段落组成的,对应于文本概念的程序模块是有段落程序模块和相应的程序代码组成的。
2. 语言成分的逻辑表示装置和语言表示装置
语言成分表示涉及语义逻辑表示和语言表示两个技术层面。在语义逻辑层面对应语言成分概念建立程序模块语义逻辑表达装置(1)。语言成分表示装置需要建立的属性包括语言成分类型(例如语句、语句成分等等)、语种和构成语言成分等等,因此需要建立对应的属性存取方法。语言成分逻辑表达装置(1)具有二个功能:一个是服务功能(11),format(Locale locale) ,另外一个是服务功能(12):parse(ClauseExp clause)(服务功能(12)是可以选择的因此没有在权利要求中提出)因为其它语言成分概念对应的程序模块都是直接或间接继承这个上位程序模块建立的,所以都具有这两个服务功能但提供不同的内部实现过程。
语言成分处理的过程是一个递归调用该服务功能、继而综合处理调用结果的过程。这种设计可以充分利用面向对象编程语言中的模糊上下位概念方法(Polymorphism)的优势简化程序综合处理过程的编码。服务功能(11):format(Locale locale)被调用时提供将逻辑表达装置(1)转换为语言表达装置(4):ClauseExp的服务。其中输入参数为语言识别参数(6):Locale。即对应于每一种语言识别参数(6),可以获得一个或多个不同的结果,而对于上述每一种语言成分其内部实现过程都有相应安排和调整,以反映具体语言种类的语法特征。可以参照JAVA语言中的Locale.class概念理解Locale,这个概念包括语言Language、国家Country和方言Variant等单个或多个属性。服务功能(12):parse(ClauseExp clause)被调用时提供将语言表达装置(4):ClauseExp转换为逻辑表达装置(1)Clause的服务。这个过程反映出的基本事实是语言成分的各种语言表达形式可以不同,但语义逻辑内容都是相同的。
可以根据需要对任何逻辑表达装置(1)单独进行转换达到局部语义成分转换到多种语言形式的目的。在进行语义到语言的转换过程中,语义逻辑表达装置(1)的服务功能(11)被调用时接收语言识别参数(6):locale,程序代码控制调用构成段落或语句的逻辑表达装置(1)的服务功能(11),段落或语句的逻辑表达装置(1)的服务功能(11)被调用时,程序代码控制调用构成语句或语句成分的逻辑表达装置(1)的服务功能(11),依次类推形成递归执行程序代码的过程,然后将处理的结果按照一定方式组合起来,达到逐层生成语言表达装置(4)的结果。
语言表达装置(4)包括一组特定语言表达和标记体系及其同信息处理装置结合的程序控制代码,其特征是包括一组语义逻辑的标记符号体系,可以辅助机器识别控制语义逻辑成分的类型、内容、约束范围、语言种类和定位语言语义转换装置(3),这些标记符号体系对用户保持透明,用户不会感知到标记的存在,但标记体系可以辅助机器快速准确识别语言成分的复杂结构和内容,最大程度上减少歧义。
特别值得注意的是概念对象是通过唯一标记和命名符号表示的。这种方法与普通的文本表示方法相比具有明显的区别。作为一种特殊的实施方案,概念对象通过一个超链接表示,用户看到的是概念对象的名称符号,而概念对象唯一标记URI和标记体系其它内容是对用户透明的。概念对象的名称符号可以千变万化但唯一标记对于机器而言是唯一的,避免了逻辑上的歧义。
语言表达装置(4)包括的程序控制代码有可能同标记代码组合在一起存放,也有可能是外部其它程序的一个部分;语言表达装置(4)可以通过文字字符实现,也可以通过语音等其它语言表达形式实现;语义逻辑的标记符号体系可以通过创建新的标记符号完成,也可能通过利用现有的一种标记语言标记内容间接达到语义逻辑标记的效果。
3. 语义语言转换和代理机制
每一种语言成分,即使可以使用同一种语义逻辑表示装置(1),因为语言规范、习惯、语种等因素,生成的语言表示装置(4)多种多样,因而需要不同的转换处理过程。为了实现这个目的,本发明包括一种服务功能(11)实现代理转移机制,具体内容如下:
建立一个注册语义逻辑表示装置(1)和对应的语义到语言正向转换装置(2)的系统。注册库可以是一个数据库或内存数据表等等形式的数据结构,也可以是程序模块插件管理系统,或是由编译执行系统自动建立索引和完成定位任务。
为每一个或每一类语义逻辑表达装置(1)注册一个或多个语义到语言正向转换装置(2),可以称之为格式器Formater,当服务功能(11):format(Locale locale)被调用时,该服务将从注册库获得对应语言参数locale对应的格式器Formater,将任务转移给Formater代理完成。对于每一种语言类型可以注册多个格式器Formater,因此可以形成灵活多样的语义到语言的转换服务以反映语言语法或词法的多样性。语义到语言正向转换装置(2):格式器Formater,包括一个服务功能(21),当该服务功能被调用时,所提供语义逻辑表达装置(1)作为输入参数,将其正向转换成符合特定语言习惯和规范的语言表达装置(4)。
为每一个或每一类语言表达装置(4)建立语言到语义反向转换装置(3),该装置包括一个服务功能(31),当该服务功能被调用时可以提供将特定语言表达装置(4)包括的符号体系反向转换成对应的语义逻辑表达装置(1)的服务。可以根据需要对语言表达装置(4)表示的任何语言成分单独进行转换,达到语言表达装置(4)表示的任意局部文本反向转换成为逻辑表达装置(1)的目的。其步骤是根据提供的语言表达装置(4),定位构成语言成分和对应的语言语义转换装置(3),并调用相应的服务功能(31),并作适当性综合处理:
当文本对应的语言语义转换装置(3)的服务功能(31)被调用时,程序代码控制调用构成段落或语句的语言语义转换装置(3)的服务功能(31),将结果作适当性处理;段落或语句的语言语义转换装置(3)的服务功能(31)被调用时,程序代码控制调用构成语句语言语义转换装置(3)的服务功能(31),将结果作适当性处理;语句的语言语义转换装置(3)的服务功能(31)被调用时,程序代码控制调用构成语句成分的语言语义转换装置(3)的服务功能(31),将结果作适当性处理;依此类推形成各种语言成分递归执行程序代码的过程达到由语言表达装置(4)表达的语言文本转换为逻辑表达装置(1)的结果。
需要说明的是建立语言正向转换装置(2)的另外一个技术环节,这就是以各种自然语句谓语成分或概念对象属性为中心建立转换装置(2)、进行注册或索引定位的实际含义:对于语句概念,可以根据各种谓语成分(动词或概念对象属性名词)内容构建转换装置(2)。动词作为RDF.Property的一种特殊形式定义其定义域和值域(RDFS.domain和RDFS.range)属性内容,相应地对句子的主语部分(行为的实施主体)和宾语部分(客体或行为指向的目标)进行限定,通过增加适当的介词和副词连接相关的概念对象,形成以谓语成分为中心的语句表示结构,用户可以在语言对话装置(5)的辅助下编辑修改各语句成分的内容。相应反映的客观事实是,如果语句的谓语成分内容发生变化可能导致整个语句的句型发生变化,这时应将现有的其它概念对象迁移至新的语句结构中,交由用户进一步调整修改。通过域和值域(RDFS.domain和RDFS.range)属性的使用可以较好地完成句子语义逻辑合法性的限制,避免了单从文字语法规则分析语句合法性的弱点,因此需要在语言成分语义逻辑标记中加入定义域和值域的内容,以限定语言成分内容的范围。
4. 人机语言对话装置
人机语言对话装置(5)是一种语义逻辑浏览编辑装置包括同信息处理装置结合的程序代码,其特征是包括一组语义逻辑表达装置(1)、语义和语言转换装置(2)和(3)提供的功能和实现方式说明如下:
1) 浏览显示,人机语言对话装置(5)可以接收带有语义逻辑标记体系的语言表达装置(4)形成的文本或符号体系,以某种方式展示给用户。其中语义逻辑标记体系是对用户透明的,用户不会感到语义逻辑标记体系的存在,但可以支持后面的编辑翻译等功能的实现,为达到这个目的,实现过程可以采用HTML等标记语言,在其中合理嵌套语义逻辑标记内容,然后通过相应的浏览器显示给用户。
2) 定位不同的语言成分,人机语言对话装置(5)包括一组语言成分编辑界面,一组人机使用接口,可以帮助用户定位不同的语言成分。用户可以定位各种语言成分,主语、谓语、宾语、语句或段落等等,定位程序实施的方法是:① 确定用户关注的区域(例如鼠标点击的位置)是否属于语言成分;语义逻辑标记体系帮助判断当前位置是否属于语言成分或何种语言成分。② 如果是语句则将该语句设定为定位对象;③ 如果是语句成分则判断该语句成分是否属于可定位的对象(例如读取和判断可编辑属性);④ 如果可定位的对象则将该语句成分设定为定位对象;否则将该语句成分所属的语句设定为定位对象。
3) 建立和插入,人机语言对话装置(5)在定位语言成分的基础上提供快速建立语言成分技术支持。具体方法是:① 通过用户对话事件,例如鼠标键盘等设备的操作生成的事件,触发插入功能程序;② 插入功能程序则根据当前定位的语言成分确定用户可以插入的语言成分类型;③ 插入语句程序确定插入的位置或可执行操作的类型,例如替换当前定位对象、在当前定位对象之前或之后插入;④ 用户确认选择;⑤ 插入功能程序通过建立选定插入语言成分对应的语义逻辑表达装置(1)并调用功能(11)即可生成一个对应的装置(4),然后将其插入到选定的位置完成操作。插入的是一个“空白”结构副本,用户只需要对空白的语言成分内容进行编辑修改就可以达到生成新的语言对象的目的。
4) 编辑修改,在定位语言成分的基础上提供编辑功能就是以语言成分对象为基础的内容编辑。人机语言对话装置(5)根据语义逻辑标记体系对定位的语言成分进行编辑,包括删除、修改、复制、粘贴、拖拽等部分或全部功能,具体方法说明如下:① 删除定位的语言成分。只需要将对应标记语言结点从结点树中删除(例如HTML.TAG结点)即可以达到目的;② 复制、粘贴。将定位的语言成分以适当的数据结构(例如转换成为语义逻辑装置(1))存放在系统剪贴板中即可完成复制操作;在粘贴的操作过程中,重新执行定位程序,把存放在系统剪贴板中的数据提取出来,即可以根据用户的选择替换当前定位的语言成分,或在当前定位的语言成分之前或之后完成插入;在必要的时候程序可以提取当前定位语言成分的语义逻辑标记内容,对剪贴板中的数据进行检验或判断是否可以完成上述粘贴操作或什么样的粘贴操作;③ 拖拽的操作。拖拽的实现过程同复制、粘贴类似。当拖拽启动的时候将拖拽将定位的语言成分以适当的数据结构(例如转换成为语义逻辑装置(1))存放在系统传送模块中;随着鼠标的拖动,程序不断执行定位程序重新定位当前语言成分对象,并根据当前定位对象的语义逻辑标记内容判断系统传送模块中中的数据可以完成的操作,并提示用户;终止拖拽时如果语义逻辑非法则拒绝或提示用户选择是否继续;可以根据用户的选择替换当前定位的语言成分,或在当前定位的语言成分之前或之后完成插入;在必要的时候程序可以提取当前定位语言成分的语义逻辑标记内容,对剪贴板中的数据进行检验判断是否可以完成上述粘贴操作或什么样的粘贴操作;。
编辑修改功能支持快速的语句生成和复制过程,相比传统的字符输入方法避免了大量的重复输入和频繁的键盘操作,因而具有明显的效率优势。
5) 语句成分的特殊编辑方法,人机语言对话装置(5)提供特定的窗口界面输入定位的语句成分的内容。具体实现过程是:① 窗口界面通过当前语言成分的标记确定输入内容的范围;(标记体系中含有内容范围标记或可以通过相关语言成分计算获得);② 用户输入相关信息,例如字符等,然后在确定范围内搜索定位输入内容对象;或将符合范围要求的数据内容显示出来供用户选择,或在该用户常用的数据(如历史数据)中筛选符合要求的数据显示出来供用户选择;③ 用户也可以直接输入语句成分内容。语句成分内容包括两类:一类是普通的数据类型,例如字符串和数字,另外一类是概念对象,即RDF.Resource。普通的数据类型用户可以随时通过键盘完成;用户可以随时建立一个新的概念对象,新建概念则需要通过一个特定对话窗口帮助用户输入相关的信息,例如唯一标记和名称等等;④ 将用户选择或输入的内容替换当前语句成分,必要时可以同时进行输入合法性验证,对于非法输入内容可以拒绝或加以适当标记(例如变换背景颜色等)提示用户修改。
6) 翻译转换功能,人机语言对话装置(5)提供特定的窗口界面对定位的语言成分进行局部翻译转换,提供灵活的语言表达方式,实现方法是:① 读取定位的语言成分中包括的对应语言语义转换装置(3)标记信息;② 获得对应的语言语义转换装置(3)的实例;③ 将定位的语言成分转换成逻辑表达装置(1);④ 索引定位装置(1)所有可用的语义到语言正向转换装置(2),通过适当的方式显示出来供用户选择;⑤ 执行用户选择的语义到语言正向转换装置(2)的服务功能(21)生成对应的语言表达装置(4);⑥ 用生成的语言表达装置(4)替换用户定位的当前语言成分或显示出来供用户参考。这个过程保证了语义逻辑内容的一致性。
7) 注册或管理语言转换装置,为了保证语言转换形式的灵活性,需要建立相适应的语言语义转换装置(2) 和(3),根据不同需要确定装置系统的范围和规模,为此需要人机语言对话装置(5)是一个开放的语言对话平台,实现方法是:① 建立一个注册或管理语义逻辑表达装置(1)、语义和语言转换装置(2)和(3)的机制;② 建立支持完成上述过程的用户接口,用户可以根据需要调整注册或管理系统的规模,可以随时将新的符合规范要求的转换装置(2)(3)。
这种开放平台机制支持使用第三方建立的语义逻辑表达装置(1)、语义语言转换装置(2)和(3),可以促进不同领域的应用开发。
8) 会话功能,人机语言对话装置(5)可以为用户使用其它软件和服务(555)提供人机对话接口,用户可以通过熟悉的语言方式同信息世界进行对话,减少学习成本。其方法是:① 人机语言对话装置(5)将带有语义逻辑标记体系的语言表达装置(4)以某种方式发送至第三方应用程序或服务(555);② 第三方应用程序或服务(555)将语言表达装置(4)转换为本系统可以接受的语言形式进行处理,并将处理结果返回,这个结果可以仍然是通过语言表达装置(4)表示的;③ 人机语言对话装置(5)接收第三方应用程序或服务返回的结果或信息,必要时进行语言转换,最终通过语言表达装置(4)展示给用户使用或进行进一步的处理。
9) 存储和传播功能,人机语言对话装置(5)可以将语言表达装置(4)形成的符号集合直接或间接地保存在存储媒介上,因而可以支持信息在网络中传递。实现方法是通过上述的翻译转换功能生成某种标记语言文档,例如HTML文档,这种文档可以作为普通文本文档保存传播,其特别之处在于其语义逻辑内容可以为用户和机器所直接理解,用户可以迅速进行编辑或内容取舍,控制内容在不同的受众范围传播,提高了信息处理的自动化水平和效率。
附图说明
1. 语义逻辑表示和语言表示装置关系示意图,附图1展示了语义逻辑表示装置(1)及其服务功能(11)(12)和语言表示装置(4)关系。
2. 语义语言转换装置的逻辑关系示意图 ,附图2展示了语义语言转换装置(2)和(3)与语义逻辑表示装置(1)和语言表示装置(4)的逻辑关系。(21)和(31)是语义语言转换装置(2)和(3) 对应提供的服务功能。
3. 人机语言对话装置示意图,附图3展示了组合起来的语义语言转换装置(2)(3)、语义逻辑表示装置(1)和语言表示装置(4)与人机语言对话装置(5)的逻辑关系,同时也展示了与第三方应用和服务(555)的关系。(5)和(555)可以通过(1)和(4)进行互动并通过(2)和(3)进行合成和解析。附图 4展示了在实施方案中人机语言对话装置的图形界面示意图。在界面的右侧摆放各种用于触发用户编辑对话事件的按钮;中央部位有一个示范性的问答语句,其中可编辑的语言成分通过蓝色字体和下划线表示出来;对于定位的语言成分则将其背景颜色改为黄色;对话语句通过一个HTML.FORM包围,可以将对话语句发送到第三方平台进行处理或完成对话。附图 5展示了实施方案中问答语句执行结果通过数据表的形式显示出来的示意图;附图 6展示了实施方案中问答语句执行结果通过语句的形式显示出来的示意图。附图 7展示了实施方案中对语句成分内容进行编辑的界面示意图,包括唯一标记输入框和名称输入框。附图 8、附图 9和附图 10则展示了实施方案中触发翻译转换程序菜单、显示翻译选项用户界和翻译转换执行结果的显示示意图。附图中右侧黑色按钮呈浅灰色表示当前光标位置禁止该项操作。
实施方法
本发明的实现方案和途径可以是多种多样的。实现本发明内容的应用程序可以是文字处理软件、表格处理软件、浏览器软件、操作系统软件、企业应用软件、手机应用软件、嵌入式应用软件等等应用系统的插件或独立程序代码。
以下提供的一种示范优化实施方案是一个通过JAVA语言实现的一个问答系统独立应用程序,以展示本发明基本的设计思想和实现过程。虽然如此,但实施方案并不一定必须局限在某一种程序语言。实际上某些功能的实现通过其它程序语言,例如Javascript,可能会获得更优的实施方案。
本说明书中包括的关于发明内容的公开和优化实施方案涉及到一些具体的实施过程,这些内容仅仅构成对本发明实质内容的说明和示范,更多的程序语言形式上的细节内容并不能理解为是对本发明权利要求内容的限制。
1. 基本构件内容
语义表达装置是通过Java 程序代码实现的,用于人机对话的语言表达装置是通过HTML语言实现的标记文本生成的HTML.Element控件实现的。 问答系统使用了JENA,一个由HP提供的语义网络开发平台。用于同Jena平台进行对话的语言表达装置是三元组结构的简单陈述句、Jena RDQ和Jean Rule。Jena RDQ和Jean Rule分别是W3C发布的SPARQL和RULE ML规范体系的JENA实现。JENA从技术上提供了对概念体系的动态维护支持,为语义逻辑网络应用提供了平台。
1) 建立概念对象服务接口程序模块IResource.java,这是RDF体系中一切概念的顶层抽象表示,包括具有唯一标记uri和名称两个属性。
import java.util.Locale;
public interface IResource{
//逻辑概念表示装置,对应RDF.Resource
public String getUri();// 获得RDF.Resource的uri
//public void setUri(String uri);// 设置RDF.Resource的uri
public String getName(Locale locale);// 获得RDFS.Label
//public void setName(String name, Locale locale);// 设置RDFS.Label
}
2) 建立语言成分程序模块接口IClause.java, 建立语言成分服务接口程序模块IClause.java作为语义逻辑表达装置(1)的一种实施方案。该装置是其它语言成分共有的上位概念程序模块并具有二个服务功能:一个是服务功能(11),format(Locale locale) ,另外一个是服务功能(12),parse(ClauseExp clause)。
import javax.swing.text.Element;
public interface IClause extends IResource {//逻辑表达装置(1)
public String[] format(Locale locale);//服务功能(11)
public IClause parse(Element clause);//服务功能(12)
//实现ClauseExp语言表达装置(4)的途径是javax.swing.text.Element
}
3) 建立Clause.java实现IClause.java,IClause.java是一种基本的语言成分概念程序模块,Clause.java是IClause的一种示范实现。以下代码展示了语言成分模块常用的功能方法和语义逻辑标记的示范:
import javax.swing.text.Element; import java.util.Locale;
public abstract class Clause implements IClause {
public static Locale HTML_Chinese = Locale.Chinese.China; public static Locale HTML_English = Locale.English.US; public static Locale JENA_RULE = new Locale(“en”, “US”, “jena_rule”);
public static Locale JENA _RDQ = new Locale(“en”, “US”, “jena_query”);
//以下是语言成分的一些示范标记代码
public static String TYPE = “type”; public static String STATEMENT = “STATEMENT”; public static String COMPONENT = “COMPONENT”; public static String QUERY = “QUERY”; public static String MODEL = “MODEL”; public static String LANG = “LANG”; public static String PARSER = “id”;//一个HTML.Attribute.ID,// PARSER也可以用其它HTML.Attribute.Tag作为替代。
public String toHTMLTag(Locale locale){return format(locale)[0]; //如果输入语言是HTML_Chinese, 则转换为中文格式的HTML标记文本 //如果输入语言是HTML_English, 则转换为英文格式的HTML标记文本}
public String toJenaRule(){return format(JENA_RULE)[0];}
public String toJenaQuery(){return format(JENA_QUERY)[0];}
public String[] format(Locale locale);public IClause parse(Element clause);}}
2. 语句和语句成分表达
下面通过建立最基本的语言成分:语句和语句成分来说明建立语言语义表达过程的步骤和内容,在后面得段落中将逐渐引入更多的复杂语言成分说明系统扩充的方法:
1) 建立语句概念服务接口ISentence.java,
public interface ISentence extends IClause {public String toSentenceTag(Locale locale);//转换为语句形式的文本//如果输入语言是HTML_Chinese, 则转换为中文格式的HTML标记文本//如果输入语言是HTML_ English, 则转换为英文格式的HTML标记文本}}
2) 建立语句概念程序模块Statement.java, Statement.java进一步是ISentence 的一种示范实现。
public class Statement extends Clause implements ISentence{IComponent subject; IComponent predict; IComponent object; public Statement(){……. }
public IComponent getSubject(){return subject;}
public IComponent getPredict(){return predict;}
public IComponent getObject(){return object;}
public void setSubject(IComponent subject){this.subject = subject;}
public void setPredict (IComponent predict){this.predict = predict;}
public void setObject (IComponent object){this.object = object;}…….//以下是语句成分的一些示范标记代码
public static String SUBJECT = “SUBJECT”;public static String PREDICT = “PREDICT”;public static String OBJECT = “OBJECT”; ……….
public String toSentenceTag(Locale locale){toHTMLTag(locale);}
//以下示范格式器的实现过程
public String[] format(Locale locale){String chinesePattern = “%1$1s的%2$1s是%3$1s”;//对应的语法形式是类似“某某的名字是张三”的输出结果
String englishPattern = “The %2$1s of %1$1s is %3$1s”;//对应的语法形式是类似“The name of sb. is John”的输出结果
String jenaPattern = “{ %1$1s %2$1s %3$1s}”;//对应的三元组语法形式是类似“{ <sb>. <name> “John”}”的输出结果
String result ;
if (locale = = HTML_Chinese){
result = String.format(chinesePattern, subject.format(locale), predict.format(locale),object.format(locale));
}else if (locale = = HTML_English) {result = String.format(englishPattern, subject.format(locale),predict.format(locale),object.format(locale));}else{result = String.format(jenaPattern, subject.format(locale),predict.format(locale),object.format(locale));return new String[]{result }; //jena 机器码格式不需要另外加注标记}
//下面的代码则应为result进一步加注语句成分标记//形成完整的HTML格式的文本
String attr = Util.attr(TYPE, STATEMENT); attr += Util.attr(LANG, locale.toString()); attr += Util.attr(PARSER, this.class.getName());//帮助定位解析器
result = Util.toTR(result, "");result = Util.toTable(result, attr);return new String[]{result};//因为对应的语法样式可以是多种多样的,所以可以返回多个输出结果。//这里只提供了一个示范处理过程。}
//以下示范解释器的实现过程
public IClause parse(Element eltClause){
IClause result = new Statement();Vector subject = Util.getChildValue(eltClause, TYPE, SUBJECT);Vector object = Util.getChildValue(eltClause, TYPE, OBJECT);Vector predict = Util.getChildValue(eltClause, TYPE, PREDICT);result.setSubject(new SComponent(subject, …));result.setObject(new SComponent(object, …));result.setPredict(new SComponent(predict, …));return result;}}
3) 建立语句成分概念程序模块接口IComponent.java
IComponent.java的内容和实现过程描述如下:
public interface IComponent {
public Object getValue();//语句成分可以是一个概念对象的URI或其它普通数据类型
public String getRange();//是W3C颁布的RDFS规范中定义的一个CLASS的uri。
public String getType();
// 语句成分类型: 主语SUBJECT、谓语PREDICT、宾语OBJECT等等
public String toComponentTag(Locale locale);//转换为语句成分形式的文本//如果输入语言是TML_Chinese, 则转换为中文格式的HTML标记文本//如果输入语言是HTML_English, 则转换为英文格式的HTML标记文本……..}
4) 建立SComponent,实现IComponent
语句成分模块SComponent是一个实现IComponent的示范。
public class SComponent extends Clause implements IComponent {
Object value;//语句成分可以是一个概念对象的URI或其它普通数据类型//是W3C颁布的RDF规范中定义的一个Resource 或Litteral//分别记为RDF.Resource和RDF. Litteral
String range;//value的取值范围, 以URI的形式标记,//是W3C颁布的RDFS规范中定义的一个CLASS。
String type; // 语句成分类型: 主语SUBJECT、谓语PREDICT、宾语OBJECT等等
public Object getValue(){return value;}
public String getRange(){return range;}
public String getType(){return type;}
public static String RANGE = “valueClass”;//示范性内容
public SComponent (Object value, String range, String type){this.value = value;this.range = range;this.type = type;}
public String[] format(Locale locale){String result ;if (locale 是一个 JENA_RULE 或 JENA_RDQ) {if (value instanceof IResource) {//是一个RDF.Resource
String uri = ((IResource)value).getUri(); result = Util.toTag(uri);//类似结果“<http://www.pentedge.com/schema#statement>”
}else {result = String.valueOf(value);}
………….//处理value返回符合JENA 平台要求的数据//例如 Util.toTag(value);……..
return new String[]{result };}
if (value instanceof IResource) {//是一个RDF.Resource
String name = ((IResource)value).getName(locale); String uri = ((IResource)value).getUri();//获得RDF.Resource的名称//Util.getName(value, locale);
result = Util.toHref(uri, name);//转化为一个超链接
}else {result = value.toString();//转换成表示RDF.Literal的字符串}
//注意下面加注标记示范,为后面对标记语言进行编辑处理提供支持
String attr = "";attr += Util.attr(TYPE, type +“&&”+ COMPONENT);attr += Util.attr(PARSER, this.class.getName());//帮助定位格式器
attr += Util.attr(LANG, locale);//帮助确定显示语言种类
attr += Util.attr(RANGE, range);//编辑过程中帮助限制内容的范围
attr += Util.attr(“class”, isValid()?“normalStyle”:“warningStyle”);//显示过程中帮助区别正确输入和错误输入
result = Util.toTD(result, attr);//转换为HTML.Tag.TD
return new String[]{result};}
public boolean isValid(){//合法性判断
boolean result = Util.checkRange(getValue(), getRange()); //通过第三方平台检查输入内容是否符合限定范围的要求
return result;}
public IClause parse(Element clause){Util.getValue(clause);}}
5) 建立语句组合概念程序模块ICompund.java,
public interface ICompund {public void setSentence (ISentence [] statements); public ISentence [] getSentence ();}
6) 建立复合语句概念程序模块Compund.java,
public class Compund extends Clause implements ICompund ISentence {
ISentence [] sentences;
public void setSentence (ISentence [] statements){………}
public ISentence [] getSentence (){ return sentences;}
IComponent[] counjections; //连接词
public String[] format(Locale locale){String result = "";for ( i = 0; i < sentences.length; i++) {result += sentences [i].format(locale);result += counjections[i].format(locale);//示范使用连接词
……..//做其它处理}
……..//进一步做其它处理
return new String[]{result };}
public IClause parse(Element clause){…….}}
7) 建立对话语句概念程序模块IDialog.java
public interface IDialog{//将clause转换为HTML.Tag文本,然后加装HTML.Form内容
public String addForm(IClause clause, Locale locale);//将clause转换为机器语言,发送给第三方平台执行,然后获得相应的结果 //例如将clause转换为JENA格式发送给JENA平台
public String execute(IClause clause);//第三方平台的标示
public Source getSource();}
public class Source extends SComponent {//第三方平台的标示,
public String getRange(){return range;//必须是一个数据库或OWL.Ontology等数据来源的Uri}
……}
8) 建立问答语句概念程序模块Query.java,
public abstract class Query extends Compund implements IDialog {
public void setCondition(ISentence[ ] conditions){super.setSentence (conditions);}
public ISentence [] getCondition (){return super.getSentence ();}
public String addForm(IClause clause, Locale locale){
String result = clause. toHTMLTag (locale);
…………//将clause转换为HTML.Tag文本,然后加装HTML.Form内容
return result;}
public String execute(IClause clause){Object result = …….//
//将clause转换为机器语言,发送给第三方平台执行,//然后获得相应的结果………//例如将clause转换为JENA格式发送给JENA平台……..//对result进行处理,形成可以接受的用户数据,例如HTML
return result.toString();}}
9) 变量代词程序模块Variable.java,变量代词在规则、查询等等复杂语句中是非常重要的表达手段,它可以对简单的陈述语句相互进行关联,形成完整复杂的语义关系表达形式,在查询语句中代词是表示查询目标项目内容的手段。变量代词Variable是一个实现IComponent的特殊语句成分示范。
public class Variable extends Compund implements IComponent {
String name;
public Variable(String name, ISentence[] attributeClauses){this.name = name;super.setSentence(attributeClauses);}
public String[] format(Locale locale){String result = "";if (locale == JENA_RULE 或 locale == JENA_RDQ) {result = "?"+name;//结果类似 ?x//在SPARQL 体系中变量代词VARIABLE的一般表达方式……..
return result ;}//在语句中定语成分都可以通过若干包含有Variable的Statement进行描述
for ( i = 0; i < getSentence().length; i++) {……..result += getSentence[i].format(locale);result += ……..//做其它处理}……..//进一步做其它处理
return result;}
public IClause parse(Element clause){……}}
10) 建立“如果……那么……是什么?”句型 ,以下建立“如果……那么……是什么?”句型示范问答语句的实现方法,在与机器对话的过程中需要将其转换为一个SPARQL.Select语句形式,包括通过变量代词表示的目标概念对象定义部分和选择两个部分,结构为“如果[查询目标概念对象的描述定义]那么[目标概念对象选择]是什么?”,附图4、5、6展示了一个问答语句的显示、操作和执行过程:
public class Select extends Query implements IDialog {
Variable[] selects;//目标概念对象选择
public void setSelect(Variable[] selects){this.selects = selects;}
public Variable[] getSelect (){return selects;}
public String addForm(IClause clause, Locale locale){
String result = clause. toHTMLTag (locale);…………//将clause转换为HTML.Tag文本,然后加装HTML.Form内容
return result;}
public String execute(IClause clause){ String query = format(JENA_RDQ)[0]
Object result = …….////将语句转转换为JENA格式发送给JENA平台//然后获得相应的结果………//对result进行处理,形成可以接受的用户数据,HTML
//return result.toString();}
public String[] format(Locale locale){String result ;if (locale = = JENA_RDQ){String pattern = “SELECT %1$1s FROM %2$1s WHERE {%3$1s}”;String items = “”;for( i=0; i<selects.length; i++){items += selects[i].format(locale);……}
String from = getSource().format(locale);String where = “”;for( i=0; i < getCondition().length; i++){where += getCondition() [i].format(locale);……}……..result = String.format(pattern , item, from, where);return new String[]{result };}……//下面的代码参见Statement}}
3. 更多语言成分支持
以下建立规则和函数等语言成分的实施代码框架。更多语言成分支持包括表格、图形等输入方式的支持,可以比照已经提供示例进行开发设计。
1) 建立规则语句概念程序模块Rule.java
public class Rule extends Compund {
public Rule(){super.setSentence(new ICompund [2]);………//设置规则语句的连接词“如果…… 那么……”}
public void setBody(ICompund body){//规则的前提假设部分//由多个语句组成
super.getSentence ()[0] = body;}
public ICompund getBody (){return (ICompund)super.getSentence ()[0];}
public void setHead(ICompund head){super.getSentence ()[1] = head;}
public ICompund getHead (){return (ICompund)super.getSentence ()[1];}………}
2) 建立函数概念程序模块Function.java
函数概念是一种复杂语句的形式化表现。如果合理的设计对应的格式器,可以使得函数通过符合自然语言习惯的形式表现出来并进行编辑操作,这将是自然语言中含有动词语句表示过程的重要技术基础。函数既可以作为一个语句使用,也可以作为一个语句成分使用,这是函数形式的复杂特性。作为语句使用,函数的输入参数作为主语、谓语是一个动词、宾语是一个变量代词。作为语句成分使用,函数的输入参数作为主语、谓语是一个动词,宾语是函数的结果,也是函数本身所代表的语义逻辑概念。
public class Function extends Statement implements IComponent {
public IComponent getSubject(){Argument result = null;try{result = (Argument)super.getSubject()//函数的输入参数作为主语
}catch(Exception ex){}
return result;}
public IComponent getPredict(){Verb result = null;
try{result = (Verb )super. getPredict ();//谓语是一个动词}catch(Exception ex){}
return result;}
public IComponent getObject(){Variable result = null;
try{result = (Variable)super. getPredict ();//宾语是一个变量代词}catch(Exception ex){}
return result;}
public String toComponentTag(Locale locale){/作为语句成分使用时仅仅显示函数的名称和参数部分}
public String toSentenceTag(Locale locale){//作为语句使用时显示函数的名称、参数部分和结果部分;}
………//应该有一段代码为各种函数注册格式器,
static{Util.register("…..", ….. , ….);}}
3) 建立动词概念程序模块Verb.java,动词Verb是一个实现IComponent的特殊语句成分示范。
public class Verb extends SComponent {………}
4) 建立函数输入参数概念程序模块Argument.java,
public class Argument extends SComponent {int countOfArgument;// 输入参数种类的数量,可以具有零个
IComponent[countOfArgument] prejects; //加入介词,内容可以为空
IComponent [countOfArgument ] arguments; //对应每一个参数一个介词
………}
5) 建立段落概念程序模块IParagraph.java,
public class Paragraph implements ICompund { …… }
4. 语言语义转换装置和注册系统
1) 建立IFormater.java
IFormater.java 是语义到语言正向转换装置(2)和语言到语义反向转换装置(3)的结合。语义到语言正向转换装置(2):包括一个服务功能(21),当该服务功能被调用时,所提供语义逻辑表达装置(1)作为输入参数,将其正向转换成符合特定语言习惯和规范的语言表达装置(4)。语言到语义反向转换装置(3)包括同信息处理装置结合的程序代码,包括一个服务功能(31)。
public interface IFormater{
public String[] format(IClause clause); //服务功能(21)
public IClause parse(Element eltClause); //服务功能(31)
}
以下示范IFormater的实施过程:
2) 建立Statement2HTML.java,将语句转换为中文版本的HTML文本格式器:
public class Statement2HTML_zh implements IFormater {
String pattern = “%1$1s的%2$1s是%3$1s”;//对应的语法形式是类似“某某的名字是张三”的输出结果
public String[] format(IClause clause){
String result ;Statement stm = (Statement)clause;Locale locale = Clause.HTML_CHINESE;result = String.format(pattern, stm.getSubject().format(locale),stm.getPredict().format(locale),stm.getObject().format(locale));
//下面的代码则应为result进一步加注语句成分标记//形成完整的HTML格式的文本//
String attr = Util.attr(TYPE, STATEMENT);attr += Util.attr(LANG, locale.toString());attr += Util.attr(PARSER, this.class.getName());//帮助定位解释器
result = Util.toTR(result, ““);result = Util.toTable(result, attr);return new String[]{result};}
public IClause parse(Element eltClause){……….//见Statement.java的有关内容}}
3) 建立Statement2HTML_EN
将语句转换为中文版本的HTML文本格式器:
public class Statement2HTML_EN implements IFormater { String pattern = “The %2$1s of %1$1s is %3$1s”;//对应的语法形式是类似“The name of sb. is John”的输出结果
public String[] format(IClause clause){String result ;Statement stm = (Statement)clause;Locale locale = Clause.HTML_ENGLISH;result = String.format(pattern, stm.getSubject().format(locale),stm.getPredict().format(locale),stm. getObject().format(locale));//形成完整的HTML格式的文本
String attr = Util.attr(TYPE, STATEMENT);attr += Util.attr(LANG, locale.toString());attr += Util.attr(PARSER, this.class.getName());//帮助定位解释器
result = Util.toTR(result, ““);result = Util.toTable(result, attr);return new String[]{result};}
public IClause parse(Element eltClause){……….//见Statement.java的有关内容}}
4) 建立Statement2JENA.java,将语句转换为三元组文本的格式器:
public class Statement2JENA implements IFormater {String pattern = “{ %1$1s %2$1s %3$1s}”;
//对应的三元组语法形式是类似“{ <sb>. <name> “John”}”的输出结果
public String[] format(IClause clause){String result ;Statement stm = (Statement)clause;Locale locale = Clause.JENA_RDQ;result = String.format(pattern, stm.getSubject().format(locale),stm.getPredict().format(locale),stm.getObject().format(locale));return new String[]{result};}
public IClause parse(Element eltClause){……….//见Statement.java的有关内容}}
5) Clause.java的改进
为使用代理机制对Clause代码进行改进,添加获得格式器和完成代理转移的过程:
public abstract class Clause implements IClause {…………….//增加下面的服务功能
public IFormater getFormater(Locale locale){return Util.getFormater(this.class.getName(), locale); //示范}
//实现format
public String[] format(Locale locale){IFormater[] formatters = getFormater(locale);String[] result = new String[formatters.length];for ( i = 0; i < formatters.length; i++) {result[i] = formatters.format(this);……..//做其它处理
}……..//进一步做其它处理
return result;}………………}
6) Statement.java的改进,相应地在语句程序模块中添加注册格式器和其它调整:
public class Statement extends Clause {…….
static {registerFormater();}
static registerFormater(){//注册陈述语句对应的各种格式器。
String key = Statement.class.getName();//或给定其它内容
Util.register(key, HTML_CHINESE, Statement2HTML_ZH);Util.register(key, HTML_ENGLISH, Statement2HTML_EN);Util.register(key, JENA_RDQ, Statement2JENA);………..}
public IFormater getFormater(Locale locale){String key = Statement.class.getName();//或给定其它内容
return Util.getFormater(key, locale);}
public String[] format(Locale locale){return super.format(locale);}……….}
7) 其它语言成分的改进,其它语言成分可以模仿语句Statement完成相应改进方式,实现通过格式器代理机制获得灵活多样的语言表现形式。
5. 人机语言对话装置
在示范实施方案中人机语言对话装置(5),语义逻辑浏览和编辑装置,是通过JTextPane完成的。通过JTextPane和相关应用程序可以支持浏览显示、编辑和对话全部过程。
1) 浏览显示,通过具有接口IClause的程序模块生成的HTML格式的文本是实现语言表达装置(4)的一种有效途径。HTML格式的文本可以直接被javax.swing.text.JTextPane接受并显示出来,其中的带有语义逻辑标记的标记体系是对用户透明的,用户不会感到语义逻辑标记体系的存在,但可以通过javax.swing.text.HTMLDocument和相关的程序模块对HTML文本形成的ELEMENT结点树进行管理和使用,支持本发明其它内容的具体实现。
2) 定位语言成分,javax.swing.text.JTextPane可以支持实现人机对话,作为用户使用接口帮助用户定位不同的语言成分。定位语言成分的方法是建立一个鼠标事件监听模块:定位程序,实现如下过程:① 当用户通过鼠标或键盘点击JTextPane的界面上某一个位置时(表明用户的兴趣方位),通过JTextPane可以支持获得当前位置上的ELEMENT结点:focuseElment;② 读取focuseElment的“type”属性的内容;如果没有则将focuseElment设为focuseElment的父结点:focuseElment = focuseElment.getParent(),重复这个过程直到读取到focuseElment的“type”属性的内容,或出现意外终止整个过程;③ 具有“type”属性的内容的结点focuseElment是一个语言成分结点,并可以根据:“type”属性的内容或其它属性内容确定该语言成分结点是语句结点还是一个语句成分结点。方法是判断“type”属性的内容的内容是否包括“COMPONENT”字符;或将该语言成分转换为一个Clause模块,并确定该Clause模块是否具有IComponent或ISentence接口;将语言成分结点focuseElment转换为一个Clause模块的方法是:读取结点的“PARSER”属性值确定语言成分对应的格式器IFormater的名称,获得格式器的实例后调用其中的parser()方法;④ 如果focuseElment是一个语句成分结点,则需要则可以通过标记体系确定是否属于可以编辑的或可以定位的语句成分;如果不是则可以继续搜寻focuseElment的父辈结点直到将focuseElment设定为一个该语句成分所属的语句结点;⑤ 将focuseElment的背景颜色设为黄色。
3) 建立和插入,建立和插入语言成分的方法是建立鼠标键盘等设备监听响应事件程序模块实现如下过程:① 根据当前focuseElment语言结点的类型和语义逻辑规则确定用户可以插入的语句类型,例如陈述语句、查询语句、变量代词、函数或规则等等;② 用户确认选择后则确定插入的位置或可执行操作的类型,例如替换当前语句、在当前语句之前或之后插入;③ 用户确认选择后则建立一个对应语言成分的程序模块的实例,该模块实现IClause接口;④ 调用对应程序模块实例中的toHTMLTag方法,根据当前使用的语言种类生成对应的HTML文本;⑤ 将生成的HTML文本插入到当前HTMLDocument的指定位置。HTMLDocument支持将HTML文本解析并在结点树中进行插入操作。插入的语句可以只是一个“空白语句”的副本,其中只有语句的逻辑结构和连接词等等,用户只需要对空白的语句成分进行编辑修改就可以完成对语句的编辑。
4) 编辑修改,当定位的focuseElment是语句结点或语句成分结点时,都可以进行例如删除、复制、粘贴、拖拽的操作,形成快速的语句生成和复制功能的支持。① 删除focuseElment的方法是:将focuseElment从HTMLDocument结点树中删除;② 复制focuseElment的方法是:将focuseElment转换为一个Clause模块实例或HTML文本并加入到系统剪贴板Clipboard中;③ 粘贴语言成分的方法是:从系统剪贴板Clipbaord中获得一个Clause模块实例或HTML文本,如果是Clause模块实例则将其转换为HTML文本,然后根据当前语言成分结点focuseElment点类型和用户的选择确定是否对当前语言成分进行替换或在选定位置进行插入操作,最后将文本插入到HTMLDocument结点树中或替换对应结点的内容;④ 拖拽语言结点focuseElment的方法是:启动拽时将拖拽结点focuseElment转换为一个Clause模块实例或HTML文本并加入到一个java.awt.datatransfer. Transferable中交由系统传输;拖拽过程中随着鼠标移动不断确定拖放目标结点,其方法与定位语言成分的过程基本一致;同时可以根据拖拽结点类型、目标结点类型和语义逻辑规则决定目标结点位置是否可以接受拖拽结点的内容和可以完成的操作,提示用户;用户松开鼠标终止拖拽过程时,根据用户的选择和逻辑判断确定是否拒绝操作或完成用户选择的操作。
相比传统的字符输入方法具有明显的效率优势,因为避免了大量的重复输入和频繁的键盘操作。
5) 语句成分的特殊编辑方法,当定位的语言成分是语句成分时,则可以进行例如删除、复制、粘贴、拖拽和插入语句成分的操作,也可以通过一个特定的窗口界面输入相关的内容。具体过程包括:① 当用户双击语句成分区域触发一个编辑窗口界面程序;② 该程序通过当前语言成分的标记确定输入内容的范围;③ 将符合范围要求的历史数据内容显示出来供用户选择;④ 如果历史数据中没有包括用户希望输入的内容,则用户可以输入相关信息,例如字符等,然后在确定范围内搜索定位输入内容对象;用户也可以直接输入语句成分内容:普通数据可以直接通过键盘输入;概念对象则可以输入其唯一标记和名称等等直接定位。⑤ 将用户选择或输入的内容替换当前语句成分同时加入历史记录,必要时可以同时进行输入合法性验证,对于非法输入内容可以拒绝或加以适当标记(例如变换背景颜色等)提示用户修改。
6) 翻译转换功能,通过上述方法定位的语言成分是语句和语句成分结点时可以进行局部翻译转换操作,提供灵活的文本表达方式。实现方法是建立一个翻译转换界面程序模块:① 当用户对话事件触发翻译转界面程序时,将focuseElment转换为对应的Clause程序模块,方法是读取结点的“PARSER”属性值确定语言成分对应的格式器(具有IFormater接口)的名称,获得格式器的实例后调用其中的parser()方法;② 获得Clause模块后可以针对每一个语种获得若干格式器,可以通过界面程序将这些选项和转换预览结果显示出来供用户选择;③ 根据用户的选择用转换目标内容替换用户定位的当前语言成分focuseElment。
7) 语义语言转换装置注册体系,在Clause和Statement改进程序代码模块中都涉及到语义语言转换装置注册体系的实现过程示范,请参见这两个程序模块的代码内容:getFormater(……)、register(…….)和Util.register(……)都有详细的注解说明。
8) 会话功能,会话功能是通过IDialog实现的:包括如下几个方面的要点:① IDialog包括为语言成分加装HTML.FORM的代码部分,通过这种形式完成向第三方平台提出服务请求的用户界面安装;② 当用户通过这个界面发出指令时,触发执行execute()代码,这部分代码首先将语句转换为jena代码向jena平台发送,获得执行的结果;然后显示结果:返回的结果可能是一个数据表,也可能是一个语句或三元组集合;最后需要将这个结果进行必要的形式化处理并通过HTML的形式返回给调用界面并显示出来。
9) 存储和传播功能,HTMLDocument可以辅助完成JTextPane显示的文本内容转换成为带有所有标记内容的HTML文本文档,该文档可以存放在磁盘中或在网络中传播。
6. 关于工具包Util和第三方平台使用的说明
工具包Util提供与本方案实施过程密切相关的一些服务支持的部分内容。这些服务和支持可能来自多方面:
1) 处理与语义编辑操作相关的内容
import javax.swing.text.HTMLDocument;
public class Util {
public static final String toHref(String uri, String title) {String attr = attr("href", uri);return toNamedTag("a", title, attr); }
public static final String toTable(String value, String attr) {return toNamedTag("table", value, attr);}
public static final String toTD(String value, String attr) {return toNamedTag("td", value, attr);}
public static final String toTR(String value, String attr) {return toNamedTag("tr", value, attr);}
//生成一个HTML tag 文本, //例如<table id = "" type= STATEMENT>……..</table>
public static final String toNamedTag(String tagName, String value, String attr) { String result = "";
result = tagName + " " + attr; result = String.format("<%1$1s>%2$1s<%3$1s>",result.trim(), value,tagName); return result; }
public static final String toTag(String uri) {String result = String.format("<%1$1s>", uri);return result;}
public static final String attr(String name, String value) {//返回属性名称和属性内容的字符表示,例如Name=John
return String.format(" %1$1s=%2$1s", name, value);}
public static final String getName(String uri, Locale locale){ String result = ….;//通过jena 平台获得URI 为uri的信息资源RDF.Resource的名称//参见RDFS.Label//jena 平台支持RDFS.Label为不同的语言取值//因此对于不同locale参数,可以获得不同的名称结果……
return result;}
public static final String getValue (Element clause, String attributeName){Object result = …..;//通过java HTMLDocument.class提供的算法//获取clause的名称为attributeName属性值……
return result.toString();}
public static final Vector<Element> getChild (Element parent, String attributeName, String attributeValue){Vector<Element> result = …..;//通过HTMLDocument提供的算法获取parent的下属子结点,//其属性attributeName的值为attributeValue……..
return result;}
public static final Vector getChildValue (Element parent, String attributeName, String attributeValue){Vector result = new Vector();Vector<Element> children = getChild(parent, attributeName, attributeValue);for(i=0; i<children.size(); i ++){result.add(getValue(children.get(i)));}
return result;}
public static final String getValue (Element component){//获得所包装的概念对象标记或一种普通数据
if (!isComponent(component)){//如果不是Clause.COMPONENTreturn null;}
Object result = …… //一个IResource或字符串或数字等内容
return result;}
public boolean isComponent(Element clause){boolean result = false;String type = getValue(clause, Clause.TYPE);result = type.indexOf(Clause.COMPONENT)>0;return result;}
public static void register(String key, Locale locale, IFormater formater){//提供一种机制将语言成分对应的格式器进行注册//例如Hashtable}
public static IFormater getFormater(String key, Locale locale){//提供一种机制将语言成分对应的格式器从注册表中取出}}
2) 处理与JENA平台对话相关的内容,包括读取更多文本格式的数据、逻辑数据推理、查询支持。
public class Util {………
public static void checkRange(Object value, String uriRange){//通过jena平台检查value值是否符合uriRange表示的数据类型范围//uriRange表示的数据类型是Jena程序包定义的RDFDataType}………}
使用效果
发明的示范实施方案具有如下特殊效果:
1) 功能覆盖具有广泛性,本发明的示范实施例可以提供三个基本功能。第一个是信息输入,通过类自然语言输入的信息可以为机器所接受,在机器内建立确定的信息模型或信息处理的数据结构;第二个是问答语句编辑功能,通过类自然语言的问答语句可以描述信息需求的内容;第三个是信息输出的重新排列、组合和重复应用。
本发明的实施方案结合使用Jena等语义网络平台,可以支持具有符合国际规范要求的概念体系的定义维护方面的支持,这些规范体系很有可能成为今后互联网应用标准的重要组成部分。从语言层次上看,相关的语言表示词汇系统是开放的,用户可以根据专业领域的需要灵活安装词汇系统或语义逻辑数据。这样可以充分利用现有各种语义逻辑的标记语言规范体系的应用成果。
2) 充分性和有效性, 本发明的一个重要理论依据是:任何概念对象或人机对话过程都可以通过简单语句和简单语句集合的使用进行描述。本发明以概念体系为基础,建立语义逻辑的语言表示体系,虽然从形成的文本和句法上看未必能够真正达到自然语言灵活多变的程度,但从语义逻辑上看是仍然应当说是充分和有效的。更重要的是所形成的文本和句法通过成熟的格式器程序体系可以趋于完善、从类自然语言逐渐趋于自然语言效果。
换言之,任何复杂的逻辑关系都可以通过若干简单的陈述语句和仔细的概念模型设计进行表述。至于表述的语言使用在何种程度上可以满足语言习惯和语法的要求,则依赖于完善的格式器体系的建立。更重要的是通过格式器代理机制的应用可以包容和集成各种自然语言处理技术方案的应用,在单一机器翻译方案不能完全胜任翻译工作的情况下,通过各种机器翻译方案的集成应用则可能成为机器翻译发展方向的新突破。
3) 信息处理效率具有明显优势, 人机语言对话装置实现了语言成分层次上的语言编辑过程,比较传统文字字符输入方法,避免了大量的重复输入和频繁的键盘操作,具有明显的效率优势。更重要的是通过类自然语言表示的语义逻辑信息既可以为人类用户所理解和使用又可以为用户的机器代理程序所理解和重复使用,更大程度上提升了信息处理的自动化水平和效率。

Claims (10)

  1. 一种语义逻辑表达装置(1)包括一个或多个表达概念对象的符号标记和同信息处理装置结合的程序代码,其特征是提供将概念对象依语义逻辑关系进行组合处理的服务,包括一个提供生成语言表达装置(4)的服务功能(11),此功能可以根据不同的语法要求,生成一个或多个语言表达装置(4);方法是为每一种语言成分建立相应的语义逻辑表达装置(1),不同的语言成份之间具有概念的上下位关系或组合构成关系,因而可以充分利用面向对象的程序语言简化表达过程,当调用服务功能(11)时,程序将定位构成语言成分的语义逻辑表达装置(1)并调用对应的服务功能(11),因此形成依次递归程序代码执行的过程,达到生成整体语言表达装置(4)的结果;
  2. 权利要求1的特征进一步是,同一个注册登记或索引定位系统一起工作,为每一个或每一类语义逻辑表达装置(1)注册一个或多个语义到语言正向转换装置(2),当调用服务功能(11)时该功能根据该系统的服务定位对应的转换装置(2)并将服务转委托给定位的转换装置(2),形成灵活多样的语义到语言的转换委托机制,以适应语言文法的广泛性和多样性要求;
  3. 一种语义到语言正向转换装置(2)包括同信息处理装置结合的程序代码,其特征是包括一个服务功能(21),当该功能被调用时根据提供的语言识别参数(6)可以提供将语义逻辑表达装置(1)正向转换成符合特定语言习惯和规范的语言表达装置(4);
  4. 权利要求3的特征进一步是,以各种自然语句谓语成分或概念对象属性为中心建立转换装置(2)、进行注册或索引定位;
  5. 一种语言表达装置(4)包括一组特定语言表达标记体系或同信息处理装置结合的程序控制代码,其特征是包括一组语义逻辑的标记符号体系,可以辅助机器识别定位语言成分、语言语义转换装置(3)或完成其它编辑翻译功能,这些标记符号体系对用户保持透明;
  6. 一种语言到语义反向转换装置(3)包括同信息处理装置结合的程序代码,其特征是包括一个服务功能(31),该功能被调用时可以提供将特定语言表达装置(4)包括的语言表达标记体系反向转换成对应的语义逻辑表达装置(1)的服务,步骤是根据语言表达装置(4)中的标记定位相应的反向转换装置(3)和构成语言成分的表达装置(4),调用反向转换装置(3)的功能(31),进一步定位构成语言成分的表达装置(4)和反向转换装置(3),依次形成递归执行程序代码的过程达到生成整体逻辑表达装置(1)的结果;
  7. 一种类自然语言人机对话装置(5)包括同信息处理装置结合的程序代码,其特征是可以将带有语义逻辑标记体系的语言表达装置(4)展示给用户,并可以根据语义逻辑标记体系内容对语言成分的内容进行增减修改等编辑同时保持标记体系的完整和有效性;
  8. 权利要求7的特征进一步是,包括一组人机使用接口帮助用户定位不同的通过语言表达装置(4)表达的语言成分,为建立以基于语言成分的编辑和翻译功能提供支持,编辑功能包括建立、删除、修改、复制、粘贴、拖拽等部分或全部功能;
  9. 权利要求8的特征进一步是,包括一组语义语言转换装置(2)和(3)和相应的算法,可以将用户定位的语言成分通过定位语言语义表达装置(3)转换成逻辑表达装置(1),然后根据用户的选择定位语义语言正向转换装置(2),将逻辑表达装置(1)转换为需要的语言表达装置(4),该结果可以根据需要替换当前定位的语言成分或显示出来供用户参考或发送给第三方服务平台作为服务请求内容的描述;
  10. 权利要求7的特征进一步是包括注册或索引定位语义逻辑表达装置(1)、语义语言转换装置(2)或(3)的机制,同时可以支持对语义逻辑表达装置(1)、语义语言转换装置(2)或(3)的组成体系进行扩充,用户可以根据需要调整注册或定位系统的规模和范围提高使用效率,也为使用第三方开发的以自然语言处理为对象信息产品提供便利。
PCT/CN2011/073328 2010-05-06 2011-04-26 基于语义逻辑的类自然语言人机对话装置 WO2011137724A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/695,051 US9690779B2 (en) 2010-05-06 2011-04-26 Quasi natural language man-machine conversation device base on semantic logic

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010168024.X 2010-05-06
CN201010168024.XA CN102236645B (zh) 2010-05-06 2010-05-06 基于语义逻辑的类自然语言人机对话装置

Publications (1)

Publication Number Publication Date
WO2011137724A1 true WO2011137724A1 (zh) 2011-11-10

Family

ID=44887303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/073328 WO2011137724A1 (zh) 2010-05-06 2011-04-26 基于语义逻辑的类自然语言人机对话装置

Country Status (3)

Country Link
US (1) US9690779B2 (zh)
CN (1) CN102236645B (zh)
WO (1) WO2011137724A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115796190A (zh) * 2023-01-10 2023-03-14 杭州比智科技有限公司 基于vue和webpack的前端国际化多语言转换方法及系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083027A1 (en) 2007-08-16 2009-03-26 Hollingsworth William A Automatic text skimming using lexical chains
US10068016B2 (en) 2013-10-17 2018-09-04 Wolfram Alpha Llc Method and system for providing answers to queries
US9594737B2 (en) 2013-12-09 2017-03-14 Wolfram Alpha Llc Natural language-aided hypertext document authoring
CN105279145B (zh) * 2014-05-27 2018-01-09 王楠 一种计算机语义工程系统
CN104217100B (zh) * 2014-07-24 2017-02-15 昆明理工大学 一种基于agent社会圈子网络的语言竞争模型的建模仿真方法
US11100291B1 (en) 2015-03-13 2021-08-24 Soundhound, Inc. Semantic grammar extensibility within a software development framework
CN105550167A (zh) * 2015-12-08 2016-05-04 昆明理工大学 一种基于agent社会圈子网络的通用型多语竞争模型的建模仿真方法
EP3206168A1 (en) * 2016-02-12 2017-08-16 Wipro Limited Method and system for enabling verifiable semantic rule building for semantic data
US10095691B2 (en) 2016-03-22 2018-10-09 Wolfram Research, Inc. Method and apparatus for converting natural language to machine actions
CN107291701B (zh) * 2016-04-01 2020-12-01 阿里巴巴集团控股有限公司 一种机器语言生成方法及装置
WO2018156978A1 (en) 2017-02-23 2018-08-30 Semantic Machines, Inc. Expandable dialogue system
EP3563375B1 (en) * 2017-02-23 2022-03-02 Microsoft Technology Licensing, LLC Expandable dialogue system
US11132499B2 (en) 2017-08-28 2021-09-28 Microsoft Technology Licensing, Llc Robust expandable dialogue system
CN109002498B (zh) * 2018-06-29 2020-05-05 北京百度网讯科技有限公司 人机对话方法、装置、设备及存储介质
US11249978B2 (en) * 2018-11-29 2022-02-15 Kyndryl, Inc. Multiple parameter based composite rule data validation
CN110489752B (zh) * 2019-08-14 2021-06-22 梁冰 一种自然语言的语义递归表示系统
US10817264B1 (en) 2019-12-09 2020-10-27 Capital One Services, Llc User interface for a source code editor
US11609932B2 (en) * 2020-03-27 2023-03-21 Adp, Inc. Web services having live data updates
CN111859990B (zh) * 2020-07-30 2023-11-21 韩朝晖 基于语义逻辑唯一性判断的处理问答数据的方法及系统
CN112306497B (zh) * 2020-11-03 2024-04-26 高炼 一种将自然语言转化为程序代码的方法及系统
CN114020898B (zh) * 2022-01-07 2022-04-19 和美(深圳)信息技术股份有限公司 人机自动对话方法、装置、电子设备及存储介质
CN116383365B (zh) * 2023-06-01 2023-09-08 广州里工实业有限公司 一种基于智能制造的学习资料生成方法、系统及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728133A (zh) * 2004-07-27 2006-02-01 武征 面向对象的信息服务器、其制作方法及浏览器
CN101470734A (zh) * 2007-12-29 2009-07-01 北大方正集团有限公司 数据标识、解析的方法及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1193780A (zh) * 1997-03-13 1998-09-23 代立明 一种语言文字通用转换技术
CN1254895A (zh) * 1998-11-20 2000-05-31 刘莎 开放式全息全选全程模板式人机互补语言翻译方法
US6311159B1 (en) * 1998-10-05 2001-10-30 Lernout & Hauspie Speech Products N.V. Speech controlled computer user interface
DE60031113T2 (de) * 1999-02-19 2007-05-10 Custom Speech USA, Inc., Crown Point Automatisiertes übertragungssystem und -verfahren mit zwei instanzen zur sprachumwandlung und rechnergestützter korrektur
US6792086B1 (en) * 1999-08-24 2004-09-14 Microstrategy, Inc. Voice network access provider system and method
CN100461109C (zh) * 2004-04-28 2009-02-11 富士通株式会社 语义任务计算
US20060229866A1 (en) 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for deterministically constructing a text question for application to a data source
CN101436179A (zh) * 2007-11-13 2009-05-20 刘树根 文本转换方法及装置
CN101246474B (zh) * 2008-02-18 2012-01-11 刘树根 一种基于语句构件的母语读外文方法
CN101593174A (zh) * 2009-03-11 2009-12-02 林勋准 一种机器翻译方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728133A (zh) * 2004-07-27 2006-02-01 武征 面向对象的信息服务器、其制作方法及浏览器
CN101470734A (zh) * 2007-12-29 2009-07-01 北大方正集团有限公司 数据标识、解析的方法及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115796190A (zh) * 2023-01-10 2023-03-14 杭州比智科技有限公司 基于vue和webpack的前端国际化多语言转换方法及系统

Also Published As

Publication number Publication date
CN102236645B (zh) 2016-03-30
CN102236645A (zh) 2011-11-09
US20130204610A1 (en) 2013-08-08
US9690779B2 (en) 2017-06-27

Similar Documents

Publication Publication Date Title
WO2011137724A1 (zh) 基于语义逻辑的类自然语言人机对话装置
WO2014011000A1 (en) Method and apparatus for controlling application by handwriting image recognition
WO2020009297A1 (ko) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법
US7197739B2 (en) Apparatus for automatically generating source code
WO2010036012A2 (ko) 인터넷을 이용한 의견 검색 시스템, 의견 검색 및 광고 서비스 시스템과 그 방법
WO2010021527A2 (ko) 영상에 포함된 객체를 색인하는 시스템 및 방법
WO2015178611A1 (en) Server and method of providing collaboration services and user terminal for receiving collaboration services
JP2654001B2 (ja) 機械翻訳方法
WO2017146437A1 (en) Electronic device and method for operating the same
WO2013168860A1 (en) Method for displaying text associated with audio file and electronic device
WO2011122724A1 (ko) 아밥 소스코드의 코드 검사를 수행하는 코드검사 수행시스템
WO2014035195A2 (en) User interface apparatus in a user terminal and method for supporting the same
WO2010087635A2 (en) Method and apparatus for processing user interface composed of component objects
WO2013176366A1 (en) Method and electronic device for easy search during voice record
WO2011155736A9 (ko) 모든 자연어 표현의 각각의 의미마다 별도의 용어를 동적으로 생성하는 방법 및 이를 기반으로 하는 사전 관리기,문서작성기, 용어 주석기, 검색 시스템 및 문서정보체계 구축장치
WO2019177182A1 (ko) 속성 정보 분석을 통한 멀티미디어 컨텐츠 검색장치 및 검색방법
WO2020082766A1 (zh) 输入法的联想方法、装置、设备及可读存储介质
WO2021137637A1 (en) Server, client device, and operation methods thereof for training natural language understanding model
WO2012130145A1 (zh) 获取和搜索相关知识信息的方法及装置
WO2020263016A1 (ko) 사용자 발화를 처리하는 전자 장치와 그 동작 방법
WO2015020259A1 (ko) 다국어 변환이 용이한 스마트기기
WO2014010819A1 (ko) 정형 및 비정형 데이터를 xml 문서에 구현하는 방법
WO2014148838A1 (en) Method and system of performing electronic approval processes
WO2017094967A1 (ko) 자연 언어 처리 스키마 및 그 지식 데이터베이스 구축 방법 및 시스템
WO2017191877A1 (ko) 프로버넌스 관리를 위한 압축 장치 및 방법

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: 11777145

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13695051

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 11777145

Country of ref document: EP

Kind code of ref document: A1