CN109657247B - 机器学习的自定义语法实现方法及装置 - Google Patents
机器学习的自定义语法实现方法及装置 Download PDFInfo
- Publication number
- CN109657247B CN109657247B CN201811566818.4A CN201811566818A CN109657247B CN 109657247 B CN109657247 B CN 109657247B CN 201811566818 A CN201811566818 A CN 201811566818A CN 109657247 B CN109657247 B CN 109657247B
- Authority
- CN
- China
- Prior art keywords
- grammar
- execution plan
- machine learning
- analysis
- constructing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种机器学习的自定义语法实现方法及装置。所述方法包括:对自定义语法进行词法分析和语法分析,转换为抽象语法树;基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划;基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划;基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试。本发明能够降低机器学习的使用门槛,减少编码以及用户的开发成本。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种机器学习的自定义语法实现方法及装置。
背景技术
机器学习是人工智能的一个分支,在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习算法是一类从数据中自动分析获得规律、并利用规律对未知数据进行预测的算法。机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈等领域。
常用的机器学习算法需要学习特定的编程语言、特定的编译器,并进行复杂的编码实现,对于研究人员的编码能力要求较高,需要花费较高的时间成本学习相关计算机知识。
发明内容
本发明提供的机器学习的自定义语法实现方法及装置,能够降低机器学习的使用门槛,减少编码以及用户的开发成本。
第一方面,本发明提供一种机器学习的自定义语法实现方法,包括:
对自定义语法进行词法分析和语法分析,转换为抽象语法树;
基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划;
基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划;
基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试。
可选地,所述基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划包括:对抽象语法树进行分析,通过自定义的反射规则,使用Java虚拟机反射功能,构建语法的逻辑执行计划。
可选地,所述词法分析为:将字符序列转换为标记序列。
可选地,所述语法分析为:根据给定的形式文法对由单词序列构成的输入文本进行分析并确定语法结构。
第二方面,本发明提供一种机器学习的自定义语法实现装置,包括:
转换单元,用于对自定义语法进行词法分析和语法分析,转换为抽象语法树;
第一构建单元,用于基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划;
第二构建单元,用于基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划;
计算单元,用于基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试。
可选地,所述第一构建单元,用于对抽象语法树进行分析,通过自定义的反射规则,使用Java虚拟机反射功能,构建语法的逻辑执行计划
可选地,所述词法分析为:将字符序列转换为标记序列。
可选地,所述语法分析为:根据给定的形式文法对由单词序列构成的输入文本进行分析并确定语法结构。
本发明实施例提供的机器学习的自定义语法实现方法及装置,通过自定义一种新的语法,涵盖机器学习常用算法,用户只需输入几条语句,就能实现大部分机器学习算法的构建、训练及结果分析,从而能够降低机器学习的使用门槛,减少编码以及研究人员的学习和开发成本。
附图说明
图1为本发明实施例提供的机器学习的自定义语法实现方法的流程图;
图2为本发明实施例提供的机器学习的自定义语法实现方法的执行框图;
图3为本发明实施例提供的机器学习的自定义语法实现装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种机器学习的自定义语法实现方法,如图1所示,所述方法包括:
S11、对自定义语法进行词法分析和语法分析,转换为抽象语法树。
S12、基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划。
S13、基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划。
S14、基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试。
其中,所述反射机制可以为Java反射机制,但不仅限于此。
所述机器学习库可以为spark相关机器学习库,但不仅限于此。
本发明实施例提供的机器学习的自定义语法实现方法,通过自定义一种新的语法,涵盖机器学习常用算法,用户只需输入几条语句,就能实现大部分机器学习算法的构建、训练及结果分析,从而能够降低机器学习的使用门槛,减少编码以及研究人员的学习和开发成本。
下面对本发明实施例机器学习的自定义语法实现方法进行详细说明。
如图2所示,本方案通过对自定义语法进行词法分析、语法分析,转换为抽象语法树。基于抽象语法树进行语义分析,构建语法的逻辑计划,参考数据的分布情况,构建分布式的物理执行计划,并通过Java反射原理调用spark相关机器学习库,通过分布式内存计算,进行模型的训练及测试。
其中,所述词法分析为计算机科学中将字符序列转换为标记(token)序列的过程。
所述语法分析为根据某种给定的形式文法对由单词序列(如英语单词序列)构成的输入文本进行分析并确定其语法结构的一种过程。
所述抽象语法树是一种语法分析常用的树形结构,常用于存储语法分析的结果。
自定义语法的使用流程较为简单,首先用户需要指定需要操作的数据集,然后指定相应的机器学习算法,对数据进行训练,也可以将原始数据分为测试集和训练集,通过训练数据集训练模型,并通过测试集测试模型的效果。
本方案基于Antlr4进行词法及语法分析,自定义语法结构如下:
所述基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划具体为:对抽象语法树进行分析,通过自定义的反射规则,使用JVM(Java Virtual Machine,Java虚拟机)反射功能,构建语法的逻辑执行计划。反射规则如下所示,通过以下结构的配置文件可以将自定义语法树中的节点反射为机器学习库(例如spark mlib)中的功能函数:
-
func.name:PCA
func.path:"org.apache.spark.ml.feature.PCA"
func.args:
-
arg.spark.funcName:setInputCol
arg.ausname:inputCol
arg.nullable:false
arg.type:"java.lang.String"
-
arg.spark.funcName:setOutputCol
arg.ausname:outputCol
arg.nullable:false
arg.type:"java.lang.String"
-
arg.spark.funcName:setK
arg.nullable:false
arg.ausname:k
arg.type:int
本方案基于逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划,保证计算在内存中高效地执行。
本方案相比Scikit-learn的优势很明显,省去了大量的编码,基于底层的分布式内存计算平台,支持海量数据的训练及测试;相比spark mlib,自定义语法更为简练,不需要用户对分布式计算进行干预,减少了用户开发成本。
本发明实施例还提供一种机器学习的自定义语法实现装置,如图3所示,所述装置包括:
转换单元11,用于对自定义语法进行词法分析和语法分析,转换为抽象语法树;
第一构建单元12,用于基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划;
第二构建单元13,用于基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划;
计算单元14,用于基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试。
可选地,所述第一构建单元12,用于对抽象语法树进行分析,通过自定义的反射规则,使用Java虚拟机反射功能,构建语法的逻辑执行计划
可选地,所述词法分析为:将字符序列转换为标记序列。
可选地,所述语法分析为:根据给定的形式文法对由单词序列构成的输入文本进行分析并确定语法结构。
本发明实施例提供的机器学习的自定义语法实现装置,通过自定义一种新的语法,涵盖机器学习常用算法,用户只需输入几条语句,就能实现大部分机器学习算法的构建、训练及结果分析,从而能够降低机器学习的使用门槛,减少编码以及研究人员的学习和开发成本。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种机器学习的自定义语法实现方法,其特征在于,包括:
对自定义语法进行词法分析和语法分析,转换为抽象语法树;
基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划;
基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划;
基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试;
其中,所述基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划包括:对抽象语法树进行分析,通过自定义的反射规则,使用Java虚拟机反射功能,构建语法的逻辑执行计划。
2.根据权利要求1所述的方法,其特征在于,所述词法分析为:将字符序列转换为标记序列。
3.根据权利要求1所述的方法,其特征在于,所述语法分析为:根据给定的形式文法对由单词序列构成的输入文本进行分析并确定语法结构。
4.一种机器学习的自定义语法实现装置,其特征在于,包括:
转换单元,用于对自定义语法进行词法分析和语法分析,转换为抽象语法树;
第一构建单元,用于基于所述抽象语法树进行语义分析,构建语法的逻辑执行计划;
第二构建单元,用于基于所述逻辑执行计划,参考数据的分布情况,构建分布式的物理执行计划;
计算单元,用于基于所述分布式的物理执行计划,通过反射机制调用相关机器学习库,通过分布式内存计算,进行模型的训练及测试;
其中,所述第一构建单元,用于对抽象语法树进行分析,通过自定义的反射规则,使用Java虚拟机反射功能,构建语法的逻辑执行计划。
5.根据权利要求4所述的装置,其特征在于,所述词法分析为:将字符序列转换为标记序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811566818.4A CN109657247B (zh) | 2018-12-19 | 2018-12-19 | 机器学习的自定义语法实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811566818.4A CN109657247B (zh) | 2018-12-19 | 2018-12-19 | 机器学习的自定义语法实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657247A CN109657247A (zh) | 2019-04-19 |
CN109657247B true CN109657247B (zh) | 2023-05-23 |
Family
ID=66115308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811566818.4A Active CN109657247B (zh) | 2018-12-19 | 2018-12-19 | 机器学习的自定义语法实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657247B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001500B (zh) * | 2020-08-13 | 2021-08-03 | 星环信息科技(上海)股份有限公司 | 基于纵向联邦学习系统的模型训练方法、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090144229A1 (en) * | 2007-11-30 | 2009-06-04 | Microsoft Corporation | Static query optimization for linq |
US8479178B2 (en) * | 2008-06-27 | 2013-07-02 | Microsoft Corporation | Compiler in a managed application context |
US8239847B2 (en) * | 2009-03-18 | 2012-08-07 | Microsoft Corporation | General distributed reduction for data parallel computing |
US8612368B2 (en) * | 2011-03-01 | 2013-12-17 | International Business Machines Corporation | Systems and methods for processing machine learning algorithms in a MapReduce environment |
US9286044B2 (en) * | 2014-06-27 | 2016-03-15 | International Business Machines Corporation | Hybrid parallelization strategies for machine learning programs on top of MapReduce |
US9715373B2 (en) * | 2015-12-18 | 2017-07-25 | International Business Machines Corporation | Dynamic recompilation techniques for machine learning programs |
CN106970819B (zh) * | 2017-03-28 | 2020-07-10 | 清华大学 | 一种基于prdl规则描述语言的c程序代码规范检查装置 |
-
2018
- 2018-12-19 CN CN201811566818.4A patent/CN109657247B/zh active Active
Non-Patent Citations (4)
Title |
---|
A domain specific language for business transaction processing;K R Neeraj et al;《 2017 IEEE International Conference on Signal Processing, Informatics, Communication and Energy Systems》;第1-7页 * |
Automatic Improvement of Apache Spark Queries using Semantics-preserving Program Reduction;Zoltan A. Kocsis et al;《 Proceedings of the 2016 on Genetic and Evolutionary Computation Conference Companion》;第1141–1146页 * |
On Machine Learning and Programming Languages;Mike Innes et al;《SysML》;第1-3页 * |
一个基于Dataflow的大数据Query Engine系统的设计与实现;梁国蓉;《中国优秀硕士学位论文全文数据库 信息科技辑》(第12期);I138-337 * |
Also Published As
Publication number | Publication date |
---|---|
CN109657247A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Neural symbolic reader: Scalable integration of distributed and symbolic representations for reading comprehension | |
US20190163691A1 (en) | Intent Based Dynamic Generation of Personalized Content from Dynamic Sources | |
CN111339255B (zh) | 目标情感分析的方法、模型训练方法、介质和设备 | |
US11501080B2 (en) | Sentence phrase generation | |
de Araújo et al. | Re-bert: automatic extraction of software requirements from app reviews using bert language model | |
CN112069295B (zh) | 相似题推荐方法、装置、电子设备和存储介质 | |
WO2018174816A1 (en) | Method and apparatus for semantic coherence analysis of texts | |
CN116661805B (zh) | 代码表示的生成方法和装置、存储介质及电子设备 | |
US9495150B2 (en) | Information processing apparatus and method, and computer program product | |
WO2018174815A1 (en) | Method and apparatus for semantic coherence analysis of texts | |
JP2022145623A (ja) | ヒント情報を提示する方法及び装置並びにコンピュータプログラム | |
Praseed et al. | Hindi fake news detection using transformer ensembles | |
CN114281968A (zh) | 一种模型训练及语料生成方法、装置、设备和存储介质 | |
CN116956896A (zh) | 基于人工智能的文本分析方法、系统、电子设备及介质 | |
CN108875024B (zh) | 文本分类方法、系统、可读存储介质及电子设备 | |
CN109657247B (zh) | 机器学习的自定义语法实现方法及装置 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN111666405A (zh) | 用于识别文本蕴含关系的方法和装置 | |
CN113761875B (zh) | 事件抽取方法、装置、电子设备及存储介质 | |
Muñoz-Valero et al. | Using recurrent neural networks for part-of-speech tagging and subject and predicate classification in a sentence | |
CN116306612A (zh) | 一种词句生成方法及相关设备 | |
US11605006B2 (en) | Deep-learning model catalog creation | |
KR102608014B1 (ko) | 스트립트 바이너리 함수 심볼 예측 방법 및 그 장치 | |
CN114613515B (zh) | 医学实体的关系提取方法及装置、存储介质、电子设备 | |
US11983488B1 (en) | Systems and methods for language model-based text editing |
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 |