国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ElasticSearch的語料庫教學(xué)方案的設(shè)計(jì)與實(shí)現(xiàn)*

2020-12-20 17:29陳新元
福建輕紡 2020年5期
關(guān)鍵詞:語料語料庫分布式

陳新元

(福州墨爾本理工職業(yè)學(xué)院 信息工程系,福建 福州 350108)

1 引言

語料庫(Corpus),是按照一定標(biāo)準(zhǔn)采樣所得,包含大量真實(shí)語料,代表某種語言及其變體的電子文本集,即一定規(guī)模語言樣本的集合[1]。20世紀(jì)60年代建成的布朗平衡語料庫(Brown Corpus)達(dá)到了百萬詞級別,而今很多語料庫的規(guī)模已過億,如COCA,美國當(dāng)代英語語料庫(Corpus of Contemporary American English),目前總詞數(shù)達(dá)到5.6億,是世界上規(guī)模最大的平衡語料庫之一。隨著語料庫規(guī)模增長,檢索效率愈發(fā)重要。

語料庫應(yīng)用于教學(xué)已有較多案例,張繼東,邵苗[2]利用BNC語料庫探討了英語母語者和非英語母語者在使用條件句時(shí)的差異并用于改進(jìn)語用情況;Byun M A等[3]使用語料庫對兒童特有的音位模式進(jìn)行了統(tǒng)計(jì)和分析,提取主要的影響因素并用于教學(xué);LV Maastricht等[4]借助語料庫開展第一語言和第二語言的信息結(jié)構(gòu)遷移差異分析,用于提升語言能力;S Solt等[5]使用語料庫在測量理論的基礎(chǔ)上建立了語義分析系統(tǒng),用于鑒定人的分析能力并提出改進(jìn)建議;等等。但是自建語料庫規(guī)模較大時(shí),檢索效率往往下降,影響使用。

Elasticsearch(以下簡稱ES)[6]使用Java開發(fā),是基于全文檢索引擎工具包Lucene構(gòu)建的開源分布式引擎框架,借助簡單的RESTful API隱藏技術(shù)細(xì)節(jié),其主要優(yōu)點(diǎn)包括:

⑴ 分布式文件存儲和靈活的索引機(jī)制。

⑵ 可實(shí)現(xiàn)近乎實(shí)時(shí)分析的分布式搜索:利用分片和副本自動(dòng)協(xié)調(diào)負(fù)載。

⑶ 擴(kuò)展性良好。

⑷ 支持多樣化插件,等等。

2013年初,GitHub采取ES做PB級的搜索,內(nèi)容包括12億個(gè)文件和1300億行代碼。百度、Wikipedia、Goldman Sachs等企業(yè)或機(jī)構(gòu)也紛紛使用ES實(shí)現(xiàn)數(shù)據(jù)檢索。

ES平臺的性能優(yōu)化在國內(nèi)外也是研究熱點(diǎn),宣明[7]通過設(shè)計(jì)索引Schema,改進(jìn)索引存儲策略等方法降低索引大小,縮短索引重建時(shí)間,提高查詢響應(yīng)速度;JM Andre等[8]使用ES分層集群對元數(shù)據(jù)和動(dòng)態(tài)信息進(jìn)行索引,實(shí)現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)的實(shí)時(shí)檢索;陳亞杰[9]設(shè)計(jì)優(yōu)化并實(shí)現(xiàn)了ES檢索請求的標(biāo)準(zhǔn)描述語言,對請求進(jìn)行了統(tǒng)一預(yù)處理;曾亞飛[10]設(shè)計(jì)了基于ES的分布式智能搜索引擎,基于遞歸的發(fā)現(xiàn)算法和用戶數(shù)自適應(yīng)的協(xié)同過濾算法提升垂直詞典和用戶發(fā)現(xiàn)的性能表現(xiàn)。

本文使用ES平臺,將現(xiàn)有語料庫進(jìn)行格式轉(zhuǎn)換并導(dǎo)入設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),對平臺的索引、存儲和檢索進(jìn)行優(yōu)化以提升檢索性能,將方案應(yīng)用于語料庫教學(xué)。

2 基于ES的語料庫教學(xué)方案的設(shè)計(jì)與實(shí)現(xiàn)

2.1 方案環(huán)境

使用6臺聯(lián)想ThinkStation搭建分布式集群,硬件配置為:Xeon 3104×2;16 G×8內(nèi)存;1.2 T SAS硬盤×3,使用Raid5。

操作系統(tǒng)為CentOS7。

2.2 語料導(dǎo)入

已有規(guī)模約為7.70億詞數(shù)的英語單一語言歷時(shí)標(biāo)注語料庫,使用自編Python爬蟲抓取、RSS聚合獲得和OCR識別+校對整理,已完成內(nèi)容準(zhǔn)確性、完整性校驗(yàn),并已去重。語料分布于2006年3月至2019年5月,語體以正式出版物特別是期刊雜志為主,占60%,另有口語、小說、報(bào)紙和劇本語料,每種約占10%,均已整理、清洗和賦碼,統(tǒng)一符號、拼寫和縮略語;部分語料進(jìn)行了詞形還原以方便對比,語料元信息完整。

已有的數(shù)據(jù)存儲分為兩部分,符合索引規(guī)范的JSON文本和來自MongoDB的非結(jié)構(gòu)化數(shù)據(jù),前者使用RESTful API的Post命令導(dǎo)入;后者使用優(yōu)化后的mongo-connector插件導(dǎo)入。

2.3 索引優(yōu)化

⑴ 比較ES的API、bulk API、UDP bulk API和River共4種主流索引方式,特別優(yōu)化bulk API的執(zhí)行效率。

⑵ Lucene使用TF/IDF算法作為默認(rèn)的評分機(jī)制,本文進(jìn)行了自定義,采用隨機(jī)偏離的相似度模型進(jìn)行優(yōu)化。

⑶ 根據(jù)索引熱度設(shè)計(jì)倒排索引以降低內(nèi)存占用,優(yōu)化檢索速度。

⑷ 設(shè)置閾值,根據(jù)索引熱度選擇使用字段數(shù)據(jù)緩存,在CPU資源和內(nèi)存開銷合理增加的范圍內(nèi)啟用緩存機(jī)制。

⑸ 通過預(yù)熱器動(dòng)態(tài)調(diào)整緩存的刷新頻率,提高緩存命中率和查詢性能。

2.4 存儲優(yōu)化

⑴ 對比了ES中mmapfs、simplefs、default_fs等存儲類型的性能表現(xiàn),在windows平臺上,32位和64位系統(tǒng)時(shí)分別使用simplefs和mmapfs的性能較好,本文使用default_fs。

⑵ 當(dāng)語料庫規(guī)模擴(kuò)展到一定程度時(shí),分片和副本配置機(jī)制對性能表現(xiàn)的影響增加,考慮到學(xué)生個(gè)人計(jì)算機(jī)加入集群后的節(jié)點(diǎn)規(guī)模及其加入/退出網(wǎng)絡(luò)的靈活性,對分片和副本的配置需要靈活調(diào)節(jié)并在一定范圍內(nèi)取得動(dòng)態(tài)平衡。因此,通過even_shard和balanced分片分配器對分片權(quán)重進(jìn)行調(diào)節(jié),另外使用了cluster.routing.allocation.type設(shè)置自定義分配器。

⑶ 設(shè)置觸發(fā)條件和執(zhí)行方式在tiered、log_byte_size和log_doc等3種段合并策略間進(jìn)行選擇以提高I/O效率。

2.5 檢索優(yōu)化

⑴ 使用path參數(shù)調(diào)整路由的指向,同時(shí)使用別名在用戶端簡化搜索細(xì)節(jié)。

⑵ 設(shè)置ES Suggest API,自動(dòng)改正用戶的拼寫錯(cuò)誤。

⑶ 配置Term Suggester,給出檢索建議。

⑷ 配置Phrase Suggester,在檢索中提示完整詞組。

⑸ 使用Complete Suggester,在硬件開銷可承擔(dān)的前提下提供自動(dòng)補(bǔ)全功能。

⑹ 在Apacha Solr的基礎(chǔ)上通過顯式、等價(jià)和擴(kuò)展定義等方式進(jìn)行同義詞規(guī)則優(yōu)化。

方案性能采用了單元測試和集成測試、功能測試和性能測試相結(jié)合的方法。數(shù)據(jù)導(dǎo)入時(shí)測試了mapping效率和倒排索引的輸出結(jié)果,在檢索模塊分別驗(yàn)證不同分詞器對檢索響應(yīng)時(shí)間的影響。在集成階段,驗(yàn)證了當(dāng)前語料庫規(guī)模下,隨著集群規(guī)模增長,檢索效率和穩(wěn)定并發(fā)數(shù)有所提升,集群節(jié)點(diǎn)數(shù)為6時(shí)提升趨向平緩。瀏覽器兼容性、平臺穩(wěn)定性等指標(biāo)也進(jìn)行了相應(yīng)的測試。

2.6 語料庫教學(xué)應(yīng)用

課題工作可大致分為5個(gè)階段,如圖1所示,矩形框表示課題的不同階段。圓形框表示涉及到的方法或技術(shù),粗箭頭反映系統(tǒng)流程,細(xì)箭頭表示優(yōu)化,其中箭頭來源表示優(yōu)化的理論和實(shí)踐依據(jù),箭頭方向?qū)?yīng)具體的優(yōu)化目標(biāo)。

整體過程可描述為:收集信息→平臺設(shè)計(jì)與搭建→方案測試與初步優(yōu)化→現(xiàn)有語料庫導(dǎo)入→語料庫教學(xué)試運(yùn)行→增加參與的學(xué)生數(shù)、擴(kuò)大項(xiàng)目規(guī)模→進(jìn)一步優(yōu)化→大規(guī)模語料庫教學(xué)→學(xué)習(xí)實(shí)效檢驗(yàn)→總結(jié)和最終優(yōu)化。

方案教學(xué)的內(nèi)容包括:高頻單詞、短語提??;發(fā)掘四六級考試常見考點(diǎn);同義詞辨析;特殊文體中特定單詞、搭配的慣用含義的辨析;單詞、固定搭配誤用;語義韻辨析;不同語體中常見結(jié)構(gòu)、用法、句型的歸納;結(jié)合語音引擎加強(qiáng)形、音、義的一體關(guān)聯(lián),綜合培養(yǎng)同學(xué)的聽說讀寫各方面的語言能力;語法遷移現(xiàn)象探討,等等。

教學(xué)手段和形式方面,以趣味性和實(shí)用性為基本立足點(diǎn)、以問題為導(dǎo)向,貫徹應(yīng)用型課程的理念,分層設(shè)置多樣化的小項(xiàng)目讓同學(xué)解決實(shí)際問題,強(qiáng)調(diào)自主學(xué)習(xí)、協(xié)作學(xué)習(xí),嘗試翻轉(zhuǎn)課堂,綜合運(yùn)用多媒體等各種教學(xué)載體等。

此外,方案嘗試使用了Kibana實(shí)現(xiàn)可視化的統(tǒng)計(jì)分析,以提高學(xué)生的學(xué)習(xí)興趣,改善學(xué)習(xí)效果。

方案執(zhí)行過程中通過不定期組織面對面交流訪談,問卷量表調(diào)查,以及對測驗(yàn)、考試結(jié)果的統(tǒng)計(jì)分析等方式考核教學(xué)實(shí)效。統(tǒng)計(jì)實(shí)驗(yàn)從2個(gè)水平相當(dāng)?shù)陌嗉壷懈鬟x出成績中游的20名同學(xué),編為實(shí)驗(yàn)組和對照組,在開課前后分別進(jìn)行測試,通過比較教學(xué)前后的成績均值、標(biāo)準(zhǔn)差,以及95%置信區(qū)間內(nèi)的成績提升水平,驗(yàn)證了語料庫教學(xué)相比傳統(tǒng)教學(xué)方式具備一定優(yōu)勢。

3 結(jié)論

本課題使用ES分布式檢索框架并進(jìn)行優(yōu)化,旨在解決海量語料下數(shù)據(jù)存儲和檢索方面的性能瓶頸,快速概括、歸納語言使用現(xiàn)象,發(fā)現(xiàn)語言規(guī)則及語用特征,將分析結(jié)果用于教學(xué)以提高學(xué)習(xí)效果。后續(xù)改進(jìn)方向包括ES的查詢機(jī)制改寫,以及引入Logstash,即使用完整ELK框架實(shí)現(xiàn)語料庫的動(dòng)態(tài)更新和分析,以及進(jìn)一步提升可視化表現(xiàn)。

猜你喜歡
語料語料庫分布式
基于歸一化點(diǎn)向互信息的低資源平行語料過濾方法*
《語料庫翻譯文體學(xué)》評介
分布式光伏熱錢洶涌
分布式光伏:爆發(fā)還是徘徊
基于DDS的分布式三維協(xié)同仿真研究
基于JAVAEE的維吾爾中介語語料庫開發(fā)與實(shí)現(xiàn)
《苗防備覽》中的湘西語料
國內(nèi)外語用學(xué)實(shí)證研究比較:語料類型與收集方法
語篇元功能的語料庫支撐范式介入
西門子 分布式I/O Simatic ET 200AL