WO2021082353A1 - 一种语义识别方法及其设备 - Google Patents

一种语义识别方法及其设备 Download PDF

Info

Publication number
WO2021082353A1
WO2021082353A1 PCT/CN2020/083555 CN2020083555W WO2021082353A1 WO 2021082353 A1 WO2021082353 A1 WO 2021082353A1 CN 2020083555 W CN2020083555 W CN 2020083555W WO 2021082353 A1 WO2021082353 A1 WO 2021082353A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
query
database
semantic recognition
module
Prior art date
Application number
PCT/CN2020/083555
Other languages
English (en)
French (fr)
Inventor
简仁贤
沈舜锋
王兵
王彦彬
武琰
Original Assignee
竹间智能科技(上海)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 竹间智能科技(上海)有限公司 filed Critical 竹间智能科技(上海)有限公司
Publication of WO2021082353A1 publication Critical patent/WO2021082353A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries

Definitions

  • the invention relates to the field of artificial intelligence natural language processing, in particular to a semantic recognition method and equipment.
  • European invention patent application EP3502928A1 Intelligent Natural Language Query Processor, discloses a system for answering natural language queries (NLQ) for database systems.
  • the system includes a query receiver receiving NLQ and modeling the NLQ as an entity tuple including at least a subject entity and an intent entity.
  • the system also includes a service discovery component and a query conversion unit.
  • the resource calling method of this invention adopts ODate API, which converts natural language processing into database query.
  • OData data structure there are some technical limitations.
  • the invention only uses subject or pronoun substitution to identify the user's dialogue intention based on context analysis, and the accuracy of the semantic understanding of natural language is not high enough; the invention It is also unable to realize complex calculations, such as calculation methods such as summation, average, and maximum value; in addition, the invention cannot realize the identification and query of the natural language of Chinese, and the invention does not have the function of making the query results as a graph and feeding back to the user. .
  • the present invention provides a semantic recognition method and equipment.
  • the first aspect of the present invention provides a semantic recognition method, which includes the following steps:
  • Trigger query obtain query subject and query intention according to user configuration
  • Set table determine the data table that the user needs to use for query from the database
  • the triggering query step fails to determine the query subject and query intention, determine the query subject and query intention based on user input, sentence analysis information, and disambiguating information;
  • the user input is natural language input
  • the natural language can be Chinese
  • the input methods include voice input and text input
  • the correction optimization is automatic speech recognition correction (ASR) correction optimization
  • ASR Automatic Speech Recognition correction refers to the automatic conversion of speech input content into corresponding text through computer technology and the semantic correction of it.
  • the present invention also supports the input of English natural language.
  • the trigger module determines whether the text input by the user contains entities related to the database query, and if so, enters the natural language query processing flow; if not, calls the reply in the gossip corpus to feed back the user.
  • the text entered by the user is in multiple rounds of dialogue, determine whether the content entered by the user is "exit", if yes, trigger a default reply (backfill); if not, call the natural language query interface to trigger the module to determine the text entered by the user Whether to include entities related to database query, if yes, enter the natural language query process, if not, trigger a default reply (backfill); the default reply includes invoking the reply in the small chat corpus to feedback the user, and exiting multiple rounds of dialogue.
  • the semantic recognition method also includes that the user can select, supplement, and modify the retrieved database by himself.
  • the database is composed of multiple specific tables, and the specific tables are not limited to being displayed in a frame format such as excel.
  • the information is sorted.
  • the table here is a collection of various forms of information.
  • the natural language query processing flow before performing correction and optimization, it also includes a step of text preprocessing according to a custom configured text preprocessing script, where the user can add processing scripts for special text.
  • the user input is corrected and optimized, for example, the user input is voice input, and further, entity analysis and/or grammatical analysis are performed on the corrected and optimized user input text.
  • entity analysis refers to analyzing and recognizing the content in the text. Entities with specific meanings, based on the set of enumerated values in the database and the data column names of the data table to perform the entity analysis of the query subject, including the name of the person, the name of the place, the name of the organization, the proper noun, the time, the quantity, the currency, the proportional value, etc.
  • Data table column name (Column) type (subject-object type) words, year-on-year, ring-to-year comparison, maximum, minimum, and comparison type expression calculation method (Function) type (query intent type) words or sentences, and "to", “Go”, “Yao”, “include”, “except” and other logical words; the grammatical analysis includes analyzing the grammar adopted by the text, such as affirmation, negation, transition, emphasis, rhetorical question, etc.
  • the semantic recognition method further includes that the training database for syntax analysis and/or entity analysis includes a Chinese database.
  • the semantic recognition method further includes that the user can prepare a grammatical analysis and/or entity analysis method by himself, and the self-configuration can be realized by means of preprocessing scripts; the self-configured grammatical analysis method refers to self-defining a certain method. Some special grammars, such as omission and inversion; the self-configurable entity analysis method refers to self-defining the content of entities with specific meanings, such as uncommon place names, or special processing of special content, such as converting festivals into Gregorian calendars.
  • the semantic recognition method also includes that the user can customize the function in advance, and the custom configuration of the function refers to assigning a word with the meaning of Function or assigning a word, word, or sentence to a function. With a special meaning.
  • triggering the query also includes the step of performing text preprocessing according to the pre-processing script of the query intention configured by the user.
  • the specific table to be retrieved is determined by triggering a query (Query) behavior.
  • the Query behavior refers to obtaining the existing Function and Column in the text input by the user, and judging whether the specific table to be retrieved can be determined according to the Function and Column. If so, then Perform the next step, if not, determine whether the specific form to be retrieved can be determined by the information given by the user, if yes, proceed to the next step, if not, return to the indeterminable form; the indeterminable form can be informed The user cannot confirm the form and asks for missing information.
  • the semantic recognition method further includes, after the table is set, judging whether the user has the access right to the table data table, if yes, execute the next step, if not, return to no-privileged words.
  • the semantic recognition method further includes, if the user has the access authority to the table data table, judging whether the user has the access authority to the specific data column of the table data table, and if not, filtering out the data columns that are not authorized to access If yes, proceed to the next step.
  • the query intent includes the data query method or the data calculation method, and the data query method or data calculation method is determined according to the text input by the user and the parsed entity .
  • SQL structured query language
  • SQL structured query language
  • the complete SQL requirements mean that the current information can form a complete piece of information.
  • the semantic recognition method further includes determining the Function and Column in the user input text through context disambiguating fields and/or aggregating context information.
  • the context information aggregation refers to the context of user input in combination with user input. The text is supplemented.
  • the semantic recognition method further includes the step of synthesizing Function and Column information into a SQL intermediate representation.
  • the SQL intermediate representation contains the complete logical semantics of SQL and can be easily extended to other expressions that express the same logical semantics. SQL dialects, such as OracleSQL.
  • the result of executing the SQL statement is converted and assembled into natural language and output.
  • the output may be voice output or non-voice output.
  • the semantic recognition method further includes converting the result of executing the SQL statement into a chart and outputting it.
  • the step of converting the result of executing the SQL statement into a chart may be performed according to a default method, or may be performed according to a user-defined method.
  • the present invention also provides a semantic recognition device, including: an input module, a database module, a correction module, an analysis module, a query behavior module (Query behavior module), a sentence generation module, a judgment module, an execution module, and an output module.
  • a semantic recognition device including: an input module, a database module, a correction module, an analysis module, a query behavior module (Query behavior module), a sentence generation module, a judgment module, an execution module, and an output module.
  • the input module is used to receive user input, the user input may be voice input, and the content input by the user may be natural language.
  • the database module is used to store or connect to the retrieved database; the database can be stored locally in the database module or connected via the database module in the cloud or the network.
  • the database is composed of multiple specific tables, The specific table is not limited to the sort of information displayed in a frame form such as Excel, and the table here should be understood as a collection of information in various forms.
  • the database module can select, supplement, and modify the retrieved database through user operations.
  • the correction module is used to correct and optimize user input. If the user input is voice input, the correction and optimization adopts automatic speech recognition correction technology; ASR (Automatic Speech Recognition) correction refers to the automatic conversion of voice input content into corresponding text through computer technology. Make semantic corrections to it.
  • ASR Automatic Speech Recognition
  • the analysis and analysis module is used to perform grammatical analysis and entity analysis on the corrected user input text.
  • entity analysis refers to analyzing and identifying entities with specific meanings in the text, including names of persons, places, organizations, proper nouns, Time, quantity, currency, ratio value, etc.
  • the Function (action) text of comparative words includes analyzing the grammar adopted by the text, such as affirmation, negation, transition, emphasis, rhetorical question, etc.
  • the training database of the ASR correction module includes a Chinese database.
  • the training database of the analysis analysis module includes a Chinese database.
  • the self-configurable syntax analysis method refers to the self-definition of some special syntax, such as omission or inversion; the self-configuring entity
  • the analytical method refers to self-defining the content of entities with specific meanings, such as uncommon place names, or special processing of special content, such as converting festivals into the Gregorian calendar.
  • the user can customize the function in advance, and the custom configuration of the function refers to assigning a certain word with the meaning of Function or giving a certain function-type word with a special meaning.
  • the Query behavior module is used to complete the Query behavior to determine the specific table to be retrieved.
  • the Query behavior refers to obtaining the existing Function and Column in the text input by the user, and judging whether the specific table to be retrieved can be determined according to the Function and Column. If so, then Perform the next step, if not, determine whether the specific form to be retrieved can be determined by the information given by the user, if yes, proceed to the next step, if not, return to the indeterminable form; the indeterminable form can be informed The user cannot confirm the form and asks for missing information.
  • the semantic recognition device further includes a permission restriction module, the permission restriction module can determine whether the user has the permission to perform a specific behavior, if so, continue the behavior, if not, block the behavior; This behavior refers to not performing the user's behavior and notifying the user that the behavior is not authorized by means of denying access, returning to non-authorized speech, etc.
  • the authority restriction module can determine whether the user has the authority to access a specific database and/or the authority to access a specific table and/or the authority to access a specific data column.
  • the execution module is used to execute SQL statements.
  • the semantic recognition device further includes a chart generating module for converting the result of executing the SQL statement into a chart.
  • the chart generation module can be configured by the user, so that the chart generation method can be performed according to a default method or a user-defined method.
  • the method of user-defined configuration includes the step of user-defined configuration of the query behavior, and the user-defined configuration of the corresponding relationship between query questions and query results.
  • the method of user-defined configuration includes the step of user-defined configuration of the synonym dictionary, and the user expands the fields of enumerated values in the data table by adding synonyms.
  • the present invention can understand the semantics of natural language to a certain extent, and then translate it into a database query language (SQL) for database query, and at the same time, it can also provide relevant data statistics charts. It solves the problem that the traditional natural language query does not essentially understand the semantics of the text, and cannot complete the refined database query and screening.
  • SQL database query language
  • the invention can directly organize into SQL language and complete database query through the understanding of natural language, without mastering data query programming language, and without relying on technical personnel for query data programming.
  • the data query needs of ordinary people can be met, and the use threshold is greatly reduced. .
  • the invention is mainly used for Chinese natural language processing, and at the same time has an interface for additional configuration of a specific database, which can supplement existing models with additional knowledge. It solves the problem that the conversion of academic natural language into database query language is limited to English language and cannot add targeted optimization for additional specific databases.
  • Fig. 2 is a flowchart of the configuration semantic recognition system provided by an embodiment of the present invention.
  • ASR Automatic Speech Recognition
  • automatic speech recognition uses computer technology to automatically convert human speech content into corresponding text.
  • NER Named Entity Recognition
  • NER Named Entity Recognition
  • the text preprocessing script After entering NLQ, determine whether the user has configured a text preprocessing script. If the user has configured a text preprocessing script, the text preprocessing script will be executed. The user can customize the text processing script. For example, the user can set some special holidays. The name is converted into Gregorian calendar date, etc. After the text preprocessing is performed, the ASR correction optimization is performed; if the user does not configure the text preprocessing script, the ASR correction optimization is directly performed.
  • ASR recognizes the user input, and corrects the recognized text through the information of the enumerated field value in the user database. For example, there is a place name named "Gao Yao" in the user database.
  • the general ASR may It will be recognized as a more common "plaster”. Through ASR correction and optimization processing, this word can be restored to "Gao Yao" to be closer to the original meaning of the user to check the database.
  • the second question does not need to inherit Shanghai, March, sales and other entities from the first question, and the above can be cleared.
  • the basic functions include: query one or more subjects, sum, maximum, difference, TopN (referring to the top N, which means that the query results will be sorted and returned to the top N), the year-on-year chain comparison, the average value, and so on.
  • Function parameters include: for example, N in TopN, etc.
  • the training database of the ASR correction module includes a Chinese database.
  • the training database of the analysis analysis module includes a Chinese database.
  • the self-configurable syntax analysis method refers to the self-definition of some special syntax, such as omission or inversion; the self-configuring entity
  • the analytical method refers to self-defining the content of entities with specific meanings, such as uncommon place names, or special processing of special content, such as converting festivals into the Gregorian calendar.
  • the authority restriction module can determine whether the user has the authority to access a specific database and/or the authority to access a specific table and/or the authority to access a specific data column.
  • the statement generation module is used to generate SQL statements and/or natural language.
  • the SQL Structured Query Language
  • the generation refers to under certain conditions, such as partial grasp of Function, Column, and Value information Under the condition of, generate the corresponding statement containing the corresponding requirements; or convert the result of executing the SQL statement into natural language.
  • the judgment module is used to judge whether the SQL requirements of the generated SQL statement are complete.
  • the complete SQL requirements means that the current information can form a complete SQL expression, that is, the existence of the Function and the Column and Value necessary for the execution of the Function; if it is not complete, Then return to the questioning technique; if it is complete, execute the SQL statement.
  • the execution module is used to execute SQL statements.
  • the semantic recognition device further includes a context aggregation module, which is used for disambiguating fields and/or aggregating context information to determine the Function and Column in the user input text through the context.
  • the context information aggregation refers to combining user input The context of to supplement the user input text.
  • the statement generation module may also generate an intermediate SQL representation.
  • the intermediate representation of the SQL generated refers to the step of synthesizing the function and column information into the intermediate representation of the SQL.
  • the intermediate SQL representation contains the logical semantics of the complete SQL. It can be easily extended to other SQL dialects that express the same logical semantics, such as OracleSQL.
  • the semantic recognition device further includes a chart generating module for converting the result of executing the SQL statement into a chart.
  • the chart generation module can be configured by the user, so that the chart generation method can be performed according to a default method or a user-defined method.
  • the output module is used to output natural language or view, output query results, and at the same time output user query results in chart form according to default or user-defined methods.
  • this embodiment discloses a user-defined configuration method of the semantic recognition system of the present invention, including:
  • the user enters the database link information, including the database access URI, user name and password, and then the NLQ system will access the database to determine whether the user database can be successfully accessed. If so, all data tables under the database will be retrieved and returned to the user for selection. You only need to select the data table that you want NLQ to support query; if you can't successfully access the user database, return to the previous step. Or the user directly uploads an excel file containing data that conforms to the NLQ system format, and after successfully accessing the database, the user selects the specific table that needs to support NLQ query.
  • the database link information including the database access URI, user name and password
  • the system will extract the data type and comments of each field in the data table, and return it to the user for further configuration.
  • the user can directly use the default configuration without any modification, and the user can also Modify or add configuration at any time afterwards.
  • the user judges whether it is necessary to configure the field attributes or use the default configuration. For example, you can set the parent and child nodes, set the default value, unit, numerical format and other personalized configuration items in some fields, allowing users to freely configure, specifically, If “City” is set as the sub-node of "Province and City", when querying "Where is the highest GDP in province A?", the sub-nodes of cities in A province will be automatically expanded for query.
  • NLQ can also automatically learn similar expressions; in addition, users can set special conditions for special Query, such as setting "How was product A sold last month?" This Query The "city" condition must be defined, and when the Query lacks this condition, the user will be asked to confirm the condition.
  • the user configures the thesaurus and expands the fields of enumerated values in the data table. For example, if “sales” and “sales” are configured as synonyms, when the user enters “query sales”, it will generate the same as “query sales” The same result.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

一种语义识别方法及其设备,语义识别方法包括如下步骤:接收用户输入,用户输入为中文自然语言的语音输入或文字输入;对用户输入进行修正优化,进行语法分析以及实体解析;触发Query行为确定检索意图和检索主题检索的具体表格;通过上下文消除歧义字段和/或对上下文信息聚合;根据确定的Function、Column生成SQL语句,SQL语句所需必要元素收集齐全后;将执行SQL语句结果转化组装为自然语言和/或图表并输出;该语义识别方法对自然语言的识别精度高、速度快、支持自定义扩展、支持中文,并且能够输出图表。

Description

一种语义识别方法及其设备 技术领域
本发明涉及人工智能自然语言处理领域,特别涉及一种语义识别方法及其设备。
背景技术
随着技术的发展,人机交互体验得到了长足的进步,从最初的计算机语言输入到图文界面,人们期待并不断尝试着新的人机交互方式以获得更好的交互体验。以语音直接交互为例,由于其与直接和人类交流非常类似,且方便安全,可以在开车、运动的同时完成计算机操作,因此深受欢迎。语音交互以及其他人机交互可以通过自然语言与计算机语言之间的相互转化,即语义识别方得以实现。现有的人机交互技术多采用传统自然语言查询,即根据用户输入文字进行文字和网页内容相关度做匹配排序,本质上不会对文字进行语义上的理解,因此无法完成精细的数据库查询和筛选。而传统的数据库查询则需要操作人员具有较高的专业素养,即使是编程技术人员也需要一定时间的学习培训才能掌握语法规则,同时需要对数据库结构非常熟悉才知道如何组织查询逻辑。
欧洲发明专利申请EP3502928A1,Intelligent Natural Language Query Processor,公开了一种用于回答针对数据库系统的自然语言查询(NLQ)的系统。该系统包括查询接收器接收NLQ并将NLQ建模为包括至少主题实体和意图实体的实体元组。该系统还包括服务发现组件和查询转换单元。该发明的资源调用方式采用ODate API,将自然语言处理转换成数据库查询。但是,由于该发明采用OData数据架构,导致在技术上存在一些限制,如根据上下文分析识别用户的对话意图仅采用主语或代词替换的方式,对自然语言的语义理解准确度还不够高;该发明也无法实现复杂计算,例如求和、求平均、最值等计算方法;此外,该发明无法实现对中文的自然语言进行识别和查询,该发明不具有将查询结果制作为图表反馈给用户的功能。
而本发明支持中文及英文的自然语言识别,本发明的上下文分析还设置了增量替换、Function替换、以及适时清空上文的逻辑,在对NLQ进行语义识别前,配置了可自定义的文字预处理过程,以及自动语音识别修正优化,确保查询意图的准确度;本发明还可以实现求和、求平均、最大、最小、最新、差值、同比、环比等各种复杂计算方法;本发明还可以实现图表功能,将查询结果制成图表与 结果一起反馈给用户;此外,本发明适用关系型数据库,可以学习枚举类型的值的可能性,日期类型值的颗粒度等。
发明内容
为解决现有技术存在的问题,本发明提供了一种语义识别方法及其设备。
本发明的第一个方面提供了一种语义识别方法,包括如下步骤:
接收用户输入的文本;
判断是否进入自然语言查询处理流程;
如进入自然语言查询处理流程,结合用户数据库对用户文本进行修正优化;
对经过修正优化的文本进行句子解析;
触发询问,根据用户配置获取查询主题和查询意图;
定表,从数据库中确定用户查询需要使用的数据表;
如触发询问步骤未能确定查询主题和查询意图,根据用户输入、句子解析的信息及消除歧义的信息,判定查询主题和查询意图;
收集缺失的必要查询元素;
创建结构化查询语言语句;
执行结构化查询语言语句;
返回执行结果和/或图表。
进一步的,用户输入为自然语言输入,自然语言可以为中文,输入方式包括语音输入和文字输入;所述输入方式为语音输入时,修正优化为自动语音识别修正(ASR)修正优化,ASR(Automatic Speech Recognition)修正是指通过计算机技术自动将语音输入内容转化为相应文本并对其进行语义修正。
此外,本发明也支持英文自然语言的输入。
从用户处接收用户输入的文本之后,判断是否进入自然语言查询处理流程,具体包括:判断用户输入的文本是否处于多轮对话中,如是,进入自然语言查询流程,如否,调用自然语言查询接口触发模块判断用户输入的文本是否包含数据库查询相关的实体,如是,进入自然语言查询处理流程;如否,调用闲聊语料库中的回复反馈用户。进一步的,如用户输入的文本处于多轮对话中,判断用户输入的内容是否为“退出”,如是,触发缺省回复(backfill);如否,调用自然语言查询接口触发模块判断用户输入的文本是否包含数据库查询相关的实体,如是,进入自然语言查询流程,如否,触发缺省回复(backfill);所述缺省回复包括调用闲聊语料库中的回复反馈用户,以及退出多轮对话。
进一步的,所述语义识别方法,还包括,用户可以自行选择、补充、修正被检索的数据库,所述数据库由多张具体表格构成,所述具体表格并不局限于如excel等以框架形式展现的信息排序,此处的表格为各种形式的信息集合。
进一步的,在进入自然语言查询处理流程之后,进行修正优化之前,还包括 根据自定义配置的文本预处理脚本进行文本预处理的步骤,用户可以在这里增加对特殊文本的处理脚本。
进一步的,对用户输入进行修正优化,如用户输入为语音输入,进一步的,对经过修正优化的用户输入文本进行实体解析和/或语法解析,所述实体解析是指分析并识别文本中的具有特定意义的实体,根据数据库中枚举值的集合以及数据表的数据栏名进行查询主题的实体解析,包括人名、地名、机构名、专有名词、时间、数量、货币、比例数值等数据库中数据表表栏名称(Column)类(主宾类)词语,同比、环比、最大、最小、以及比较类的表达计算方式(Function)类(查询意图类)的词语或句子,以及“到”、“去”、“要”、“包括”、“除了”等逻辑类词语;所述语法分析包括分析文本采用的语法,如肯定、否定、转折、强调、反问等。
进一步的,所述语义识别方法,还包括,所述修正优化的训练用数据库包含中文数据库。
进一步的,所述语义识别方法,还包括,所述语法分析和/或实体解析的训练用数据库包含中文数据库。
进一步的,所述语义识别方法,还包括,用户可以自行配制语法分析和/或实体解析方法,所述自行配制可以采用预处理脚本等方式实现;所述自行配置语法分析方法是指自行定义某些特殊语法,如省略、倒装;所述自行配置实体解析方法,是指自行定义具有特定意义的实体的内容,如生僻的地名,或者对特殊内容进行特殊处理,如将节日转化为公历。
进一步的,所述语义识别方法,还包括,用户可以预先对Function进行自定义配置,所述对Function进行自定义配置是指赋予某个文字以Function含义或者赋予某个Function类文字、词语或句子以特殊的含义。
进一步的,在触发询问之前,还包括根据用户配置的查询意图前预处理脚本进行文本预处理的步骤。
进一步的,通过触发查询(Query)行为确定检索的具体表格,所述Query行为是指获取用户输入文本中已有的Function、Column,判断能否根据Function、Column确定检索的具体表格,若是,则执行下一步,若否,则判断是否能通过用户给定信息确定检索的具体表格,若是,则执行下一步,若否,则返回无法定表话术;所述无法定表话术可以是告知用户无法确认表格并询问缺失信息。
进一步的,所述语义识别方法,还包括,定表之后,判断用户是否有定表数据表的访问权限,若是,则执行下一步,若否,则返回无权限话术。
进一步的,所述语义识别方法,还包括,若用户有定表数据表的访问权限,判断用户是否有定表数据表具体数据列的访问权限,若否,则筛除无权访问的数据列,若是,则执行下一步。
进一步的,还包括如下步骤:若不能通过询问行为确定查询意图(Function),查询意图包括数据查询方式或数据计算方式,根据用户输入的文本,以及解析出来的实体确定数据查询方式或数据计算方式。
进一步的,还包括如下步骤:从用户输入的文本以及上下文收集查询参数。根据当前的Function、Column生成结构化查询语言(SQL)语句,判断SQL要件是否齐全,所述结构化查询语言(SQL)是一种编程语言,所述SQL要件齐全是指当前信息能够构成一条完整的SQL表达即存在Function以及执行Function所必备的Column和Value,Value是指数据表的表项内容;若不齐全,则返回追问话术;若齐全,则执行SQL语句。
进一步的,所述语义识别方法,还包括,通过上下文消除歧义字段和/或对上下文信息聚合以确定用户输入文本中的Function、Column,所述上下文信息聚合是指结合用户输入的上下文对用户输入文本进行补充。
进一步的,所述语义识别方法,还包括,将Function、Column信息合成出SQL中间表示的步骤,所述SQL中间表示包含有完整的SQL的逻辑语义,能够方便的扩展成表达同样逻辑语义的其他SQL类方言,比如OracleSQL。
将执行SQL语句结果转化组装为自然语言并输出,所述输出可以是语音输出也可以是非语音输出。
进一步的,所述语义识别方法,还包括,将执行SQL语句结果转化为图表并输出。
更优的,所述将执行SQL语句结果转化为图表的步骤可以依据默认方式进行,也可以依据用户自定义的方式进行。
本发明的还提供了一种语义识别设备,包括:输入模块、数据库模块、修正模块、分析解析模块、询问行为模块(Query行为模块)、语句生成模块、判断模块、执行模块、输出模块。
输入模块,用于接收用户输入,所述用户输入可以是语音输入,用户输入的内容可以是自然语言。
数据库模块,用于存储或接通被检索的数据库;所述数据库可以被本地存储于所述数据库模块也可以是在云端或者网络通过本数据库模块进行连接,所述数据库由多张具体表格构成,所述具体表格并不局限于如Excel等以框架形式展现的信息排序,此处的表格应理解为各种形式的信息集合。
进一步的,所述数据库模块可以通过用户的操作来选择、补充、修正被检索的数据库。
修正模块,用于对用户输入进行修正优化,如用户输入为语音输入,修正优化采用自动语音识别修正技术;ASR(Automatic Speech Recognition)修正是指 通过计算机技术自动将语音输入内容转化为相应文本并对其进行语义修正。
分析解析模块,用于对经过修正的用户输入文本进行语法分析以及实体解析,所述实体解析是指分析并识别文本中的具有特定意义的实体,包括人名、地名、机构名、专有名词、时间、数量、货币、比例数值等Column类(主宾类)文字;“到”、“去”、“要”、“包括”、“除了”等逻辑词类;以及同比、环比、最大、最小、以及比较类词语的Function类(动作类)文字;所述语法分析包括分析文本采用的语法,如肯定、否定、转折、强调、反问等。
进一步的,所述ASR修正模块的训练用数据库包含中文数据库。
进一步的,所述分析解析模块的训练用数据库包含中文数据库。
进一步的,所述分析解析模块中,用户可以自行配置语法分析和/或实体解析方法,所述自行配置语法分析方法是指自行定义某些特殊语法,如省略、倒装;所述自行配置实体解析方法,是指自行定义具有特定意义的实体的内容,如生僻的地名,或者对特殊内容进行特殊处理,如将节日转化为公历。
进一步的,所述分析解析模块中,用户可以预先对Function进行自定义配置,所述对Function进行自定义配置是指赋予某个文字以Function含义或者赋予某个Function类文字以特殊的含义。
Query行为模块,用以完成Query行为从而确定检索的具体表格,所述Query行为是指获取用户输入文本中已有的Function、Column,判断能否根据Function、Column确定检索的具体表格,若是,则执行下一步,若否,则判断是否能通过用户给定信息确定检索的具体表格,若是,则执行下一步,若否,则返回无法定表话术;所述无法定表话术可以是告知用户无法确认表格并询问缺失信息。
进一步的,所述语义识别设备,还包括,权限限制模块,所述权限限制模块可以判断用户是否有进行特定行为的权限,若是,则继续该行为,若否,则阻止该行为;所述阻止该行为指通过拒绝访问,返回无权限话术等方式不执行用户行为并告知用户其行为无权。
进一步的,所述权限限制模块可以判断用户是否有访问特定数据库的权力和/或访问特定表格的权力和/或访问特定数据列的权力。
语句生成模块,用于生成SQL语句和/或自然语言,所述SQL(结构化查询语言)是一种编程语言,所述生成是指在一定条件下,如在部分掌握Function、Column、Value信息的条件下,生成包含相应要件的相应语句;或者将执行SQL语句结果转化为自然语言。
判断模块,用于判断生成的SQL语句的SQL要件是否齐全,所述SQL要件齐全是指当前信息能够构成一条完整的SQL表达即存在Function以及执行Function所必备的Column和Value;若不齐全,则返回追问话术;若齐全,则执行SQL语句。
执行模块,用于执行SQL语句。
进一步的,所述语义识别设备,还包括上下文聚合模块,用于通过上下文消除歧义字段和/或对上下文信息聚合以确定用户输入文本中的Function、Column,所述上下文信息聚合是指结合用户输入的上下文对用户输入文本进行补充。
进一步的,所述语句生成模块还可以生成SQL中间表示,所述生成SQL中间表示是指将Function、Column信息合成出SQL中间表示的步骤,所述SQL中间表示包含有完整的SQL的逻辑语义,能够方便的扩展成表达同样逻辑语义的其他SQL类方言,比如OracleSQL。
进一步的,所述语义识别设备,还包括图表生成模块,用于将执行SQL语句结果转化为图表。
更优的,所述图表生成模块可以由用户自行配置,使得图表生成方式可以依据默认方式进行,也可以依据用户自定义的方式进行。
输出模块,用于输出自然语言或者视图。
本发明还提供一种语义识别系统的用户自定义配置方法,包括如下步骤:用户输入数据库链接信息或包含数据的符合自然语言查询格式的数据表格文档;自然语言查询系统访问该数据库;判断是否能够成功访问用户数据库,若是,获取该数据库下的所有数据表返回给用户做选择,用户选择需要支持NLQ查询的数据表;若无法成功访问用户数据库,则返回上一步;抽取数据表格中的数据样本、类型、注释等信息;用户根据抽取结果,自定义配置数据库字段属性或者使用默认配置。
进一步的,用户自定义配置的方法包括用户对询问行为进行自定义配置的步骤,用户自定义配置查询问题与查询结果的对应关系。
进一步的,用户自定义配置的方法包括,包括用户对同义词词库进行自定义配置的步骤,用户通过增加同义词扩展数据表中枚举值的字段。
本发明解决的技术问题和实现的技术效果:
本发明的目的是解决从自然语言到数据库查询语言的解码问题。
具体而言,本发明可以对自然语言的语义进行一定程度的理解,然后翻译成数据库查询语言(SQL)进行数据库查询,同时还可以给出相关的数据统计图表。解决了传统自然语言查询本质上不会对文字进行语义上的理解,无法完成精细数据库查询和筛选的问题。
本发明可以通过对自然语言的理解直接组织成SQL语言并完成数据库查询,无需掌握数据查询编程语言,也无需依赖查询数据编程的技术人员,普通人的数据查询需求都可以满足,大大降低使用门槛。
本发明主要用于中文自然语言处理,同时有对特定数据库进行额外配置的接口,可以对现有模型进行额外知识补充。解决了学术界自然语言转换成数据库查询语言中仅限于英语语言且无法增加额外特定数据库的针对性优化的问题。
因此,本发明具有的优点包括:自然语言的识别精度高、速度快、查询的技术门槛低,支持中文自然语言查询,支持语音查询,支持语音纠错,支持数据库配置,支持私有化部署,具有SQL方言功能,并且能够输出语言与图表,可以实现数据图表推理。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对发明的不当限定。在附图中:
图1是本发明实施例提供的语义识别方法查询流程图;
图2是本发明实施例提供的配置语义识别系统的流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作详细的说明。显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部。基于本发明的实施例,本领域技术人员在没有作出创造性劳动的前提下,所获得的所有其他实施例也属于本发明的保护范围。
名词定义:
NLQ(Natural Language Query)自然语言查询,即本发明中对自然语言进行识别处理,查询,最终反馈的处理流程方法。
SQL(Structured Query Language)数据库查询语言,也称结构化查询语言,一种特定的编程语言,用于管理关系型数据库。
ASR(Automatic Speech Recognition),自动语音识别,用计算机技术自动将人类的语音内容转换为相应的文字。
NER(Named Entity Recognition),命名实体识别,识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。
Function查询意图,是指用户实际要查询的内容或查询方式,或用户期望获得的数据的计算方式。
Column数据库中数据表的表栏名称。
Value数据库中数据表的表项名称或内容。
实施例1:
如图1所示,本实施例提供了一种语义识别方法,包括如下步骤:
(1)流程判断
用户输入,用户输入可以是自然语言输入,包括文本输入和语音输入,所述用户输入支持中文输入和英文输入,用户输入的内容在本发明中称为“用户文本”,结合上下文语境,判断用户输入是否处于多轮对话中,若用户输入处于多轮对话中,则进入NLQ处理流程,若用户输入不处于多轮对话中,调用NLQ触发模块,判断用户输入是否包含数据库查询相关的实体,如用户输入包含数据库查询相关的实体,则进入NLQ处理流程;如用户输入不包含数据库查询相关的实体,触发缺省回复(backfill),缺省回复的后果包括反馈用户闲聊语料库中的一句回复,以及用户退出多轮对话。
(2)文本预处理脚本
进入NLQ之后,判断用户是否配置了文本预处理脚本,若用户配置了文本预处理脚本,则执行该文本预处理脚本,用户可以自定义设置文本的处理脚本,比如用户可以设置把一些特殊的节日名转换成公历日期等,执行完文本预处理后,再进行ASR修正优化;若用户没有配置文本预处理脚本,则直接进行ASR修正优化。
(3)ASR修正优化
进入ASR修正优化后,ASR针对用户输入进行辨识,将辨识出来的文本通过用户数据库中枚举字段值的信息进行修正,比如用户数据库中有一个名为“高要”的地名,通用的ASR可能会识别成更常见的“膏药”,通过ASR修正优化处理,可以将这个词还原成“高要”,以更贴近用户查数据库的原意。
(4)句子解析
进行句子解析,该步骤包括实体解析和语法分析,实体解析根据用户的数据库中枚举值的集合以及数据表的Column名进行名词性的实体解析,包括日期类、数值类、以及Function类实体等;语法分析包括对Column和具体值的指代分析以及否定词类、数值范围类的分析等。
(5)Function前自定义脚本处理
进入Function工作流程,判断用户是否配置了Function预处理脚本,若用户配置了Function预处理脚本,则执行该Function预处理脚本,这一步脚本处理的对象是经过句子解析后的实体,根据用户配置的Function预处理脚本,对解析后的实体进行处理。例如,某些词在一些领域有特别的定义,例如,在一个气象领域的数据库,它定义日降雨量比如“2月5日的降雨量”是指“2月3日08:00:00-2月4日08:00:00”期间的降雨量,那么用户可以在系统中对解析出来的时间 信息做特殊处理,自定义查询时间信息以及统计数据的范围;执行完Function预处理脚本后,进入触发Query;
若用户没有配置Function预处理脚本,直接进入触发Query。
(6)触发Query
进入触发Query,这是根据由用户配置了语料的Function和Column的组合,对前续处理后的文本进行触发,比如用户配置了“三月份可乐卖的怎么样”作为触发“查询销量”这个Query,那么当用户问到类似语句比如“去年雪碧卖的怎么样”时,会直接触发Function=`查询`,Column=`销量`这样的Query,同时如果用户有多张数据表,Query进一步确定使用哪一张表查询。
(7)定表
判断是否可以通过Query的触发话术匹配获取Function和Column,若通过Query的触发话术可以获取Function和Column,且能够确定使用的数据表(定表),进行下一步权限检查;若通过Query的触发话术无法获取Function和Column,判断是否可以根据用户输入解析出来的信息判断是否可以确定使用哪张数据表,若可以确定使用的数据表,进行下一步权限检查;若不能确定使用的数据表,返回无法定表话术。
所述数据表是指已经制作完成的可以查询相关数据的表格,所述表格存储于数据库中,本专利只针对关系型数据库,即资源的形式可以用规整的数据表来描述,因此可以学习到比如枚举类型的值的所有可能字段,日期类型值的颗粒度等信息。用户也可以额外配置一些数据表相关的信息,比如一个数值类型的字段是单价类型还是比率类型。比如一个枚举值是否是另一个枚举值的子层级。这些可以优化自然语言转化成SQL的过程。
(8)权限检查
由于数据的敏感性和保密性,本发明配置了对用户数据表和数据列的权限检查,定表完成后,检查用户是否有该数据表权限,若有数据表权限,进一步检查用户是否有该数据列权限;若无数据表权限,返回无权限话术;
在检查用户是否有该数据列权限时,若有数据列权限,进入结合上下文消除歧义字段;若无数据列权限,筛掉无权限的数据列的解析实体后,再进入结合上下文消除歧义字段。
(9)结合上下文消除歧义字段
对于NLQ系统来说,用户的输入并不只是用户当前输入的文本,还包括了用户上一轮的询问和回答,在该步骤汇总,可以结合上下文对用户此次询问的信息做补充以及消歧,比如“吉林”既可以指代“吉林市”又可以指代“吉林省”,当上文用户在询问“各个省份的销售业绩”后再问到“那吉林怎么样”,大概率来说用户指的是“吉林省”而非“吉林市”。还有增量替换,比如当上文中用户 得到了“上海的销售业绩”的答案,那么用户追问“比广州呢?”的时候,会自动合并上下文信息,查询“比较上海和广州的销售业绩”的结果。再如Function替换,例如用户在上文中询问“上海销量靠前的20个门店。”后又追问,“广州靠前的呢?”此时,结合上下文信息,查询广州前20的门店。此外,当下一个问题是相对完整的句子,不需要再从之前的问题中继承实体信息时,可以清空上文信息,例如第一问句用户询问上海3月份iPad的销量?第二问句问iPad有几种颜色?此时,第二问句不需要从第一问句再继承上海、三月份、销量等实体,可以清空上文。在没有上下文的时候,还可以采用采用试查询的方式做消歧,如果某个实体既可以表示条件A,又可以表示条件B,而如果条件A满足时,条件B一定满足,则采用条件B,也即限制更宽松的那一个条件。例如,用户输入“吉林去年的销售额”,如果没有上下文,“吉林”既可以表示“吉林省”,又可以表示“吉林市”,而当“市”为“吉林”时必定满足“省份”为“吉林”,因此采用吉林省作为条件。
(10)Function判定与参数收集
判断是否已经通过Query确定了Function,若是,从用户文本以及上下文收集Function参数;若不能通过Query确定Function,先根据用户文本,以及解析出来的实体确定Function,再从用户文本以及上下文收集Function参数;
例如:基本的Function包括:查询一个或多个subject、求和、最值、差值、TopN(指前N名,即将查询结果排序后返回前N名),同比环比,平均值等。Function参数包括:比如TopN中的N等。
(11)Function缺失元素收集
判断执行Function所需的必要Column和Value都已完备,若必要Column和Value都已完备,将以上得到的信息合成出SQL中间表示,若缺失必要Column和Value,判断是否可以从上文继承,若是,从上文继承所需的必要Column和Value后,将得到的信息合成出SQL中间表示;若不能从上文继承,则返回追问话术,请用户补充所需的必要信息。
(12)SQL中间表示
将得到的信息合成出SQL中间表示。
从Function加上实体信息到最后的SQL字符串,还有一个SQL中间表示的数据结构,这个数据结构会包含完备的SQL的逻辑语义,方便扩展成表达同样逻辑语义的其他SQL类方言,比如OracleSQL。SQL中间表示可以支持复杂的SQL句式组装,例如“在近十年所有姜文导演的电影中出演次数前三的男演员是谁?”这样复杂的句子,只需将句子本身的语法结构分析,即可实现查询。同时,SQL中间表示可以打包封装成高级的组件比如计算“最新”、“时间范围“、“同比”等。这些组件可以在各种关系型数据库中复用,兼顾了表达能力和 开发效率。
(13)执行SQL获取结果
SQL字符串创建完成,NLQ系统把SQL字符串传输给数据库系统,得到数据库运行结果。
(14)图表生成
图表是指根据客户查询或计算最终获得的结果根据用户询问内容制作的图表,比如当用户只是询问“上海地区三月份的销量”时,用户得到的答案会是一句精确的回答“三月份上海的销量为xx”。与此同时,图表系统会自动对上海地区进行展开,于是就可能得到“上海市下所有门店三月份的销量”,例如,用户可以在数据表配置中加入“城市”为“门店”的父节点,显示的表格会根据门店展开(门店作为横坐标),显示三月份上海每个门店的销量图表,如果没有“门店”是“上海”的子节点这个数据表知识,那么图表也会自动展开时间(时间作为横坐标),将“三月份上海每一天的销量曲线”查询并显示出来。
(15)返回结果
最后将用户输入中的问题答案以及相关的图表合并在一起返回给用户。
实施例2:本发明的还提供了一种语义识别设备,包括:输入模块、数据库模块、修正模块、分析解析模块、询问行为模块(Query行为模块)、语句生成模块、判断模块、执行模块、输出模块。
输入模块,用于接收用户输入,所述用户输入可以是语音输入,用户输入的内容可以是自然语言。
数据库模块,用于存储或接通被检索的数据库;所述数据库可以被本地存储于所述数据库模块也可以是在云端或者网络通过本数据库模块进行连接,所述数据库由多张具体表格构成,所述具体表格并不局限于如Excel等以框架形式展现的信息排序,此处的表格应理解为各种形式的信息集合。
进一步的,所述数据库模块可以通过用户的操作来选择、补充、修正被检索的数据库。
修正模块,用于对用户输入进行修正优化,如用户输入为语音输入,修正优化采用自动语音识别修正技术;ASR(Automatic Speech Recognition)修正是指通过计算机技术自动将语音输入内容转化为相应文本并对其进行语义修正。
分析解析模块,用于对经过修正的用户输入文本进行语法分析以及实体解析,所述实体解析是指分析并识别文本中的具有特定意义的实体,包括人名、地名、机构名、专有名词、时间、数量、货币、比例数值等Column类(主宾类)文字;“到”、“去”、“要”、“包括”、“除了”等逻辑词类;以及同比、环比、最大、最小、以及比较类词语的Function类(动作类)文字;所述语法分 析包括分析文本采用的语法,如肯定、否定、转折、强调、反问等。
进一步的,所述ASR修正模块的训练用数据库包含中文数据库。
进一步的,所述分析解析模块的训练用数据库包含中文数据库。
进一步的,所述分析解析模块中,用户可以自行配置语法分析和/或实体解析方法,所述自行配置语法分析方法是指自行定义某些特殊语法,如省略、倒装;所述自行配置实体解析方法,是指自行定义具有特定意义的实体的内容,如生僻的地名,或者对特殊内容进行特殊处理,如将节日转化为公历。
进一步的,所述分析解析模块中,用户可以预先对Function进行自定义配置,所述对Function进行自定义配置是指赋予某个文字以Function含义或者赋予某个Function类文字以特殊的含义。
Query行为模块,用以完成Query行为从而确定检索的具体表格,所述Query行为是指获取用户输入文本中已有的Function、Column,判断能否根据Function、Column确定检索的具体表格,若是,则执行下一步,若否,则判断是否能通过用户给定信息确定检索的具体表格,若是,则执行下一步,若否,则返回无法定表话术;所述无法定表话术可以是告知用户无法确认表格并询问缺失信息。
进一步的,所述语义识别设备,还包括,权限限制模块,所述权限限制模块可以判断用户是否有进行特定行为的权限,若是,则继续该行为,若否,则阻止该行为;所述阻止该行为指通过拒绝访问,返回无权限话术等方式不执行用户行为并告知用户其行为无权。
进一步的,所述权限限制模块可以判断用户是否有访问特定数据库的权力和/或访问特定表格的权力和/或访问特定数据列的权力。
语句生成模块,用于生成SQL语句和/或自然语言,所述SQL(结构化查询语言)是一种编程语言,所述生成是指在一定条件下,如在部分掌握Function、Column、Value信息的条件下,生成包含相应要件的相应语句;或者将执行SQL语句结果转化为自然语言。
判断模块,用于判断生成的SQL语句的SQL要件是否齐全,所述SQL要件齐全是指当前信息能够构成一条完整的SQL表达即存在Function以及执行Function所必备的Column和Value;若不齐全,则返回追问话术;若齐全,则执行SQL语句。
执行模块,用于执行SQL语句。
进一步的,所述语义识别设备,还包括上下文聚合模块,用于通过上下文消除歧义字段和/或对上下文信息聚合以确定用户输入文本中的Function、Column,所述上下文信息聚合是指结合用户输入的上下文对用户输入文本进行补充。
进一步的,所述语句生成模块还可以生成SQL中间表示,所述生成SQL中间表示是指将Function、Column信息合成出SQL中间表示的步骤,所述SQL 中间表示包含有完整的SQL的逻辑语义,能够方便的扩展成表达同样逻辑语义的其他SQL类方言,比如OracleSQL。
进一步的,所述语义识别设备,还包括图表生成模块,用于将执行SQL语句结果转化为图表。
更优的,所述图表生成模块可以由用户自行配置,使得图表生成方式可以依据默认方式进行,也可以依据用户自定义的方式进行。
输出模块,用于输出自然语言或者视图,输出查询结果,并可以同时将用户查询结果根据默认或者用户自定义的方式以图表方式输出。
实施例3:
如图2所示,本实施例公布了本发明语义识别系统的用户自定义配置方法,包括:
(1)数据库连接
用户输入数据库链接信息,包括数据库访问URI以及用户名密码等,接下来NLQ系统会访问该数据库,判断是否能够成功访问用户数据库,若是,获取该数据库下的所有数据表返回给用户做选择,用户只需要选择想要NLQ支持查询的数据表即可;若无法成功访问用户数据库,则返回上一步。或者用户直接上传符合NLQ系统格式的包含数据的excel文件,成功访问数据库后,用户对需要支持NLQ查询的具体表格进行选择。
(2)多表配置
抽取用户具体表格中的数据样本、类型、注释等信息;
对于每一张查询的表格,系统会抽取数据表中每个字段的数据类型以及注释等信息,返回给用户做进一步的配置,这一步中用户可以直接使用默认配置,不作任何修改,用户也可以之后随时修改或增加配置。
(3)数据表配置
用户根据抽取结果,判断是否需要配置字段属性或者使用默认配置,如可以在某些字段中设置父子节点、设置默认值、单位,数值格式等个性化配置项,允许用户自由配置,具体来说,如果设置“城市”作为“省市”的子节点,则在查询“A省哪里的GDP最高?”时,会自动展开A省下属城市的子节点进行查询。
(4)Query配置
用户对Query行为选择使用默认或自定义配置,如用户希望通过直接询问“产品A上个月卖的怎么样?”来达到查询“销量”这样的效果,可以在查询“销量”这个Query下添加这句话来增加NLQ的可用性,NLQ还能自动学习类似的表达方式;此外,用户可以针对特殊的Query设定特殊的条件,比如设定“产品A上个月卖的怎么样?”这个Query必须限定“城市”条件,则当Query 缺乏该条件时,将会向用户反问以确定该条件。
(5)同义词配置
用户对同义词词库进行配置,扩展数据表中枚举值的字段,如将“销量”与“销售额”配置为同义词,则当用户输入“查询销售额”时,将产生与“查询销量”相同的结果。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和变换,应视为本发明的保护范围。

Claims (31)

  1. 一种语义识别方法,其特征在于,包括如下步骤:
    接收用户输入的文本;
    判断是否进入自然语言查询处理流程;
    如进入自然语言查询处理流程,结合用户数据库对用户输入的文本进行修正优化;
    对经过修正优化的文本进行句子解析;
    触发询问,根据用户配置获取查询主题和查询意图;
    定表,从数据库中确定用户查询需要使用的数据表;
    如触发询问步骤未能确定查询主题和查询意图,根据用户输入的文本、句子解析的信息及消除歧义的信息,判定查询主题和查询意图;
    收集缺失的必要查询元素;
    创建结构化查询语言语句;
    执行结构化查询语言语句;
    返回执行结果和/或图表。
  2. 如权利要求1所述的语义识别方法,其特征在于,所述用户输入为自然语言输入,所述自然语言为中文,输入方式包括语音输入和文字输入;所述输入方式为语音输入时,修正优化采用语音识别修正优化。
  3. 如权利要求1所述的语义识别方法,其特征在于,判断是否进入自然语言查询处理流程,具体包括:判断用户输入的文本是否处于多轮对话中,如是,进入自然语言查询流程,如否,调用自然语言查询接口触发模块判断用户输入的文本是否包含数据库查询相关的实体,如是,进入自然语言查询处理流程;如否,调用闲聊语料库中的回复反馈用户。
  4. 如权利要求3所述的语义识别方法,其特征在于,如用户输入的文本处于多轮对话中,判断用户输入的内容是否为“退出”,如是,触发缺省回复;如否,调用自然语言查询接口触发模块判断用户输入的文本是否包含数据库查询相关的实体,如是,进入自然语言查询流程,如否,触发缺省回复;所述缺省回复包括调用闲聊语料库中的回复反馈用户,以及退出多轮对话。
  5. 如权利要求1所述的语义识别方法,其特征在于,还包括如下步骤:
    用户可以自行选择、补充、修正使用的数据库。
  6. 如权利要求1所述的语义识别方法,其特征在于,在进入自然语言查询处理流程之后,进行修正优化之前,还包括根据自定义配置的文本预处理脚本进行文本预处理的步骤。
  7. 如权利要求1所述的语义识别方法,其特征在于,所述句子解析包括实体解析和/或语法分析,所述实体解析包括名词性实体解析,具体步骤包括根据数据库中枚举值的集合以及数据表的数据栏名进行查询主题的实体解析,所述实体解析还包括查询意图解析。
  8. 如权利要求7所述的语义识别方法,其特征在于,还包括自行配置实体解析和/或语法分析方法的步骤。
  9. 如权利要求1所述的语义识别方法,其特征在于,在触发询问之前,还包括根据用户配置的查询意图前预处理脚本进行文本预处理的步骤。
  10. 如权利要求1所述的语义识别方法,其特征在于,触发询问后,如存在多张查询数据表时,通过反问用户进行定表,或根据句子解析后的信息进行定表。
  11. 如权利要求1所述的语义识别方法,其特征在于,定表之后,还包括如下步骤:判断用户是否有定表数据表的访问权限,若是,则执行下一步,若否,则返回无权限话术。
  12. 如权利要求11所述的语义识别方法,其特征在于,若用户有定表数据表的访问权限,还包括如下步骤:判断用户是否有定表数据表的数据列的访问权限,若是,则执行下一步,若否,则筛掉无权限的数据列。
  13. 如权利要求1所述的语义识别方法,其特征在于,还包括如下步骤:若不能通过询问行为确定数据查询方式或数据计算方式,根据用户输入的文本,以及解析出来的实体确定查询意图,所述查询意图包括数据查询方式和/或数据计 算方式。
  14. 如权利要求1所述的语义识别方法,其特征在于,还包括如下步骤:从用户输入的文本以及上下文收集查询参数。
  15. 如权利要求1所述的语义识别方法,其特征在于,还包括如下步骤:结合用户输入的上下文进行信息聚合和/或消除歧义字段。
  16. 如权利要求1所述的语义识别方法,其特征在于,所述图表根据执行结果生成,将执行结构化查询语言语句结果转化为图表的步骤可以依据默认方式进行,也可以依据用户自定义的方式进行。
  17. 一种语义识别设备,包括:
    输入模块,用于接收用户输入;
    数据库模块,用于存储或接通被检索的数据库;
    修正模块,用于对用户输入进行修正优化;
    分析解析模块,用于对经过修正的用户输入文本进行语法分析以及实体解析;
    询问行为模块,用以完成询问行为;
    语句生成模块,用于生成结构化查询语言语句和/或自然语言;
    判断模块,用于判断生成的结构化查询语言语句的结构化查询语言要件是否齐全;
    执行模块,用于执行结构化查询语言语句;
    输出模块,用于输出自然语言或者图表。
  18. 如权利要求17所述的语义识别设备,其特征在于,所述数据库模块可以通过用户的操作来选择、补充、修正被检索的数据库。
  19. 如权利要求17所述的语义识别设备,其特征在于,所述修正模块的训练用数据库包含中文数据库。
  20. 如权利要求17所述的语义识别设备,其特征在于,所述分析解析模块的 训练用数据库包含中文数据库。
  21. 如权利要求17所述的语义识别设备,其特征在于,所述分析解析模块中,用户可以自行配置语法分析和/或实体解析方法。
  22. 如权利要求17所述的语义识别设备,其特征在于,所述分析解析模块中,用户可以预先对查询意图进行自定义配置。
  23. 如权利要求17所述的语义识别设备,其特征在于,还包括权限限制模块。
  24. 如权利要求23所述的语义识别设备,其特征在于,所述权限限制模块可以判断用户是否有访问特定数据库的权限和/或访问特定表格的权限和/或访问特定数据列的权限。
  25. 如权利要求17所述的语义识别设备,其特征在于还包括上下文聚合模块,用于通过上下文消除歧义字段和/或对上下文信息聚合。
  26. 如权利要求17所述的语义识别设备,其特征在于,所述语句生成模块还可以生成结构化查询语言中间表示。
  27. 如权利要求17所述的语义识别设备,其特征在于还包括图表生成模块,用于将执行结构化查询语言语句结果转化为图表。
  28. 如权利要求27所述的语义识别设备,其特征在于,所述图表生成模块可以由用户自行配置。
  29. 一种语义识别系统的用户自定义配置方法,其特征在于,包括如下步骤:用户输入数据库链接信息或包含数据的符合自然语言查询格式的数据表格文档;自然语言查询系统访问该数据库;判断是否能够成功访问用户数据库,若是,获取该数据库下的所有数据表返回给用户做选择,用户选择需要支持自然语言查询的数据表;若无法成功访问用户数据库,则返回上一步;抽取数据表格中的数据样本、类型、注释等信息;用户根据抽取结果,自定义配置数据库字段属性或者 使用默认配置。
  30. 如权利要求29所述的用户自定义配置方法,其特征在于,包括用户对询问行为进行自定义配置的步骤,用户自定义配置查询问题与查询意图的对应关系。
  31. 如权利要求29所述的用户自定义配置方法,其特征在于,包括用户对同义词词库进行自定义配置的步骤,用户通过增加同义词扩展数据表中枚举值的字段。
PCT/CN2020/083555 2019-10-28 2020-04-07 一种语义识别方法及其设备 WO2021082353A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911028330.0A CN112035506A (zh) 2019-10-28 2019-10-28 一种语义识别方法及其设备
CN201911028330.0 2019-10-28

Publications (1)

Publication Number Publication Date
WO2021082353A1 true WO2021082353A1 (zh) 2021-05-06

Family

ID=73576261

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/083555 WO2021082353A1 (zh) 2019-10-28 2020-04-07 一种语义识别方法及其设备

Country Status (2)

Country Link
CN (1) CN112035506A (zh)
WO (1) WO2021082353A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632110A (zh) * 2021-01-06 2021-04-09 上海合合信息科技股份有限公司 一种自动生成查询语句的数据提取方法及装置
CN113032418B (zh) * 2021-02-08 2022-11-11 浙江大学 一种基于树状模型的复杂自然语言查询转sql方法
CN112989011B (zh) * 2021-04-26 2021-08-24 广州思迈特软件有限公司 数据查询方法、数据查询装置和电子设备
CN113609864B (zh) * 2021-08-06 2022-02-11 珠海市鸿瑞信息技术股份有限公司 一种基于工业控制系统的文本语义识别处理系统及方法
CN113918701B (zh) * 2021-10-20 2022-04-15 北京亿信华辰软件有限责任公司 看板展示方法及装置
CN115346690B (zh) * 2022-07-08 2023-12-01 中国疾病预防控制中心慢性非传染性疾病预防控制中心 引导接线员对求助者进行问话的系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868249A (zh) * 2015-12-15 2016-08-17 乐视网信息技术(北京)股份有限公司 数据查询控制方法及装置
CN107016012A (zh) * 2015-09-11 2017-08-04 谷歌公司 处理在处理自然语言查询中的故障
CN108027833A (zh) * 2015-09-18 2018-05-11 国际商业机器公司 数据库的自然语言接口
CN110096577A (zh) * 2018-01-31 2019-08-06 国际商业机器公司 从异常简档数据预测用户的意图

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9123335B2 (en) * 2013-02-20 2015-09-01 Jinni Media Limited System apparatus circuit method and associated computer executable code for natural language understanding and semantic content discovery
CN108829858B (zh) * 2018-06-22 2021-09-17 京东数字科技控股有限公司 数据查询方法、装置及计算机可读存储介质
CN109063166A (zh) * 2018-08-15 2018-12-21 中国联合网络通信集团有限公司 一种语音查询方法及装置、用户设备
CN109408526B (zh) * 2018-10-12 2023-10-31 平安科技(深圳)有限公司 Sql语句生成方法、装置、计算机设备及存储介质
CN109697201B (zh) * 2018-12-27 2020-12-04 清华大学 一种查询处理的方法、系统、设备及计算机可读存储介质
CN109947794B (zh) * 2019-02-21 2023-09-01 东华大学 一种交互式自然语言查询转换方法
CN110188163A (zh) * 2019-04-13 2019-08-30 上海策友信息科技有限公司 基于自然语言的智能数据处理系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016012A (zh) * 2015-09-11 2017-08-04 谷歌公司 处理在处理自然语言查询中的故障
CN108027833A (zh) * 2015-09-18 2018-05-11 国际商业机器公司 数据库的自然语言接口
CN105868249A (zh) * 2015-12-15 2016-08-17 乐视网信息技术(北京)股份有限公司 数据查询控制方法及装置
CN110096577A (zh) * 2018-01-31 2019-08-06 国际商业机器公司 从异常简档数据预测用户的意图

Also Published As

Publication number Publication date
CN112035506A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
WO2021082353A1 (zh) 一种语义识别方法及其设备
US11989519B2 (en) Applied artificial intelligence technology for using natural language processing and concept expression templates to train a natural language generation system
US10705796B1 (en) Methods, systems, and computer program product for implementing real-time or near real-time classification of digital data
US10467122B1 (en) Methods, systems, and computer program product for capturing and classification of real-time data and performing post-classification tasks
CN108763333A (zh) 一种基于社会媒体的事件图谱构建方法
Roberts Semantic text analysis: On the structure of linguistic ambiguity in ordinary discourse
CA2011286A1 (en) Natural language analysing apparatus and method
Omar et al. Heuristic-based entity-relationship modelling through natural language processing
Shah et al. NLKBIDB-Natural language and keyword based interface to database
US20110040553A1 (en) Natural language processing
US20220245353A1 (en) System and method for entity labeling in a natural language understanding (nlu) framework
TWI735380B (zh) 自然語言處理方法與其計算裝置
SABRIYE et al. AN APPROACH FOR DETECTING SYNTAX AND SYNTACTIC AMBIGUITY IN SOFTWARE REQUIREMENT SPECIFICATION.
RU61442U1 (ru) Система автоматизированного упорядочения неструктурированного информационного потока входных данных
Popping Online tools for content analysis
US20220245361A1 (en) System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework
Bais et al. A model of a generic natural language interface for querying database
Wang et al. A framework for intelligent building information spoken dialogue system (iBISDS)
CN112487801A (zh) 一种面向安全关键软件的术语推荐方法及系统
Young et al. An analysis of ill-formed input in natural language queries to document retrieval systems
US20220229986A1 (en) System and method for compiling and using taxonomy lookup sources in a natural language understanding (nlu) framework
US20220229990A1 (en) System and method for lookup source segmentation scoring in a natural language understanding (nlu) framework
WO2011051970A2 (en) Method and system for obtaining semantically valid chunks for natural language applications
AlAgha Using linguistic analysis to translate arabic natural language queries to SPARQL
Dedhia et al. Techniques to automatically generate entity relationship diagram

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20883594

Country of ref document: EP

Kind code of ref document: A1