搜索 问答 Rules & Tips
1. 遵守中国大陆相关法律法规
2. 在虫部落的提问准则
3. 禁止发布代下载类求助信息
4. 特别提倡抛砖引玉的问题
5. 扩展阅读:提问的智慧

求英语词频统计工具

查看: 9222|回复: 10
玉子 发表于 2020-4-19 09:49:17
在网上找了好多,但是都不咋好用。
所以想要求助各位虫友,有无好用的英语词频统计工具。
提前谢谢了!
Lengpingyi 发表于 2020-4-19 13:35:19
楼主,建议把你定义的好用具体是指什么,注重哪方面的需求,还有已经尝试过的工具以及觉得不满意的地方一一列举出来,提问实在太笼统,别人即使有心帮忙也会因为觉得你求助的姿势不足以让人花时间精力出手相助。
撩月 发表于 2020-4-20 00:12:53
 楼主| 玉子 发表于 2020-4-22 12:35:27
谢谢大家的回复,我已经找到了我需要的工具(词频助手)
再次感谢大家的建议,我以后也会注意自己提问的方式的
金石头 发表于 2020-4-20 01:21:16
  1. import turtle
  2. count = 10
  3. data = []
  4. words = []
  5. yScale = 2
  6. xScale = 30

  7. def drawLine(t, x1, y1, x2, y2):
  8.     t.penup()
  9.     t.goto(x1,y1)
  10.     t.pendown()
  11.     t.goto(x2,y2)

  12. def drawText(t, x, y, text):
  13.     t.penup()
  14.     t.goto(x,y)
  15.     t.pendown()
  16.     t.write(text)

  17. def drawGraph(t):
  18.     drawLine(t,0,0,360,0)
  19.     drawLine(t,0,300,0,0)
  20.     for x in range(count):
  21.         x = x + 1
  22.         drawText(t, x*xScale-4, -20,(words[x-1]))
  23.         drawText(t, x*xScale-4, data[x-1]*yScale+10,data[x-1])
  24.     drawBars(t)

  25. def drawRectangle(t,x,y):
  26.     x = x*xScale
  27.     y = y*yScale
  28.     drawLine(t, x-5,0,x-5,y)
  29.     drawLine(t, x-5,y,x+5,y)
  30.     drawLine(t,x+5,y,x+5,0)
  31.     drawLine(t,x+5,0,x-5,0)

  32. def drawBars(t):
  33.     for i in range(count):
  34.         drawRectangle(t,i+1,data[i])

  35. # 计数
  36. def processsLine(line, wordCounts):
  37.     line = replacePunctuations(line)
  38.     words = line.split()
  39.     for word in words:
  40.         if word in wordCounts:
  41.             wordCounts[word] += 1
  42.         else:
  43.             wordCounts[word] = 1

  44. # 空格替换标点符号
  45. def replacePunctuations(line):
  46.     for ch in line:
  47.         if ch in "~!@#$%^&*()_+-=[]{};:'|"",./?<>":
  48.             line = line.replace(ch, " ")
  49.     return line

  50. def main():
  51.     # 处理文件
  52.     # filename = input('enter a filename:').strip()
  53.     filename = r'C:\Users\Administrator\Desktop\news.txt'
  54.     infile = open(filename, 'r', encoding='utf-8')
  55.     wordCounts = {}
  56.     for line in infile:
  57.         processsLine(line.lower(), wordCounts)
  58.     # 从字典中获取数据对
  59.     pairs = list(wordCounts.items())
  60.     # 列表中的数据对排序
  61.     items = [[x,y] for [y,x] in pairs]
  62.     items.sort()
  63.     #输出count个数词频结果
  64.     for i in range(len(items)-1, len(items)-count-1,-1):
  65.         print(items[i][1]+"\t"+str(items[i][0]))
  66.         data.append(items[i][0])
  67.         words.append(items[i][1])
  68.     # 绘制柱状图
  69.     turtle.title("词频结果柱状图")
  70.     turtle.setup(900, 750, 100,100)
  71.     t = turtle.Turtle()
  72.     t.hideturtle()
  73.     t.width(3)
  74.     drawGraph(t)
  75.     turtle.done()

  76. if __name__ == '__main__':
  77.     main()
复制代码


网上找的,似乎可以统计记事本上的英文单词词频
狼蛮 发表于 2020-4-20 07:16:28 来自手机
蒙哥阅读器
 楼主| 玉子 发表于 2020-4-22 12:28:34
Lengpingyi 发表于 2020-4-19 13:35
楼主,建议把你定义的好用具体是指什么,注重哪方面的需求,还有已经尝试过的工具以及觉得不满意的地方一一 ...

好,谢谢提醒,我下次会改进的
 楼主| 玉子 发表于 2020-4-22 12:29:02
撩月 发表于 2020-4-20 00:12
在线的:https://textmechanic.com/text-tools/basic-text-tools/count-characters-words-lines/

另外同意 ...

谢谢,我下次会改进提问方式的
 楼主| 玉子 发表于 2020-4-22 12:29:58
金石头 发表于 2020-4-20 01:21
网上找的,似乎可以统计记事本上的英文单词词频

我不太懂代码,不过还是谢谢回答
 楼主| 玉子 发表于 2020-4-22 12:33:30

谢谢回复
kkkkk 发表于 2022-1-28 23:42:11
面包多,纽扣词云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

虫部落 陕ICP备14001577号-1川公网安备 51019002003015号联系我们FAQ关于虫部落免责声明虫部落生存法则社区广场RSS

Build with for "make search easier" Copyright © 2013-2025. Powered by Discuz! GMT+8, 2025-5-11 03:35

快速回复 返回顶部 返回列表