[發明專利]一種面向程序設計答疑系統的知識庫檢索方法在審
| 申請號: | 201910333734.4 | 申請日: | 2019-04-24 |
| 公開(公告)號: | CN110297891A | 公開(公告)日: | 2019-10-01 |
| 發明(設計)人: | 薛景;施寅瑞;孫彤;李洲洋;林丹 | 申請(專利權)人: | 南京郵電大學 |
| 主分類號: | G06F16/332 | 分類號: | G06F16/332;G06F17/27 |
| 代理公司: | 南京蘇科專利代理有限責任公司 32102 | 代理人: | 姚姣陽 |
| 地址: | 210003 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 知識庫 代碼文本 檢索 詞頻 余弦相似度 程序設計 答疑系統 文本匹配 文本屬性 度量 權重 算法 預處理 哈希值計算 相似度計算 檢索問題 算法融合 文本特征 文本替換 相似程度 向量計算 相似度 準確率 哈希 加權 向量 詞匯 存儲 文本 學生 | ||
1.一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,包括如下步驟,
步驟S1、從前端獲取學生檢索的問題test A;
步驟S2、系統對test A進行處理獲取代碼文本code A,并對知識庫中存儲的問題文本tset B進行處理,獲取代碼文本code B;
步驟S3、對代碼文本code A和code B進行預處理,文本替換后獲取標記串TA=(v1,v2,…,vn),TB=(u1,u2,…,un),文本屬性度量向量AttrA,AttrB;
步驟S4、根據simhash算法對TA和TB分別進行詞頻計算,將詞匯作為文本特征,詞頻作為特征的權重,計算出對應權重和并獲取TA和TB的全文哈希值和并根據哈希值計算出文本相似程度
步驟S4、根據文本屬性度量向量AttrA,AttrB,計算出余弦相似度cos(AttrA,AttrB);
步驟S5、根據標記串TA=(v1,v2,…,vn)和TB=(u1,u2,…,un),計算出文本匹配度;
步驟S6、根據余弦相似度cos(AttrA,AttrB)和文本匹配度通過Sim-win三權法計算出檢索問題中代碼文本與知識庫問題中的代碼文本相似度;
步驟S7,根據相似度,將知識庫中存儲的問題由高到低排列返回前端。
2.根據權利要求1所述的一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,所述步驟S2中,系統對test A進行處理獲取代碼文本code A,并對知識庫中存儲的問題文本tset B進行處理,獲取代碼文本code B,其具體方法為:對學生檢索的問題文本Text A利用unicode編碼提取非中文的部分;
對知識庫中存儲的問題文本Text B利用Unicode編碼提取非中文的部分。
3.根據權利要求1所述的一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,所述步驟S3中,具體方法為:
將代碼替換為一系列標準表達,為代碼中所有的相關標記符和關鍵字聲稱標記串,替代原文標記符的真實名稱;
將變量名替換成統一標記,采用一種循環結構替代其他循環變種。
4.根據權利要求1所述的一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,所述步驟S3中,預處理時去除與代碼主題無關的信息,包括注釋和import聲明。
5.根據權利要求1所述的一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,所述步驟S4中,計算出對應權重后,通過哈希函數H得到64位二進制數,對所有詞的哈希結果和詞權重按照加和,對sum向量的每一維s,做出映射:s>0時,取s=1;s<0時,取s=0;由此得到文本的哈希值B。
6.根據權利要求1所述的一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,所述步驟S5中,通過公式計算余弦相似度。
7.根據權利要求1所述的一種面向程序設計答疑系統的知識庫檢索方法,其特征在于,所述步驟S6中,通過Sim-win三權法計算出檢索問題中代碼文本與知識庫問題中的代碼文本相似度的具體步驟為:
根據不同的w1,w2,w3,w1為simhash對應權重,w2為winnowing對應權重,w3為屬性度量對應權重,計算代碼文本相似度,計算公式為:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京郵電大學,未經南京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910333734.4/1.html,轉載請聲明來源鉆瓜專利網。





