• 
    

    
    

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

      ?

      編程語(yǔ)言作業(yè)云平臺(tái)自動(dòng)評(píng)分技術(shù)與實(shí)現(xiàn)

      2017-05-13 22:59壽周翔魯文科
      中國(guó)信息技術(shù)教育 2017年8期
      關(guān)鍵詞:字符串分詞代碼

      壽周翔+魯文科

      隨著計(jì)算機(jī)的大量普及,高校的日常管理效率顯著提高,但在教學(xué)管理上,效率改變還不是十分明顯,特別是針對(duì)計(jì)算機(jī)專業(yè)學(xué)生的作業(yè)評(píng)分還是完全人工的方式,教師需要花大量的時(shí)間和精力在作業(yè)批改上,且評(píng)分主觀性大,效率低。如何改變這一現(xiàn)狀呢?能不能采用算法來(lái)提高評(píng)分的客觀性,減少主觀性呢?針對(duì)上述問(wèn)題,筆者提出了借助教育云平臺(tái)(ITbegin)的作業(yè)自動(dòng)評(píng)分技術(shù),以期幫助教師減少作業(yè)批改時(shí)間,降低評(píng)分主觀性,提高工作效率。

      ITbegin云教育平臺(tái)作業(yè)自動(dòng)評(píng)分

      ITbegin是一個(gè)云教育平臺(tái),它已集成了編程知識(shí)庫(kù)、在線編程、在線運(yùn)行、實(shí)時(shí)互動(dòng)等多項(xiàng)要素。同時(shí),該平臺(tái)已具備整合在線作業(yè)自動(dòng)評(píng)分的兩個(gè)條件:①能支撐各種語(yǔ)言編譯。②能實(shí)現(xiàn)程序的運(yùn)行并取得結(jié)果。因此,我們只要實(shí)現(xiàn)評(píng)分的正確性、客觀性,便能完成作業(yè)的自動(dòng)評(píng)分。所以,我們需要建立一個(gè)評(píng)分模型來(lái)驗(yàn)證評(píng)分的正確性、客觀性。

      評(píng)分模型

      從正確性、客觀性出發(fā),代碼運(yùn)行正確、代碼運(yùn)行結(jié)果與答案結(jié)果匹配、代碼與答案代碼匹配、做作業(yè)時(shí)的敲鍵次數(shù)、做作業(yè)時(shí)的運(yùn)行次數(shù)等五個(gè)指標(biāo)會(huì)影響評(píng)分。

      評(píng)分模型設(shè)計(jì)可分為嚴(yán)格型、標(biāo)準(zhǔn)型、寬松型三種,教師可以根據(jù)不同的評(píng)分模型進(jìn)行評(píng)分。

      嚴(yán)格型的評(píng)分模型必須代碼運(yùn)行正確,且代碼運(yùn)行結(jié)果與答案結(jié)果完全匹配(如表1)。

      標(biāo)準(zhǔn)型的評(píng)分模型必須代碼運(yùn)行正確,降低代碼與答案代碼匹配的權(quán)重,提高代碼與答案代碼匹配的權(quán)重(如表2)。

      寬松型的評(píng)分模型中,代碼運(yùn)行正確不是唯一標(biāo)準(zhǔn),所以會(huì)提高敲鍵次數(shù)、運(yùn)行次數(shù)的權(quán)重(如表3)。

      作業(yè)自動(dòng)評(píng)分的技術(shù)分析

      評(píng)分模型各指標(biāo)需要使用各種算法去匹配,這里主要介紹運(yùn)行結(jié)果算法和代碼相似度算法。

      1.運(yùn)行結(jié)果算法分析

      由于程序運(yùn)行的結(jié)果一般都以字符串的形式出現(xiàn),所以可以將代碼運(yùn)行的結(jié)果字符串與答案運(yùn)行的結(jié)果字符串進(jìn)行相似度比較。運(yùn)行結(jié)果算法常采用距離算法來(lái)比較作業(yè)的運(yùn)行結(jié)果與答案的運(yùn)行結(jié)果。

      距離算法是指從原串轉(zhuǎn)換到目標(biāo)串所需要的最少插入、刪除和替換的操作次數(shù)。它們的距離越大,說(shuō)明它們?cè)讲煌?/p>

      將字符串1轉(zhuǎn)成字符串2的距離算法說(shuō)明如表4所示。

      距離算法過(guò)程:

      (1)如果字符串1或字符串2長(zhǎng)度為0,則返回另一個(gè)字符串的長(zhǎng)度。

      (2)初始化(字符串1長(zhǎng)度+1)*(字符串2長(zhǎng)度+2)的矩陣m,矩陣的下標(biāo)從零開始。

      (3)掃描整個(gè)矩陣,如果str1 [i]==str2[j],則temp=0,否則temp=1,然后矩陣m[i][j]=(上方值+1,左邊值+1,左上方值+temp)三者的最小值。

      (4)掃描完后,返回矩陣m的最后一個(gè)值是它們的距離。

      (5)相似度的計(jì)算公式:相似度=1-(距離/兩字符串的最大長(zhǎng)度)。例如,abc和abcd的相似度為1-(1/4)=0.75。

      2.代碼相似度算法分析

      由于代碼中可能存在英文或中文的單詞,所以筆者在代碼相似度算法中,基于Lucene實(shí)現(xiàn)了中英文分詞。Lucene提供了幾個(gè)常用的分詞器,如StandardAnalyzer(標(biāo)準(zhǔn)分析器,去除標(biāo)點(diǎn)符號(hào))、IKAnalyzer(一個(gè)獨(dú)立的開源中文分詞工具包,提供了語(yǔ)義級(jí)的分詞,更加智能)等。

      相似度計(jì)算可以用向量空間模型,向量可以解釋為一組坐標(biāo),一個(gè)坐標(biāo)表示空間中的一個(gè)點(diǎn),而向量本身是從空間原點(diǎn)到該點(diǎn)的向量。兩個(gè)向量的夾角越小,方向就越一致,相似度就越高,夾角的計(jì)算用余弦公式。

      相似度算法過(guò)程:

      (1)字符串分詞(如上頁(yè)表5)。

      (2)合并分詞集合并計(jì)算每個(gè)詞的相似度(值為0~1之間,如上頁(yè)表6)。

      (3)計(jì)算各點(diǎn)的向量(如上頁(yè)表7)。

      (4)用余弦定理計(jì)算相似度。

      相似度=sum/Math.sqrt (s1*s2)=0.73706。

      作業(yè)自動(dòng)評(píng)分的技術(shù)實(shí)現(xiàn)

      作業(yè)自動(dòng)評(píng)分技術(shù)采用Java語(yǔ)言編寫及實(shí)現(xiàn)。

      1.運(yùn)行結(jié)果算法實(shí)現(xiàn)

      核心代碼如上頁(yè)圖1所示。

      2.代碼相似度算法實(shí)現(xiàn)

      核心代碼如圖2所示。

      作業(yè)自動(dòng)評(píng)分技術(shù)的優(yōu)點(diǎn)

      (1)高效率。作業(yè)由原來(lái)的人工評(píng)分變?yōu)橛?jì)算機(jī)自動(dòng)評(píng)分,大大縮短了教師批改作業(yè)的時(shí)間,提高了他們的工作效率。

      (2)客觀性。作業(yè)自動(dòng)評(píng)分以評(píng)分模型為標(biāo)準(zhǔn),評(píng)分較客觀,適用于所有學(xué)生。

      (3)公平性。作業(yè)自動(dòng)評(píng)分減少了人為的主觀因素,提高了評(píng)分的公平性。

      作者簡(jiǎn)介:壽周翔(1974—),男,浙江省諸暨市人,碩士研究生,講師,主要研究方向?yàn)槿斯ぶ悄堋?/p>

      基金項(xiàng)目:浙江省教育技術(shù)研究規(guī)劃課題(項(xiàng)目編號(hào):JB049);浙江省高等教育教學(xué)改革項(xiàng)目(項(xiàng)目編號(hào):jg2015244)。

      猜你喜歡
      字符串分詞代碼
      分詞在英語(yǔ)教學(xué)中的妙用
      結(jié)巴分詞在詞云中的應(yīng)用
      結(jié)巴分詞在詞云中的應(yīng)用
      一種基于PowerBuilder環(huán)境字符串相似度算法
      神秘的代碼
      SQL server 2008中的常見的字符串處理函數(shù)
      倍增法之后綴數(shù)組解決重復(fù)子串的問(wèn)題
      一周機(jī)構(gòu)凈增(減)倉(cāng)股前20名
      重要股東二級(jí)市場(chǎng)增、減持明細(xì)
      近期連續(xù)上漲7天以上的股
      西乌珠穆沁旗| 淮南市| 临猗县| 巴林右旗| 泊头市| 定结县| 隆化县| 蒙自县| 桑日县| 河间市| 铜鼓县| 澎湖县| 沅江市| 闻喜县| 兰考县| 德令哈市| 新竹市| 绥滨县| 巴彦淖尔市| 都昌县| 柳林县| 聂荣县| 远安县| 博野县| 兴仁县| 保康县| 苏尼特左旗| 晋城| 江达县| 务川| 荔浦县| 正蓝旗| 咸宁市| 武安市| 南华县| 德保县| 邛崃市| 施甸县| 花垣县| 汕头市| 桐乡市|