?

基于UML的句子相似度計算小程序的設計

2022-07-16 05:45江阿古麗·哈依達爾郭玲
科海故事博覽·上旬刊 2022年7期
關鍵詞:軟件工程

江阿古麗·哈依達爾 郭玲

摘 要 本文通過采用軟件工程中提出的面向對象軟件設計方法論,使用UML統一建模語言的圖形符號和基本概念,在Rose建模軟件中以工程化的形式設計出在研究基礎領域使用的計算句子相似度的小程序,并創建系統模型。該設計方案可以在各種APP、微信小程序和網站的搜索、查找模塊中考慮使用,在黏著性語言類的自然語言處理研究領域具有較好的應用價值。

關鍵詞 UML模型 軟件工程 句子相似度

中圖分類號:TP391 文獻標識碼:A 文章編號:1007-0745(2022)07-0037-03

1 句子相似度計算小程序的研究意義

以前的研究工作中,從詞性、詞序、句長、相似單元角等幾個方面提出了哈薩克語句子相似度的計算方法,另外初步研究了切分名詞詞根和詞綴的有限狀態自動機的構造[1]。隨著python程序設計語言的廣泛使用,目前也可以采用numpy()函數庫、字符串和有序組合數據的內置函數等有關技術方法,從數據庫中可以篩選出相似句子,并按相似比例的高低進行排序。粘著性語言類的詞根和詞綴具有較特殊的主從關系,因此,計算相似度前實現分解句子和切分詞綴是必不可少的。本文主要探討的小程序的詳細設計方案對計算句子相似度技術,甚至對機器翻譯、搜索引擎等領域的研究工作提供必要的技術條件。

2 句子相似度計算小程序的可行性研究

句子相似度計算小程序作為驗證新的計算方法和其規則而推出的測試小系統,可以在人工智能、自然語言處理等領域,當作數據分析的輔助系統應用,該系統的設計和維護階段的任務分解明確,操作簡單易學,使用群體只限于研究人員和測試人員,用戶不僅可查看數據分析結果以外,還可以組內交流意見。

3 需求分析

參與者分管理員、測試員和計算相似度后臺系統。管理員可以進行維護測試員信息、維護數據庫、審核新提交的數據、維護公告等操作。測試員首先登錄系統后可以使用計算相似度,上傳新數據,修改個人信息、查看公告和在分組討論模塊留言等功能。至于未注冊系統的用戶系統每一天只提供三次免費查詢功能。計算相似度后臺系統以輔助參與者的身份與外部環境進行交互。

4 句子相似度計算小程序的系統模塊分析

系統由登錄界面、測試相似度界面、查看公告界面和分組討論界面組成。其中前臺由測試員和管理員都可以登錄,每個模塊兩類用戶均可實現的操作有:登錄界面中可以注冊、登錄、填寫個人信息;測試相似度界面中可以搜索相似單詞、搜索相似句子、上傳新數據;查看公告(新聞)界面中可以完成查看新發布的公告、搜索公告、點贊公告(新聞)等操作;分組討論模塊中可以留言、點贊。

后臺智能允許管理員訪問,其中管理員可以完成的操作有:(1)用戶管理模塊:審核注冊、注銷的測試員賬號,維護測試員基本信息,并更新測試員實體類數據庫表;(2)相似單詞(句子)管理模塊:添加新的計算規則、維護有誤數據,并更新單詞(句子)實體類數據庫表;(3)公告(新聞)管理模塊:上傳新公告(新聞),維護已經上傳的新數據,并更新公告(新聞)實體類數據庫表;(4)分組討論模塊:維護留言信息,并更新留言實體類數據庫表;(5)系統歷史記錄管理模塊:維護系統使用記錄信息,并更新歷史信息實體類數據庫表。

5 句子相似度計算小程序的功能分析

系統中除了注冊和登錄的前提條件為參與者打開系統界面外,維護、上傳、留言、搜索等功能的前置條件是參與者登錄系統成功,其基本的操作流程如下:

1.注冊功能:測試員登錄前先需要注冊,新測試員通過填寫姓名、聯系方式、單位和驗證碼進行注冊系統,并提交信息。管理員對其參與者信息進行審核,如果審核通過,將分配ID賬號編碼,并發送登錄密碼,設置其用戶權限。測試員收到管理員信息后對賬號密碼進行修改。

2.登錄功能:管理員和測試員首先登錄成功后可以正常使用小系統。為了保護測試員的基本信息,忘記賬號密碼時只允許輸入三次,如果輸入有誤,將系統提示錯誤信息。測試員忘記密碼時,可以通過手機驗證等措施找回賬號密碼。

3.維護測試員信息:新測試員注冊系統時,管理員查看其參與者基本信息的完整性,并審核其身份;如果測試員注銷其賬號,管理員將數據庫中刪除其基本信息,并取消權限;部分信息安全級別較高的,隱藏的用戶個人信息由管理員親自審核、修改、補充和刪除。

4.維護數據庫:句子相似度系統的數據庫規??蔁o限地擴展,隨著新數據的上傳,器容量可以不斷增大。但參與者提交新單詞或句子之后,管理員先審核該數據,如果數據中有拼寫錯誤或者語法錯誤等問題,將數據審核結果發送給上傳數據的測試員;該測試員第二次重新編輯數據,確保無誤后,再次提交到系統上。管理員再次審核該數據,如果新上傳的數據中沒有任何問題,下一步檢索在數據庫中是否存在該數據,如果沒有則添加至數據庫中。

除此之外,管理員還可以刪除數據庫中重復的信息或者錯誤的信息,還可以進行修改、更新等維護操作。用例維護信息的前置條件是數據庫在系統中存在,管理員登錄管理模塊成功。管理員與系統參加該用例,基本流程為:首先,管理員在數據庫中檢索相關單詞或句子;其次,如果數據庫中存在,則維護其內容,并提交;最后,數據庫覆蓋原數據后,則提示維護成功。替代流為:如果數據庫中找不到關鍵字,則系統提示管理員該數據數據庫中不存在;如果元數據覆蓋失敗,則系統提示管理員數據維護失敗,請重新設置。

5.上傳新數據:測試員登錄系統后可查看某一個關鍵字在數據庫中的相似句子或者單詞,如果搜索數據時,數據庫提示其數據不存在,則測試員可以將數據作為新關鍵詞上傳至數據庫中,同時還可以提交使用該單詞的句子和它的近義詞,從而可以不斷更新和充實系統數據庫。

6.搜索相似句:測試員首先在搜索框中輸入關鍵字,并點擊確認后,系統將其關鍵字的相似單詞或句子從數據庫中進行檢索,并把最終結果輸出。其中相似度的計算方法在查找相似單詞和相似句子中應用。

搜索相似單詞:測試員登陸成功后再計算相似度模塊選擇單詞相似度計算功能,輸入關鍵詞,點擊確。則系統會自動檢測數據庫中出現該單詞的句子和近義詞,通過對比單詞的長短、對比字符串的序號和字符類型等方式計算其相似度比例,并把相似單詞、近義詞和相似度顯示在界面上;如果數據庫中找不到該關鍵字數據庫則提醒測試員數據庫中不存在該數據, 并提示是否確認添加到數據中。

搜索相似句子:該功能的基本用例模板與搜索相似單詞的基本流程是一樣的,只不過計算數據模型是按句子所包含的有序組合中的字符序號、其來長度和詞序進行匹配,搜索過程中找不到的句子時,測試員可以通過上傳新數據的方式提交至數據庫中,管理員審核通過后更新系統數據庫。

7.查看公告(新聞):前置條件為管理員發表公告,只能高級管理員對公告進行上傳、刪除、編輯和置頂等維護操作。管理員發布公告成功后, 測試員在登錄系統的狀態下,可以查看其公告,并公告左下方可以進行點贊和舉報操作。

8.分組討論(留言):只要注冊系統的參與者都可以參與到分組討論中。測試員同樣先登錄后發表自己的意見;管理員審核通過后以“組內留言”方式組內可以開展討論。留言審核通過后,如果發現有錯別字或者別的問題,留言的參與者可以自行修改、刪除其內容。其他參加互動的人員通過引用該評論發表自己的意見,點贊自己贊同的留言,有意見的內容可以舉報給系統管理員。

以上功能的后置條件為操作成功,更新數據庫中對應的實體類數據庫表,并生成每個階段的操作記錄文件。

6 數據庫分析

系統數據庫是通過連接多種子表的方式創建。其中,數據庫子表可分為實體類和邊界類數據庫表。實體類表示參與系統交互的人員和系統關鍵信息存儲的表格,如:用戶實體類表、單詞實體類表、句子實體類表、公告(新聞)實體類表、留言實體類表等。邊界類表示系統界面數據存儲的表格,如:主界面邊界類表、公告頁面邊界類表、搜索頁面邊界類表、登錄頁面邊界類表、留言頁面邊界類表等。

測試員和管理員完成一項操作后數據庫表中以下幾個實體類表格數據會被修改:一是賬號實體類的屬性包含用戶名、ID、注冊日期、聯系方式、單位、賬號密碼和賬號級別(管理員或測試員)組成。二是單詞實體類的屬性包含單詞編號、單詞內容、近義詞和相似度信息組成。三是句子實體類的屬性包含句子編號、句子內容、句子相似度信息組成。四是留言實體類的屬性包含留言者名稱、留言編號、留言時間和其內容組成。五是公告(新聞)實體類的屬性包含編號、發布時間、標題、內容、點贊次數等內容組成。六是歷史記錄實體類的屬性包含記錄編號、詳細內容、記錄時間和操作者名稱組成。

計算句子相似度的過程中,如果對單詞進行切分時,需要在數據庫中添加粘著性語言類的詞綴實體類表,通過匹配單詞和詞綴表,完成詞根和詞綴的分解操作[2]。

系統主界面包含搜索界面(計算相似度)、留言界面、登錄界面和公告界面,這幾個界面的基本信息通過邊界類的類型保存至數據庫,測試員與系統之間通過以上邊界類來進行交互。

7 狀態機分析

1.數據狀態:數據包含數據庫中的實體單詞、句子和測試員輸入的關鍵詞;數據狀態根據詞性判斷,分別有詞根狀態、詞綴未切分狀態和連詞狀態等。

2.操作狀態:測試員輸入關鍵詞在系統進行搜索時處于正在搜索狀態、匹配方式查找相似句子或單詞需要時間,時間長度由數據庫規模決定。

3.參與者狀態:測試員和管理員的狀態第一階段可以分為未注冊、注冊狀態和注銷賬號等,完成注冊小系統后由登錄狀態、未登錄狀態和退出系統狀態等組成。

8 總結

句子相似度計算方法是目前人工智能領域普遍使用的技術,機器制造、自然語言處理等領域普遍使用的搜索,匹配功能中必須研究的項目之一。通過不同的數據模型計算相似度的方法識別模式具有龐大的數據庫系統可以提高匹配工作效率,其操作流程和數據庫之間的關系可以采用UML模型表示[3]。本文中推出的小程序嚴格遵守系統需求分析和詳細設計階段的基本原理和任務要求,完成了對粘著性語言類計算句子相似度小系統的設計和建模工作,該模型在各種級別的管理系統的搜索模塊的開發工作中均可嵌套使用。設計方案中提出的關鍵字、屬性等數據字典部分包含的字段沒有重復出現,測試員的需求在允許范圍內可擴展,系統的數據庫和功能在維護過程中也需要不斷地改造和升級。

參考文獻:

[1] 江阿古麗·哈依達爾,卡哈爾江·阿比的熱西提,阿里木江·亞森,等.一種哈薩克語句子相似度計算方法的研究[J].新疆大學學報(自然科學版),2012,29(04): 471-474,479.

[2] 江阿古麗·哈依達爾,吐爾根·依布拉音,艾山·吾買爾,等.哈薩克語名詞構形詞綴有限狀態自動機的構造[C]//第三屆全國少數民族青年自然語言信息處理、第二屆全國多語言知識庫建設聯合學術研討會,2010.

[3] 魏金津,任女爾,蔡建軍.基于相似度計算的UML圖匹配算法設計模式檢測技術研究[J].電腦知識與技術,2018,14(28):165-167,171.

猜你喜歡
軟件工程
基于課程群的軟件工程專業三位一體教學模式探索
依托工作室的軟件工程實踐教學研究
高職軟件工程課程改革研究
軟件工程應用型課程建設與實踐
應用瀑布模型的MOOC制作方法
融合APTECH體系的軟件產業人才培養探究
基于工程教育認證的《軟件工程》課程教學質量建設研究 
關于如何創新和完善計算機軟件工程管理的探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合