当前位置:   article > 正文

python自然语言处理-数据概括_def ngrams(input,n):

def ngrams(input,n):

  在前面的学习中,我们介绍了如何把文本内容分解成n-gram模型,或者说是n个单词长度的词组。从最基本的功能上说,这个集合可以用来确定这段文字中最常见的单词和短语。另外,还可以提取原文中那些最常用的短语周围的句子,对原文进行看似合理的概括。

  下面我们使用美国第九任总统威廉.亨利.哈里森的就职演说来作为数据归纳的文字样本。http://pythonscraping.com/files/inaugurationSpeech.txt.我们简单修改一下前面使用的n-gram模型,就可以获取2-gram序列频率数据,本篇采用另外一个写法:

  1. from urllib.request import urlopen
  2. from bs4 import BeautifulSoup
  3. import re
  4. import string
  5. import operator
  6. def cleanInput(input):
  7. input=re.sub('\n+'," ",input)
  8. input=re.sub('\[[0-9]*\]',"",input)
  9. input=re.sub(' +'," ",input)
  10. input=bytes(input,"UTF-8")
  11. input=input.decode("ascii","ignore")
  12. cleanInput=[]
  13. input=input.split(' ')
  14. for item in input:
  15. item=item.strip(string.punctuation)
  16. if(len(item)>1) or (item.lower()=='a' or item.lower()=='i'):
  17. cleanInput.append(item)
  18. return cleanInput
  19. def ngrams(input,n):
  20. input=cleanInput(input)
  21. output={}
  22. for i in range(len(input)-n+1):
  23. ngramTemp=" ".join(input[i:i+n])
  24. if ngramTemp not in output:
  25. output[ngramTemp]=0
  26. output[ngramTemp]+=1
  27. return output
  28. content=str(urlopen("http:/
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/882072?site
推荐阅读
相关标签
  

闽ICP备14008679号