朱小棟,付峻宇
(上海理工大學(xué)管理學(xué)院,上海 200093)
zhuxd@usst.edu.cn;fujunyu0319@163.com
2021 年2 月21 日發(fā)布的中央一號(hào)文件《中共中央 國(guó)務(wù)院關(guān)于全面推進(jìn)鄉(xiāng)村振興加快農(nóng)業(yè)農(nóng)村現(xiàn)代化的意見》指出,民族要復(fù)興,鄉(xiāng)村必振興,要把全面推進(jìn)鄉(xiāng)村振興作為實(shí)現(xiàn)中華民族偉大復(fù)興的一項(xiàng)重大任務(wù),舉全黨全社會(huì)之力加快農(nóng)業(yè)農(nóng)村現(xiàn)代化。農(nóng)業(yè)生產(chǎn)是鄉(xiāng)村建設(shè)的重要方面,近年來國(guó)務(wù)院出臺(tái)的《數(shù)字鄉(xiāng)村發(fā)展戰(zhàn)略綱要》,第一次明確提出了“數(shù)字農(nóng)業(yè)”的概念,旨在通過推動(dòng)農(nóng)業(yè)的數(shù)字化轉(zhuǎn)型來實(shí)現(xiàn)鄉(xiāng)村建設(shè)的現(xiàn)代化?!皵?shù)字農(nóng)業(yè)”是數(shù)字化發(fā)展模式在農(nóng)業(yè)領(lǐng)域的應(yīng)用實(shí)踐,是互聯(lián)網(wǎng)技術(shù)與農(nóng)業(yè)生產(chǎn)的有效結(jié)合。
但目前我國(guó)實(shí)際的農(nóng)業(yè)生產(chǎn)方式在信息化和現(xiàn)代化等方面仍存在許多不足,例如,信息傳遞的滯后性帶來的生產(chǎn)資源分配不合理、信息整合能力不足導(dǎo)致的生產(chǎn)碎片化,等等。以上種種不足導(dǎo)致農(nóng)業(yè)生產(chǎn)者、消費(fèi)者及政府政策制定者難以做出科學(xué)、有效的決策。因此,要推動(dòng)鄉(xiāng)村振興,實(shí)現(xiàn)農(nóng)業(yè)生產(chǎn)現(xiàn)代化,就必須思考如何提高農(nóng)業(yè)生產(chǎn)和銷售的信息化水平,為農(nóng)業(yè)生產(chǎn)的各個(gè)環(huán)節(jié)提供有力的決策支持。
本文旨在設(shè)計(jì)一套農(nóng)業(yè)決策信息挖掘系統(tǒng),通過大數(shù)據(jù)技術(shù)從農(nóng)業(yè)數(shù)據(jù)中挖掘決策信息。決策信息挖掘系統(tǒng)的構(gòu)建以優(yōu)化農(nóng)業(yè)生產(chǎn)為目的和業(yè)務(wù)邏輯,融合新興的互聯(lián)網(wǎng)技術(shù),力求打通農(nóng)業(yè)系統(tǒng)之間的信息壁壘。為鄉(xiāng)村農(nóng)業(yè)生產(chǎn)提供決策信息挖掘系統(tǒng)作為指導(dǎo)工具符合“數(shù)字農(nóng)業(yè)”的理念,也是國(guó)家推動(dòng)鄉(xiāng)村振興戰(zhàn)略,實(shí)現(xiàn)農(nóng)業(yè)現(xiàn)代化的有效方式。
根據(jù)農(nóng)業(yè)生產(chǎn)、銷售的現(xiàn)實(shí)需要,農(nóng)業(yè)決策信息挖掘系統(tǒng)的主要功能包括:(1)對(duì)原始數(shù)據(jù)進(jìn)行整理,進(jìn)行可視化處理和信息查詢操作,打通信息壁壘;(2)通過深度學(xué)習(xí)技術(shù),對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行未來的趨勢(shì)預(yù)測(cè),為農(nóng)業(yè)生產(chǎn)提供一定程度的指導(dǎo),如圖1所示。
圖1 農(nóng)業(yè)決策信息挖掘系統(tǒng)平臺(tái)功能Fig.1 Platform function of agricultural decision information mining system
系統(tǒng)的實(shí)現(xiàn)過程主要包括:(1)系統(tǒng)架構(gòu)的搭建;(2)系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì);(3)深度學(xué)習(xí)算法的應(yīng)用;(4)數(shù)據(jù)挖掘模型在Web平臺(tái)中的融合。
首先,系統(tǒng)架構(gòu)是實(shí)現(xiàn)農(nóng)業(yè)決策信息挖掘系統(tǒng)的基礎(chǔ),決定了系統(tǒng)業(yè)務(wù)的運(yùn)行方式。傳統(tǒng)的系統(tǒng)開發(fā)模式包括MVC模式等,但為了靈活應(yīng)對(duì)農(nóng)業(yè)決策信息挖掘系統(tǒng)中復(fù)雜多樣的數(shù)據(jù)流,本文采用前后端分離的MVVM模式來構(gòu)建平臺(tái)。
MVVM模式在邏輯上將系統(tǒng)分為Model、View、ViewModel三部分。Model是數(shù)據(jù)模型,在農(nóng)業(yè)決策信息挖掘系統(tǒng)中代表不同的農(nóng)業(yè)數(shù)據(jù)類型,用于定義修改數(shù)據(jù)和操作數(shù)據(jù)的業(yè)務(wù)邏輯。View代表農(nóng)業(yè)決策信息挖掘系統(tǒng)界面組件,它將農(nóng)業(yè)數(shù)據(jù)模型轉(zhuǎn)化成頁(yè)面的可視化組件,在實(shí)際的農(nóng)業(yè)生產(chǎn)場(chǎng)景中提供給用戶使用。ViewModel是一個(gè)用來同步View和Model的對(duì)象,在MVVM架構(gòu)中,View對(duì)象和Model對(duì)象之間沒有直接的聯(lián)系,而是通過ViewModel進(jìn)行交互。除此之外,Model和ViewModel之間的交互是雙向的,因此View對(duì)象數(shù)據(jù)的變化會(huì)同步到Model對(duì)象中,而Model對(duì)象數(shù)據(jù)的變化也會(huì)立即反映到View對(duì)象上。在農(nóng)業(yè)決策信息挖掘系統(tǒng)中,農(nóng)業(yè)數(shù)據(jù)來源多樣,在不同的模塊中數(shù)據(jù)的處理不盡相同,所以MVVM模式可以有效地應(yīng)對(duì)數(shù)據(jù)在前端的更新問題。MVVM架構(gòu)如圖2所示。
圖2 農(nóng)業(yè)決策信息挖掘系統(tǒng)MVVM模式架構(gòu)圖Fig.2 MVVM model architecture of agricultural decision information mining system
農(nóng)業(yè)決策信息挖掘系統(tǒng)的構(gòu)建將系統(tǒng)分為前端和后端。前端負(fù)責(zé)頁(yè)面內(nèi)容,后端負(fù)責(zé)數(shù)據(jù)供給和各種數(shù)據(jù)庫(kù)操作。在MVVM模式下,前后端可以做到完全分離,并且前后端可獨(dú)立開發(fā)和部署。前后端分離的優(yōu)勢(shì)包括:(1)降低開發(fā)難度,提高開發(fā)效率,更好地實(shí)現(xiàn)系統(tǒng)各部分的需求,并且系統(tǒng)架構(gòu)清晰,有利于后期對(duì)系統(tǒng)進(jìn)行維護(hù)和進(jìn)一步開發(fā)。(2)降低系統(tǒng)耦合度,使數(shù)據(jù)傳輸和渲染的過程更加清晰,大大提高了系統(tǒng)的健壯性。
另外,平臺(tái)搭建過程采用的詳細(xì)技術(shù)架構(gòu)包括:(1)前端使用Vue作為總體框架,通過Axios與后端進(jìn)行數(shù)據(jù)交流,利用Bootstrap和Element-UI作為輔助開發(fā)用戶界面。(2)后端采用SpringBoot框架,使用MyBatis進(jìn)行數(shù)據(jù)庫(kù)讀寫,在Controller控制層對(duì)數(shù)據(jù)進(jìn)行封裝,生成API接口。
基于以上技術(shù),我們可以完成農(nóng)業(yè)決策信息挖掘系統(tǒng)主要的平臺(tái)建設(shè)工作,并充分考慮其所具備的數(shù)據(jù)特征和業(yè)務(wù)邏輯特點(diǎn)。
各種農(nóng)業(yè)數(shù)據(jù)是推進(jìn)“數(shù)字農(nóng)業(yè)”的基礎(chǔ),只有在數(shù)據(jù)的支持下平臺(tái)才能生成對(duì)農(nóng)業(yè)生產(chǎn)有利的服務(wù)產(chǎn)品,所以數(shù)據(jù)的存儲(chǔ)和調(diào)用過程至關(guān)重要。數(shù)據(jù)存儲(chǔ)技術(shù)發(fā)展至今,已經(jīng)由最初的文件存儲(chǔ)系統(tǒng)發(fā)展到單機(jī)的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),再到近幾年興起的分布式存儲(chǔ)系統(tǒng)。分布式存儲(chǔ)系統(tǒng)不再基于單一服務(wù)器的存儲(chǔ)模式,并且具有更高的擴(kuò)展性,因此可以更好地滿足當(dāng)下數(shù)據(jù)量大、業(yè)務(wù)邏輯復(fù)雜的應(yīng)用場(chǎng)景。分布式系統(tǒng)是與傳統(tǒng)RDBMS顯著不同的數(shù)據(jù)庫(kù)管理系統(tǒng),其數(shù)據(jù)的存儲(chǔ)可不需要固定的模式,而且通常避免連接操作。
農(nóng)業(yè)決策信息挖掘系統(tǒng)中農(nóng)產(chǎn)品種類繁多,數(shù)據(jù)量大,不同數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)差異較大,并且系統(tǒng)并發(fā)訪問時(shí)對(duì)數(shù)據(jù)庫(kù)壓力較大,所以適合采用分布式存儲(chǔ)的方式,在多臺(tái)服務(wù)器中建立數(shù)據(jù)庫(kù)系統(tǒng),服務(wù)端可以根據(jù)數(shù)據(jù)需求訪問不同的數(shù)據(jù)庫(kù),大大增強(qiáng)了系統(tǒng)的抗壓能力,也可以使數(shù)據(jù)的存儲(chǔ)和數(shù)據(jù)之間的關(guān)系更加清晰。分布式數(shù)據(jù)庫(kù)集群如圖3所示。同時(shí),服務(wù)端在訪問數(shù)據(jù)庫(kù)時(shí),根據(jù)業(yè)務(wù)邏輯需要對(duì)數(shù)據(jù)庫(kù)表進(jìn)行連接,以及進(jìn)行各種級(jí)聯(lián)操作,所以在單一服務(wù)器上仍然適合采用關(guān)系型數(shù)據(jù)庫(kù),例如MySQL等。
圖3 數(shù)據(jù)庫(kù)服務(wù)集群Fig.3 Database service cluster
上述系統(tǒng)架構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)是農(nóng)業(yè)決策信息挖掘系統(tǒng)的平臺(tái)基礎(chǔ)及淺層數(shù)據(jù)應(yīng)用,為了深度挖掘數(shù)據(jù)中的重要信息,需要引入有效的數(shù)據(jù)挖掘算法。LSTM時(shí)間序列預(yù)測(cè)算法在處理價(jià)格趨勢(shì)等方面有著良好的性能,所以適合應(yīng)用到農(nóng)業(yè)決策信息挖掘系統(tǒng)中。
在農(nóng)業(yè)生產(chǎn)過程中,農(nóng)產(chǎn)品價(jià)格是指導(dǎo)農(nóng)業(yè)生產(chǎn)的重要數(shù)據(jù),也是農(nóng)業(yè)生產(chǎn)者關(guān)注的重要信息,農(nóng)業(yè)決策信息挖掘系統(tǒng)的數(shù)據(jù)整理和查詢提供了過往價(jià)格數(shù)據(jù)信息,但仍需要對(duì)未來一段時(shí)間的農(nóng)產(chǎn)品價(jià)格走向有一定的預(yù)測(cè)功能。
受一些市場(chǎng)及環(huán)境因素的影響,農(nóng)產(chǎn)品價(jià)格會(huì)隨時(shí)間波動(dòng)變化,而價(jià)格波動(dòng)是影響農(nóng)業(yè)生產(chǎn)者收益的重要因素。所以對(duì)農(nóng)產(chǎn)品市場(chǎng)價(jià)格進(jìn)行短期預(yù)測(cè),有利于農(nóng)業(yè)生產(chǎn)者規(guī)避市場(chǎng)風(fēng)險(xiǎn),也是維護(hù)市場(chǎng)健康發(fā)展、制定農(nóng)業(yè)產(chǎn)業(yè)政策的重要手段。采用基于LSTM的預(yù)測(cè)算法可以通過數(shù)據(jù)庫(kù)中現(xiàn)有價(jià)格數(shù)據(jù)來訓(xùn)練模型,并預(yù)測(cè)未來一段時(shí)間的農(nóng)產(chǎn)品價(jià)格信息。
LSTM是經(jīng)典的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。循環(huán)神經(jīng)網(wǎng)絡(luò)的前向計(jì)算利用了當(dāng)前步的輸入及上一時(shí)間步的隱藏狀態(tài),當(dāng)前步的輸入表征當(dāng)前信息,上一時(shí)間步的隱藏狀態(tài)表征過往信息。
LSTM引入了三種門和記憶細(xì)胞。三種門即輸入門(Input Gate)、遺忘門(Forget Gate)和輸出門(Output Gate),三種門的輸入均為當(dāng)前時(shí)間步輸入與上一時(shí)間步的隱藏狀態(tài),輸出由激活函數(shù)為Sigmoid函數(shù)的全連接層計(jì)算得到。LSTM的輸入門、遺忘門和輸出門可以控制信息的流動(dòng)。記憶細(xì)胞與隱藏狀態(tài)形狀相同,用于記錄額外的信息。在LSTM中,長(zhǎng)短期記憶的隱藏層輸出包括隱藏狀態(tài)和記憶細(xì)胞。其中,只有隱藏狀態(tài)會(huì)傳遞到輸出層。LSTM可用于解決循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度衰減問題,并更好地捕捉時(shí)間序列中時(shí)間步距離較大的依賴關(guān)系。
針對(duì)農(nóng)業(yè)決策信息挖掘系統(tǒng)中的農(nóng)產(chǎn)品價(jià)格數(shù)據(jù)構(gòu)造模型并進(jìn)行訓(xùn)練。構(gòu)造模型和訓(xùn)練的過程使用PyTorch深度學(xué)習(xí)框架,其中包含各種神經(jīng)網(wǎng)絡(luò)層,可以快速構(gòu)建LSTM的模型結(jié)構(gòu)。
首先是數(shù)據(jù)的加載方式。農(nóng)產(chǎn)品價(jià)格信息是一段時(shí)間序列數(shù)據(jù),設(shè)訓(xùn)練集的總長(zhǎng)度為,每次輸入的批次大小為batch size,每一個(gè)樣本包含的時(shí)間步數(shù)為num_steps。用一個(gè)小批量最終時(shí)間步的隱藏狀態(tài)來初始化下一個(gè)小批量的隱藏狀態(tài),從而使下一個(gè)小批量的輸出也取決于當(dāng)前小批量的輸入,并如此循環(huán)。這對(duì)實(shí)現(xiàn)循環(huán)神經(jīng)網(wǎng)絡(luò)造成了兩方面影響:一方面,在訓(xùn)練模型時(shí),只需在每一個(gè)迭代周期開始時(shí)初始化隱藏狀態(tài);另一方面,當(dāng)多個(gè)相鄰小批量通過傳遞隱藏狀態(tài)串聯(lián)起來時(shí),模型參數(shù)的梯度計(jì)算將依賴所有串聯(lián)起來的小批量序列。同一迭代周期中,隨著迭代次數(shù)的增加,梯度的計(jì)算開銷會(huì)越來越大。為了使模型參數(shù)的梯度計(jì)算只依賴一次迭代讀取的小批量序列,可以在每次讀取小批量前將隱藏狀態(tài)從計(jì)算圖中分離出來。
其次是定義模型的網(wǎng)絡(luò)結(jié)構(gòu)。LSTM模型的結(jié)構(gòu)包括輸入門、遺忘門和輸出門的計(jì)算,以及記憶細(xì)胞和隱藏狀態(tài)的計(jì)算,最后通過隱藏狀態(tài)得到當(dāng)前時(shí)間步的輸出。所有的過程可以手動(dòng)實(shí)現(xiàn),添加一些自定義的設(shè)計(jì),也可以直接調(diào)用PyTorch提供的LSTM模塊,其中包含完整的LSTM計(jì)算過程,只需要輸入訓(xùn)練數(shù)據(jù)即可。
最后是定義模型訓(xùn)練函數(shù)并進(jìn)行訓(xùn)練。訓(xùn)練函數(shù)中需要指定模型、優(yōu)化器及各種參數(shù)。模型即為定義好的LSTM模型。優(yōu)化器選擇PyTorch中封裝好的優(yōu)化函數(shù),例如SGD隨機(jī)梯度下降函數(shù)、Adam算法等。各種參數(shù)包括LSTM中隱藏節(jié)點(diǎn)的數(shù)量、批次大小、時(shí)間步長(zhǎng)、學(xué)習(xí)率和梯度裁剪閾值等。定義好函數(shù)的參數(shù)后便可以開始訓(xùn)練過程的定義。將加載進(jìn)來的農(nóng)產(chǎn)品價(jià)格數(shù)據(jù)輸入LSTM模型中,得到一個(gè)預(yù)測(cè)值,并計(jì)算這個(gè)預(yù)測(cè)值與真實(shí)的農(nóng)產(chǎn)品價(jià)格之間的差距,即計(jì)算這一過程的損失值。損失函數(shù)使用均方誤差損失函數(shù)MSE。之后通過損失值對(duì)模型中所有節(jié)點(diǎn)的參數(shù)進(jìn)行求偏導(dǎo),并使用優(yōu)化器進(jìn)行優(yōu)化。這便是一次完整的訓(xùn)練過程,對(duì)所有輸入數(shù)據(jù)循環(huán)進(jìn)行此過程,最終得到預(yù)測(cè)模型。
不同農(nóng)產(chǎn)品價(jià)格波動(dòng)程度存在差異,所以要針對(duì)不同數(shù)據(jù)設(shè)置合適的參數(shù)大小,并進(jìn)行多次訓(xùn)練得到盡可能準(zhǔn)確的結(jié)果。
農(nóng)作物的蟲害、生理病變是影響農(nóng)作物產(chǎn)量和質(zhì)量的重要因素,因此對(duì)農(nóng)作物病蟲害的診斷與防治是農(nóng)業(yè)生產(chǎn)中的關(guān)鍵活動(dòng)。但傳統(tǒng)基于經(jīng)驗(yàn)的農(nóng)作物病蟲害診斷具有效率低、準(zhǔn)確性差的特點(diǎn),而且農(nóng)業(yè)生產(chǎn)者學(xué)習(xí)專業(yè)的農(nóng)業(yè)診斷知識(shí)困難較大。隨著遙感技術(shù)的發(fā)展,對(duì)農(nóng)作物長(zhǎng)勢(shì)和發(fā)展?fàn)顟B(tài)的觀測(cè)手段越來越多,數(shù)據(jù)樣本越來越豐富,這使得計(jì)算機(jī)視覺在農(nóng)作物病蟲害防治方面有了更好的應(yīng)用。其主要的應(yīng)用方式是對(duì)輸入圖像或視頻做目標(biāo)檢測(cè),提取所需關(guān)鍵目標(biāo)。輸入患病農(nóng)作物所表現(xiàn)的外觀圖像,利用目標(biāo)檢測(cè)技術(shù)判斷發(fā)病類型是大數(shù)據(jù)技術(shù)在農(nóng)作物病蟲害診斷上的有效應(yīng)用。通過采集到的大量農(nóng)作物發(fā)病表現(xiàn)的圖像樣本訓(xùn)練模型,來檢測(cè)農(nóng)作物圖像中存在病理表現(xiàn)的目標(biāo),進(jìn)而將農(nóng)作物的發(fā)病原因提供給農(nóng)業(yè)生產(chǎn)者,進(jìn)行決策支持。
目前最常用的框架是YOLO模型。YOLO模型自2016 年被提出發(fā)展至今已有多個(gè)版本,其中最新的YOLOv5模型的性能最佳,更適合現(xiàn)實(shí)應(yīng)用場(chǎng)景。
使用YOLOv5訓(xùn)練病蟲害診斷模型的步驟分為:(1)數(shù)據(jù)標(biāo)簽圈定;(2)模型訓(xùn)練;(3)性能測(cè)試。整個(gè)過程需要依賴足夠的農(nóng)作物病蟲害圖像樣本才能訓(xùn)練出有效的模型。
對(duì)于原始的農(nóng)作物病蟲害圖像樣本數(shù)據(jù)集,需要人工圈定出圖像中的發(fā)病表現(xiàn)區(qū)域,并設(shè)置該病理表現(xiàn)的病蟲害類別,才能在訓(xùn)練過程中根據(jù)標(biāo)簽進(jìn)行模型的訓(xùn)練。圈定過程使用的是LabelImg工具,它提供了一個(gè)可視化的圖像數(shù)據(jù)標(biāo)注環(huán)境,能夠自動(dòng)對(duì)數(shù)據(jù)進(jìn)行讀取和保存,并將標(biāo)注結(jié)果轉(zhuǎn)換成YOLOv5可以識(shí)別的數(shù)據(jù)格式。標(biāo)注結(jié)果可以劃分為訓(xùn)練集、測(cè)試集和驗(yàn)證集分別保存,用于后期訓(xùn)練和驗(yàn)證,其標(biāo)注過程如圖4所示。
圖4 使用LabelImg進(jìn)行數(shù)據(jù)標(biāo)簽標(biāo)注Fig.4 Data labeling with LabelImg
開始進(jìn)行模型訓(xùn)練之前,要對(duì)訓(xùn)練過程進(jìn)行配置,創(chuàng)建一個(gè)標(biāo)記語言文件來指定訓(xùn)練樣本保存位置、分類類別等信息。隨后開始訓(xùn)練,通過命令運(yùn)行YOLOv5模型根目錄下的train文件,同時(shí)需要設(shè)定參數(shù)等信息。
模型訓(xùn)練后可以得到一個(gè)針對(duì)某種病蟲害的檢測(cè)模型,同時(shí)YOLOv5會(huì)輸出訓(xùn)練過程中的分類損失值、召回率等信息,用于評(píng)價(jià)模型的性能,根據(jù)這些信息可以調(diào)整訓(xùn)練數(shù)據(jù)集的劃分和模型訓(xùn)練超參數(shù)的設(shè)定,逐步獲取性能最佳的模型。
訓(xùn)練好的模型以模型參數(shù)文件保存,可以使用YOLOv5模型根目錄下的detect文件來指定模型對(duì)數(shù)據(jù)進(jìn)行檢測(cè)。不僅如此,YOLOv5訓(xùn)練得到的模型還能用于不同系統(tǒng)或終端的部署,以融合到我們的農(nóng)業(yè)決策信息挖掘系統(tǒng)。YOLOv5模型對(duì)樣本的檢測(cè)如圖5所示。
圖5 水稻稻瘟病圖像樣本的檢測(cè)Fig.5 Detection of rice blast image samples
農(nóng)業(yè)決策信息挖掘系統(tǒng)平臺(tái)的Web服務(wù)端通過基于Java語言的SpringBoot框架構(gòu)建,但數(shù)據(jù)挖掘算法模型基于Python語言,平臺(tái)使用過程中需要通過Web端將輸入數(shù)據(jù)傳遞到模型來進(jìn)行預(yù)測(cè),所以兩者之間的通信存在一定的跨語言沖突,因此需要通過特定手段實(shí)現(xiàn)服務(wù)端對(duì)算法模型的調(diào)用。
在Java企業(yè)級(jí)項(xiàng)目開發(fā)中,RunTime.getRuntime().exec()函數(shù)提供了調(diào)用執(zhí)行服務(wù)器命令腳本的功能,其包含Python腳本在內(nèi)的多種命令執(zhí)行功能,因此我們可以使用該方法來創(chuàng)建進(jìn)程,執(zhí)行指定的Python程序。該函數(shù)的輸入?yún)?shù)是一個(gè)字符串?dāng)?shù)組,包含調(diào)用程序的命令及指定程序的路徑和程序參數(shù),需要注意的是,這里的路徑必須為模型算法在服務(wù)器中的絕對(duì)路徑。
算法模型被Java服務(wù)調(diào)用后生成相應(yīng)的預(yù)測(cè)價(jià)格信息,價(jià)格結(jié)果通過Java的BufferedReader類回傳到服務(wù)端中,再由服務(wù)端發(fā)送到前端,并渲染到用戶所看到的Web界面。
在傳統(tǒng)生產(chǎn)和市場(chǎng)環(huán)境下,各種農(nóng)業(yè)數(shù)據(jù)信息分布比較零散,難以聯(lián)系在一起發(fā)揮作用,并且分布不均,農(nóng)業(yè)數(shù)據(jù)信息掌握在少數(shù)部門中,部門之間缺乏有效的溝通渠道,這導(dǎo)致農(nóng)業(yè)生產(chǎn)者、消費(fèi)者及政府政策制定者之間存在信息不對(duì)稱及數(shù)字鴻溝,妨礙了生產(chǎn)力的提高和供需關(guān)系的平衡。農(nóng)業(yè)決策信息挖掘系統(tǒng)將各方面數(shù)據(jù)整合到一起并進(jìn)行初步的整理和篩選,以直觀、高效的方式提取出有效信息傳遞給用戶。
在這個(gè)過程中,農(nóng)業(yè)生產(chǎn)者可以通過農(nóng)業(yè)決策信息挖掘系統(tǒng)了解不同地區(qū)及不同產(chǎn)品的價(jià)格走勢(shì),進(jìn)而選擇在合適的時(shí)間進(jìn)行售賣,以及針對(duì)自身的生產(chǎn)能力進(jìn)行生產(chǎn)力在不同作物之間的分配;對(duì)于消費(fèi)者,在大數(shù)據(jù)農(nóng)業(yè)決策信息挖掘系統(tǒng)中可以了解更多供應(yīng)渠道及潛在需求,根據(jù)自身需要選擇更合適的供應(yīng)商及高品質(zhì)產(chǎn)品;對(duì)于政府政策制定者,可以了解市場(chǎng)中供需關(guān)系的狀態(tài),更合理地根據(jù)實(shí)際情況制定有效政策,并提高政策制定的時(shí)效性。
農(nóng)業(yè)數(shù)據(jù)體量龐大,其中蘊(yùn)含著可觀的潛在價(jià)值,通過現(xiàn)有的人工智能等技術(shù)與農(nóng)業(yè)決策信息挖掘系統(tǒng)相結(jié)合,可以延伸出多種應(yīng)用場(chǎng)景。例如,農(nóng)業(yè)預(yù)測(cè)預(yù)警技術(shù)是以農(nóng)業(yè)物聯(lián)網(wǎng)收集到的海量數(shù)據(jù)為依據(jù),利用大數(shù)據(jù)技術(shù)建立預(yù)測(cè)模型,對(duì)農(nóng)業(yè)對(duì)象未來發(fā)展的趨勢(shì)進(jìn)行科學(xué)預(yù)測(cè),對(duì)農(nóng)業(yè)環(huán)境中可能出現(xiàn)的不利于農(nóng)作物正常生長(zhǎng)的極端情景進(jìn)行提前預(yù)警,最大限度地消除或減輕有可能遭受的農(nóng)業(yè)災(zāi)害。另外,農(nóng)業(yè)人工智能技術(shù)可以從優(yōu)化的角度促進(jìn)農(nóng)業(yè)生產(chǎn)過程高效化,對(duì)農(nóng)業(yè)生產(chǎn)、銷售等過程實(shí)施動(dòng)態(tài)管理,提升資源利用率和勞動(dòng)效率,減少生產(chǎn)成本和勞動(dòng)強(qiáng)度。
首先,針對(duì)目前我國(guó)農(nóng)業(yè)生產(chǎn)中存在的信息傳遞滯后性和信息整合能力不足等問題,以農(nóng)業(yè)數(shù)據(jù)特征和大數(shù)據(jù)技術(shù)特點(diǎn)為研究對(duì)象,提出了一套農(nóng)業(yè)決策信息挖掘系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)將各渠道收集的農(nóng)產(chǎn)品數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù),利用LSTM等深度學(xué)習(xí)模型預(yù)測(cè)序列數(shù)據(jù)及圖像數(shù)據(jù)。其次,根據(jù)農(nóng)業(yè)數(shù)據(jù)特征和業(yè)務(wù)邏輯,設(shè)計(jì)了農(nóng)業(yè)決策信息挖掘系統(tǒng)的平臺(tái)架構(gòu)和數(shù)據(jù)庫(kù)架構(gòu),優(yōu)化了運(yùn)行效率和用戶體驗(yàn),并設(shè)計(jì)了在Web平臺(tái)中融合數(shù)據(jù)處理技術(shù)的具體應(yīng)用方案。最后,通過分析農(nóng)業(yè)決策信息挖掘系統(tǒng)的實(shí)際應(yīng)用場(chǎng)景,證明該系統(tǒng)能夠有效挖掘農(nóng)業(yè)數(shù)據(jù)中的潛在價(jià)值,促進(jìn)農(nóng)業(yè)生產(chǎn)和消費(fèi)升級(jí),并延伸出其他人工智能算法在農(nóng)業(yè)中的應(yīng)用。