• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向課后服務(wù)科普聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2022-05-25 01:53:48吳中其陳雋淇馬啟偉林芷泳黃貝苗
      大科技 2022年20期
      關(guān)鍵詞:聊天科普數(shù)據(jù)庫(kù)

      吳中其,陳雋淇,馬啟偉,林芷泳,黃貝苗

      (華南師范大學(xué)軟件學(xué)院,廣東 佛山 528225)

      0 引言

      2021 年,中共中央辦公廳國(guó)務(wù)院印發(fā)《關(guān)于進(jìn)一步減輕義務(wù)教育階段學(xué)生作業(yè)負(fù)擔(dān)和校外培訓(xùn)負(fù)擔(dān)的意見》[1]。該政策結(jié)合了校外減負(fù)及校內(nèi)減負(fù)兩個(gè)方面,能夠切實(shí)地進(jìn)行減負(fù)工作。但與此同時(shí),如何引導(dǎo)中小學(xué)生開展探究性學(xué)習(xí)活動(dòng)成為當(dāng)下需要考慮的重要問題。

      本文圍繞本系統(tǒng)對(duì)系統(tǒng)的功能設(shè)計(jì)、深度學(xué)習(xí)模型、前端架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)與后端架構(gòu)設(shè)計(jì)這五個(gè)方面進(jìn)行闡述。使用Qt 設(shè)計(jì)前端界面,選用GPT-2 模型作為本系統(tǒng)對(duì)話模型,采用了Python Flask 框架構(gòu)建后端系統(tǒng)進(jìn)行本系統(tǒng)的設(shè)計(jì)。

      1 系統(tǒng)模塊設(shè)計(jì)

      科普聊天系統(tǒng)主要分為登錄/注冊(cè)、科普聊天、班級(jí)學(xué)習(xí)排名、班級(jí)學(xué)習(xí)情況統(tǒng)計(jì)和收藏夾5 個(gè)模塊。

      (1)登錄/注冊(cè):為滿足系統(tǒng)需要記錄用戶的學(xué)習(xí)情況并為其提供個(gè)性化服務(wù),用戶訪問本系統(tǒng)都需要在該模塊進(jìn)行登錄。若用戶沒有賬戶,需在該模塊進(jìn)行注冊(cè)。

      (2)科普聊天:用戶可以通過語音輸入或者文字輸入的方式與系統(tǒng)進(jìn)行對(duì)話。在對(duì)話過程中,系統(tǒng)將通過對(duì)用戶輸入的內(nèi)容進(jìn)行分抽取,結(jié)合數(shù)據(jù)集中的科普背景知識(shí)生成流程的回答,通過多輪的對(duì)話讓用戶在無形中學(xué)習(xí)新知識(shí)。

      (3)班級(jí)學(xué)習(xí)排名統(tǒng)計(jì):該模塊以用戶在科普聊天模塊中所累計(jì)的積分為主,用戶的學(xué)習(xí)時(shí)長(zhǎng)為輔,對(duì)每個(gè)用戶進(jìn)行學(xué)習(xí)情況排名,以激勵(lì)用戶的學(xué)習(xí)熱情。

      (4)學(xué)習(xí)情況統(tǒng)計(jì):該模塊統(tǒng)計(jì)用戶當(dāng)日的學(xué)習(xí)情況并實(shí)時(shí)展現(xiàn)給用戶,同時(shí)還將展現(xiàn)同組內(nèi)其他用戶的當(dāng)日學(xué)習(xí)情況,通過橫縱對(duì)比更加深刻的了解自己的學(xué)習(xí)情況。

      (5)收藏夾:當(dāng)用戶在和系統(tǒng)對(duì)話的過程中,如果用戶覺得系統(tǒng)科普的內(nèi)容自己還未掌握或者科普內(nèi)容值得再次查看即可直接右鍵點(diǎn)擊對(duì)話內(nèi)容選擇收藏該對(duì)話,并在收藏界面進(jìn)行查看,同時(shí)用戶還可以將不再需要的內(nèi)容取消收藏。

      2 深度學(xué)習(xí)模型與數(shù)據(jù)集

      2.1 GPT-2 模型介紹

      GPT-2 模型[2]由多層單向Transformer 的解碼器部分構(gòu)成,本質(zhì)上是自回歸模型。GPT-2 憑借其穩(wěn)定、優(yōu)異的性能吸引了業(yè)界的關(guān)注。GPT-2 在文本生成上有著驚艷的表現(xiàn),其生成的文本在上下文連貫性和情感表達(dá)上都超過了人們的預(yù)期。使用GPT-2 作為我們系統(tǒng)的對(duì)話模型具有合理性。

      2.2 KdConv 數(shù)據(jù)集介紹

      數(shù)據(jù)集方面,本文選取了Zhou 等學(xué)者[3]在知識(shí)驅(qū)動(dòng)的中文多輪對(duì)話數(shù)據(jù)集KdConv 一文中構(gòu)建的數(shù)據(jù)集。由于KdConv 數(shù)據(jù)集結(jié)構(gòu)與GPT-2 模型的所需的輸入有所不同,因此本文提取了該數(shù)據(jù)集中的有效數(shù)據(jù),并進(jìn)行了適應(yīng)性修改。

      經(jīng)訓(xùn)練后,模型具備了在流暢應(yīng)答的前提下進(jìn)行科普的能力,可以滿足大多數(shù)場(chǎng)合中的對(duì)話需求。

      3 聊天系統(tǒng)的實(shí)現(xiàn)

      3.1 前端架構(gòu)設(shè)計(jì)

      QT 具有良好的跨平臺(tái)特性,能夠支持Microsoft Windows95/98、Microsoft Windows NT、Linux、Solaris、SunOS 等眾多操作系統(tǒng)。除此之外,Qt 具有良好的封裝機(jī)制,具有良好的可重用性,能為開發(fā)人員提供遍歷?;谏鲜隼碛?,本文使用Qt 技術(shù)來實(shí)現(xiàn)系統(tǒng)的前端模塊。

      本項(xiàng)目使用組件化開發(fā),減少代碼冗余,將整個(gè)前端項(xiàng)目分成頁面邏輯層、數(shù)據(jù)請(qǐng)求層和路由轉(zhuǎn)發(fā)層。頁面邏輯層負(fù)責(zé)進(jìn)行響應(yīng),接收用戶提供的文本數(shù)據(jù);數(shù)據(jù)請(qǐng)求層負(fù)責(zé)接收并向后端發(fā)送文本數(shù)據(jù),獲取請(qǐng)求結(jié)果;路由轉(zhuǎn)發(fā)層則負(fù)責(zé)進(jìn)行頁面跳轉(zhuǎn),以及在每次跳轉(zhuǎn)時(shí)驗(yàn)證用戶信息,阻止無權(quán)限訪問。用戶使用軟件流程圖如圖1 所示。

      圖1 用戶使用軟件流程

      3.1.1 登錄/注冊(cè)模塊設(shè)計(jì)

      (1)注冊(cè)過程。注冊(cè)模塊通過前端獲取用戶注冊(cè)信息,對(duì)信息加密后傳輸?shù)较到y(tǒng)的后臺(tái)服務(wù)器中。服務(wù)器進(jìn)行數(shù)據(jù)合法性驗(yàn)證后,通過查詢數(shù)據(jù)庫(kù)數(shù)據(jù)判斷用戶的注冊(cè)信息是否重復(fù),若不重復(fù)則動(dòng)態(tài)生成SQL 語句將用戶信息插入數(shù)據(jù)庫(kù)表中,注冊(cè)模塊工作流程如圖2 所示。

      圖2 用戶注冊(cè)模塊工作流程

      (2)登錄過程。注冊(cè)模塊通過前端獲取用戶登錄信息,并將其輸入信息上傳至后臺(tái)服務(wù)器。服務(wù)器進(jìn)行數(shù)據(jù)合法性驗(yàn)證后,通過查詢數(shù)據(jù)庫(kù)數(shù)據(jù)判斷用戶的賬戶信息是否存在,及登錄口令是否正確,若存在且正確,根據(jù)用戶名簽發(fā)token,默認(rèn)狀態(tài)下有效期為3h,超過3h 后token 失效,需要重新登錄。圖3 為用戶登錄模塊工作流程。

      圖3 用戶登錄模塊工作流程

      3.1.2 語音模塊設(shè)計(jì)

      語音模塊使用Python Pyaudio 工具庫(kù)進(jìn)行基本功能的實(shí)現(xiàn),并根據(jù)程序需求封裝為utils/audioManager 模塊。該模塊內(nèi)實(shí)現(xiàn)了申請(qǐng)音源輸入設(shè)備、申請(qǐng)音源輸出設(shè)備、寫音頻文件及讀音頻文件。其中utils/audioManager.recording 方法實(shí)現(xiàn)了自動(dòng)錄音,可根據(jù)讀取音頻流的能量大小,動(dòng)態(tài)判斷語音輸入是否結(jié)束。

      3.1.3 對(duì)話模塊設(shè)計(jì)

      采用GPT-2 模型實(shí)現(xiàn)我們的對(duì)話系統(tǒng)模塊,以這種方法構(gòu)建對(duì)話系統(tǒng),則可以在生成高信息量同時(shí)又不失流利的回復(fù)。對(duì)話模塊可視化頁面如圖4 所示。

      圖4 用戶聊天界面

      用戶可以通過在輸入框中打字與機(jī)器人聊天。如果語句中出現(xiàn)好的知識(shí)點(diǎn),可以點(diǎn)擊語句進(jìn)行收藏,收藏后的語句將會(huì)存儲(chǔ)在收藏模塊中。此外,每次對(duì)話都將會(huì)累計(jì)得分,并將得分的變化存儲(chǔ)在班級(jí)學(xué)習(xí)情況中。如果使用教師賬號(hào)進(jìn)行登錄,還能夠查看班級(jí)學(xué)習(xí)排名。

      3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

      本文采用MySQL 關(guān)系型數(shù)據(jù)庫(kù)對(duì)系統(tǒng)的進(jìn)行設(shè)計(jì)。在該系統(tǒng)的數(shù)據(jù)庫(kù)中,本文以學(xué)生、教師對(duì)象是系統(tǒng)的主體,在數(shù)據(jù)庫(kù)中以用戶名作為唯一標(biāo)識(shí)符,并通過用戶名與對(duì)話、組(班級(jí))以及收藏進(jìn)行對(duì)應(yīng)。對(duì)話設(shè)計(jì)為弱實(shí)體,依賴于學(xué)生實(shí)體而存在,屬性包括了一句對(duì)話輸入、一句對(duì)話輸出以及對(duì)話發(fā)生的時(shí)間等。科普聊天系統(tǒng)數(shù)據(jù)庫(kù)的E-R 圖如圖5 所示。整個(gè)系統(tǒng)實(shí)體的數(shù)據(jù)冗余程度在可接受的范圍內(nèi),基本兼顧了查詢效率和存儲(chǔ)性能。

      圖5 科普聊天系統(tǒng)數(shù)據(jù)庫(kù)的E-R 圖

      3.3 后端架構(gòu)設(shè)計(jì)

      在后端框架中,本系統(tǒng)可以分為四個(gè)部分:數(shù)據(jù)傳輸層,數(shù)據(jù)處理層,數(shù)據(jù)庫(kù)接口層和安全層。其中,數(shù)據(jù)傳輸層負(fù)責(zé)獲取和提交前端數(shù)據(jù);數(shù)據(jù)處理層負(fù)責(zé)請(qǐng)求數(shù)據(jù)庫(kù)數(shù)據(jù)以及對(duì)數(shù)據(jù)進(jìn)行處理;數(shù)據(jù)庫(kù)接口層實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問接口;安全層負(fù)責(zé)驗(yàn)證用戶合法性以及攔截惡意請(qǐng)求等功能。

      系統(tǒng)的實(shí)現(xiàn)采用了Python Flask 框架,同時(shí)配合使用Flask 中的SQLAlchemy 擴(kuò)展進(jìn)行ORM 映射,將數(shù)據(jù)庫(kù)表映射為Python 中的實(shí)體。

      安全層中實(shí)現(xiàn)了用戶的Token 驗(yàn)證模塊。前端獲取服務(wù)時(shí)需要帶上Token,本模塊會(huì)驗(yàn)證Token 是否過期。對(duì)于合法發(fā)放Token 并且Token 有效的請(qǐng)求,后端才會(huì)響應(yīng)。

      4 結(jié)語

      國(guó)家“雙減”政策的全面推行,對(duì)中小學(xué)校教育教學(xué)質(zhì)量和服務(wù)水平的要求進(jìn)一步提高,填補(bǔ)課后服務(wù)需求缺口成為學(xué)校的一項(xiàng)重要工作。本文設(shè)計(jì)了能夠?yàn)橹行W(xué)生提供優(yōu)質(zhì)的、富有趣味的科普知識(shí)資源的系統(tǒng),填補(bǔ)中小學(xué)校在課后服務(wù)資源方面的需求和缺口。我們?cè)诤罄m(xù)將會(huì)繼續(xù)改進(jìn)該系統(tǒng),讓本系統(tǒng)在更大程度上更加能貼合個(gè)性化發(fā)展需求,進(jìn)而促進(jìn)個(gè)人的全面發(fā)展。

      猜你喜歡
      聊天科普數(shù)據(jù)庫(kù)
      科普達(dá)人養(yǎng)成記
      我就是不想跟你聊天了
      意林(2017年9期)2017-06-06 10:26:12
      敞開門聊天
      數(shù)據(jù)庫(kù)
      科普連連看
      科普連連看
      數(shù)據(jù)庫(kù)
      數(shù)據(jù)庫(kù)
      數(shù)據(jù)庫(kù)
      微科普
      杭州科技(2014年1期)2014-02-27 15:26:30
      大洼县| 公安县| 嘉禾县| 宾阳县| 武冈市| 庆云县| 乐安县| 开远市| 秦安县| 西盟| 汽车| 噶尔县| 天台县| 秦安县| 且末县| 民县| 吉林省| 衡南县| 保亭| 九江县| 东安县| 仪征市| 青铜峡市| 利川市| 枣强县| 缙云县| 阜新市| 郯城县| 西贡区| 松阳县| 北海市| 抚宁县| 砀山县| 峨山| 左贡县| 旬邑县| 包头市| 灵璧县| 通江县| 泰宁县| 古蔺县|