CN111079407B - 对用户输入的内容进行解析的方法和装置 - Google Patents

对用户输入的内容进行解析的方法和装置 Download PDF

Info

Publication number
CN111079407B
CN111079407B CN201911297356.5A CN201911297356A CN111079407B CN 111079407 B CN111079407 B CN 111079407B CN 201911297356 A CN201911297356 A CN 201911297356A CN 111079407 B CN111079407 B CN 111079407B
Authority
CN
China
Prior art keywords
character information
matching
grammar
user
database
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201911297356.5A
Other languages
English (en)
Other versions
CN111079407A (zh
Inventor
居晓仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhongyan Network Technology Co ltd
Original Assignee
Shanghai Zhongyan Network Technology Co ltd
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 Shanghai Zhongyan Network Technology Co ltd filed Critical Shanghai Zhongyan Network Technology Co ltd
Priority to CN201911297356.5A priority Critical patent/CN111079407B/zh
Publication of CN111079407A publication Critical patent/CN111079407A/zh
Application granted granted Critical
Publication of CN111079407B publication Critical patent/CN111079407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供一种对用户输入的内容进行解析的方法和装置,其中该方法包括:对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;将解析后的字符信息与预设的程序语法模式进行匹配;若匹配成功,则根据匹配的语法模式执行其相对应的处理操作;若匹配失败,则提示语法解析失败。本发明提供的对用户输入的内容进行解析的方法和装置,可以解决不会使用python语法的用户也可正常输入文本内容,然后程序在解析出文本语句后正常运行其对应的语法操作,达到扩展程序功能的目的。

Description

对用户输入的内容进行解析的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种对用户输入的内容进行解析的方法和装置。
背景技术
在python语言的项目里,需要运行python可以解析的语法,而此时可以进行正常python语言代码编写的人员一般仅限于程序员,普通用户通常不会python语法,这样普通用户在输入固定格式及运算符或其他内容时,由于不会编写代码或编写不规范等情况,导致程序不能被识别或正常运行,使得程序功能低下。
发明内容
为了解决现有技术中普通用户由于不会编写代码或编写不规范等情况,导致程序不能被识别或正常运行,使得程序功能低下的问题,本发明提供一种对用户输入的内容进行解析的方法和装置。
第一方面,本发明提供一种对用户输入的内容进行解析的方法,该方法包括:
对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;
将解析后的字符信息与预设的程序语法模式进行匹配;
若匹配成功,则根据匹配的语法模式执行其相对应的处理操作;
若匹配失败,则提示语法解析失败。
进一步地,若匹配成功,则根据匹配的语法模式执行其相对应的处理操作包括:
将部分解析后的字符信息替换成数据库内预存的字段名编号。
进一步地,若匹配成功,则根据匹配的语法模式执行其相对应的处理操作还包括:
将部分解析后的字符信息直接转换为pandas可执行的语句。
进一步地,方法还包括:
将替换后的字符信息存储在数据库内。
第二方面,本发明提供一种对用户输入的内容进行解析的装置,该装置包括:
解析模块,用于对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;
匹配模块,用于将解析后的字符信息与预设的程序语法模式进行匹配;
匹配成功模块,用于若匹配成功,则根据匹配的语法执行其相对应的处理操作;
匹配失败模块,用于若匹配失败,则提示语法解析失败。
进一步地,匹配成功模块包括:
转换为字段名编号单元,用于将部分解析后的字符信息替换成数据库内预存的字段名编号。
进一步地,匹配成功模块还包括:
转换为pandas可执行语句单元,用于将部分解析后的字符信息直接转换为pandas可执行的语句。
进一步地,装置还包括:
存储模块,用于将替换后的字符信息存储在数据库内。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现第一方面提供的对用户输入的内容进行解析的方法的步骤。
第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的对用户输入的内容进行解析的方法的步骤。
本发明提供的对用户输入的内容进行解析的方法和装置,可以解决不会使用python语法的用户也可正常输入文本内容,然后程序在解析出文本语句后正常运行其对应的语法操作,达到扩展程序功能的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的对用户输入的内容进行解析的方法流程示意图;
图2为本发明实施例提供的对用户输入的内容进行解析的装置框图;
图3为本发明实施例提供的电子设备框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了解决上述问题,本发明实施例提供一种对用户输入的内容进行解析的方法,如图1所示,该方法包括:
步骤S101,对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;
步骤S102,将解析后的字符信息与预设的程序语法模式进行匹配;
步骤S103,若匹配成功,则根据匹配的语法模式执行其相对应的处理操作;
步骤S104,若匹配失败,则提示语法解析失败。
具体为,用户输入由字符串、操作符、数字,公式符号等信息后,服务器对输入的内容进行解析,比如,用户输入COUNT([打分]<7)/COUNT([打分]),将该内容解析为:COUNT,(,[打分],<,7,),/,COUNT,(,[打分],)。在服务器内提前预设程序语法模式,将解析后的字符信息与预设的程序语法模式进行匹配;若匹配成功,则根据匹配的语法模式执行其相对应的处理操作。
比如语法模式有:
”'column_id:COLUMN_ID
Figure BDA0002317621840000051
Figure BDA0002317621840000061
其中,[打分]会满足第一个语法模式中的column_id<-COLUMN_ID,根据该语法模式,对其执行相对应的处理操作。
若解析后的字符信息与预设的程序语法模式不能匹配,则提示语法解析失败。
本发明提供的对用户输入的内容进行解析的方法,可以解决不会使用python语法的用户也可正常输入文本内容,然后程序在解析出文本语句后正常运行其对应的语法操作,达到扩展程序功能的目的。
基于上述各实施例的内容,作为一种可选实施例:若匹配成功,则根据匹配的语法模式执行其相对应的处理操作包括:
将部分解析后的字符信息替换成数据库内预存的字段名编号。
具体为,若匹配到的语法模式,是需要将解析后的字符信息替换为数据库内的编号,则到数据库内查看预存的字段名编号,进行信息替换。例如:[打分]会满足第一个语法模式中的column_id<-COLUMN_ID,这个语法模式的处理是从数据库获取对应的值替换成编号:[1234567890],这个输出的类型是column_id。
基于上述各实施例的内容,作为一种可选实施例:若匹配成功,则根据匹配的语法模式执行其相对应的处理操作还包括:
将部分解析后的字符信息直接转换为pandas可执行的语句。
具体为,部分解析后的字符信息在与语法模块进行匹配后,发现是不需要查数据库进行编号替换的,这时,只需要将该部分字符信息直接转换为pandas可执行的语句即可。例如:column_id<7会满足第二个语法模式中的df_part<-column_id LT fnumber,这个输出类型是df_part,会记录column_id,<,7这三个信息COUNT(df_part)会满足第三个语法模式中的fnumber<-COUNT LPAREN df_part RPAREN,也不用查数据库,直接转换为pandas可执行的语句。
基于上述各实施例的内容,作为一种可选实施例:该方法还包括:
将替换后的字符信息存储在数据库内。
具体为,根据上述例子,在对解析后的字符信息进行替换和转换后,存储在数据库内。具体为用户的输入:COUNT([打分]<7)/COUNT([打分]),之后替换成(df[1234567890]<7).count()/df[1234567890].count()信息去执行。在这里,“.count()”是对字符信息进行统计的函数。
根据本发明的再一个方面,本发明实施例提供对用户输入的内容进行解析的装置,参见图2,图2为本发明实施例提供的对用户输入的内容进行解析的装置框图。该装置用于在前述各实施例中完成本发明实施例提供的对用户输入的内容进行解析。因此,在前述各实施例中的本发明实施例提供的对用户输入的内容进行解析的方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
该装置包括:
解析模块201,用于对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;
匹配模块202,用于将解析后的字符信息与预设的程序语法模式进行匹配;
匹配成功模块203,用于若匹配成功,则根据匹配的语法执行其相对应的处理操作;
匹配失败模块204,用于若匹配失败,则提示语法解析失败。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
本发明提供的对用户输入的内容进行解析的装置,可以解决不会使用python语法的用户也可正常输入文本内容,然后程序在解析出文本语句后正常运行其对应的语法操作,达到扩展程序功能的目的。
基于上述各实施例的内容,作为一种可选实施例:匹配成功模块包括:
转换为字段名编号单元,用于将部分解析后的字符信息替换成数据库内预存的字段名编号。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
基于上述各实施例的内容,作为一种可选实施例:匹配成功模块还包括:
转换为pandas可执行语句单元,用于将部分解析后的字符信息直接转换为pandas可执行的语句。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
基于上述各实施例的内容,作为一种可选实施例:该装置还包括:
存储模块,用于将替换后的字符信息存储在数据库内。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
图3为本发明实施例提供的电子设备框图,如图3所示,该设备包括:处理器301、存储器302和总线303;
其中,处理器301及存储器302分别通过总线303完成相互间的通信;处理器301用于调用存储器302中的程序指令,以执行上述实施例所提供的对用户输入的内容进行解析的方法,例如包括:对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;将解析后的字符信息与预设的程序语法模式进行匹配;若匹配成功,则根据匹配的语法模式执行其相对应的处理操作;若匹配失败,则提示语法解析失败。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现对用户输入的内容进行解析的方法的步骤。例如包括:对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;将解析后的字符信息与预设的程序语法模式进行匹配;若匹配成功,则根据匹配的语法模式执行其相对应的处理操作;若匹配失败,则提示语法解析失败。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后,本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种对用户输入的python非规范内容进行解析的方法,其特征在于,所述方法包括:
对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;
将所述解析后的字符信息与预设的程序语法模式进行匹配;
若匹配成功,则根据匹配的语法模式执行其相对应的处理操作;
若匹配失败,则提示语法解析失败;
所述若匹配成功,则根据匹配的语法模式执行其相对应的处理操作包括:
将部分解析后的字符信息替换成数据库内预存的字段名编号;
具体为,若匹配到语法模式,是需要将解析后的字符信息替换为数据库内的编号,则到数据库内查看预存的字段名编号,进行信息替换;
所述若匹配成功,则根据匹配的语法模式执行其相对应的处理操作还包括:
部分解析后的字符信息在与语法模块进行匹配后,发现是不需要查数据库进行编号替换的,这时,只需要将该部分字符信息直接转换为pandas可执行的语句即可;
所述若匹配成功,则根据匹配的语法模式执行其相对应的处理操作还包括:
将替换后的字符信息存储在数据库内;
具体为,在对解析后的字符信息进行替换和转换后,存储在数据库内;具体为用户的输入:COUNT([打分]<7) / COUNT([打分]),之后替换成 (df[1234567890]<7).count()/ df[1234567890].count()信息去执行; “.count()”是对字符信息进行统计的函数。
2.一种对用户输入的python非规范内容进行解析的装置,其特征在于,所述装置包括:
解析模块,用于对用户输入的文本内容进行解析,得到解析后的字符信息;其中,文本内容包括:字符串、操作符、数字,公式符号;
匹配模块,用于将所述解析后的字符信息与预设的程序语法模式进行匹配;
匹配成功模块,若匹配成功,则根据匹配的语法模式执行其相对应的处理操作,具体包括:
将部分解析后的字符信息替换成数据库内预存的字段名编号;
具体为,若匹配到语法模式,是需要将解析后的字符信息替换为数据库内的编号,则到数据库内查看预存的字段名编号,进行信息替换;
所述若匹配成功,则根据匹配的语法模式执行其相对应的处理操作还包括:
部分解析后的字符信息在与语法模块进行匹配后,发现是不需要查数据库进行编号替换的,这时,只需要将该部分字符信息直接转换为pandas可执行的语句即可;
所述若匹配成功,则根据匹配的语法模式执行其相对应的处理操作还包括:
将替换后的字符信息存储在数据库内;
具体为,在对解析后的字符信息进行替换和转换后,存储在数据库内;具体为用户的输入:COUNT([打分]<7) / COUNT([打分]),之后替换成 (df[1234567890]<7).count()/ df[1234567890].count()信息去执行; “.count()”是对字符信息进行统计的函数;
匹配失败模块,若匹配失败,则提示语法解析失败。
3.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述对用户输入的python非规范内容进行解析的方法的步骤。
4.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1所述对用户输入的python非规范内容进行解析的方法的步骤。
CN201911297356.5A 2019-12-13 2019-12-13 对用户输入的内容进行解析的方法和装置 Active CN111079407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911297356.5A CN111079407B (zh) 2019-12-13 2019-12-13 对用户输入的内容进行解析的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911297356.5A CN111079407B (zh) 2019-12-13 2019-12-13 对用户输入的内容进行解析的方法和装置

Publications (2)

Publication Number Publication Date
CN111079407A CN111079407A (zh) 2020-04-28
CN111079407B true CN111079407B (zh) 2021-01-15

Family

ID=70314847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911297356.5A Active CN111079407B (zh) 2019-12-13 2019-12-13 对用户输入的内容进行解析的方法和装置

Country Status (1)

Country Link
CN (1) CN111079407B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632221A (zh) * 2020-12-23 2021-04-09 云汉芯城(上海)互联网科技股份有限公司 物料型号匹配方法、系统、电子设备及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778185A (zh) * 2013-12-27 2014-05-07 北京天融信软件有限公司 一种用于数据库审计系统的sql语句解析方法和系统
CN107943793A (zh) * 2018-01-10 2018-04-20 威盛电子股份有限公司 自然语言的语义解析方法
CN108388547A (zh) * 2018-02-24 2018-08-10 平安科技(深圳)有限公司 字符串解析方法、装置、设备及计算机可读存储介质
CN109241104A (zh) * 2018-10-12 2019-01-18 北京聚云位智信息科技有限公司 决策型分布式数据库系统中aisql的解析器及其实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256582B2 (en) * 2012-10-23 2016-02-09 International Business Machines Corporation Conversion of a presentation to Darwin Information Typing Architecture (DITA)
US20150242396A1 (en) * 2014-02-21 2015-08-27 Jun-Huai Su Translating method for translating a natural-language description into a computer-language description
CN106201643B (zh) * 2016-07-14 2019-11-05 北京邮电大学 数据解析方法及装置
CN109725896A (zh) * 2018-12-29 2019-05-07 深圳点猫科技有限公司 一种在线编辑python代码的方法以及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778185A (zh) * 2013-12-27 2014-05-07 北京天融信软件有限公司 一种用于数据库审计系统的sql语句解析方法和系统
CN107943793A (zh) * 2018-01-10 2018-04-20 威盛电子股份有限公司 自然语言的语义解析方法
CN108388547A (zh) * 2018-02-24 2018-08-10 平安科技(深圳)有限公司 字符串解析方法、装置、设备及计算机可读存储介质
CN109241104A (zh) * 2018-10-12 2019-01-18 北京聚云位智信息科技有限公司 决策型分布式数据库系统中aisql的解析器及其实现方法

Also Published As

Publication number Publication date
CN111079407A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
JP7346609B2 (ja) 自然言語理解(nlu)フレームワークを使用して意味探索を実行するシステムおよび方法
US9524291B2 (en) Visual display of semantic information
US8543913B2 (en) Identifying and using textual widgets
US20240078168A1 (en) Test Case Generation Method and Apparatus and Device
US8433560B2 (en) Rule based apparatus for modifying word annotations
CN105487668B (zh) 终端设备的展示方法和装置
CN111079408B (zh) 一种语种识别方法、装置、设备及存储介质
CN110287318B (zh) 业务操作的检测方法及装置、存储介质、电子装置
EP4364044A1 (en) Automated troubleshooter
WO2012047214A2 (en) Visual display of semantic information
CN111079407B (zh) 对用户输入的内容进行解析的方法和装置
KR102099670B1 (ko) 질의자 의도를 이해하기 위한 구문 규칙 자동생성 장치 및 방법
CN108959508A (zh) Sql数据生成方法及装置
US10198426B2 (en) Method, system, and computer program product for dividing a term with appropriate granularity
CN111128130B (zh) 语音数据处理方法和装置及电子装置
CN115794872A (zh) 基于异构数据库的语句转化方法及装置、存储介质、设备
CN114089980A (zh) 编程处理方法、装置、解释器及非易失性存储介质
CN107977304A (zh) 一种系统调试方法和装置
CN112486479A (zh) 一种数据采集方法及装置
CN105630761A (zh) 公式处理方法及装置
CN114510922B (zh) 一种文本匹配方法及装置
CN111651348B (zh) 一种聊天机器人的调试系统
CN113032529B (zh) 英文短语识别方法、装置、介质和电子设备
CN115688745A (zh) 规格项识别方法及相关设备
JP6437899B2 (ja) 文書校正支援装置、文書校正支援方法、および文書校正支援プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant