小黃雞的基本原理:
分為兩個部分:訓練+匹配
訓練
simsimi的「教學」,就是訓練的過程,目的在於構建或者豐富詞庫。
流程如下:
s1:使用者通過教學介面向系統提出乙個話題與相應應答。
s2:系統對該話題進行分詞,判斷該話題在系統知識庫中應存放的位置;
s3:在系統知識庫中新增該話題及相應應答。
1.1分詞方法
聊天機械人的儲存並不以句子為單位(那樣太費時費空間),而是以詞。於是,分詞,幾乎成為聊天機械人的核心。
詞庫設計
由於中文詞的特點:
1.中文詞是乙個開放集,詞數在增長;
2.以不同字開頭的詞的數目變化很大,多的達到數百個,少的也可能只有乙個或沒有;
3.詞的長度變化也很大,有單個詞,也有
六、七個字成詞的。這就要求在設計詞典時,除了考慮訪問效率之外,還得充分考慮儲存利用率。
首字雜湊通過一次雜湊運算就可以直接定位漢字在表中的位置。乙個單元包括三項內容;
c:儲存首字
f:標誌位,儲存以c為首字的最長詞條的長度
p:指向詞表索引表
解釋一下雜湊:雜湊表 hash table,也叫雜湊表,顧名思義就是把資料都打散了,再按一定規律存起來,加快訪問速度。是根據關鍵碼值key而直接進行訪問的資料結構。
舉個例子:我想講[0,100]做成乙個雜湊表,選取「模10」作為雜湊函式,以陣列作為儲存單元,則得到a[10][10]的陣列,a[0]裡一次存著0,10,20,30,…,90;a[1]裡存著1,11,21,…,91.以此類推。
現在舉乙個訓練小黃雞的例子:
「大白天的做什麼美夢啊?」
回答:」哦哈哈哈不用你管」。
s1:應用雙向最大匹配演算法分詞,
「大白天,的,做什麼,美夢,啊」
長詞優先選擇,「大白天」和「做什麼」
s2:以「大白天」為例,假設hash函式f(),並設f(大白天)指向首字hash表項[大,11,p]。於是由該表項指向「3字索引」,再指向對應「詞表」。
s3:將結構體《大白天,…>插入隊尾。體中有乙個ans域,域中某一指標指向「哦哈哈哈不用你管」
s4:完成訓練
mysql的基本原理 Mysql 基本原理
mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...
pwm控制的基本原理 PWM控制的基本原理
pwm pulse width modulation 控制 脈衝寬度調製技術,通過對一系列脈衝的寬度進行調製,來等效地獲得所需要波形 含形狀和幅值 pwm控制技術在逆變電路中應用最廣,應用的逆變電路絕大部分是pwm型,pwm控制技術正是有賴於在逆 變電路中的應用,才確定了它在電力電子技術中的重要地位...
8 2 1 基本原理
乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...