亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)①

        2022-05-10 02:28:22張騫月趙瑞蓮王微微
        關(guān)鍵詞:語(yǔ)義方法

        張騫月,趙瑞蓮,王微微

        (北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京 100029)

        1 引言

        為保證軟件系統(tǒng)的質(zhì)量與性能,軟件系統(tǒng)在發(fā)布或上線之前,需要進(jìn)行大量的測(cè)試[1].測(cè)試人員一旦檢測(cè)出軟件系統(tǒng)存在問(wèn)題,則將提交錯(cuò)誤報(bào)告(bug report),以供開發(fā)人員對(duì)錯(cuò)誤進(jìn)行修復(fù).錯(cuò)誤報(bào)告一般含有對(duì)錯(cuò)誤的概要說(shuō)明(title)、詳細(xì)描述(description)、提交時(shí)間、提交人、錯(cuò)誤表現(xiàn)截圖、代碼片段等相關(guān)信息.

        由于軟件項(xiàng)目規(guī)模的增大和復(fù)雜性的增加,導(dǎo)致參與測(cè)試工作的人員較多,不同測(cè)試人員可能會(huì)檢測(cè)到同一個(gè)錯(cuò)誤,這樣就會(huì)造成針對(duì)同一錯(cuò)誤,重復(fù)提交錯(cuò)誤報(bào)告(duplicate bug report)的可能[2].而重復(fù)錯(cuò)誤報(bào)告的存在,將降低開發(fā)人員修復(fù)錯(cuò)誤的效率.因此,如何避免重復(fù)錯(cuò)誤報(bào)告的提交已成為近年來(lái)軟件工程領(lǐng)域新的研究熱點(diǎn).目前,與重復(fù)錯(cuò)誤報(bào)告相關(guān)的研究主要集中在重復(fù)錯(cuò)誤報(bào)告檢索與重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)兩方面.

        重復(fù)錯(cuò)誤報(bào)告檢索是指:針對(duì)錯(cuò)誤報(bào)告庫(kù),采用自然語(yǔ)言處理和信息檢索技術(shù),檢索出重復(fù)的錯(cuò)誤報(bào)告.如Wang 等[3]將錯(cuò)誤報(bào)告中的自然語(yǔ)言描述與執(zhí)行信息作為查詢依據(jù),通過(guò)信息檢索技術(shù),檢測(cè)錯(cuò)誤報(bào)告庫(kù)中是否存在重復(fù)的錯(cuò)誤報(bào)告.該方法雖能通過(guò)對(duì)比錯(cuò)誤報(bào)告中自然語(yǔ)言描述以及執(zhí)行信息的相似度,檢索得出重復(fù)錯(cuò)誤報(bào)告,但該方法將錯(cuò)誤報(bào)告的自然語(yǔ)言描述作為一個(gè)整體要素進(jìn)行檢索,未對(duì)錯(cuò)誤報(bào)告的自然語(yǔ)言描述進(jìn)行深入的語(yǔ)義挖掘,使得檢索的準(zhǔn)確率不高.范道遠(yuǎn)等[4]借鑒集成測(cè)試的思想,提出了一種將錯(cuò)誤報(bào)告文本信息與分類信息結(jié)合的重復(fù)錯(cuò)誤報(bào)告檢索方法,該方法雖將分類信息與文本信息結(jié)合作為判定重復(fù)錯(cuò)誤報(bào)告的依據(jù),但也未對(duì)錯(cuò)誤報(bào)告文本信息進(jìn)行語(yǔ)義挖掘,其對(duì)重復(fù)錯(cuò)誤報(bào)告檢索準(zhǔn)確率的提升仍然有限.Chaparro 等[5,6]基于文本檢索的錯(cuò)誤定位方法,通過(guò)對(duì)錯(cuò)誤報(bào)告中的文本信息進(jìn)行語(yǔ)義分析,以錯(cuò)誤報(bào)告中的可觀測(cè)行為OB (observed behavior)、錯(cuò)誤復(fù)現(xiàn)步驟S2R (steps to reproduce)等作為查詢要素,通過(guò)各種組合方式,進(jìn)行重復(fù)錯(cuò)誤報(bào)告檢索,提高了檢索準(zhǔn)確度.但該方法中對(duì)于OB、S2R 等語(yǔ)句的識(shí)別主要依靠人為判定與標(biāo)注,在引入人為偏差的同時(shí),也降低了重復(fù)錯(cuò)誤報(bào)告檢索的自動(dòng)化程度.為了更進(jìn)一步地提高重復(fù)錯(cuò)誤報(bào)告的檢索效率,Sun 等[7]提出一種基于判別模型的重復(fù)錯(cuò)誤報(bào)告檢索方法,通過(guò)對(duì)錯(cuò)誤報(bào)告的信息進(jìn)行特征提取與對(duì)比,在錯(cuò)誤報(bào)告庫(kù)中檢索相似的錯(cuò)誤報(bào)告.該方法雖然較大程度提高了重復(fù)錯(cuò)誤報(bào)告的檢索準(zhǔn)確率,但動(dòng)態(tài)建模開銷較大.

        由于重復(fù)錯(cuò)誤報(bào)告檢索是基于完整的錯(cuò)誤報(bào)告,無(wú)法避免重復(fù)錯(cuò)誤報(bào)告的產(chǎn)生.因此,Hindle 等[8]借鑒搜索引擎的思想,給出了一種重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)方法.重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)是指:在錯(cuò)誤報(bào)告提交前對(duì)錯(cuò)誤報(bào)告進(jìn)行預(yù)測(cè),以避免重復(fù)錯(cuò)誤報(bào)告的產(chǎn)生.Hindle 等提出的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)方法,可在錯(cuò)誤報(bào)告編寫過(guò)程中,對(duì)當(dāng)前已輸入的文本內(nèi)容進(jìn)行實(shí)時(shí)檢索,依據(jù)檢索結(jié)果判定當(dāng)前撰寫的報(bào)告是否已在錯(cuò)誤報(bào)告庫(kù)中,避免重復(fù)錯(cuò)誤報(bào)告的提交.但由于其檢索過(guò)程采用倒排表索引技術(shù)[9],僅通過(guò)查詢?cè)~序列與錯(cuò)誤報(bào)告的詞法相關(guān)性進(jìn)行檢索,并未對(duì)錯(cuò)誤報(bào)告進(jìn)行深入的語(yǔ)義挖掘.因此,該方法在重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)的準(zhǔn)確度仍有很大的改進(jìn)空間.此外,隨著錯(cuò)誤報(bào)告庫(kù)的不斷增大,索引文件所占的內(nèi)存也在不斷增大[10],導(dǎo)致索引空間過(guò)大,檢索效率較低.

        因此,本文提出一種基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)方法,通過(guò)對(duì)錯(cuò)誤報(bào)告進(jìn)行主題語(yǔ)義挖掘,確定錯(cuò)誤報(bào)告的主題詞,構(gòu)建基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù),以減小錯(cuò)誤報(bào)告索引空間,建立主題詞-錯(cuò)誤報(bào)告之間的語(yǔ)義關(guān)系;在此基礎(chǔ)上,對(duì)查詢?cè)~序列進(jìn)行同義詞補(bǔ)充及基于語(yǔ)義的后續(xù)詞組擴(kuò)展,以提升查詢準(zhǔn)確度;同時(shí),在檢索過(guò)程中,利用語(yǔ)義擴(kuò)展后的查詢?cè)~序列對(duì)主題索引進(jìn)行檢索,以提升檢索效果及效率.通過(guò)實(shí)驗(yàn)驗(yàn)證,相較于傳統(tǒng)方法,本文方法減小了50% 以上的索引空間,在檢索速度上提升了41%–73%,預(yù)測(cè)效果最高提升33.6%.

        2 基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)構(gòu)建

        傳統(tǒng)的倒排表索引技術(shù)依據(jù)詞與錯(cuò)誤報(bào)告的包含關(guān)系建立詞與錯(cuò)誤報(bào)告的索引聯(lián)系[11,12],并且根據(jù)錯(cuò)誤報(bào)告中包含的詞全集建立錯(cuò)誤報(bào)告的索引詞庫(kù).一方面,僅靠包含關(guān)系建立起來(lái)的詞與錯(cuò)誤報(bào)告之間的語(yǔ)義關(guān)聯(lián)可能導(dǎo)致檢索的準(zhǔn)確率低下;另一方面,以詞全集作為錯(cuò)誤報(bào)告索引詞庫(kù)也造成索引空間的不斷增大,降低了檢索效率.

        基于此,本文提出一種基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)構(gòu)建方法,通過(guò)對(duì)錯(cuò)誤報(bào)告進(jìn)行主題語(yǔ)義挖掘,深化詞與錯(cuò)誤報(bào)告之間的語(yǔ)義關(guān)聯(lián),確定錯(cuò)誤報(bào)告主題詞,建立錯(cuò)誤報(bào)告主題詞與錯(cuò)誤報(bào)告之間的語(yǔ)義關(guān)系,構(gòu)建錯(cuò)誤報(bào)告主題索引詞庫(kù);同時(shí),為減小錯(cuò)誤報(bào)告索引空間,在構(gòu)建錯(cuò)誤報(bào)告主題索引詞庫(kù)時(shí),依據(jù)挖掘得到的錯(cuò)誤報(bào)告主題,進(jìn)行錯(cuò)誤報(bào)告主題詞確定,以縮小錯(cuò)誤報(bào)告索引詞庫(kù),從而減小索引空間.

        2.1 錯(cuò)誤報(bào)告主題挖掘

        針對(duì)錯(cuò)誤報(bào)告主題挖掘,本文借鑒自然語(yǔ)言處理中文檔主題分類思想,利用常用的LDA (latent Dirichlet allocation)主題模型[13,14],對(duì)庫(kù)中的錯(cuò)誤報(bào)告進(jìn)行主題挖掘,獲取錯(cuò)誤報(bào)告的主題分布與針對(duì)每個(gè)主題的詞項(xiàng)分布,由此可計(jì)算每份錯(cuò)誤報(bào)告的中心主題,以及與中心主題高度相關(guān)的若干關(guān)鍵詞,這些關(guān)鍵詞即為錯(cuò)誤報(bào)告的主題詞.

        在LDA 主題模型中,假設(shè)錯(cuò)誤報(bào)告主題與主題中詞項(xiàng)的先驗(yàn)分布均為Dirichlet 分布,則對(duì)于任一錯(cuò)誤報(bào)告,其主題分布為:

        其中,α為分布的超參數(shù),是一個(gè)k維向量;k代表主題個(gè)數(shù).

        對(duì)于任一主題,其詞項(xiàng)分布為:

        其中,η為分布的超參數(shù),是一個(gè)v維向量.v代表詞庫(kù)中詞的個(gè)數(shù).

        在利用LDA 主題模型對(duì)錯(cuò)誤報(bào)告進(jìn)行主題挖掘時(shí),設(shè)定的主題數(shù)目越多,對(duì)錯(cuò)誤報(bào)告的語(yǔ)義劃分越細(xì),后續(xù)建立的詞-錯(cuò)誤報(bào)告關(guān)系就越多;設(shè)定的主題數(shù)目越少,對(duì)錯(cuò)誤報(bào)告的劃分越粗,后續(xù)建立的詞-錯(cuò)誤報(bào)告關(guān)系就越少.因此,為了平衡檢索的準(zhǔn)確率與減小索引空間的需求,需要合理設(shè)定主題數(shù)目.

        2.2 錯(cuò)誤報(bào)告主題詞確定

        由于LDA 主題模型得到的詞概率分布中所含的詞全集作為錯(cuò)誤報(bào)告的主題詞,則錯(cuò)誤報(bào)告主題索引空間太大.為了減小錯(cuò)誤報(bào)告主題索引空間,本文依據(jù)挖掘得到的錯(cuò)誤報(bào)告主題,確定錯(cuò)誤報(bào)告的主題詞,剔除與主題關(guān)聯(lián)度不大的詞,將與主題較為相關(guān)的詞選入主題索引詞庫(kù).但由于設(shè)置的主題個(gè)數(shù)的局限性,可能會(huì)遺漏一些在主題的詞項(xiàng)分布中概率數(shù)值較低但對(duì)錯(cuò)誤報(bào)告區(qū)分度很高的詞,為避免遺漏此類主題詞,本文在確定錯(cuò)誤報(bào)告主題詞的過(guò)程中,利用TF-IDF 進(jìn)行詞項(xiàng)權(quán)重判定,以保留詞頻較低但較為重要的詞項(xiàng),也可有效避免常用詞對(duì)主題詞的影響.

        TF-IDF 公式計(jì)算如下:

        其中,tf(t,d) 表示詞t在錯(cuò)誤報(bào)告d中出現(xiàn)的頻率;N代表語(yǔ)料庫(kù)中錯(cuò)誤報(bào)告的總數(shù);df(t)代表包含詞t的錯(cuò)誤報(bào)告數(shù).ln(N/(df(t)+1))又可寫作idf,即逆文檔頻率.

        TF-IDF 代表的含義為:一個(gè)詞的重要程度跟它在錯(cuò)誤報(bào)告中出現(xiàn)的次數(shù)成正比[15],跟它在語(yǔ)料庫(kù)出現(xiàn)的次數(shù)成反比,通過(guò)詞頻(tf)與逆文檔頻率(idf)的乘積計(jì)算,其值越大,則表明該詞與錯(cuò)誤報(bào)告的關(guān)聯(lián)越大.因此,結(jié)合TF-IDF 權(quán)衡詞項(xiàng)權(quán)重,可有效避免常用詞對(duì)主題詞的影響,也能避免漏選低頻主題詞的情況.

        結(jié)合LDA的錯(cuò)誤報(bào)告主題語(yǔ)義挖掘與TF-IDF 詞項(xiàng)權(quán)重判定,可得出與主題相關(guān)性較高及與錯(cuò)誤報(bào)告關(guān)聯(lián)度較大的詞,這些詞可作為錯(cuò)誤報(bào)告的主題詞.錯(cuò)誤報(bào)告主題詞確定流程如圖1所示.

        圖1 錯(cuò)誤報(bào)告主題詞確定流程

        2.3 主題詞-錯(cuò)誤報(bào)告關(guān)系構(gòu)建

        為構(gòu)建錯(cuò)誤報(bào)告主題索引詞庫(kù),在確定了錯(cuò)誤報(bào)告主題詞的基礎(chǔ)上,還需要對(duì)錯(cuò)誤報(bào)告主題詞與錯(cuò)誤報(bào)告本身建立關(guān)系.

        在傳統(tǒng)的錯(cuò)誤報(bào)告索引詞庫(kù)構(gòu)建中,詞與錯(cuò)誤報(bào)告之間的關(guān)系為包含關(guān)系[16],即若某詞包含于若干錯(cuò)誤報(bào)告中,則該詞與這些錯(cuò)誤報(bào)告形成關(guān)聯(lián)關(guān)系.但這種包含關(guān)系不能體現(xiàn)詞與錯(cuò)誤報(bào)告更深層次的語(yǔ)義關(guān)系,所以檢索效果不佳.

        因此,本文通過(guò)建立錯(cuò)誤報(bào)告主題詞與錯(cuò)誤報(bào)告的語(yǔ)義關(guān)系,深化錯(cuò)誤報(bào)告主題詞與錯(cuò)誤報(bào)告之間的語(yǔ)義關(guān)聯(lián),以提升檢索效果.

        圖2為主題詞-錯(cuò)誤報(bào)告關(guān)系示例圖.在主題詞與錯(cuò)誤報(bào)告的語(yǔ)義關(guān)系中,主題是主題詞與錯(cuò)誤報(bào)告的關(guān)系媒介,即主題詞與錯(cuò)誤報(bào)告的關(guān)聯(lián)是通過(guò)同屬于某一主題形成的.

        圖2 主題詞-錯(cuò)誤報(bào)告關(guān)系示例圖

        3 基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)

        為提高重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)的準(zhǔn)確率與檢索效率,本文提出一種基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)方法,框架如圖3所示,主要由錯(cuò)誤報(bào)告主題索引詞庫(kù)構(gòu)建、查詢?cè)~序列擴(kuò)展、基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索,以及預(yù)測(cè)結(jié)果排序4 個(gè)部分組成.

        圖3 基于語(yǔ)義擴(kuò)展連續(xù)查詢重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)方法

        對(duì)初始查詢?cè)~序列進(jìn)行基于語(yǔ)義上下文的擴(kuò)展,可以得到初始查詢?cè)~序列的同義詞組及語(yǔ)義后續(xù)詞組,形成當(dāng)前查詢?cè)~擴(kuò)展序列.同時(shí),由于庫(kù)中錯(cuò)誤報(bào)告數(shù)量龐大,為提升檢索效率,本文通過(guò)基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法,對(duì)當(dāng)前查詢?cè)~擴(kuò)展序列進(jìn)行檢索.為保證預(yù)測(cè)結(jié)果與查詢?cè)~序列在語(yǔ)義上更具相關(guān)性,對(duì)檢索得到的相關(guān)錯(cuò)誤報(bào)告,依據(jù)文本相似度進(jìn)行排序,以此為最終的預(yù)測(cè)結(jié)果.

        3.1 查詢?cè)~序列擴(kuò)展

        在重復(fù)錯(cuò)誤報(bào)告連續(xù)查詢時(shí),為提高重復(fù)錯(cuò)誤報(bào)告的查全率,本文通過(guò)當(dāng)前詞的同義詞補(bǔ)充與后續(xù)詞組預(yù)測(cè),對(duì)初始查詢?cè)~序列進(jìn)行基于語(yǔ)義上下文的擴(kuò)展,形成當(dāng)前詞的擴(kuò)展序列.

        (1)當(dāng)前詞同義詞補(bǔ)充

        對(duì)當(dāng)前詞進(jìn)行同義詞補(bǔ)充的目的有兩個(gè),一是若當(dāng)前詞在錯(cuò)誤報(bào)告主題索引詞庫(kù)中不存在時(shí),對(duì)當(dāng)前詞進(jìn)行同義詞補(bǔ)充,可以使補(bǔ)充的同義詞在錯(cuò)誤報(bào)告主題索引詞庫(kù)中;二是通過(guò)當(dāng)前詞同義詞補(bǔ)充,擴(kuò)大當(dāng)前詞關(guān)聯(lián)的錯(cuò)誤報(bào)告范圍,可提升查全率.

        (2)基于語(yǔ)義的后續(xù)詞組預(yù)測(cè)

        當(dāng)查詢?cè)~序列較短時(shí),由于輸入的詞較少,查詢信息難以完整,僅依靠同義詞補(bǔ)充,并不能很好地將查詢信息補(bǔ)充完整,查詢檢索的準(zhǔn)確率無(wú)法提升.因此,可通過(guò)對(duì)當(dāng)前詞的同義詞組,進(jìn)行基于語(yǔ)義上下文的后續(xù)詞組預(yù)測(cè),得到<當(dāng)前詞,同義詞,后續(xù)詞>的若干三元組,作為當(dāng)前詞的擴(kuò)展序列.通過(guò)基于語(yǔ)義的后續(xù)詞組預(yù)測(cè),得到當(dāng)前詞及其同義詞組的語(yǔ)義下文詞組,從語(yǔ)義上對(duì)查詢信息進(jìn)行了完善,有助于提升重復(fù)錯(cuò)誤報(bào)告的查全率.

        3.2 基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法

        在傳統(tǒng)的錯(cuò)誤報(bào)告檢索中,檢索算法大多基于倒排表設(shè)計(jì).倒排表索引詞庫(kù)中包含的詞為語(yǔ)料庫(kù)中所有的詞;同時(shí),倒排表索引結(jié)構(gòu)的構(gòu)建是基于詞與錯(cuò)誤報(bào)告的包含關(guān)系,這就使得無(wú)論對(duì)檢索算法如何改進(jìn),由于索引空間是不變的,檢索效率的提升也是有限的.因此,為進(jìn)一步提升檢索效率,本文提出一種基于錯(cuò)誤報(bào)告主題索引詞庫(kù)的連續(xù)查詢錯(cuò)誤報(bào)告檢索算法,利用基于語(yǔ)義預(yù)測(cè)的前項(xiàng)查詢?cè)~擴(kuò)展序列,在錯(cuò)誤報(bào)告主題索引詞庫(kù)中進(jìn)行檢索時(shí),可以縮小檢索空間,大幅提升檢索效率.

        在查詢?cè)~序列擴(kuò)展時(shí),對(duì)當(dāng)前詞的同義詞組進(jìn)行基于語(yǔ)義的后續(xù)詞組預(yù)測(cè),得到當(dāng)前詞的擴(kuò)展序列<當(dāng)前詞,同義詞,后續(xù)詞>,后續(xù)詞中有可能含有下一個(gè)要輸入的詞,由此可知,當(dāng)前詞也極有可能包含在其前項(xiàng)詞擴(kuò)展序列的后續(xù)詞中.擴(kuò)展序列后續(xù)詞的數(shù)量顯然小于錯(cuò)誤報(bào)告主題索引詞庫(kù)中詞的數(shù)量.所以,若在錯(cuò)誤報(bào)告主題索引詞庫(kù)中對(duì)當(dāng)前詞的擴(kuò)展序列進(jìn)行檢索時(shí),先在其前項(xiàng)詞的擴(kuò)展序列中檢索當(dāng)前詞,若當(dāng)前詞包含在其前項(xiàng)詞的擴(kuò)展序列中,借助前項(xiàng)詞擴(kuò)展序列的檢索結(jié)果,可以快速得到當(dāng)前詞擴(kuò)展序列的檢索結(jié)果,較大程度地提升檢索效率.因此,基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法如算法1.

        算法1.基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法1) Buildsequence(input_word,synonym_word,conse-quent_word) //建立當(dāng)前詞擴(kuò)展序列;2) Length(initial_sequence,input_word) //判斷當(dāng)前詞在查詢?cè)~序列中的位置;If(Length(initial_sequence,input_word)==0){Search index}//若當(dāng)前詞為第一個(gè)輸入詞,即不存在前項(xiàng)詞,則在錯(cuò)誤報(bào)告主題索引中進(jìn)行檢索;3) Else Search preceding_sequence//否則檢索其前項(xiàng)詞的擴(kuò)展序列;If succeed{return index_report//若在其前項(xiàng)詞擴(kuò)展序列中檢索到當(dāng)前詞,則返回相關(guān)錯(cuò)誤報(bào)告;}Else Search index//否則繼續(xù)在錯(cuò)誤報(bào)告主題索引中檢索.

        3.3 重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)結(jié)果排序

        在錯(cuò)誤報(bào)告主題索引中,主題詞-錯(cuò)誤報(bào)告關(guān)系是由主題詞與錯(cuò)誤報(bào)告的主題相關(guān)性構(gòu)建起來(lái)的,因此,檢索得到的錯(cuò)誤報(bào)告是與查詢?cè)~序列具有主題相關(guān)性的.但是由于主題數(shù)目的有限性,使得僅通過(guò)主題相關(guān)性,無(wú)法準(zhǔn)確表征詞在錯(cuò)誤報(bào)告中的重要性.所以,僅以主題相關(guān)性作為預(yù)測(cè)結(jié)果是不全面的.

        由于TF-IDF、BM25 等文本相似性算法比較簡(jiǎn)單,能夠快速且較為準(zhǔn)確地計(jì)算出查詢語(yǔ)句與文檔的相似性,在實(shí)時(shí)搜索中具有較強(qiáng)的實(shí)用性.因此,為了保證檢索實(shí)時(shí)性與查詢結(jié)果的準(zhǔn)確性,本文采用文本相似性與主題相關(guān)性結(jié)合的方式對(duì)重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)結(jié)果進(jìn)行排序,即在基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索結(jié)果的基礎(chǔ)上,對(duì)檢索得到的錯(cuò)誤報(bào)告與查詢?cè)~序列進(jìn)行文本相似性計(jì)算,將計(jì)算結(jié)果與錯(cuò)誤報(bào)告主題相似度求和,以此作為重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)結(jié)果的排序依據(jù).

        4 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析

        4.1 數(shù)據(jù)集

        為驗(yàn)證方法的有效性,針對(duì)GoogleCode、LaunchPad、Bugzilla 三個(gè)錯(cuò)誤報(bào)告管理系統(tǒng),選取了12 個(gè)開源項(xiàng)目,并收集了錯(cuò)誤報(bào)告254 883 份,進(jìn)行實(shí)驗(yàn)分析.數(shù)據(jù)集信息如表1所示.

        表1 實(shí)驗(yàn)數(shù)據(jù)集

        4.2 實(shí)驗(yàn)設(shè)計(jì)

        為驗(yàn)證本文提出方法的有效性,本文設(shè)計(jì)了多組對(duì)比實(shí)驗(yàn),從索引空間、檢索效率、預(yù)測(cè)效果3 個(gè)方面對(duì)本文方法進(jìn)行驗(yàn)證.此外,在檢索效率的對(duì)比實(shí)驗(yàn)中,單獨(dú)設(shè)置消融實(shí)驗(yàn),以驗(yàn)證本文方法各模塊對(duì)整體方法檢索效率提升的貢獻(xiàn).

        Lucene 是目前常用的全文檢索引擎架構(gòu),使用倒排表索引與全文檢索算法.本文將其作為對(duì)照組方法進(jìn)行對(duì)比實(shí)驗(yàn).

        (1)基于主題模型的錯(cuò)誤報(bào)告索引空間分析

        隨著錯(cuò)誤報(bào)告庫(kù)的不斷增大,錯(cuò)誤報(bào)告的索引空間也在不斷增大.過(guò)大的錯(cuò)誤報(bào)告索引空間會(huì)降低錯(cuò)誤報(bào)告檢索效率.本文通過(guò)構(gòu)建基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù),縮小錯(cuò)誤報(bào)告索引空間.將基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)與倒排表索引詞庫(kù)進(jìn)行詞數(shù)對(duì)比,驗(yàn)證基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)在索引空間上的優(yōu)越性.

        本文使用LDA 主題模型對(duì)數(shù)據(jù)集建模,設(shè)置主題數(shù)120,分別得到該參數(shù)下基于主題的詞與錯(cuò)誤報(bào)告的概率分布,再利用TF-IDF 算法確定錯(cuò)誤報(bào)告主題詞,構(gòu)建基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù).倒排表索引詞庫(kù)的構(gòu)建方法為以Lucene 全文檢索框架自帶的Indexwriter 對(duì)數(shù)據(jù)集中的錯(cuò)誤報(bào)告進(jìn)行倒排表索引構(gòu)建,得到倒排表索引詞庫(kù).通過(guò)計(jì)算倒排表索引詞庫(kù)與基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)中的詞數(shù),進(jìn)行索引空間對(duì)比.

        (2)基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索效率分析

        檢索效率分析旨在驗(yàn)證本文提出的基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法的優(yōu)越性與查詢?cè)~序列擴(kuò)展模塊的必要性.在評(píng)價(jià)檢索效率時(shí),通用指標(biāo)為查全率、查準(zhǔn)率與檢索速度,檢索速度通常采用檢索時(shí)間的長(zhǎng)短表征.為了綜合衡量查全率與查準(zhǔn)率,本文采用F1-score作為評(píng)價(jià)指標(biāo).由于本文方法由多個(gè)模塊組成,需要設(shè)置消融實(shí)驗(yàn),進(jìn)一步驗(yàn)證基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)、查詢?cè)~序列擴(kuò)展、基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法3 個(gè)模塊對(duì)本文方法在檢索效率方面的提升.

        基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法中,需要使用查詢?cè)~序列擴(kuò)展模塊中的變量,因此,將基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法與查詢?cè)~序列擴(kuò)展看作一個(gè)整體模塊進(jìn)行消融實(shí)驗(yàn),設(shè)計(jì)如下:

        使用Lucene 作為實(shí)驗(yàn)對(duì)照組.

        將基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)替換為倒排表索引詞庫(kù),并與本文基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法相結(jié)合,形成方法1;將基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)與Lucene的全文檢索算法結(jié)合,形成方法2.再將方法1、方法2 與Lucene 方法進(jìn)行對(duì)比實(shí)驗(yàn),計(jì)算檢索時(shí)間與F1-score,以檢驗(yàn)各模塊在提升檢索效率方面的作用.

        (3)基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)效果分析

        由于目前在重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)研究領(lǐng)域,僅有Hindle 等 [8]的實(shí)證研究得出了研究成果,因此,本文基于文獻(xiàn)[8]實(shí)驗(yàn)的數(shù)據(jù)集,構(gòu)建基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)實(shí)驗(yàn),并將實(shí)驗(yàn)結(jié)果與文獻(xiàn)[8]中的結(jié)果進(jìn)行對(duì)比.

        同時(shí),為了實(shí)驗(yàn)的充分性,在上述實(shí)驗(yàn)的基礎(chǔ)上,選取Firefox 與Mozilla 兩個(gè)項(xiàng)目作為補(bǔ)充的數(shù)據(jù)集.在補(bǔ)充數(shù)據(jù)集上復(fù)現(xiàn)文獻(xiàn)[8]的實(shí)驗(yàn),將其實(shí)驗(yàn)結(jié)果與本文方法的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比.

        4.3 實(shí)驗(yàn)結(jié)果與分析

        (1)基于主題模型的錯(cuò)誤報(bào)告索引空間實(shí)驗(yàn)結(jié)果分析

        如圖4所示為基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)與倒排表索引詞庫(kù)的詞數(shù)對(duì)比,其中,主題索引詞庫(kù)表示基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù).可以看出,基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)的詞數(shù)比倒排表索引詞庫(kù)的詞數(shù)少50%以上.這是由于基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù),對(duì)錯(cuò)誤報(bào)告中的詞項(xiàng)進(jìn)行主題相關(guān)性與詞項(xiàng)重要性的篩選,得到的主題詞遠(yuǎn)少于倒排表索引詞庫(kù)中的詞,較大程度地減小了索引空間.

        圖4 索引空間對(duì)比圖

        (2)基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索效率結(jié)果分析

        如圖5所示為L(zhǎng)ucene 檢索方法與本文方法、方法1、方法2 在檢索時(shí)間上的對(duì)比.其中,Lucene 檢索代表Lucene 檢索方法;連續(xù)查詢檢索代表本文方法.

        檢索時(shí)間計(jì)時(shí)起點(diǎn)為輸入查詢?cè)~序列,終點(diǎn)為檢索出相關(guān)錯(cuò)誤報(bào)告.索引的構(gòu)建不納入檢索時(shí)間的考量.

        從圖5可以看出,由于減小了索引空間,并且在檢索過(guò)程中采用了基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法,在檢索當(dāng)前詞時(shí),先檢索前項(xiàng)詞擴(kuò)展序列,而不是檢索整個(gè)錯(cuò)誤報(bào)告主題索引詞庫(kù),在檢索的過(guò)程中減小了檢索空間,因此,本文方法的檢索時(shí)間較Lucene 檢索算法縮短了41%–73%.

        圖5 檢索時(shí)間對(duì)比圖

        同時(shí),通過(guò)方法1 與方法2的比較,可以看出,方法1 與方法2的檢索時(shí)間相較于Lucene 檢索方法都有減小,且方法2的減小幅度更大,這是由于基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù)的建立,較大幅度地縮小了錯(cuò)誤報(bào)告的索引空間,在同等情況下,減少了檢索時(shí)間.

        表2為L(zhǎng)ucene 檢索方法與本文方法、方法1、方法2 在F1-score 上的對(duì)比.F1-score 數(shù)值越大說(shuō)明其檢索效率越高.由表2可得,本文方法(連續(xù)查詢檢索方法)相較于Lucene 檢索方法,在F1-score 分?jǐn)?shù)上提高了約20%,檢索效率更高,這是由于查詢?cè)~序列擴(kuò)展補(bǔ)全了查詢信息,使得檢索的查全率與查準(zhǔn)率得到提升.方法2的F1-score 分?jǐn)?shù)最低,因?yàn)榉椒? 去除了查詢?cè)~序列擴(kuò)展模塊,且使用基于主題模型的錯(cuò)誤報(bào)告索引詞庫(kù),索引詞庫(kù)中僅有數(shù)量較少的錯(cuò)誤報(bào)告主題詞,因此在進(jìn)行檢索時(shí),其查準(zhǔn)率較低,由此導(dǎo)致F1-score 分?jǐn)?shù)低.

        表2 F1-score 對(duì)比

        (3)基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)效果實(shí)驗(yàn)結(jié)果分析

        文獻(xiàn)[8]的實(shí)驗(yàn)通過(guò)MAP、MRR、TOP-k、AveP-TOPk、MRR-TOPk、MRR-TOPk-1 綜合衡量重復(fù)錯(cuò)誤報(bào)告的預(yù)測(cè)效果.MAP 代表平均精度,是一種有效衡量信息檢索精度的分?jǐn)?shù),其值越高,代表預(yù)測(cè)效果越好;MRR 代表重復(fù)錯(cuò)誤報(bào)告排名的倒數(shù)平均值,當(dāng)重復(fù)錯(cuò)誤報(bào)告排名越靠前,其MRR 分?jǐn)?shù)越高;TOPk 代表重復(fù)錯(cuò)誤報(bào)告出現(xiàn)在給定的排名域中的個(gè)數(shù),數(shù)值越高表示預(yù)測(cè)效果越好.

        但由于MAP、MRR、TOP-k 具有局限性,不能表征查詢?cè)~序列長(zhǎng)短對(duì)預(yù)測(cè)結(jié)果的影響,因此,Hindle 等[8]又提出了AveP-TOPk、MRR-TOPk、MRR-TOPk-1 指標(biāo)作為補(bǔ)充,其數(shù)值越高表示預(yù)測(cè)效果越好.其中,AveP-TOPk 是MAP 與TOP-k的結(jié)合,AveP-TOPk 數(shù)值越高,代表在同樣的預(yù)測(cè)結(jié)果情況下,使用的查詢?cè)~數(shù)越少;MRR-TOPk 代表重復(fù)錯(cuò)誤報(bào)告第一次出現(xiàn)在TOPk 排名中時(shí),其MRR 分?jǐn)?shù),數(shù)值越大,表明預(yù)測(cè)效果越好;MRR-TOPk-1 則表示重復(fù)錯(cuò)誤報(bào)告第一次出現(xiàn)在TOPk 排名中時(shí),平均所需要的查詢?cè)~數(shù),數(shù)值越小表明預(yù)測(cè)效果越好.

        基于文獻(xiàn)[8]實(shí)驗(yàn)數(shù)據(jù)集的預(yù)測(cè)效果對(duì)比如表3.AC 代表文獻(xiàn)[8]方法,SECQ (semantically extended continuous query)代表本文方法.由表3可以看出,本文方法在6 個(gè)評(píng)價(jià)指標(biāo)上均優(yōu)于文獻(xiàn)[8]方法,其中,AveP-TOP5 提升了20%以上.表4所示為基于補(bǔ)充數(shù)據(jù)集,復(fù)現(xiàn)文獻(xiàn)[8]方法實(shí)驗(yàn),得到的實(shí)驗(yàn)結(jié)果與本文實(shí)驗(yàn)結(jié)果的對(duì)比.

        表3 基于文獻(xiàn)[8]實(shí)驗(yàn)數(shù)據(jù)集的預(yù)測(cè)效果對(duì)比

        通過(guò)表4的對(duì)比可以看出,在改變數(shù)據(jù)集的情況下,本文方法仍在6 個(gè)評(píng)價(jià)指標(biāo)上均優(yōu)于文獻(xiàn)[8]方法,最高提升33.6%.

        表4 基于補(bǔ)充數(shù)據(jù)集的預(yù)測(cè)效果對(duì)比

        由此可見(jiàn),與傳統(tǒng)方法相比,本文方法減小了索引空間,同時(shí),在檢索效率與預(yù)測(cè)效果上均有提升.

        5 結(jié)束語(yǔ)

        本文提出了一種基于語(yǔ)義擴(kuò)展連續(xù)查詢的重復(fù)錯(cuò)誤報(bào)告預(yù)測(cè)方法.通過(guò)挖掘錯(cuò)誤報(bào)告主題,以錯(cuò)誤報(bào)告主題為媒介,確定錯(cuò)誤報(bào)告的主題詞,構(gòu)建錯(cuò)誤報(bào)告主題索引詞庫(kù),建立錯(cuò)誤報(bào)告主題詞與錯(cuò)誤報(bào)告的關(guān)系,減小了錯(cuò)誤報(bào)告索引空間;在此基礎(chǔ)上,對(duì)查詢?cè)~序列進(jìn)行語(yǔ)義擴(kuò)展,提出基于連續(xù)查詢的錯(cuò)誤報(bào)告檢索算法,縮小檢索空間,在提高了預(yù)測(cè)準(zhǔn)確率的同時(shí),也提升了檢索的效率.實(shí)驗(yàn)表明,本文方法在索引空間與檢索時(shí)間上較傳統(tǒng)方法有較大減小,同時(shí)與文獻(xiàn)[8]實(shí)驗(yàn)結(jié)果的對(duì)比表明,在預(yù)測(cè)效果上,本文方法更好,提升了33.6%.

        猜你喜歡
        語(yǔ)義方法
        語(yǔ)言與語(yǔ)義
        學(xué)習(xí)方法
        可能是方法不對(duì)
        “上”與“下”語(yǔ)義的不對(duì)稱性及其認(rèn)知闡釋
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        捕魚
        認(rèn)知范疇模糊與語(yǔ)義模糊
        “深+N季”組配的認(rèn)知語(yǔ)義分析
        亚洲夜夜骑| 亚洲夜夜性无码| 香蕉人人超人人超碰超国产| 青草福利在线| 亲少妇摸少妇和少妇啪啪| 精品乱色一区二区中文字幕| 国产无套粉嫩白浆在线观看| 一本色道av久久精品+网站 | 久久精品国产热| 日本伦理视频一区二区| 亚洲av成人综合网成人| 51国偷自产一区二区三区| 人伦片无码中文字幕| 国产av一区二区三区狼人香蕉 | 人妻少妇偷人精品视频| 无码无套少妇毛多18p| 亚洲中文字幕无码mv| 天天澡天天揉揉AV无码人妻斩| 国产在线视频网友自拍| 日本高清视频wwww色| 四虎影视在线观看2413| 中文字幕一区,二区,三区| 91久久综合精品久久久综合| 欧美亚洲色综久久精品国产| 亚洲av日韩aⅴ永久无码| 国产精品美女自在线观看 | 天天综合网在线观看视频| 欧美成人久久久免费播放| 亚洲综合网中文字幕在线| 亚洲最大成人网站| 亲子乱aⅴ一区二区三区下载| 日韩欧美精品有码在线观看 | 国产大片在线观看三级| 亚洲天堂av三区四区不卡| 纯爱无遮挡h肉动漫在线播放| 欧美精品v欧洲高清| 女人18毛片aa毛片免费| 无码精品人妻一区二区三区av| 国产中文制服丝袜另类| 中文乱码字幕人妻熟女人妻| 国产电影无码午夜在线播放|