


摘要:該文在傳感器技術處理的基礎上,對泡茶的用量、溫度和時間三個方面進行了深入研究,針對用戶泡茶偏好的個性化特征提取問題,提出一種動態分割算法,對泡茶偏好進行上下文特征提取,從而為用戶泡茶偏好的特征提取和個性化推薦服務提供了一種有效的解決方案。
關鍵詞:動態分割算法;泡茶;個性化;特征提取
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2020)19-0179-03
開放科學(資源服務)標識碼(OSID):
1 背景
考慮到用戶泡茶行為主要受茶葉種類、茶具大小、年齡結構、泡茶歷史、季節、氣候、健康狀況等諸多因素的影響,其在泡茶過程中最終都會直接表現為茶葉用量、水溫、時間三個方面的個人偏好和習慣特征。為了準確獲取用戶個性化飲的茶偏好,本文針在物聯網處理技術的基礎上,提出一種基于動態分割算法的個性化泡茶偏好知識獲取方法,該方法主要從用量、溫度和時間三個方面進行研究,通過物聯網傳感器技術采集用戶泡茶數據,提取出個性化泡茶特征,利用數據動態分割法獲取用戶泡茶偏好上下文,從而建立準確的用戶泡茶信息庫,實現對用戶信息呈現或茶品推薦等功能。
2 個性化泡茶偏好特征提取
所謂用戶泡茶偏好主要是指用戶在一定時間段內,對某樣茶品或某類茶品的食用情況。不同茶品在泡茶過程的基本要求和方式手法上雖有所不同,個性需求、行為特征和個人偏好也千差萬別,但歸納起來,可以通過用量、水溫和時間這三個關鍵參數來具體描述。
2.1茶葉用量特征提取
茶葉種類繁多,類別不同其用量各異,泡一壺好茶,茶葉用量的掌握尤為關鍵,為諸多關鍵參數之首。每次茶葉用量的多少并沒有統一的固定標準,主要受茶葉種類、茶具大小、年齡結構、泡茶歷史以及飲用習慣等諸多因素的影響,鑒于用戶單次泡茶的茶葉用量不會太大,泡茶其用量可以通過壓力感應的方式稱重獲取。
考慮到壓力傳感器對壓力十分敏感,在稱重過程中難免出現偏移量誤差,因此,系統在托盤底部均勻布置3個壓力傳感器,采用單位時間內多個壓力傳感器采集數據求平均的方法,來獲取可靠的茶葉用量。
用戶泡茶偏好用量獲取與處理算法思想可以表述為:
1)建立數組集合ArrayWeight={ArrayWeighti,ArrayWeight2,ArrayWeight3],用于存放各壓力傳感器采集茶盒和茶葉的數據,其中,ArrayWeight,表示第i壓力傳感器采集數據(1《i≤3)
2)系統初始化:ArrayWeight=φ,初始化茶葉用量Weight-Num=0,初始化壓力測試監視哨newFlags=false,表示之前接收的傳感器數據已經處理,將要從傳感器接收新數據;
3)采集一次傳感器數據;
4)初始化ArrayWeight=φ,分別將3個壓力傳感器采集到的數據存人到ArrayWeight集合中,即ArrayWeight[3]={第1個壓力傳感器采集數據,第2個壓力傳感器采集數據,第3個壓力傳感器采集數據】,并對各壓力傳感器數據求平均值,將其存入WeightNum中,即:
同時修改壓力測試監視哨狀態newFlags=true;
5)判斷newFlags是否為真,若為真,則執行3),若為假則執行5);
6)輸出WeightNum,同時修改壓力測試監視哨狀態new-Flags=false;
7)結束。
2.2 泡茶水溫特征提取
歷來泡茶對水溫的把握十分講究,水溫度不同,茶的色、香、味相差甚遠,泡出茶葉的有效成分也就不同。水溫過高,茶葉容易泛黃味苦,所含維生素C等大量營養成分遭受破壞;溫度過低,不能使茶葉中的有效成分充分浸出,茶味淡薄。系統通過布置在茶具底部的不銹鋼防水溫度傳感器,可以采集到用戶泡茶過程中的水溫傳感器數據,通過對這些數據的處理,就可以獲取用戶一次泡茶過程中對水溫的需求情況;
基本思路為:將傳感器捕獲到的數據存儲于動態數組中,并按照時間段將動態數組劃分劃分成不同的段,每段對應一定時間內較為穩定的溫度傳感器數據,通過對每個段內的傳感器數據求平均值,就可以得到較為可靠的溫度傳感器數據;通過計算相鄰兩個分段的均值差,就可以求出水溫的變化量。
動態分割算法主要采用前向窺探機制,算法首先需要確定出相鄰兩個分段均值差的偏差范圍,通過訓練設置合適的偏差閾值并進行初始化,當傳感器新獲取數據時,需要與前一分段的均值進行比較,判斷是否在閾值范圍之內,如果在閾值范圍內則將新獲取數據添加到前一分段,否則重新劃分一個時間分段。通過這種方式可以很好地對動態分割進行時間分段,并且同時對噪點數據進行去噪處理。
前向窺探機制的動態分割算法提取泡茶水溫的基本特征,其算法可做如下描述:
1)建立動態數組集合ArrayList,用于存放溫度傳感器捕獲的所有數據。ArrayList= {ArrayList1,ArrayList2,ArrayList3,…,Ar-rayListn),ArrayList.表示第i次溫度傳感器的捕獲數據,i∈n;
ArrayListi為三元數據,包含分段屬性、溫度屬性和時間屬性,表示為ArrayListi<分段,溫度,時間>=ArrayListi, ArrayListi表示第i次溫度傳感器的捕獲數據,該數據屬于動態分割的第PiecewiseCount,組,溫度值為Temperature i攝氏度,捕獲該數據的時間為PiecewiseDateti-me,;
2)系統初始化:動態數組初始化ArrayList=φ,閾值初始化ThresholdValue=t( OCOs)秒,設置起始標志Flags=True;
3)捕獲第一個溫度傳感器數據,接收溫度屬性參數Value,和時間參數Datetime,;
4)初始化一個分割段:PiecewiseCount=1,將第一次獲取的數據屬性和時間屬性分別存人ArrayList數組中,則此時ArraYL-isti=<1, Val-uei.Datetime i>;設置分割段監視哨j=1;
5)捕獲溫度傳感器第i個數據,接收溫度屬性參數Valuei和時間屬性參數Datetime i;
6)判斷Value與PiecewiseCount.時間段的均值只差的絕對值小于或等于閾值ThresholdValue的條件是否為真,若為真,則說明第i個傳感器數據與前一個i-1傳感器數據的分割段為同一段,則執行7),否則執行8);
7)將第i個數據ArrayList.寫入動態數組中,同時,j++準備接受下一個傳感器數據;執行9)
8)重新創建一個數據分割段,并將第i個數據ArrayList.寫入動態數組中;同時,j=1準備接受下一個傳感器數據;執行9)
9)如果Flags=True,則執行5),否則執行10)
10)對各分割段求均值,輸出水溫特征值;
11)結束。
根據上述算法描述,動態分割過程代碼如下:
Question:
Input://輸入所有溫度傳感器捕獲的溫度和時間
OutPut:,/輸出泡茶水溫值
Procodone:
{
ArravList=φ;//動態數組初始化
ThresholdValue=t;//閾值初始化,
PiecewiseCount=0;//分段參數初始化
Value=0;Datetime=now;//當前傳感器數據的數值屬性和時間屬性初始化
Flags=True;//起始標志位初始化
//接收第一個傳感器數據并寫入動態數組
If(PiecewiseCount==0)
(
PiecewiseCount++;//為第一個傳感器數據創建一個數據分割段
//準備動態數組元素數據
PiecewiseCounti =PiecewiseCount;
Temperaturei =Value;
iecewiseDatetimei= Datetime
add( ArrayListi)//將ArrayList,元素寫入動態數組
)
i=l;//統計傳感器數據輸入個數并初始化
j=l;//統計同一分割段數據個數并初始化
Where(Flags)
{
i++;ThresholdValue)//判斷Value與PiecewiseCounti時間段的均值只差的絕對值小于或等于閾值ThresholdValue的條件是否為真
{
//若為真
PiecewiseCount.=PiecewiseCounti_i//則說明第i個傳感器數據與前一個i-l傳感器數據的分割段為同一段
Temperature,=Valuei;/,接收當前傳感器數據的溫度值
PiecewiseDatetimei= Datetime,;,/接收當前傳感器數據的時間值
add (ArrayListi)∥將第i個數據ArrayList,寫入動態數組中;
j++;//準備接受下一個傳感器數據
)
Else
{
//若為假
PiecewiseCount++∥則說明第i個傳感器數據與前一個i-l傳感器數據的分割段為不同段,需要重新創建一個數據分割段
PiecewiseCount;=PiecewiseCount.//將新分割段參數值寫入當前傳感器數據的分段元素中;
Temperature,=Valuei;/,接收當前傳感器數據的溫度值
PiecewiseDatetimei= Datetime,;,/接收當前傳感器數據的時間值
add(ArrayListi)∥將第i個數據ArrayList,寫入動態數組中;
j=l;//準備接受下一個傳感器數據
)
)
從ArrayList中輸出泡茶水溫值的均值P;
2.3 沖泡時間
茶葉沖泡的時間和次數由于可以采用傳統的鬧鐘定時方式準確獲取,因此,在個性化泡茶偏好的時間特征提取過程中,主要采傳統的鬧鐘定時來獲取茶葉沖泡的可靠時間。
3 結束語
本文在傳感器技術處理的基礎上,對泡茶的用量、溫度和時間三個方面進行了深入研究,針對用戶泡茶偏好的個性化特征提取問題,提出一種動態分割算法,對泡茶偏好進行上下文特征提取,從而為用戶泡茶偏好的特征提取和個性化推薦服務提供了一種有效的解決方案。
參考文獻:
[1]汪建,杜世平.基于顏色和形狀的茶葉計算機識別研究[J].茶葉科學,2008,28(6): 420-424.
[2]李翠平,藍夢微,鄒本友,等,大數據與推薦系統[Jl,大數據,2015,1(3): 23-35.
[3]樊祥超,於志文,耿會東,等.智能空間中的用戶飲食偏好獲取與推薦系統[J].計算機工程,2011,37(22): 237-239.
[4]孫濤.個性化商品推薦系統的設計與實現[D].長春:吉林大學。2015.
【通聯編輯:謝媛媛】
基金項目:教育部科技發展中心:新一代信息技術創新(項目編號:2018A02038);武陵山區特色資源開發與利用研究中心開放項目(項目編號:WLYJ2017002)
作者簡介:徐儒(1982-),男,重慶人,實驗師,碩士,研究方向為智能信息處理、模式識別、數據挖掘、農業大數據。