MTLD計算方法

2021-08-06 07:33:15 字數 1331 閱讀 3378

計算方法

傳入乙個詞的list,其實mtld就是計算詞串的長度,有個要求,詞串的長度小於10他的數值就會失效,還有github上邊有另外一種說法就是總詞數不能小於50,我們用的後面那種。傳進來後,挨個詞進行ttr計算,就是比如說第乙個詞,詞數是1,唯一詞數也是1,那麼我們ttr就是1,然後判斷1>0.72,所以繼續看下乙個詞,如果下乙個詞和第乙個一樣,那麼詞數是2,唯一詞是1,ttr = 0.5<0.72,在這裡斷開,前面兩個詞就是乙個詞串,乙個詞串factors+1

最後有乙個詞叫做ifs下面有演算法,得出最後乙個ttr然後計算ifs,然後factors總數+ifs=最終ifs,然後正向的mtld = 總詞數/最終ifs,然後在反向求一次求平均

python**實現:

def mtld(self,tokens):

# 判斷list要夠長,否則當前ttr的值沒有效果

if len(tokens) < 50:

return -1

# 先得到乙個type的list

types =

factors = 0.0

now_ttr = 1.0

ttr_standard = 0.72

tokens_number = 0

types_number = 0

for gram in tokens:

gram = gram.lower()

tokens_number+=1

if gram not in types:

types_number+=1

now_ttr = types_number*1.0/tokens_number

if now_ttr < ttr_standard:

factors+=1.0

now_ttr = 1.0

tokens_number = 0

types_number = 0

types =

rs = now_ttr

# print now_ttr

ifs = (1-rs)*1.0/0.28

ifs+=factors

if ifs != 0:

return len(tokens)/ifs

IOPS計算方法

通常當資料庫管理員提出需要更多儲存空間的時候,他們還會指定必須要達到多少iops。現在有這樣乙個需求,20tb儲存空間同時滿足4500 iops raid 5,我應該如何計算?raid 5或者raid 1 0的時候分別需要多少塊硬碟?首先需要知道i o中讀操作 read 與寫操作 write 所佔的...

RMS計算方法

先提乙個問題 使用訊號發生器輸出同乙個脈衝方波訊號,在示波器上採用直流耦合方式和交流耦合方式,在示波器上得出的rms值是不一樣的,存在很大的差異,為何?原因是直流耦合在取樣時以地作為平面採用波形,並帶有一定的直流成分,而交流則已波形的中心水平線作為平面取波形的絕對值採集計算,數值是不一樣的,兩者之間...

子網計算方法

問題 把192.168.253.0 28劃分多個子網,請列出所有的可用子網段和對應主機範圍?解 1 計算子網 掩碼為28個1,即11111111.11111111.11111111.11110000,點分十進位制表示為255.255.255.240,掩碼1對應的ip為網路位,掩碼0對應的ip為主機位...