A semi supervised learning automation software engineering knowledge base construction method based on knowledge base, to solve the field of software engineering at the present stage, the scarce number of concepts to achieve large-scale, relationship between concepts is sparse, requires a lot of energy and artificial problems, according to the present invention: first, according to the concept of label propagation, using Wikipedia the StackOverflow data source and expand the field of software engineering, construction of two sets; the concept of software engineering to learn characteristics of hyponymy extraction machine; three, using the automatic template matching and rule matching label relation extraction of positive and negative examples are extracted from the training data; the relationship between the four, the concept of work according to the learning method semi supervised iteration, and combined with the evaluation results of extraction rules for each iteration of the optimization, five; The standardization of knowledge base is realized by using RDF language.
【技術(shù)實(shí)現(xiàn)步驟摘要】
基于半監(jiān)督學(xué)習(xí)的軟件工程知識(shí)庫的自動(dòng)化構(gòu)建實(shí)現(xiàn)方法
本專利技術(shù)涉及的是一種軟件工程領(lǐng)域的技術(shù),具體是一種基于半監(jiān)督學(xué)習(xí)的軟件工程知識(shí)庫的自動(dòng)化構(gòu)建實(shí)現(xiàn)方法。
技術(shù)介紹
當(dāng)今社會(huì)是以語義萬維網(wǎng)(SemanticWeb)作為未來發(fā)展主要方向的時(shí)代,構(gòu)造能讓計(jì)算機(jī)理解和處理的Web信息成為現(xiàn)階段非常重要的工作。而知識(shí)庫(KnowledgeBase)作為具有概念、實(shí)體、關(guān)系所組成的知識(shí)集合,使其在信息檢索,知識(shí)問答等蓬勃發(fā)展的環(huán)境下,具有越來越重要的應(yīng)用價(jià)值和工業(yè)價(jià)值。而軟件工程領(lǐng)域知識(shí)庫作為知識(shí)庫中的一個(gè)重要分支,同樣凸顯著難以替代的作用。尤其是在:缺陷預(yù)測(cè)、語義關(guān)聯(lián)性計(jì)算、文本正確性分析、軟件文檔相關(guān)性監(jiān)測(cè)、軟件質(zhì)量度量等領(lǐng)域的研究,大都基于軟件工程領(lǐng)域知識(shí)庫展開。因此,軟件工程領(lǐng)域知識(shí)庫的質(zhì)量,很大程度上決定并影響研究的質(zhì)量與效果。因此,構(gòu)建高質(zhì)量、大規(guī)模的軟件工程領(lǐng)域知識(shí)庫具有非常重要的意義。由于現(xiàn)階段大規(guī)模的軟件工程知識(shí)庫尚無完備的構(gòu)建方法和構(gòu)建成果,獲取軟件工程知識(shí)庫主要通過以下兩種方法:通過一般領(lǐng)域的開源知識(shí)庫獲得軟件工程領(lǐng)域知識(shí)。該方法主要通過開源的且為一般領(lǐng)域的知識(shí)庫,例如:WordNet、YAGO、DBpedia、WikiTaxonomy等知識(shí)庫,或者通過著名知識(shí)搜索計(jì)算平臺(tái)如Google知識(shí)圖譜、WolframAlpha、Data.gov等平臺(tái)獲取。首先,獲得其中一個(gè)一般領(lǐng)域的知識(shí)庫或知識(shí)平臺(tái),然后通過人工驗(yàn)證、類別驗(yàn)證(根據(jù)知識(shí)庫中標(biāo)注的類別,選取相關(guān)類別抽取知識(shí)集)的方式,將其中關(guān)于軟件工程領(lǐng)域的知識(shí)分離出來構(gòu)造集合,并進(jìn)行結(jié)構(gòu)化的構(gòu)建, ...
【技術(shù)保護(hù)點(diǎn)】
一種基于半監(jiān)督學(xué)習(xí)的軟件工程知識(shí)庫的自動(dòng)化構(gòu)建實(shí)現(xiàn)方法,其特征在于,包括以下步驟:步驟一、以StackOverflow上提供的軟件工程領(lǐng)域標(biāo)簽作為種子詞匯,并獲得維基百科提供的概念數(shù)據(jù)集,通過種子詞匯標(biāo)簽迭代傳播,擴(kuò)充維基百科上全部軟件工程領(lǐng)域概念并得到包含維基結(jié)構(gòu)的軟件工程領(lǐng)域知識(shí)集合;步驟二、結(jié)合語義及概念在維基百科中的結(jié)構(gòu)特征,對(duì)軟件工程領(lǐng)域概念構(gòu)建上下位關(guān)系的機(jī)器學(xué)習(xí)特征;步驟三、根據(jù)機(jī)器學(xué)習(xí)特征,分別采用模版匹配和規(guī)則匹配的方法對(duì)軟件工程領(lǐng)域知識(shí)集合中的正例數(shù)據(jù)和反例數(shù)據(jù)進(jìn)行標(biāo)注,得到基于模板匹配和規(guī)則匹配的數(shù)據(jù)標(biāo)注;步驟四、采用半監(jiān)督的學(xué)習(xí)方法從包含維基結(jié)構(gòu)的軟件工程領(lǐng)域知識(shí)集合中進(jìn)行迭代的關(guān)系抽取工作,并建立迭代結(jié)果的評(píng)估規(guī)則以進(jìn)行優(yōu)化;步驟五、對(duì)步驟四構(gòu)建得到的知識(shí)庫進(jìn)行RDF標(biāo)準(zhǔn)化,完成最終大規(guī)模軟件工程領(lǐng)域知識(shí)庫的構(gòu)建。
【技術(shù)特征摘要】
1.一種基于半監(jiān)督學(xué)習(xí)的軟件工程知識(shí)庫的自動(dòng)化構(gòu)建實(shí)現(xiàn)方法,其特征在于,包括以下步驟:步驟一、以StackOverflow上提供的軟件工程領(lǐng)域標(biāo)簽作為種子詞匯,并獲得維基百科提供的概念數(shù)據(jù)集,通過種子詞匯標(biāo)簽迭代傳播,擴(kuò)充維基百科上全部軟件工程領(lǐng)域概念并得到包含維基結(jié)構(gòu)的軟件工程領(lǐng)域知識(shí)集合;步驟二、結(jié)合語義及概念在維基百科中的結(jié)構(gòu)特征,對(duì)軟件工程領(lǐng)域概念構(gòu)建上下位關(guān)系的機(jī)器學(xué)習(xí)特征;步驟三、根據(jù)機(jī)器學(xué)習(xí)特征,分別采用模版匹配和規(guī)則匹配的方法對(duì)軟件工程領(lǐng)域知識(shí)集合中的正例數(shù)據(jù)和反例數(shù)據(jù)進(jìn)行標(biāo)注,得到基于模板匹配和規(guī)則匹配的數(shù)據(jù)標(biāo)注;步驟四、采用半監(jiān)督的學(xué)習(xí)方法從包含維基結(jié)構(gòu)的軟件工程領(lǐng)域知識(shí)集合中進(jìn)行迭代的關(guān)系抽取工作,并建立迭代結(jié)果的評(píng)估規(guī)則以進(jìn)行優(yōu)化;步驟五、對(duì)步驟四構(gòu)建得到的知識(shí)庫進(jìn)行RDF標(biāo)準(zhǔn)化,完成最終大規(guī)模軟件工程領(lǐng)域知識(shí)庫的構(gòu)建。2.根據(jù)權(quán)利要求1所述的軟件工程知識(shí)庫的自動(dòng)化構(gòu)建實(shí)現(xiàn)方法,其特征是,所述的上下位關(guān)系的機(jī)器學(xué)習(xí)特征包括:詞干共現(xiàn)度、非對(duì)稱的公共字串相似度、基于維基結(jié)構(gòu)的錨鏈接共現(xiàn)度、基于維基結(jié)構(gòu)的結(jié)構(gòu)體信息相似度和基于KL散度的主題分布相似度,其中:所述的詞干共現(xiàn)度是指:對(duì)于概念的詞義進(jìn)行相關(guān)性計(jì)算,通過采用StandfordParser工具提取概念的詞干,即中心詞,并計(jì)算詞干的共現(xiàn)度其中:HA,HB為概念A(yù)、B的詞干,LCA(HA,HB)計(jì)算詞干HA和HB的最小公共祖先,depth(HA)計(jì)算詞干HA在WordNet中的深度;所述的非對(duì)稱的公共字串相似度是指:由于上下位是一種非對(duì)稱的關(guān)系(當(dāng)概念A(yù)是概念B的上位詞,則概念B一定不是概念A(yù)的上位詞),因此該特征可以有效避免概念間存在關(guān)系密切但不為上下位關(guān)系的干擾,即計(jì)算概念間公共字串的相似值其中:LCS(A,B)計(jì)算概念A(yù),B的最長(zhǎng)公共子串長(zhǎng)度,Len(A)計(jì)算概念A(yù)的名稱長(zhǎng)度;所述的基于維基結(jié)構(gòu)的錨鏈接共現(xiàn)度是指:由于每一個(gè)概念均與維基百科的某一頁面相對(duì)應(yīng),因此,維基百科頁面中的結(jié)構(gòu)及結(jié)構(gòu)中的文本信息可以良好地反映概念指代的信息與含義;通過采用NGD(NormalizedGoogleDistance)分別對(duì)概念的維基百科頁面的各個(gè)結(jié)構(gòu)進(jìn)行共現(xiàn)相似度的分析,相似度其中:N為常量,指代維基百科錨鏈接的總數(shù)目;IA和IB分別指代概念A(yù)、B的維基百科頁面中某一特定結(jié)構(gòu)(例如:引文、正文、屬類)中錨鏈接的集合;由于維基百科頁面中的結(jié)構(gòu)如:引文(Abstract)、正文(Text)、屬類(Category)中的錨鏈接集合均能良好反映概念的含義,因此分別基于上述三種結(jié)構(gòu)進(jìn)行NGD的計(jì)算,得到三個(gè)不同的特征值;另外,由于屬類(Category)結(jié)構(gòu)能明確表示上下位的關(guān)系,若概念A(yù)包含在概念B的屬類(Category)的錨鏈接集合中或概念B包含在概念A(yù)的屬類(Category)錨鏈接的集合中,則為計(jì)算的屬類結(jié)構(gòu)NGD值等于當(dāng)前計(jì)算結(jié)果加附加系數(shù)V,根據(jù)NGD在本實(shí)施例中的取值范圍,設(shè)定附加系數(shù)V=0.05;所述的基于維基結(jié)構(gòu)的結(jié)構(gòu)體信息相似度是指:維基百科為每個(gè)概念提供了大綱(guideline)和信息框(infobox)兩個(gè)維基結(jié)構(gòu),上述兩個(gè)結(jié)構(gòu)體都通過關(guān)鍵字來體現(xiàn)概念的主要信息,其中大綱(guideline)主要描述當(dāng)前概念維基頁面主要從哪幾個(gè)方面進(jìn)行描述,而信息框(infobox)主要描述當(dāng)前概念所具有的特性和屬性;而關(guān)聯(lián)密切的軟件工程領(lǐng)域概念往往具有較為相近的大綱(guideline)和信息框(infobox)結(jié)構(gòu),因此通過如下Jaccard對(duì)結(jié)構(gòu)所描述信息的相似度進(jìn)行計(jì)算,其中:KA和KB表示概念A(yù)、B分別在結(jié)構(gòu)體(大綱或信息框)中的關(guān)鍵字集合;本實(shí)施例分別根據(jù)大綱和信息框兩種結(jié)構(gòu),分別進(jìn)行兩次結(jié)構(gòu)體信息相似度的計(jì)算;所述的基于KL散度的主題分布相似度是指:對(duì)于存在上下位關(guān)系的軟件工程領(lǐng)域概念,部分概念不具備完整的維...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:董翔,沈備軍,陳凱,
申請(qǐng)(專利權(quán))人:上海交通大學(xué),
類型:發(fā)明
國(guó)別省市:上海,31
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。