前言:我們精心挑選了數篇優質匹配算法論文文章,供您閱讀參考。期待這些文章能為您帶來啟發,助您在寫作的道路上更上一層樓。
在畢業論文管理工作不斷加強的情況下,注重管理模式的更新和合理選用,提高匹配算法的針對性,才能真正提高高校教務管理水平。因此,對深度挖掘匹配算法在畢業論文管理中的應用有比較全面的了解,才能為高校教務管理工作提供可靠參考依據。
1 深度挖掘匹配算法的相關分析
根據深度挖掘匹配算法在畢業論文管理中的應用情況進行全面分析來看,其主要包括如下兩個方面:
1.1 志愿自動匹配算法的相關分析
對學生和課題的選擇關系進行合理分析可知,兩者的最優、最大匹配,最好是根據學生的實際情況量身定做,才能真正實現課題與學生的最完美匹配。因此,教師提出相關題目時,需要對學生的情況、特性和要求等進行全面分析,才能在學生對課題的特性、關聯性等有一定了解的情況下,提高課題與學生的匹配概率,最終讓學生選定最合適的課題。在實踐過程中,志愿自動匹配算法的合理運用,需要根據畢業論文的管理流程,從教師出題開始。一般情況下,教師應該先提出大題讓學生自由選擇,在匹配學生確定好以后將大題分成幾個小題,從而將每個小題分配給合適的學生。在這種情況下,教師設定的課題需要從修讀課程達到的分數、難度、所屬類別等多個方面確定,并從教務管理系統中獲取學生的成績和選題積分點等,才能根據分數線來判定學生是否符合相關選題。其中,選題的難度在簡單、一般、難、很難和非常難幾個等級,對應的成績是及格、良好、優秀、極好。在實際進行選題時,學生可以根據自己的情況選擇三個題目作為志愿,以在系統完成匹配后,自定將題目下發給學生。在實踐過程中,初始化志愿顯示的是學生的第一志愿,在經過while、if、else、break、continue等流程后,系統會將題目和學生進行適當分類,以確保題目與學生的匹配最合理、最科學。由此可見,志愿自動匹配算法是優先對具有課題相關能力的學生進行匹配的,在學生人數低于匹配數量的情況下,可繼續為積分點高、能力稍差的學生進行匹配,對于確保課程成績與積分點的完美結合有著極大影響。
1.2 調劑學生算法的相關分析
在經過上述算法進行匹配后,根據學生的實際情況進行深層挖掘,可以實現課題與剩余學生的完美調劑。因此,對上述階段中匹配失敗的學生志愿所選的教師、課題類別、難度等因素進行深度挖掘,并將搜索結果作為匹配課題的依據,才能在縮小搜索范圍的情況下,找到與剩余學生最合適的課題。如果出現相近課題較多的情況,則需要有學生、工作人員共同協商,以確定最終和最適合學生的課堂。在實踐應用中,調劑學生算法的運用需要對需要調劑的學生進行合理分析,并通過if、else、return、while、continue、else等多個流程,才能真正匹配出最適合學生的課題。
2 深度挖掘匹配算法在畢業論文管理中的實際應用
根據深度挖掘匹配算法的實際應用來看,在畢業論文管理中學生可以了解到最適合自己的課題信息,教師可以根據學生的積分點和成績等確定課題,從而避免選擇某一課題的學生過多或過少的情況出現,對于提高第一志愿自動匹配成功率有著極大作用。因此,在實際應用中,注重教師、課題類別、難度的合理設定,確保它們的排序科學,將課堂與學生的匹配關系看作是二分圖,并且,每個學生可以選擇的課題有三個,系統可以根據學生的實際情況進行自動匹配,最終深度挖掘與學生志愿匹配的課題。例如:志愿自動匹配和調劑學生的總數都為102人,通過深度挖掘匹配算法匹配成功的人數分別為72人和90人,成功率達到了70%、88%。在不使用任何算法進行匹配的情況下,兩者的成功率是52%左右。由此可見,在畢業論文管理系統中,深度挖掘匹配算法在科學應用,可以為教務管理工作提供可靠參考依據,對于提高畢業論文管理工作人員的工作效率有著重要影響。
3 結語
綜上所述,在深度挖掘匹配算法不斷推廣的情況下,其在畢業論文管理中的實際應用受到了很多教務管理工作人員的青睞。因此,充分發揮深度挖掘匹配算法的作用,提高深度挖掘匹配算法在畢業論文管理中的應用效果,才能更好的滿足學生的選題需求。
參考文獻
[1]馮麗慧,馮立智.數據挖掘在畢業論文成績管理中的應用研究[J].電腦知識與技術,2012,30:7150-7153.
[2]徐章韜.用信息技術深度挖掘課程內容――以數學學科為例[J].教育發展研究,2015,12:29-33.
[3]連伊娜.深度挖掘高校檔案文化內涵,更好為教育事業發展服務[J].黑龍江史志,2013,11:104-105.
作者簡介
劉冰潔(1983-),女,江西省南昌市人。工程碩士學位?,F為江西交通職業技術學院副教授。研究方向為大數據、系統集成、智能化技術。
【關鍵詞】藏文分詞 匹配算法 哈希表 詞典機制
1 引言
藏文信息處理存在著分詞的問題,而藏文分詞是對藏文詞性標注、藏語音合成、機器翻譯、大型語料庫建設和信息檢索等藏文信息處理的基礎。藏文分詞的效果會對進一步研究的藏文詞性標注、藏語音合成、機器翻譯、大型語料庫建設和信息檢索等藏文信息處理軟件的性能和效果產生影響。
為了提高分詞的準確率,需要有一個足夠大的詞庫,面對足夠大的詞庫,對詞庫中的詞語的搜索技術就顯得十分重要,對詞庫中詞語的搜索速度直接關系到分詞系統的性能。詞庫目前主要是采用索引的機制來實現的,一般用到的索引結構的包括線性索引、倒排表、Trie樹、二叉樹等。線性索引、倒排表都是靜態的索引結構,不利于插入、刪除等操作。
2 分詞
2.1 詞典機制算法
本系統采用的是基于Hash索引的分詞詞典。分詞詞典機制可以看作包含三個部分:首字Hash表、詞索引表、詞典正文。詞典正文是以詞為單位txt文件,匹配過程是一個全詞匹配的過程。首先,通過首字Hash表確定該詞在詞典中的大概位置,然后根據詞索引表進行定位,進而找到在詞典正文中的具置。該系統是采用Myeclipse10平臺,使用Java語言進行實現的,直接調用Java里的hashmap創建函數,找到該詞之后,然后進行字符串匹配。
2.2 基于匹配算法分詞
主流的分詞方法有三種:分別為基于語言學規則的方法、基于大規模語料庫的機器學習方法、基于規則與統計相結合的方法,鑒于目前藏文方面還沒有超大型的句子語料庫。該系統便采用了基于語言學規則的根據詞典進行匹配的方法對藏文進行分詞。
根據匹配的方向不同,分為正向和逆向兩種匹配算法。本系統采用的是正逆向匹配算法相結合的減字匹配法對藏文進行分詞的,因為藏文在每個字的結束時,都會以“”作為分界;每個句子會以“”或者“” 作為分界。因此,對藏文進行分詞的減字算法首先以藏文的字符“”或者“”切分出句子,如此一來,原文就被分為相應的若干個句子了。接下來,再對每一個句子進行詞典的匹配,如果沒有匹配成功就根據藏文字符中“”從句末尾減去一個字符,然后再次進行匹配,直到匹配成功為止。對每個句子重復這些流程,直到每個句子全部分解為詞為止。逆向最大匹配是從句子的末尾選擇計算最大詞的長度,從后往前匹配、切分,其基本原理是和正向最大匹配的原理是相同的。
為了提高切分的精度,該系統使用的是正向最大匹配和逆向最大匹配相結合的方法進行分詞,先分別采用兩種方法分詞,然后根據概率比較兩種分詞結果,選擇概率較大的那種匹配算法作為分詞結果。
本系統的逆向最大匹配和正向最大匹配均是采用減字匹配算法,減字算法實現簡單,切分效果也比較理想,流程如圖1所示。
正向最大匹配(MM) 對于文本中的字串 ABCD,ABCD?W,若ABC∈W,并且AB∈W,然后再判別CD是否屬于W,若是,則就切分為AB/CD,如果不是,則切分為AB/C/D。其中W 為分詞的詞典。逆向最大匹配對于文本中的字串 ABCD,ABCD?W,BCD?W,CD∈W,并且AB∈W,其中W為分詞的詞典,那么就取切分 AB/CD,根據藏文詞組最長的為6個字符組成的,所以進行匹配算法的時候,初始化藏文最大字符串長度為6,流程圖如圖2所示。而逆向最大匹配算法是從句子的末尾開始進行匹配,其核心算法與正向最大匹配算法相同,只不過開始匹配的方向不同而已。
無論是正向匹配(MM)算法還是逆向匹配(RMM)算法都會產生大量的歧義字段。我們很容易舉出這樣的例子,如:(五十六個民族心連心)這一句藏語,采用正向匹配算法分詞的結果為:,采用逆向匹配算法的分詞結果為:,在采用逆向匹配的時候,將會被劃分為,而(五十六)實際是一個詞,不該劃分,諸如此類的藏文句子還有很多,例如 等,無論使用正向最大匹配算法或者使用逆向最大匹配算法都會產生歧義,這種歧義稱為組合歧義。為了減少這種歧義的影響,本系統使用兩種分詞方法相結合的方式。首先分別使用兩種算法進行分詞,然后通過統計的方法消除部分歧義。具體實現為:設正向最大匹配算法所切分的n個詞分別為,則這個句子切分的頻率則為;設逆向最大匹配算法所切分的n個詞分別為,則這個句子切分的頻率則為。如果,則選擇正向最大匹配算法所切分的結果,反之,則選擇逆向最大匹配算法所切分的結果。
3 結果和分析
結合26個大小不同的實驗文本,對基于哈希表索引和匹配算法的分詞系統的準確率進行了分析,準確率如圖3所示。結果顯示,該分詞系統的準確率在92%以上。由此可得基于哈希表索引和匹配算法的分詞系統在準確率上有不錯的效果。
參考文獻
[1]華卻才讓.基于樹到串藏語機器翻譯若干關鍵技術研究[D].陜西師范大學,2014.
[2]石方夏,邱瑞,張|,任帥.藏文信息隱藏技術綜述[J].物聯網技術,2014,12:28-32.
[3]王思力,張華平,王斌.雙數組Trie樹算法優化及其應用研究[J].中文信息學報,2006,05:24-30.
[4]陳碩,桂騰葉,周張穎等.信息檢索在論文寫作和項目申報中的應用[J].科技展望,2015,13:274-275.
[5]黃昌寧,趙海.中文分詞十年回顧[J]. 中文信息學報,2007,03:8-19.
[6]奉國和,鄭偉.國內中文自動分詞技術研究綜述[J].圖書情報工作,2011,02:41-45.
[7]賀艷艷.基于詞表結構的中文分詞算法研究[D].中國地質大學(北京),2007.
[8]戴上靜,石春,吳剛.中文分詞中的正向增字最大匹配算法研究[J].微型機與應用,2014,17:15-18.
[9]劉遙峰,王志良,王傳經.中文分詞和詞性標注模型[J].計算機工程,2010,04:17-19.
作者簡介
陳碩(1995-),男,自治區拉薩市人。本科在讀,主研領域為自然語言處理,數學建模及其應用。
周歡歡(1994-),女,湖南省衡陽市人。本科在讀,研究方向為數學建模及其應用、交通運輸規劃與管理。
通訊作者簡介
趙棟材(1976-),男,現為大學藏文信息技術研究中心副教授。主要研究方向為藏文信息處理。
作者單位
關鍵詞:Rete算法,智能防火墻,規則,快速,匹配
Rete算法是一個快速的模式匹配算法,它通過形成一個Rete網絡進行模式匹配,利用基于規則的系統的兩個特征,即時間冗余性(Temporalredundancy)和結構相似性(structural similarity),提高系統模式匹配效率。
一、模式匹配的基本概念
1、可滿足規則:一個規則稱為可滿足的,若規則的每一模式均能在當前工作存儲器中找到可匹配的事實,且模式之間的同一變量能取得統一的約束值。形式化地說,規則
if P1,P2,…Pmthen A1,A2,…An
稱為可滿足的,若存在一個通代σ,使得對每一個模式Pi,在工作存儲器中有一個元素Wi滿足
Piσ=Wii=1,2,3 …m
這里,σ作用在某個模式的結果稱為模式實例,σ作用在整個規則的結果稱為規則實例。在專家系統中,可滿足的規則稱為標志規則。
2、沖突集:由全體規則實例構成的集合稱為沖突集,也稱上程表。免費論文參考網。
3、模式匹配算法的任務是:給定規則庫,根據工作存儲器的當前狀態,通過與規則模式的匹配,把可滿足規則送入沖突集,把不可滿足的規則從沖突集中刪去。
二、Rete算法的依據和基本思想
Rete算法快速匹配的重要依據是:
1、時間冗余性。免費論文參考網。工作存儲器中的內容在推理過程中的變化是緩慢的,即在每個執行周期中,增刪的事實只占很小的比例,因此,受工作存儲器變化而影響的規則也只占很小的比例。由產生式系統的折射性,只要在每個執行周期中記住哪些事實是已經匹配的,需要考慮的就僅僅是修改的事實對匹配過程的影響。
2、結構相似性。許多規則常常包含類似的模式和模式組。
Rete算法的基本思想是:保存過去匹配過程中留下的全部信息,以空間代價來換取產生式系統的執行效率。
三、Rete匹配網絡結構與過程
Rete算法的核心是建立Rete匹配網絡結構,其由模式網絡和連接網絡兩部分構成。其中,模式網絡記錄每一模式各域的測試條件,每一測試條件對應于網絡的一個域結點,每一模式的所有域結點依次連起來,構成模式網絡的一條匹配鏈。
Rete網絡匹配過程由模式網絡上的模式匹配和連接網絡上的部分匹配構成。在模式網絡的機器內部表示中,我們把共享一個父結點的所有結點表示成一條共享鏈。同時,把每一模式匹配鏈中的結點表示成一條下拉鏈,于是,每一結點由共享鏈和下拉鏈指向其后繼結點,模式網絡就是一棵可以使用典型遍歷算法進行測試的二叉樹。
四、智能防火墻Rete算法設計
Rete快速匹配算法,函數Rete設計為:取IP地址、端口號各部分折疊、異或運算后,以Rete長度取模。免費論文參考網。算法如下(無關或部分無關稱為集合A,相關、包含相等和相等的稱為集合B):
1、Addr=sa+da sa:源地址 da:目的地址
2、Port=sp+dp sp:源端口號 dp:目的端口號
int Rete(long addr, int port)
{int addrxor,key;\地址折疊異或
addrxor=(addr&~(~0﹤﹤16))∧((addr﹥﹥16)&~(~0﹤﹤16));
key=addrxor∧port; \與端口異或
return(key % max); }\max為Rete表長度
防火墻初始化時,首先從規則集A用該散列函數構造Rete表R為
Void Initialization(RULE-SET A){
FOR(r∈A)DO{ \r為每條規則
idx=Rete(r.addr,r.port);
R[idx]=&r; \R代表規則集合A
}}
因為Rete表的長度有限,但是如果設計太大會浪費存儲空間,也降低了查找速度,所以免不了會出現沖突。解決沖突的方法是:如果兩條規則經過散列后落到同一位置,則把這兩條規則按照插入順序組成一個鏈表結構。主要算法如下:
if(R[Rete(r.addr,r.port)]=NULL)\R為Rete表,r為規則
R[Rete(r.addr,r.port)]=&r;\沒有沖突,則插入Rete表
Else{J=R[Rete(r.addr,r.port)];\沖突解決方法
while (j->next!=NULL) {j=j->next;} \插入鏈表末尾
j->next=&r;}
數據包匹配流程:當防火墻收到一個數據包以后,用算法Match查找規則集(A和B)。
Match(IP-Packet p) { \p為數據包
Int idx=Rete(p.addr,p.port) ; \首先用Rete算法查找A類規則
IF (R[idx].addr≧p.addr&& R[idx].port=p.port) \找到匹配規則
return R[idx] ;
Else {int idex I =halfquery(p.addr) ; \利用折半查找索引表
J=L[indexl] ; \L代表規則集合B
While(j!=NULL){\順序匹配找到的規則鏈
IF (Matchrule(p)) return j; \ Matchrule為規則匹配函數
Else j=j->next;
}}
Return(Norulematch);
}
參考文獻:
[1] 閆麗萍,潘正運. RETE算法的改進與實現.微計算機信息,2006 (36)
[2] 龐偉正,金瑞琪,王成武. 一種規則引擎的實現方法.哈爾濱工程大學學報,2005(03)
[3] 江建國,張景中. 基于Rete算法的幾何自動推理系統. 四川大學學報(工程科學版), 2006(03)