本發明涉及計算機領域,尤其涉及一種獲取游戲數據的方法及電子設備。
背景技術:
隨著計算機和通信技術的高速發展,各類應用極大的方便了用戶的工作和生活。但是應用的設計又是一項復雜的系統性工作,其中,應用的設計涉及很多的要素,這些要素涉及到應用的實用性,適用性,便捷性等。例如,若以游戲為例,游戲的研發人員需要通過設計不同類型的游戲要素來吸引玩家進行游戲,其中游戲要素包括用戶成長、關卡設計、怪物設計等等。由于各種游戲要素設計的復雜度非常的高,因此,在開發過程中,需要反復調試上述的各種要素,調整它們之間的平衡性使其達到一個較優的狀態。
在傳統的開發應用的過程中,許多設計要素在應用正式上線前難以進行驗證,只能通過在灰度測試中長時間的不斷的收集、統計用戶的數據來對原有設計進行修正,測試的時間周期長,成本較高。
技術實現要素:
本發明實施例提供了一種獲取游戲數據的方法及電子設備。
第一方面,本發明實施例提供了一種獲取游戲數據的方法,包括:
確定與預置訓練模型對應的目標應用,所述預置訓練模型是通過對第一數據進行訓練學習而得到的訓練模型,所述第一數據為用于表示用戶行為的數據,所述目標應用屬于待測試的應用集合;
在所述目標應用運行的過程中,運行所述預置訓練模型,所述預置訓練模型用于向所述目標應用輸入第一控制指令;
根據所述第一控制指令執行所述目標應用,生成用于對所述目標應用進行測試的第二數據。
第二方面,本發明實施例提供了一種電子設備,包括:
確定模塊,用于確定與預置訓練模型對應的目標應用,所述預置訓練模型是通過對第一數據進行訓練學習而得到的訓練模型,所述第一數據為用于表示用戶行為的數據,所述目標應用屬于待測試的應用集合;
模型運行模塊,用于在所述目標應用運行的過程中,運行所述預置訓練模型,所述預置訓練模型用于向所述目標應用輸入第一控制指令;
應用執行模塊,用于根據所述模型運行模塊輸入的所述第一控制指令執行所述目標應用,生成用于對所述目標應用進行測試的第二數據
從以上技術方案可以看出,本發明實施例具有以下優點:
本發明實施例中,預置訓練模型是通過對第一數據進行訓練學習后而得到的訓練模型,而第一數據為模擬用戶行為執行目標應用所產生的數據,使得預置訓練模型可以模擬用戶的行為與決策。通過預置訓練模型向目標應用輸入控制指令,例如,可以通過預置訓練模型對一款游戲輸入控制指令,從而可以模擬用戶的行為與決策,然后,根據所述控制指令執行所述目標應用,生成第二數據,第二數據為預置訓練模型模擬用戶的行為與決策向目標應用輸入控制指令后,終端執行目標應用時產生的游戲數據,從而可以通過第二數據對該款目標應用進行測試與評估。改變了傳統方法中,在應用設計開發的過程中,一款應用的游戲數據需要長時間收集真實的用戶反饋的數據,通過真實用戶反饋的數據才能對該目標應用進行評估,由于預置訓練模型具有并行處理的特點,通過預置訓練模型模擬用戶的行為而獲取游戲數據,可以極大的縮短獲取游戲數據的時間周期,提高效率,進而節省開發成本。
附圖說明
圖1為本發明實施例中一種獲取游戲數據的方法的流程示意圖;
圖2為本發明實施例中基于用戶數據構建預置訓練模型的流程示意圖;
圖3為發明實施例中一種獲取游戲數據的方法的一個實施例的流程示意圖;
圖4為發明實施例中生成預置訓練模型的流程示意圖;
圖5為發明實施例中基于預置策略構建預置訓練模型的流程示意圖;
圖6為發明實施例中一種獲取游戲數據的方法的另一個實施例的流程示意圖;
圖7為發明實施例中一種電子設備的一個實施例的結構示意圖;
圖8為發明實施例中一種電子設備的另一個實施例的結構示意圖;
圖9為發明實施例中一種電子設備的另一個實施例的結構示意圖;
圖10為發明實施例中一種電子設備的另一個實施例的結構示意圖;
圖11為發明實施例中一種通信系統的架構示意圖;
圖12為發明實施例中灰度策略測試流程示意圖。
具體實施方式
本發明實施例提供了一種獲取游戲數據的方法及電子設備,用于縮短獲取游戲數據的時間周期,提高效率,進而節省開發成本。
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”“第四”等(如果存在)是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的內容以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
在應用的開發過程中,對該應用的測試是一項重要的環節,本發明實施例中以游戲的測試為例進行說明獲取游戲數據的過程。
傳統的方法中,對于游戲的游戲數據的獲取方式是:通過長時間的收集玩家玩游戲而產生的游戲數據,周期長,研發成本高。而本發明實施例中提供的獲取游戲數據的方法,是電子設備通過預置訓練模型模擬玩家的行為玩游戲而產生的數據,預置訓練模型具有并行處理的計算能力,獲取游戲數據的周期短,可以極大的降低研發成本。
本發明實施例是而本發明實施例提供了一種獲取游戲數據的方法,請結合圖1進行理解,圖1為一種獲取游戲數據的方法的流程示意圖。該方法應用于一種電子設備,該電子設備上安裝有待測試的游戲。測試應用主要包括兩個階段,第一個階段,建立訓練模型階段:由于游戲開發出來是要給用戶玩的,每位用戶具有不同的特點,人具有“多樣性”,并不是冰冷的機器,因此對同一款游戲的玩法也不相同,這樣就需要獲取用于表示用戶行為的第一數據,通過對第一數據進行訓練學習,而生成用于模擬用戶行為的訓練模型,該訓練模型可以理解為人工智能系統(Artificial Intelligence,縮寫:AI),該人工智能系統的行為越接近于人,獲取的游戲數據就越接近于用戶玩游戲時的數據。這樣,就可以通過人工智能系統來模擬真實玩家在實際游戲中的行為。在人工智能系統模擬真人玩家進行游戲的過程中,游戲模塊生成游戲數據,進一步的,將該數據進行匯總后生成該款游戲的測試報告,根據該測試報告可以對該款游戲進行優化和改進。
在實際應用中,該電子設備的功能可以在終端上執行,或者該電子設備的功能可以由學習服務器和測試終端來執行。在實際應用中,電子設備的實際部署形態,本發明不限定。
若該電子設備的功能由學習服務器和測試終端來執行。則該終端上預先安裝了目標應用。學習服務器用于建立訓練模型,學習服務器對用于表示用戶行為的數據進行學習,生成用于模擬用戶行為的預置訓練模型,然后,由學習服務器將該預置訓練模型發送至測試終端,測試終端加載該預置訓練模型后,預置訓練模型運行于該測試終端,由預置訓練模型模擬玩家的行為,向目標應用輸入第一控制指令,測試終端生成用于測試該目標應用的數據。
本發明實施例中該電子設備的功能以在終端集成執行為例進行說明。
本發明提供的一個實施例中,目標應用以已經上線的游戲為例,對已經上線的游戲進行持續研發,測試。由于該目標應用為已經上線的游戲,因此,有大量用戶數據,基于用戶數據,可以通過監督學習,無監督學習或增強學習等學習方法來構建人工智能系統,請結合圖2進行理解,圖2為基于用戶數據構建預置訓練模型的流程示意圖,通過歷史游戲數據,生成用戶行為數據,該游戲數據包括用戶行為數據和游戲中各模塊配置屬性等數據。該用戶行為數據作為用戶行為的訓練樣本,對該訓練樣本進行模型訓練,使得人工智能系統可以模擬用戶狀態,用戶狀態可以理解為用戶的游戲策略及邏輯,從而人工智能系統可以自行模擬用戶的行為對游戲進行控制,游戲模塊接收人工智能系統模擬用戶行為輸入的控制指令,控制游戲模塊中的角色。記錄游戲過程中所產生的用于測試的第二數據,該第二數據為游戲數據。
請參閱圖3所示,下面對本發明實施例提供的一種獲取游戲數據的方法的一個實施例進行具體描述。
一、建立AI的過程:
步驟301、獲取第一數據,所述第一數據為接收用戶輸入的第二控制指令而執行目標應用的過程中所產生的數據集;
第一數據為游戲模塊產生的歷史游戲數據,第一數據為用戶玩游戲時,游戲模塊所產生的游戲數據,第一數據為歷史游戲數據的數據集。因此第一數據為接收用戶輸入的第二控制指令時,游戲模塊產生的游戲數據,該游戲數據中包括了用戶行為數據。
當玩家玩游戲時,游戲模塊產生游戲數據,該游戲數據可以由客戶端生成、也可以為服務器端產生,或者也可以是由服務器端和客戶端組成的一個整體系統產生,例如,PC游戲的游戲數據可以從客戶端獲取游戲數據,網絡游戲可以從服務器端獲取游戲數據。大量的歷史游戲數據組成第一數據。該數據集中包括了不同玩家的行為數據。例如,針對同一個游戲場景,玩家A選擇尾隨敵軍,玩家B選擇攔截敵軍,玩家C首先關注自己的血量,選擇自保。因此,第一數據包括了大量的不同的用戶行為數據。
步驟302、根據所述數據集生成用戶行為的訓練樣本。
例如,以一款游戲中的一個局勢舉例說明,例如,玩家控制的角色被怪獸圍攻,玩家A思考方式,并不會電腦那樣準確。玩家會想:如果我比較虛弱,我就要逃走,保存實力,而不是等我的血減少30%我就逃走。如果我的武器比較好,我就要戰斗,斬殺更多的敵人,而不是我的攻擊超過1200點,我就繼續戰斗。所以,第一數據中的用戶行為并不會像機器行為那樣準確,因此,就要對用戶行為進行模擬和學習。
步驟303、通過學習算法對所述訓練樣本進行訓練學習,得到所述預置訓練模型。
預置訓練模型為可以模擬人類玩家行為的人工智能系統。人工智能泛指由人工制造的,可以模仿人類智能行為的系統,通常可以通過制定規則、自主學習等不同方式實現。本發明實施例中所述的預置訓練模型,是可從現有知識(以下假定為以數據的形式存在的知識)中自主進行學習并模擬玩家行為的系統。現有的學習方法中,包括了如下幾種不同模式:
1)監督學習,通過對帶有標注的數據進行學習,模仿標注行為。
2)無監督學習,通過對沒有標注的數據進行學習,模仿數據中的結構。
3)監督學習,通過對混合數據集(帶有標注及未帶有標注)進行學習,模仿標注行為。
4)增強學習,在一個給定環境中進行探索,通過給定的目標和環境反饋,模仿在當前環境下最為有價值的行為。
請結合圖4進行理解,請結合圖4進行理解,圖4為生成預置訓練模型的流程示意圖。通過學習算法對所述訓練樣本進行訓練學習,得到所述預置訓練模型的具體的方法可以為:
首先,通過所述學習算法對所述訓練樣本進行分類,得到不同的數據集。
根據訓練樣本中的一部分數據進行對應的標注,將訓練樣本中的數據分成標注數據集和未標注數據集。標注數據集和不標注數據集可以分別采用上述不同的學習模式中的模式進行學習。例如,在游戲中,角色的狀態有很多種類:其中,可能是角色行為的狀態,比如,移動,睡覺,購買等。角色行為的狀態適合監督學習,因此可以將角色行為的狀態的數據進行標注。也可能是情緒的狀態,如,高興,失望,振奮,擔心,害怕等等。情緒的狀態適合半監督學習。也可能是目標不同的狀態,參與建設,保護同伴,攻擊敵人等等,目標不同的狀態適合無監督學習。
其次,根據不同的數據集生成至少一個學習模型。例如,學習模型可以包括:監督學習模型,半監督學習模型,無監督學習模型。
然后,將所述至少一個學習模型進行封裝,得到第一訓練模型。該第一訓練模型可以理解為預置訓練模型的初始模型。
為了使該第一訓練模型的行為更接近于用戶的行為,需要對第一訓練模型進行評估。若該第一訓練模型的行為已經接近于用戶的行為,則該第一訓練模型就為預置訓練模型,若該第一訓練模型的行為和用戶的行為還存在這差距,則需要對該第一訓練模型進行優化,將優化訓練模型作為預置訓練模型(人工智能系統)。
對該第一訓練模型的評估過程如下:
1)通過所述第一訓練模型向所述目標應用輸入第一控制指令,生成第三數據。
例如,在第一個游戲的場景下,角色A為第一訓練模型控制的角色,面對3個怪獸,角色A的血量為80%,第一訓練模型得到的信息是角色A的血量充足,第一訓練模型向游戲輸入控制指令,該控制指令為攻擊怪獸,生成第三數據。
而在同一個場景下,若是由用戶來控制角色A,用戶會覺得即使是血量充足,但是用戶控制的角色仍然覺著擔心,覺著怪獸雖不多,但是有兩個怪獸的攻擊力比較強,勝算不大,還是應該先逃跑,保存實力。
需要說明的是,在本發明中,訓練模型向目標應用輸入的控制指令為第一控制指令,由用戶向目標應用輸入的控制指令為第二控制指令,以下不重復解釋,第一控制指令和第二控制指令。
2)將所述第三數據和所述第一數據進行比較,得到差異參數。
以上述的例子,很明顯看出當第一訓練模型控制角色A時,游戲模塊產生的第三數據,和用戶控制角色A時,游戲模型產生的第一數據是不同的,第一數據用于表示用戶行為的數據。比較第一數據和第三數據,產生差異參數。
需要說明的是,差異參數隨著不同的游戲和不同的場景可以不同,差異參數只要能表現出第一訓練模型的行為數據與用戶的行為數據之間的差異即可,具體的,在實際應用中,本發明不限定,以上對于場景的舉例,并不造成對本發明的限定。
3)若所述差異參數小于第一門限,則根據所述第一訓練模型生成所述預置訓練模型。
在第二個場景的例子,若此時角色A同樣是面對3個怪獸,這三個怪獸所間隔的距離較遠,角色A的血量只有40%,第一訓練模型通過判斷三個怪獸的距離,可以通過小于40%的血量對其中一個怪獸A進行攻擊,而不是逃跑,第一訓練模型向游戲模塊輸入攻擊怪獸A的控制指令。
同樣的,在同一個場景下,用戶控制角色A,用戶會想,雖然血量才40%,但是三個怪獸的距離較遠,面對一個怪獸,“分而擊之”,還是覺著勝算較大,用戶向游戲模塊輸入控制攻擊怪獸B的指令。
由上述的例子可以看出,第一訓練模型可以權衡多個條件做出判斷,第一訓練模塊的行為數據與用戶的行為數據很接近,因此,當差異參數小于第一門限,表明第一訓練模型的行為已經很接近用戶的行為了,則根據所述第一訓練模型生成預置訓練模型。
4)若所述差異參數大于或者等于所述第一門限,則根據所述差異參數對所述第一訓練模型進行優化,得到第二訓練模型,并將所述第二訓練模型作為第一訓練模型。
在第一個例子中,若差異參數大于或者等于第一門限,則表明該第一訓練模型的行為與用戶的行為還有差距,為了游戲數據更接近于用戶的行為,則需要對第一訓練模型進行數據優化,得到第二訓練模型。
重復執行步驟1)至步驟4),直至所述差異參數小于所述第一門限。然后將最終的優化的訓練模型,作為預置訓練模型。
需要說明的是,學習算法包括但不限于邏輯回歸、神經網絡、貝葉斯分類、決策樹、支持向量機、K均值、K近鄰、層次聚類、集成學習、增強學習等方法。
上面對建立預置訓練模型的過程進行了描述,需要說明的是,若對一個預置訓練模型建立好之后,對于后續的獲取游戲數據的過程可以直接執行步驟304,而步驟301至步驟303為可選步驟,可以不執行。
二、獲取游戲數據的過程:
步驟304、確定與預置訓練模型對應的目標應用。
所述預置訓練模型是通過對第一數據進行訓練學習而得到的訓練模型,所述第一數據為用于表示用戶行為的數據,所述目標應用屬于待測試的應用集合;
例如,同時開發多款游戲,針對每一款游戲建立一個預置訓練模型,需要確定與該預置訓練模型對應的一款游戲。
步驟305、在所述目標應用運行的過程中,運行所述預置訓練模型,所述預置訓練模型用于向所述目標應用輸入第一控制指令。
在該游戲運行的過程中,同時運行預置訓練模型,預置訓練模型在游戲環境中按照學習到的策略進行游戲,由預置訓練模型模擬用戶行為向該款游戲輸入第一控制指令。
步驟306、根據所述第一控制指令執行所述目標應用,生成用于對所述目標應用進行測試的第二數據。
電子設備根據第一控制指令執行該款游戲,生成新的數據,該新的數據用戶對該款應用進行測試的第二數據。
進一步的,根據該第二數據生成測試報告,通過對測試報告的分析,可以對該款游戲進行調整,例如,可以對游戲的關卡設計,怪物設計,角色成長等進行調整,以實現對該款游戲的繼續開發。
本發明實施例中,對于已經上線的應用,對該應用繼續開發的過程中,需要獲取游戲數據,基于大量歷史數據,根據歷史數據生成用戶行為數據,通過對用戶行為數據的訓練學習,建立用于模擬用戶行為的預置訓練模型,通過預置訓練模型模擬用戶的行為而獲取游戲數據,可以極大的縮短獲取游戲數據的時間周期,提高效率,進而節省開發成本。
本發明實施例提供一種獲取游戲數據的方法的另一個實施例。另一個實施例中,目標應用以還沒有上線的游戲為例,本實施例的整體流程可以參閱圖5進行理解,圖5為基于預置策略構建預置訓練模型的流程示意圖。由于游戲還沒有上線,因此缺乏大量的數據積累。可以采取通過游戲研發和測試人過程中,由研發人員對游戲模塊輸入控制指令,游戲模塊生成小量的樣本,該小量的樣本為模擬用戶行為的模擬樣本數據,基于小量的模擬樣本數據進行訓練學習,得到第三訓練模型。進一步的,為了使預置訓練模型的行為可以更接近于用戶的行為,并在第三訓練模型中加入隨機因素,進行大量的隨機模擬實驗,生成第四數據。并通過評估函數對模擬結果進行評估,同時將評估結果用于改進模型訓練,最后得到可以模擬玩家行為的預置訓練模型。縮短獲取游戲數據的時間周期,提高效率,進而節省開發成本。
請參閱圖6所示,下面對本發明實施例提供的一種獲取游戲數據的方法的另一個實施例進行具體描述。
一、建立預置訓練模型的過程:
步驟601、獲取第一數據,所述第一數據為模擬用戶行為的模擬樣本數據。
第一數據為測試人員或者開發人員玩該款游戲時,游戲模塊產生的游戲數據。第一數據為小量的樣本數據,或者第一數據也可以是測試人員模擬用戶數據設計的一個函數。
步驟602、通過學習算法對所述模擬樣本數據進行訓練學習,生成第三訓練模型。
學習的模式可以為無監督學習和增強學習。
通過學習算法對小量的樣本數據進行訓練學習,生成第三訓練模型,由于該第三訓練模型是由小量的模擬樣本數據進行訓練學習得到的,因此該第三訓練模型的行為可能與用戶的實際行為產生差異。因為,測試人員和研發人員要比普通的玩家更了解這款游戲,屬于專家級別的,而普通的玩家對于玩這款游戲的熟練程度千差萬別,真實的普通的玩家中可能有水平一般的玩家;也可能有資深玩家,相當于專家級別;也可能有喜歡玩游戲的學生,水平雖然比不上資深玩家,但是比水平一般的玩家要好。
步驟603、通過所述第三訓練模型向所述目標應用輸入第一控制指令,生成第四數據。
例如,在一個游戲場景中,面對怪獸,通過第三訓練模型向該游戲輸入第一控制指令,第一控制指令為先用一個攻擊力強的武器攻擊怪獸,然后吃藥,為自己加血,最后換攻擊力稍弱的武器連續攻擊怪獸,游戲模塊生成第四數據。
步驟604、通過預置評估函數對所述第四數據進行評估,得到評估結果,所述評估結果用于指示所述第三訓練模型與用戶行為的差異。
因為,測試人員和研發人員要比普通的玩家更了解這款游戲,屬于專家級別的,針對步驟603中的例子,如果是普通的玩家,可能對于該游戲不熟悉,吃藥,換武器的間隔時間都比較長,或者不會更換武器。那么實際玩家對該游戲輸入的控制指令后,游戲模塊產生的數據與第四數據可以存在差異。
因此需要設計一個評估函數,對第四數據進行評估,通過評估結果來確定該第三訓練模型的行為是否與用戶的行為接近。
步驟605、判斷評估結果指示的差異是否大于或者等于預置門限,若否,則執行步驟606;若是,則執行步驟607。
步驟606、若所述評估結果指示所述差異小于預置門限,則根據所述第三訓練模型生成所述預置訓練模型。
若評估結果指示差異小于預置門限,則表明第三訓練模型的行為與用戶的行為比較接近,則將該第三訓練模型作為預置訓練模型。
步驟607、若所述評估結果指示所述差異大于或者等于預置門限,則根據所述評估結果向所述第三訓練模型中加入隨機因素,所述隨機因素用于改變所述第三訓練模型中的各因素的權值,得到第四訓練模型;
若評估結果指示所述差異大于或者等于預置門限,則根據該評估結果在第三訓練模型中加入隨機因素,例如,為了使第三訓練模型的行為不過于太僵化,更趨近于用戶的行為。在行為強度的基礎上,增加一些隨機因素。對每一個行為的行為強度,我們可以設定在一定范圍內進行上下浮動。這樣就可以在整體滿足規則的情況下,第三訓練模型的行為又可以有一定的隨機性。
例如,當追擊敵人的時候,可能的規則是,角色A對敵人的仇恨越高,它越要追擊,加入隨機因素,隨機因素可以是敵人離自己的距離,敵人離自己的地盤越近,越愿意繼續追擊。當對敵人的仇恨很高的歸屬度為8時,而離自己地盤近的歸屬度為7時,追擊行為的傾向性為7.5。當敵人對敵人的仇恨很高的歸屬度為9,而離自己地盤近的歸屬度為1時,它繼續追擊的動力就降低到5。因此,加入隨機因素可以改變第三模型中各因素的權值,使第三訓練模型的行為有一定的隨機性,需要說明的是,上述隨機因素為舉例說明,并不能造成對本發明的限定性說明。
步驟608、通過所述第四訓練模型向所述目標應用輸入第一控制指令,生成第五數據。
本步驟可以結合圖3對應的實施例中,對第一訓練模型的評估過程中的步驟1)進行理解。
步驟609、通過預置評估函數對第五數據進行評估,得到評估結果。
步驟610、判斷評估結果指示所述差異是否大于或者等于預置門限,若否,則執行步驟611;若是,則繼續執行步驟607。
步驟611、根據所述第四訓練模型生成所述預置訓練模型。
二、獲取游戲數據的過程:
步驟612至步驟614與圖3對應的實施例中的步驟304與步驟306相同,此處不贅述。
上面對一種獲取游戲數據的方法進行了描述,下面對該方法應用的電子設備進行描述,請參閱圖7所示,本發明實施例提供了一種電子設備700的一個實施例包括:
確定模塊701,用于確定與預置訓練模型對應的目標應用,所述預置訓練模型是通過對第一數據進行訓練學習而得到的訓練模型,所述第一數據為用于表示用戶行為的數據,所述目標應用屬于待測試的應用集合;
模型運行模塊702,用于在所述目標應用運行的過程中,運行所述預置訓練模型,所述預置訓練模型用于向所述目標應用輸入第一控制指令;
應用執行模塊703,用于根據所述模型運行模塊702輸入的所述第一控制指令執行所述目標應用,生成用于對所述目標應用進行測試的第二數據。
在圖7對應的實施例的基礎上,請參閱圖8所示,本發明實施例還提供了一種電子設備的另一個實施例。所述電子設備800還包括:
第一獲取模塊704,生成模塊705和第一模型建立模塊706;
第一獲取模塊704,用于獲取第一數據,所述第一數據為客戶端接收用戶輸入的第二控制指令而執行目標應用的過程中所產生的數據集;
生成模塊705,用于根據所述第一獲取模塊704產生的所述數據集生成用戶行為的訓練樣本;
第一模型建立模塊706,用于通過學習算法對所述生成模塊705生成的所述訓練樣本進行訓練學習,得到所述預置訓練模型。
可選的,所述第一模型建立模塊706還具體用于:
通過所述學習算法對所述訓練樣本進行分類,生成至少一個學習模型;
將所述至少一個學習模型進行封裝,得到第一訓練模型;
1)通過所述第一訓練模型向所述目標應用輸入第一控制指令,生成第三數據;
2)將所述第三數據和所述第一數據進行比較,得到差異參數;
3)若所述差異參數小于第一門限,則根據所述第一訓練模型生成所述智能人工系統;
4)若所述差異參數大于或者等于所述第一門限,則根據所述差異參數對所述第一訓練模型進行優化,得到第二訓練模型,并將所述第二訓練模型作為第一訓練模型;
重復執行步驟1)至步驟4),直至所述差異參數小于所述第一門限。
在圖7對應的實施例的基礎上,請參閱圖9所示,本發明實施例還提供了一種電子設備的另一個實施例。所述電子設備900還包括:
第二獲取模塊707和第二模型建立模塊708;
第二獲取模塊707,用于獲取第一數據,所述第一數據為模擬用戶行為的模擬樣本數據;
第二模型建立模塊708,用于通過學習算法對所述第二獲取模塊707獲取的所述模擬樣本數據進行訓練學習,生成所述預置訓練模型。
可選的,所述第二模型建立模塊708還具體用于:
通過學習算法對所述模擬樣本數據進行訓練學習,生成第三訓練模型;
通過所述第三訓練模型向所述目標應用輸入控制指令,生成第四數據;
通過預置評估函數對所述第四數據進行評估,得到評估結果,所述評估結果用于指示所述第三訓練模型與用戶行為的差異;
若所述評估結果指示所述差異小于預置門限,則根據所述第三訓練模型生成所述預置訓練模型。
可選的,所述第二模型建立模塊708還具體用于:
若所述評估結果指示所述差異大于或者等于預置門限,則根據所述評估結果向所述第三訓練模型中加入隨機因素,所述隨機因素用于改變所述第三訓練模型中的各因素的權值,得到第四訓練模型;
通過所述第四訓練模型向所述目標應用輸入控制指令,生成第五數據;
通過所述預置評估函數對所述第五數據進行評估,得到評估結果;
若所述評估結果指示所述差異小于預置門限,則根據所述第四訓練模型生成所述預置訓練模型。
進一步的,圖7至圖9中的電子設備是以功能模塊的形式來呈現。這里的“模塊”可以指特定應用集成電路(application-specific integrated circuit,ASIC),電路,執行一個或多個軟件或固件程序的處理器和存儲器,集成邏輯電路,和/或其他可以提供上述功能的器件。在一個簡單的實施例中,圖7至圖9中的裝置可以采用圖10所示的形式。
本發明實施例還提供了另一種電子設備,如圖11所示,為了便于說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明實施例方法部分。
圖10示出的是與本發明實施例提供的終端相關的電子設備的部分結構的框圖。參考圖10,電子設備包括:存儲器1020、輸入單元1030、顯示單元1040、音頻電路1060、處理器1080、以及電源1090等部件。本領域技術人員可以理解,圖10中示出的電子設備結構并不構成對電子設備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結合圖10對電子設備的各個構成部件進行具體的介紹:
存儲器1020可用于存儲軟件程序以及模塊,處理器1080通過運行存儲在存儲器1020的軟件程序以及模塊,從而執行電子設備的各種功能應用以及數據處理。存儲器1020可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據電子設備的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器1020可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。
輸入單元1030可用于接收輸入的數字或字符信息,以及產生與電子設備的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元1030可包括觸控面板1031以及其他輸入設備1032。觸控面板1031,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1031上或在觸控面板1031附近的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板1031可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器1080,并能接收處理器1080發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板1031。除了觸控面板1031,輸入單元1030還可以包括其他輸入設備1032。具體地,其他輸入設備1032可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元1040可用于顯示由用戶輸入的信息或提供給用戶的信息以及電子設備的各種菜單。顯示單元1040可包括顯示面板1041,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機發光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板1041。進一步的,觸控面板1031可覆蓋顯示面板1041,當觸控面板1031檢測到在其上或附近的觸摸操作后,傳送給處理器1080以確定觸摸事件的類型,隨后處理器1080根據觸摸事件的類型在顯示面板1041上提供相應的視覺輸出。雖然在圖10中,觸控面板1031與顯示面板1041是作為兩個獨立的部件來實現電子設備的輸入和輸入功能,但是在某些實施例中,可以將觸控面板1031與顯示面板1041集成而實現電子設備的輸入和輸出功能。
音頻電路1060、揚聲器1061,傳聲器1062可提供用戶與電子設備之間的音頻接口。音頻電路1060可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器1061,由揚聲器1061轉換為聲音信號輸出;另一方面,傳聲器1062將收集的聲音信號轉換為電信號,由音頻電路1060接收后轉換為音頻數據,再將音頻數據輸出處理器1080處理后,經RF電路1010以發送給比如另一電子設備,或者將音頻數據輸出至存儲器1020以便進一步處理。
處理器1080是電子設備的控制中心,利用各種接口和線路連接整個電子設備的各個部分,通過運行或執行存儲在存儲器1020內的軟件程序和/或模塊,以及調用存儲在存儲器1020內的數據,執行電子設備的各種功能和處理數據,從而對電子設備進行整體監控。可選的,處理器1080可包括一個或多個處理單元;優選的,處理器1080可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器1080中。
電子設備還包括給各個部件供電的電源1090(比如電池),優選的,電源可以通過電源管理系統與處理器1080邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。
在本發明實施例中,該電子設備所包括的處理器1080還具有執行圖3和圖6對應的實施例中的各步驟。
本發明實施例還提供了另一種通信系統,請參閱圖11,圖11為通信系統的架構示意圖。該通信系統包括學習服務器和測試終端,由學習服務器1110和測試終端1120共同執行上述實施例中電子設備的功能。學習服務器1110用于建立訓練模型,學習服務器1110對用于表示用戶行為的數據進行學習,生成用于模擬用戶行為的預置訓練模型,然后,由學習服務器1110將該預置訓練模型發送至測試終端1120,測試終端1120加載該預置訓練模型后,預置訓練模型運行于該測試終端1120,由預置訓練模型模擬玩家的行為,向目標應用輸入第一控制指令,測試終端1120生成用于測試該目標應用的數據。
具體的,學習服務器1110用于執行上述圖3對應的實施例中的步驟301至303,然后,學習服務器1110將建立好的預置訓練模型發送至測試終端1120,該測試終端接收該預置訓練模型并加載后,還用于執行步驟304至306。
學習服務器1110還用于執行上述圖6對應的實施例中的步驟601至步驟611,學習服務器1110將建立好的預置訓練模型發送至測試終端1120,該測試終端接收該預置訓練模型并加載后,還用于執行步驟611至614。
本發明實施例中,如果公司同時開發多個應用,可以先通過服務器建立多個應用對應的預置訓練模型,然后將不同影響發給不同的終端,或者將預置訓練模型進行云存儲,有測試終端進行下載后,測試終端根據該預置訓練模型獲取游戲數據。
進一步的,游戲數據主要用于關注游戲品質如用戶注冊量、留存情況等。游戲在進行外網測試時,模仿游戲的外網灰度策略,通過實際玩家玩游戲的反饋來獲得對游戲中不同模塊和游戲整體的評價。采取了從應用寶到精品平臺,先從小量戶量開始測試,收集被測試用戶的活躍度,若活躍度滿足要求后,再進入全量測試,根據測試結果再不斷的對游戲進行優化。請參閱圖12所示,圖12為灰度策略測試流程示意圖。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。