本申請(qǐng)涉及人工智能,尤其涉及一種中文代碼編譯方法、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、為了降低編程難度,一些編程軟件支持使用中文進(jìn)行代碼編寫。這些編程軟件在接收到用戶輸入的中文代碼后,通常是基于中文與常用計(jì)算機(jī)語言之間的映射關(guān)系,將中文代碼編譯為常用計(jì)算機(jī)編程語言的源代碼,從而降低代碼編寫的難度。
2、在相關(guān)技術(shù)中,中文與常用計(jì)算機(jī)語言之間的映射關(guān)系通常是一對(duì)一的映射關(guān)系。而在將中文代碼編譯為常用計(jì)算機(jī)編程語言代碼的過程中,由于中文與計(jì)算機(jī)編程語言的語法和語義的差異性,或者用戶缺乏編程基礎(chǔ),編寫的中文代碼時(shí)常會(huì)不夠規(guī)范。在這種情況下,相關(guān)編程軟件仍然會(huì)根據(jù)預(yù)設(shè)的映射關(guān)系,直接生成常用計(jì)算機(jī)編程語言的源代碼。這導(dǎo)致相關(guān)技術(shù)中,中文代碼的編譯結(jié)果準(zhǔn)確性較低。
3、上述內(nèi)容僅用于輔助理解本申請(qǐng)的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的主要目的在于提供一種中文代碼編譯方法,旨在解決中文代碼的編譯結(jié)果準(zhǔn)確性較低的技術(shù)問題。
2、為實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)峁┮环N中文代碼編譯方法,所述中文代碼編譯方法包括以下步驟:
3、在接收到中文編譯指令后,確定所述中文編譯指令對(duì)應(yīng)的待編譯中文代碼,以及目標(biāo)代碼語言,其中,所述目標(biāo)代碼語言可選為包括但不限于高級(jí)語言或者低級(jí)語言;
4、通過語言處理模塊,確定所述待編譯中文代碼中待編譯分詞的特征向量,并根據(jù)所述特征向量確定所述待編譯中文代碼的語義信息;
5、根據(jù)所述特征向量和所述語義信息以及所述目標(biāo)代碼語言,在編譯知識(shí)圖譜中確定所述待編譯分詞對(duì)應(yīng)的代碼分詞以及代碼模板;
6、將所述代碼分詞填充至所述代碼模板,生成目標(biāo)代碼。
7、可選地,所述根據(jù)所述特征向量和所述語義信息以及所述目標(biāo)代碼語言,在編譯知識(shí)圖譜中確定所述待編譯分詞對(duì)應(yīng)的代碼分詞以及代碼模板的步驟包括:
8、根據(jù)所述目標(biāo)代碼語言,確定所述編譯知識(shí)圖譜中的目標(biāo)代碼模塊;
9、通過所述意圖識(shí)別模塊,根據(jù)所述語義信息對(duì)所述待編譯中文代碼進(jìn)行意圖識(shí)別,確定所述待編譯中文代碼的預(yù)期執(zhí)行結(jié)果;
10、根據(jù)所述預(yù)期執(zhí)行結(jié)果,以及所述特征向量,在所述目標(biāo)代碼模塊中選取對(duì)應(yīng)的代碼語句模板和所述代碼分詞;
11、根據(jù)所述待編譯中文代碼和/或所述特征向量,以及所述預(yù)期執(zhí)行結(jié)果,拼接所述代碼語句模板,生成所述代碼模板。
12、可選地,所述根據(jù)所述預(yù)期執(zhí)行結(jié)果,以及所述特征向量,在所述目標(biāo)代碼模塊中選取對(duì)應(yīng)的代碼語句模板和所述代碼分詞的步驟包括:
13、根據(jù)所述預(yù)期執(zhí)行結(jié)果,確定所述編譯知識(shí)圖譜中的代碼模板分類;
14、根據(jù)所述待編譯中文代碼和/或所述特征向量,在所述代碼模板分類中選取模板目標(biāo)節(jié)點(diǎn),并根據(jù)所述特征向量,以及所述特征向量對(duì)應(yīng)的所述待編譯分詞,在所述目標(biāo)代碼模塊的代碼分詞模塊中選取分詞目標(biāo)節(jié)點(diǎn);
15、獲取所述模板目標(biāo)節(jié)點(diǎn)和所述分詞目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的所述代碼語句模板和所述代碼分詞。
16、可選地,所述將所述代碼分詞填充至所述代碼模板,生成目標(biāo)代碼的步驟之后,還包括:
17、確定所述目標(biāo)代碼的執(zhí)行結(jié)果,并將所述執(zhí)行結(jié)果與所述預(yù)期執(zhí)行結(jié)果進(jìn)行匹配;
18、當(dāng)所述執(zhí)行結(jié)果不符合所述預(yù)期執(zhí)行結(jié)果時(shí),記錄編譯失敗次數(shù),并確定所述執(zhí)行結(jié)果和所述預(yù)期執(zhí)行結(jié)果之間的區(qū)別特征;
19、根據(jù)所述區(qū)別特征,以及所述特征向量和所述語義信息,在所述編譯知識(shí)圖譜中確定所述代碼分詞以及所述代碼模板,并生成所述目標(biāo)代碼;
20、跳轉(zhuǎn)執(zhí)行所述確定所述目標(biāo)代碼的執(zhí)行結(jié)果,并將所述執(zhí)行結(jié)果與所述預(yù)期執(zhí)行結(jié)果進(jìn)行匹配的步驟,并在所述編譯失敗次數(shù)達(dá)到預(yù)設(shè)的失敗次數(shù)閾值時(shí),輸出所述待編譯中文代碼編譯失敗的提示信息。
21、可選地,所述通過語言處理模塊,確定所述待編譯中文代碼中待編譯分詞的特征向量,并根據(jù)所述特征向量確定所述待編譯中文代碼的語義信息的步驟包括:
22、在所述語言處理模塊獲取到所述待編譯中文代碼時(shí),根據(jù)預(yù)設(shè)的語料信息庫(kù)中的語料信息,確定所述待編譯中文代碼中的所述待編譯分詞;
23、在所述語料信息庫(kù)中確定所述待編譯分詞的分詞語義,并根據(jù)所述分詞語義和所述待編譯分詞之間的關(guān)系信息,生成所述待編譯分詞的特征向量;
24、通過預(yù)設(shè)的語義分析算法,根據(jù)所述特征向量,確定所述待編譯中文代碼的語義信息。
25、可選地,所述將所述代碼分詞填充至所述代碼模板,生成目標(biāo)代碼的步驟包括:
26、確定所述代碼分詞在所述編譯知識(shí)圖譜中的屬性值,并根據(jù)所述屬性值,將所述代碼分詞與所述代碼模板中的占位符進(jìn)行對(duì)比;
27、根據(jù)對(duì)比結(jié)果,確定與所述代碼分詞匹配的目標(biāo)占位符;
28、基于所述代碼分詞,替換所述代碼模板中的所述目標(biāo)占位符,生成所述目標(biāo)代碼。
29、可選地,所述在接收到中文編譯指令后,確定所述中文編譯指令對(duì)應(yīng)的待編譯中文代碼,以及目標(biāo)代碼語言的步驟之前,還包括:
30、在接收到中文輸入指令后,根據(jù)預(yù)設(shè)渲染信息,輸出代碼輸入界面;
31、獲取預(yù)設(shè)的代碼規(guī)則提示信息,并于所述代碼輸入界面中顯示所述代碼規(guī)則提示信息,其中,所述代碼規(guī)則提示信息用于指引用戶基于所述代碼規(guī)則輸入所述待編譯中文代碼。
32、可選地,所述在接收到中文編譯指令后,確定所述中文編譯指令對(duì)應(yīng)的待編譯中文代碼,以及目標(biāo)代碼語言之后,還包括:
33、根據(jù)所述目標(biāo)代碼語言,將所述待編譯中文代碼與歷史編譯記錄進(jìn)行匹配;
34、根據(jù)匹配結(jié)果,確定與所述待編譯中文代碼最匹配的歷史源中文代碼;
35、確定所述歷史源中文代碼對(duì)應(yīng)的歷史目標(biāo)代碼,并將所述歷史目標(biāo)代碼作為所述目標(biāo)代碼輸出。
36、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提供一種中文代碼編譯設(shè)備,所述中文代碼編譯設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的中文代碼編譯程序,所述中文代碼編譯程序配置為實(shí)現(xiàn)如上所述的中文代碼編譯方法的步驟。
37、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提供一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有中文代碼編譯程序,所述中文代碼編譯程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的中文代碼編譯方法的步驟。
38、本申請(qǐng)通過將對(duì)待編譯中文代碼進(jìn)行語義分析,并根據(jù)語義分析結(jié)果,在編譯知識(shí)圖譜中選取對(duì)應(yīng)的代碼分詞和代碼模板,以及將代碼分詞填充至對(duì)應(yīng)的代碼模板中,生成目標(biāo)代碼,提高了中文代碼編譯的準(zhǔn)確度,使得編譯后生成的目標(biāo)代碼的執(zhí)行結(jié)果更加符合用戶預(yù)期。此外,本申請(qǐng)根據(jù)待編譯中文代碼的語義信息,確定待編譯中文代碼對(duì)應(yīng)的預(yù)期執(zhí)行結(jié)果,并根據(jù)預(yù)期執(zhí)行結(jié)果對(duì)編譯生成的目標(biāo)代碼的執(zhí)行結(jié)果進(jìn)行檢測(cè),進(jìn)一步提高了中文代碼編譯的準(zhǔn)確度。
1.一種中文代碼編譯方法,其特征在于,所述中文代碼編譯方法包括以下步驟:
2.如權(quán)利要求1所述的中文代碼編譯方法,其特征在于,所述根據(jù)所述特征向量和所述語義信息以及所述目標(biāo)代碼語言,在編譯知識(shí)圖譜中確定所述待編譯分詞對(duì)應(yīng)的代碼分詞以及代碼模板的步驟包括:
3.如權(quán)利要求2所述的中文代碼編譯方法,其特征在于,所述根據(jù)所述預(yù)期執(zhí)行結(jié)果,以及所述特征向量,在所述目標(biāo)代碼模塊中選取對(duì)應(yīng)的代碼語句模板和所述代碼分詞的步驟包括:
4.如權(quán)利要求2所述的中文代碼編譯方法,其特征在于,所述將所述代碼分詞填充至所述代碼模板,生成目標(biāo)代碼的步驟之后,還包括:
5.如權(quán)利要求1所述的中文代碼編譯方法,其特征在于,所述通過語言處理模塊,確定所述待編譯中文代碼中待編譯分詞的特征向量,并根據(jù)所述特征向量確定所述待編譯中文代碼的語義信息的步驟包括:
6.如權(quán)利要求1所述的中文代碼編譯方法,其特征在于,所述將所述代碼分詞填充至所述代碼模板,生成目標(biāo)代碼的步驟包括:
7.如權(quán)利要求1所述的中文代碼編譯方法,其特征在于,所述在接收到中文編譯指令后,確定所述中文編譯指令對(duì)應(yīng)的待編譯中文代碼,以及目標(biāo)代碼語言的步驟之前,還包括:
8.如權(quán)利要求1所述的中文代碼編譯方法,其特征在于,所述在接收到中文編譯指令后,確定所述中文編譯指令對(duì)應(yīng)的待編譯中文代碼,以及目標(biāo)代碼語言之后,還包括:
9.一種中文代碼編譯設(shè)備,其特征在于,所述中文代碼編譯設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的中文代碼編譯程序,所述中文代碼編譯程序配置為實(shí)現(xiàn)如權(quán)利要求1至8中任一項(xiàng)所述的中文代碼編譯方法的步驟。
10.一種存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)上存儲(chǔ)有中文代碼編譯程序,所述中文代碼編譯程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至8任一項(xiàng)所述的中文代碼編譯方法的步驟。