本發(fā)明涉及及數(shù)據(jù)處理,尤其涉及一種多表單處理方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在日常的生活、工作過程中,很多場景下都需要涉及到對表格的分析處理。
2、相關(guān)技術(shù)中,在人機(jī)交互過程中,表格分析可以通過工具平臺(比如text2sql算法等)幫助用戶自動生成sql查詢;也可以使用長短期記憶模型(lstm,long-short?termmemory)進(jìn)行結(jié)構(gòu)化查詢語言(sql)語句的from子句預(yù)測;或者是在基于多表情況的基礎(chǔ)上補充一個實體抽取類的模型,輔助檢索問題對應(yīng)的表格。
3、但是上述方法中,在人機(jī)交互過程中,由于lstm網(wǎng)絡(luò)很耗時,且無法進(jìn)行并行化處理,降低了表格類的分析問題的效率,另外,還需要額外增加實體抽取類的模型進(jìn)行表格檢索,不但增加了表格檢索的復(fù)雜度,還降低了表格的繪制效果。
4、因此,在人機(jī)交互過程中,如何提高表格的分析效率及圖表繪制效果差問題,是目前有待解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種多表單處理方法、裝置、電子設(shè)備及計算機(jī)可讀存儲介質(zhì),以至少解決相關(guān)技術(shù)中在人機(jī)交互過程中,由于lstm網(wǎng)絡(luò)耗時,且無法進(jìn)行并行化處理,還需增加實體抽取類的模型進(jìn)行表格檢索,導(dǎo)致表格分析或圖表繪制效率降低的問題。本發(fā)明的技術(shù)方案如下:
2、根據(jù)本發(fā)明實施例的第一方面,提供一種多表單處理方法,包括:
3、對用戶輸入表格中的表單進(jìn)行解析,得到表單名以及每個表單的列名文本信息;
4、基于所述用戶輸入的問題,確定與所述問題相關(guān)的目標(biāo)表單;
5、對所述目標(biāo)表單的列名文本信息和所述問題中的專有名詞進(jìn)行釋義,得到第一釋義知識;
6、在所述第一釋義知識能解決所述用戶輸入的問題時,若確定所述用戶的文本意圖是分析表格問題,則基于所述目標(biāo)表單和所述第一釋義知識,生成對應(yīng)數(shù)據(jù)分析的結(jié)構(gòu)化查詢語言;
7、執(zhí)行所述結(jié)構(gòu)化查詢語言,得到對應(yīng)的表格分析結(jié)果。
8、可選的,所述基于所述用戶輸入的問題,確定與所述問題相關(guān)的目標(biāo)表單,包括:
9、基于所述用戶輸入的問題,確定與所述問題相關(guān)的表單的余弦相似度;
10、基于所述余弦相似度召回與所述問題相關(guān)的目標(biāo)表單。
11、可選的,所述基于所述用戶輸入的問題,確定與所述問題相關(guān)的表單的余弦相似度,包括:
12、將所述用戶輸入的問題的文本映射為第一低維稠密向量;
13、提取每個表單的表單名,以及對應(yīng)表單的列名文本信息;
14、按照標(biāo)準(zhǔn)格式進(jìn)行拼接所述每個表單的表單名以及對應(yīng)的所述列名文本信息,得到每個表單的拼接文本;
15、將所述每個表單的拼接文本映射為第二低維稠密向量;
16、基于所述第一低維稠密向量和所述第二低維稠密向量,計算所述問題與每個表單的余弦相似度。
17、可選的,所述基于所述余弦相似度召回與所述問題相關(guān)的目標(biāo)表單,包括:
18、按照余弦相似度從高到底對所有表單進(jìn)行排序;
19、選取排序前n個表單進(jìn)行召回,得到目標(biāo)表單,其中,所述n為大于或等于1的自然數(shù)。
20、可選的,所述對所述目標(biāo)表單的列名和所述問題中的專有名詞進(jìn)行釋義,得到第一釋義知識,包括:
21、將所述目標(biāo)表單的內(nèi)容加載成dataframe或者polardb格式;
22、提取加載后所有目標(biāo)表單的列名;
23、利用大型語言模型中的提示詞工程,對所有目標(biāo)表單的列名和所述用戶輸入的問題中出現(xiàn)的專業(yè)名稱進(jìn)行釋義,得到第一釋義知識。
24、可選的,所述方法還包括:
25、在所述第一釋義知識能解決所述用戶輸入的問題時,若確定所述用戶的文本意圖是繪制圖表問題,則基于所述目標(biāo)表單和第一釋義知識,生成對應(yīng)的pandas繪圖代碼;
26、通過python解釋器執(zhí)行對應(yīng)的所述pandas繪圖代碼,得到對應(yīng)的圖表。
27、可選的,所述方法還包括:
28、在所述第一釋義知識不能解決所述用戶提出的問題時,確定所述問題中不確定的條目;
29、基于所述不確定的條目與所述用戶進(jìn)行交互,根據(jù)交互結(jié)果更新第一釋義知識,得到第二釋義知識;
30、在確定所述用戶的文本意圖是分析表格問題時,基于所述目標(biāo)表單和第二釋義知識,生成對應(yīng)數(shù)據(jù)分析的結(jié)構(gòu)化查詢語言;
31、執(zhí)行所述結(jié)構(gòu)化查詢語言,得到對應(yīng)的表格分析結(jié)果。
32、可選的,所述方法還包括:
33、在確定所述用戶的文本意圖是繪制圖表問題時,則基于所述目標(biāo)表單和第二釋義知識,生成對應(yīng)的pandas繪圖代碼;
34、通過python解釋器執(zhí)行對應(yīng)的所述pandas繪圖代碼,得到對應(yīng)的圖表。
35、根據(jù)本發(fā)明實施例的第二方面,提供一種多表單處理裝置,包括:
36、解析模塊,用于對用戶輸入表格中的表單進(jìn)行解析,得到表單名以及每個表單的列名文本信息;
37、確定模塊,用于基于所述用戶輸入的問題,確定與所述問題相關(guān)的目標(biāo)表單;
38、第一釋義模塊,用于對所述目標(biāo)表單的列名文本信息和所述問題中的專有名詞進(jìn)行釋義,得到第一釋義知識;
39、第一生成模塊,用于在所述第一釋義知識能解決所述用戶輸入的問題時,若確定所述用戶的文本意圖是分析表格問題,則基于所述目標(biāo)表單和第一釋義知識,生成對應(yīng)數(shù)據(jù)分析的結(jié)構(gòu)化查詢語言;
40、第一執(zhí)行模塊,用于執(zhí)行所述結(jié)構(gòu)化查詢語言,得到對應(yīng)的表格分析結(jié)果。
41、可選的,所述確定模塊包括:
42、相似度確定模塊,用于基于所述用戶輸入的問題,確定與所述問題相關(guān)的表單的余弦相似度;
43、召回模塊,用于基于所述余弦相似度召回與所述問題相關(guān)的目標(biāo)表單。
44、可選的,所述相似度確定模塊包括:
45、第一映射模塊,用于將所述用戶輸入的問題的文本映射為第一低維稠密向量;
46、第一提取模塊,用于提取每個表單的表單名,以及對應(yīng)表單的列名文本信息;
47、拼接模塊,用于按照標(biāo)準(zhǔn)格式進(jìn)行拼接所述每個表單的表單名以及對應(yīng)的所述列名文本信息,得到每個表單的拼接文本;
48、第二映射模塊,用于將所述每個表單的拼接文本映射為第二低維稠密向量;
49、相似度計算模塊,用于基于所述第一低維稠密向量和所述第二低維稠密向量,計算所述問題與每個表單的余弦相似度。
50、可選的,所述召回模塊包括:
51、排序模塊,用于按照余弦相似度從高到底對所有表單進(jìn)行排序;
52、表單召回模塊,用于選取排序前n個表單進(jìn)行召回,得到目標(biāo)表單,其中,所述n為大于或等于1的自然數(shù)。
53、可選的,所述第一釋義模塊包括:
54、加載模塊,用于將所述目標(biāo)表單的內(nèi)容加載成dataframe或者polardb格式;
55、第二提取模塊,用于提取加載后所有目標(biāo)表單的列名;
56、第一釋義知識模塊,用于利用大型語言模型中的提示詞工程,對所有目標(biāo)表單的列名和所述用戶輸入的問題中出現(xiàn)的專業(yè)名稱進(jìn)行釋義,得到第一釋義知識。
57、可選的,所述裝置還包括:
58、第二生成模塊,用于在所述第一釋義知識能解決所述用戶輸入的問題時,若確定所述用戶的文本意圖是繪制圖表問題,則基于所述目標(biāo)表單和第一釋義知識,生成對應(yīng)的pandas繪圖代碼;
59、第二執(zhí)行模塊,用于通過python解釋器執(zhí)行對應(yīng)的所述pandas繪圖代碼,得到對應(yīng)的圖表。
60、可選的,所述裝置還包括:
61、條目確定模塊,用于在所述第一釋義知識不能解決所述用戶提出的問題時,確定所述問題中不確定的條目;
62、更新模塊,用于基于所述不確定的條目與所述用戶進(jìn)行交互,根據(jù)交互結(jié)果不斷更新第一釋義知識,得到第二釋義知識;
63、第三生成模塊,用于在確定所述用戶的文本意圖是分析表格問題時,基于所述目標(biāo)表單和第二釋義知識,生成對應(yīng)數(shù)據(jù)分析的結(jié)構(gòu)化查詢語言;
64、第三執(zhí)行模塊,用于執(zhí)行所述結(jié)構(gòu)化查詢語言,得到對應(yīng)的表格分析結(jié)果。
65、可選的,所述裝置還包括:
66、第四生成模塊,用于在確定所述用戶的文本意圖是繪制圖表問題時,則基于所述目標(biāo)表單和第二釋義知識,生成對應(yīng)的pandas繪圖代碼;
67、第四執(zhí)行模塊,用于通過python解釋器執(zhí)行對應(yīng)的所述pandas繪圖代碼,得到對應(yīng)的圖表。
68、根據(jù)本發(fā)明實施例的第三方面,提供一種電子設(shè)備,包括:
69、處理器;
70、用于存儲所述處理器可執(zhí)行指令的存儲器;
71、其中,所述處理器被配置為執(zhí)行所述指令,以實現(xiàn)如上所述的多表單處理方法。
72、根據(jù)本發(fā)明實施例的第四方面,提供一種計算機(jī)可讀存儲介質(zhì),當(dāng)所述計算機(jī)可讀存儲介質(zhì)中的指令由電子設(shè)備的處理器執(zhí)行時,使得電子設(shè)備能夠執(zhí)行如上所述的多表單處理方法。
73、根據(jù)本發(fā)明實施例的第五方面,提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序或指令,所述計算機(jī)程序或指令被電子設(shè)備的處理器執(zhí)行時實現(xiàn)如上所述的多表單處理方法。
74、本發(fā)明的實施例提供的技術(shù)方案至少帶來以下有益效果:
75、本發(fā)明實施例中,對用戶輸入表格中的表單進(jìn)行解析,得到表單名以及每個表單的列名文本信息;基于所述用戶輸入的問題,確定與所述問題相關(guān)的目標(biāo)表單;對所述目標(biāo)表單的列名文本信息和所述問題中的專有名詞進(jìn)行釋義,得到第一釋義知識;在所述第一釋義知識能解決所述用戶輸入的問題時,若確定所述用戶的文本意圖是分析表格問題,則基于所述目標(biāo)表單和所述第一釋義知識,生成對應(yīng)數(shù)據(jù)分析的結(jié)構(gòu)化查詢語言;執(zhí)行所述結(jié)構(gòu)化查詢語言,得到對應(yīng)的表格分析結(jié)果。也就是說,本發(fā)明實施例中,針對人機(jī)交互過程中的表格問題,通過召回與用戶問題相關(guān)的目標(biāo)表單,使模型聚焦重點表格和問題,減少冗余信息,降低了表格分析的復(fù)雜度,提高了表格問題的分析效率。
76、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。