一区二区91,久久伊人热99,亚洲AV成人一区二区三区观看在线飞飞影视,国产高清国际精品福利色噜噜

首頁論文查重動態(tài)學位論文查重中如何使用Lucene全文檢索

學位論文查重中如何使用Lucene全文檢索

時間:2014-10-23 編輯整理:早檢測網(wǎng) 來源:早檢測網(wǎng)

針對當今的學位論文重復率高的現(xiàn)狀,文章提出了基于Lucene全文檢索在學位論文查重中的重要應用。文章采用的技術主要包括Lucene框架技術,分詞技術和搜索查詢,并結合多種數(shù)據(jù)挖掘算法實現(xiàn)論文查重的檢測系統(tǒng),文章主要介紹論文查重的原理、方法和在系統(tǒng)實現(xiàn)過程中用到的核心技術,在技術整合的過程中呈現(xiàn)出該系統(tǒng)的優(yōu)質(zhì)性。

本系統(tǒng)用的是Lucene全文檢索架構,Lucene作為一個全文檢索引擎框架,在構建機制上有眾多明顯的優(yōu)點:首先,它可以對任何可以轉(zhuǎn)化成文本格式的數(shù)據(jù)進行索引的創(chuàng)建,而學術論文包含的doc、PDF和CAJ等等這些格式都是可以轉(zhuǎn)換成文本格式。其次,Lucene主要是運用經(jīng)典的倒排索引建立索引,并在此基礎上通過建立分塊索引機制,對于新的文件建立小文件索引,然后將其與原有建立的索引進行合并,從而優(yōu)化了索引結構,并整體提高了索引工作效率。同時,Lucene具有良好的開發(fā)環(huán)境和很強的兼容性,它可以順利地在不同系統(tǒng)和不同平臺上構建索引文件?;贚ucene的這些特點,它可以運用到學術論文查重上。

1 相關技術綜述

1.1 Lucene概述

Lucene是基于java語言的免費開源的全文檢索引擎的架構,由信息搜索領域的專家Doug Cutting創(chuàng)作,目前是Apache Jakarta家族中的一個開源項目。它為數(shù)據(jù)訪問和管理提供了方便靈活的API,主要包括查詢引擎、索引引擎、存儲管理和文本分析接口。Lucene的API接口設計的比較通用,利用這些接口可以將Lucene集成到各種應用程序中[1]。Lucene本質(zhì)上只是一個軟件庫或者說是工具包,為用戶提供了強大的索引和搜索能力。

1.2 分詞技術

分詞是指將連續(xù)的字符序列按照一定的規(guī)則切分具有獨立語義的詞組的過程。分詞技術從語言類型上來講主要分為兩類:一類以英文為代表的字母型文字,英文的基本單元是單詞,單詞之間是以空格作為自然分界符的;另一類是以漢語為代表的東亞語言;漢字只是字、句和段能通過明顯的分界符來簡單劃界,詞與詞之間沒有天然的分隔。因此與英文分詞相比,中文要復雜的多且困難的多。目前,主流的中文分詞技術包括:基于機械匹配的分詞方法、基于統(tǒng)計的分詞方法和模擬分詞法。機械匹配分詞方法是基于詞典的分詞方法,主要思想是基于字符串匹配的機械分詞,這種方法是按照一定的策略將待分詞的字符串與一個“充分大的”機器詞典中的詞條進行匹配,若能在詞典中找到某個字符串,則匹配成功。由于機械分詞法的效率和準確性受到詞庫容量的約束,且不能有效克服歧義切分,所以單純采用機械分詞法切分精度不高、切分準確率低;基于統(tǒng)計的分詞法實際上是最大概率分詞法,其基本思想是:首先切分出與詞表能匹配成功的所有可能的詞,然后運用統(tǒng)計語言模型和決策算法決定最優(yōu)的切分結果,該方法的優(yōu)點是具有非常好的切分歧義處理能力和識別新詞的能力,但是統(tǒng)計分詞方法需要大量的訓練文本,計算量大,且分詞精度與訓練文本的選擇有關;模擬分詞方法是通過計算機程序模擬人對句子的理解最終達到分詞的目的,實現(xiàn)方法主要是通過基于語法分析、語義分詞和

上下文語境等來實現(xiàn)對詞的切分并判斷歧義。它通常包括三個部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關詞、句子等的句法和語義信息來對分詞歧義進行判斷,即讓計算機模擬人對句子的理解過程,具備人類的理解力。這種分詞方法需要使用大量的語言知識和信息。由于漢語語言知識的籠統(tǒng)和復雜性,難以將各種語言信息組織成機器可直接讀取的形式,因此目前基于模擬的分詞系統(tǒng)還處在試驗階段。

2 系統(tǒng)設計

設計目標:利用現(xiàn)有的全文檢索技術對論文進行對比查重,結合該領域頂尖的主流技術實現(xiàn)高效、精準的查重效果。

Lucene并不是完美的,它在索引和檢索方面具備很強的優(yōu)勢,然而在中文分詞方面卻比較薄弱。Lucene自帶有兩個中文分詞器ChineseAnalyzer和CJKAnalyzer功能較弱。它們的分詞方法各不同,ChineseAnalyzer分析器采用的是單字分詞法,而CJKAnalyzer分析器采用的是二分法,CJKAnalyzer會產(chǎn)生大量的無實際意義或無檢索意義的垃圾詞匯;ChineseAnalyzer不僅分詞效率低,而且分詞質(zhì)量差,需要結合其他的分詞方法,才能保證分詞的準確性。所以本系統(tǒng)在建立索引中采用的分詞技術不依賴于Lucene本身的分詞技術,主要是利用現(xiàn)在最高效的分詞技術進行分詞,結合Lucene在索引建立方面的高效性,使得兩者更能高效的結合起來,

3 框架設計

3.1 系統(tǒng)整體流程

3.2 純文本的轉(zhuǎn)化

my document=Documents.Open(“文檔所在目錄”);

my txtfilename=‘H:\’

document.Saves({FileName=txtfilename,

FileFormat=document})。

現(xiàn)在好多工具都可以自身實現(xiàn)純文本格式的轉(zhuǎn)換,但是這些工具大多都是基于單一文檔或者單一格式的,為了在這上面節(jié)省時間,本系統(tǒng)采用了批量轉(zhuǎn)換所有格式文檔,將庫存文檔全部一次性轉(zhuǎn)換成純文本文檔以便后期的使用。

3.3 分詞技術

分詞技術前提是對文本文檔按照一定的規(guī)則進行詞法分析,之后針對文本文檔進行分段,最后進行段落的分詞。本文采用基于Ictclas中文分詞算法的Ansj分詞,對文本進行原子切分,切分的時候根據(jù)詞法分析剔除了的、地、得這類無實際意義的詞,保留人名、地名、國家名和用戶自定義字典,最大化的減少歧義詞的分解,該分詞法利用雙數(shù)組規(guī)劃進行比對核心詞典進行分詞,其速度可以達到300w/s,經(jīng)過分詞之后我們可以計算每個詞在文檔中的權重其中Wx,d是詞x在d這篇文本中的權重,fx,d是詞x在d這篇文本中出現(xiàn)的頻率,n是文本的總數(shù),gx是包含詞x的文本個數(shù)。

詞的權重(Term weight)表示此詞(Term)在此文檔中的重要程度,越重要的詞(Term)有越大的權重(Term weight),詞的權重在計算文檔之間的相關性中將發(fā)揮更大的作用。詞的相關性打分公式如下:上述公式求得m和n文檔的相關性,文檔相關性主要用于調(diào)取和檢索文檔相關的文檔。

3.4 創(chuàng)建索引

Lucene提供的API可以直接創(chuàng)建和更新索引,在分詞重組之后用IndexWriter添加索引,對一級索引進行順序排列,二級索引采用哈希法進行排列,其中必須包含的是詞出現(xiàn)的文檔、具體地址和頻率,利用鏈表控制可以節(jié)省物理空間,在建立索引的時候把人名、地名這些名稱代詞和內(nèi)容分開,方便查詢。

3.5 查重

由于被查的文檔不是純文本格式,所以要先進行過濾和詞法分析建立索引,進行文檔索引和庫索引的搜索對比,找到重復的索引之后打開庫索引中保存的段信息,最終找到文檔信息,進行某個索引詞在文檔中的精細對比,最終可以根據(jù)各個詞的權重和查找到的概率進行一個論文重復度的計算,達到論文查重的目的。

4 總結

該系統(tǒng)充分結合了高效的分詞技術和Lucene本身的全文檢索優(yōu)勢,給高效的學位論文檢測提供了方便,精細的查重技術在很大程度上緩解了論文重復度高的現(xiàn)狀,雖然該系統(tǒng)結合了各個部分的優(yōu)點,但是結合之處仍有一些不足之處,需要在系統(tǒng)運行之后進行實時的改進和完善。


在線咨詢
在線留言
系統(tǒng)列表
返回頂部