当前位置:   article > 正文

宗成庆《自然语言理解》第二章作业_任意摘录一段文字,统计这段文字中所有

任意摘录一段文字,统计这段文字中所有

2-1.任意摘录一段文字,统计这段文字中所有字符的相对频率。假设这些相对频率就是这些字符的频率,请计算其分布的熵:

摘录的话:AAABBBBAABBCBDBDFDFFFDCDCDE

total:27

A:5 B:8 C:3 D:6 E:1 F:4 

现在可得到字符的概率为:5/27,8/27,1/9,2/9,1/27,4/27

熵的计算公式为H(X)=xϵX.p(x)log2p(x)  注意0log2(0) = 0

 

H(X) = 2.389172576943942

  1. import numpy as np
  2. def ComputEntropy(probX):
  3. sum = 0.0
  4. for i in probX:
  5. sum += i*np.log2(i)
  6. return abs(sum)
  7. def main():
  8. probX = [5/27,8/27,1/9,2/9,1/27,4/27]
  9. print(ComputEntropy(probX))
  10. pass
  11. if __name__ == '__main__':
  12. main()

2-2.任意取另外一段文字,按上述同样的方法计算字符分布概率,然后计算两段文字中字符分布的KL距离。

摘录的话:AAAACCCCDDDDEEEBDDDFFF

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/331311
推荐阅读
相关标签
  

闽ICP备14008679号