精华内容
下载资源
问答
  • Python高频词统计

    千次阅读 2019-06-26 14:08:33
    # -*- coding: utf-8 -*- import jieba txt = open('gaopin.txt','r').read() words = jieba.lcut(txt) print(words) counts = {} for word in words: if len(word) == 1: continue else: ...
    # -*- coding: utf-8 -*-
    import jieba
    
    txt = open('gaopin.txt','r').read()
    words = jieba.lcut(txt)
    print(words)
    counts = {}
    for word in words:
        if len(word) == 1:
            continue
        else:
            counts[word] = counts.get(word,0) + 1
    print(counts)
    jieguo=[]
    jieguo=sorted(counts.items(),key=lambda x:x[1],reverse=True)
    print(jieguo)
    

     

    展开全文
  • 历年英语四级高频单词统计

    千次阅读 2019-06-01 17:13:09
    下载运行完就可以得到最近几年四级阅读理解高频单词。也可以自己收集其他数据进行统计 github:https://github.com/jiaxingqi/pythonCode/tree/master/练习/四级高频词 import os import re base_path = './data/' ...

    四级单词版wordcount!

    下载运行完就可以得到最近几年四级阅读理解高频单词。也可以自己收集其他数据进行统计
    github:https://github.com/xichie/pythonCode

    import os
    import re
    
    base_path = './data/'
    filenames = os.listdir(base_path)
    all_words = []
    stat = {}
    
    # load data
    print("loading data...")
    for fn in filenames:
        print(fn)
        with open(os.path.join(base_path, fn), encoding='utf-8') as f:
            context = f.readlines()
        for line in context:
            words = line.strip().split()
            for i, word in enumerate(words):
                words[i] = ''.join(list(filter(str.isalpha, word))).lower()   # filter letter and ignore case 
            all_words.extend(words)
    
    # wordcount
    for word in all_words:
        stat[word] = stat.get(word, 0) + 1
    word_count = sorted(stat.items(), key=lambda d: d[1], reverse=True)
    
    
    # save result
    totol_words = 0
    with open('./result.csv','w', encoding='utf-8') as f:
        for word_num in word_count:
            totol_words += word_num[1]
            f.write(word_num[0] + ',' + str(word_num[1]) + '\n')
    print(totol_words)
    
    展开全文
  • Given a paragraphand a list of banned words, return the most frequent word that is not in the list of banned words. It is guaranteed there is at least one word that isn't banned, and that the...

    [抄题]:

    Given a paragraph and a list of banned words, return the most frequent word that is not in the list of banned words.  It is guaranteed there is at least one word that isn't banned, and that the answer is unique.

    Words in the list of banned words are given in lowercase, and free of punctuation.  Words in the paragraph are not case sensitive.  The answer is in lowercase.

    Example:
    Input: 
    paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."
    banned = ["hit"]
    Output: "ball"
    Explanation: 
    "hit" occurs 3 times, but it is a banned word.
    "ball" occurs twice (and no other word does), so it is the most frequent non-banned word in the paragraph. 
    Note that words in the paragraph are not case sensitive,
    that punctuation is ignored (even if adjacent to words, such as "ball,"), 
    and that "hit" isn't the answer even though it occurs more because it is banned.

     [暴力解法]:

    时间分析:

    空间分析:

     [优化后]:

    时间分析:

    空间分析:

    [奇葩输出条件]:

    [奇葩corner case]:

    [思维问题]:

    [一句话思路]:

    [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

    [画图]:

    [一刷]:

    1. 斜杠不是正斜杠

    [二刷]:

    [三刷]:

    [四刷]:

    [五刷]:

      [五分钟肉眼debug的结果]:

    [总结]:

    去标点、去空格都用正则表达式

    [复杂度]:Time complexity: O(n) Space complexity: O(n)

    [英文数据结构或算法,为什么不用别的数据结构或算法]:

    1. Arrays.asList()返回的是List,而且是一个定长的List。把string数组转成普通数组,才能存到hashset中。
    public static void main(String[] args){
      2         int[] a1 = new int[]{1,2,3};
      3         String[] a2  = new String[]{"a","b","c"};
      4
      5         System.out.println(Arrays.asList(a1));
      6         System.out.println(Arrays.asList(a2));
      7     }
      打印结果如下:
      [[I@dc8569]
      [a, b, c]

     删除标点、划分空格:斜杠

    String[] words = p.replaceAll("\\pP" , "").toLowerCase().split("\\s+");

    [关键模板化代码]:

    [其他解法]:

    [Follow Up]:

    [LC给出的题目变变变]:

     [代码风格] :

    class Solution {
        public String mostCommonWord(String paragraph, String[] banned) {
            //ini
            Set<String> set = new HashSet<>(Arrays.asList(banned));
            Map<String, Integer> map = new HashMap<>();
            String res = "";
            int max = Integer.MIN_VALUE;
            
            //store in HM
            String[] words = paragraph.replaceAll("\\pP", "").toLowerCase().split("\\s+");
            for (String w : words) {
                if (!set.contains(w)) {
                    map.put(w, map.getOrDefault(w, 0) + 1);
                    if (map.get(w) > max) {
                        res = w;
                        max = map.get(w);
                    }
                } 
            }
            
            //return
            return res;
        }
    }
    View Code

     

    转载于:https://www.cnblogs.com/immiao0319/p/8974022.html

    展开全文
  • word counts[rword] = counts.get(rword, 0) + 1 #去除单词长度在7个以下的,去除之前定义的,统计其他单词的数量 items = list(counts.items()) #将字典转换为列表,以便操作 items.sort(key=lambda x:x[1], ...

    使用Python实现简单的词频统计

    前言

    此次作为一个简单demo分享,闲来试试做一个词频统计统计英语卷子单词出现的次数及频率,具体代码及分析如下。

    anaconda第三方库的安装

    在这里插入图片描述
    使用pip list查看已经安装的
    在这里插入图片描述
    没有安装的使用pip install jieba
    即可安装(建议安装时使用科学上网,安装速度会非常快)

    代码分享及分析

    这里代码有些乱,是为了进行一些测试。最后选取效果较好的一种。使用时将你的要分析的文件直接放进1.txt文件即可,设置好路径会统计出前1000的单词,可以根据循环次数进行统计数量的设定。

    import jieba
    import nltk
    path = 'C:Users/Admin/Desktop/1.txt'
    file = open(path, encoding='gb18030', errors='ignore')
    file2 = open("C:Users/Admin/Desktop/2.txt", 'w',encoding='utf-8')
    file2.write(file.read())
    file.close()
    file2.close()
    #以上代码用于文本格式的修改,避免文档中格式的种种问题,也可以读取docx等文件
    excludes = {"they","their","your","this","that","from","with","which","about","should"}
    #去除掉你不想要统计次数的单词
    def getText():
        txt = open("C:Users/Admin/Desktop/2.txt", "r",encoding='utf-8').read()   #读取Hamlet文本文件,并返回给txt
        txt = txt.lower()          #将文件中的单词全部变为小写
        for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
            txt = txt.replace(ch, " ")   #将文本中特殊字符替换为空格
        return txt
    #去除特殊符号
    hamletTxt = getText()
    #words  = hamletTxt.split() #按照空格,将文本分割
    #words  = nltk.word_tokenize(hamletTxt)
    words   = jieba.lcut(hamletTxt)
    #这里使用jieba库进行分词,也可以用上边的两者进行测试分词效果
    counts = {}
    for word in words:
        if len(word) < 7:
            continue
        elif word in excludes:
            continue
        else:
            rword = word
        counts[rword] = counts.get(rword, 0) + 1
    #去除单词长度在7个以下的,去除之前定义的,统计其他单词的数量
    items = list(counts.items())   #将字典转换为列表,以便操作
    items.sort(key=lambda x:x[1], reverse=True)  # 见下面函数讲解
    file2 = open("C:Users/Admin/Desktop/test2.txt","w")
    for i in range(1000):
        word, count = items[i]
        #print ("{0:<10}{1:>5}{1:>5}".format(word, count,count))
        file2.write("{0:<20}\n".format(word))
        print("{0:<20}{1:>20}".format(word, count))
    file2.close()
    #将统计的信息打印并写入文件,这里写入时没有加入词频
    

    下附运行结果
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • encoding=('UTF-8-sig'),newline='') as f: csv_writer = csv.writer(f) csv_writer.writerow(['单词','词频','词义']) for i in txt: word= str(i[0]) frequency= str(i[1]) csv_writer.writerow([word,frequency])
  • python之jieba模块高频词统计

    千次阅读 2018-10-30 22:37:31
    import jieba txt = open('gaopin.txt','r').read() words = jieba.lcut(txt) counts = {} for word in words: if len(word) == 1: continue else: counts[word] = counts.get(word,0) + 1...
  • 统计高频词

    千次阅读 2018-06-27 20:37:41
    #返回高频词 def word(file): with open(file) as file: data = file.read() #一次性读取全部的内容 contents = re.findall('\w+',data) #匹配所有的字符 count = {} for content in contents: ...
  • 统计哈姆雷特文本中高频词的个数

    千次阅读 2018-11-11 20:51:35
    统计哈姆雷特文本中高频词的个数 三国演义人物出场统计 开源代码 讲解视频 kou@ubuntu:~/python$ cat ClaHamlet.py #!/usr/bin/env python # coding=utf-8 #e10.1CalHamlet.py def getText(): txt = open("...
  • 如何统计文章中的高频词

    千次阅读 2020-01-11 23:30:21
    该任务的重点就是提取用户留言的高频词并且过滤掉停用词。 在本场 Chat 中,会讲到如下内容: 数据收集:获取用户的留言数据 文本分词:读取用户留言内容,使用 jieba 进行文本分词,根据具体任务,添加自定义词库...
  • 一个程序,如果要实现“统计文章中的前十位高频单词”的功能,首先、要有输入或者读入所要统计的文章;其次、就是如何对文章文本进行分析,断(即提取出一个个单词)、计数、排序;最后要求有输出部分。难点在于...
  • Python快速统计文件中高频词

    千次阅读 多人点赞 2020-10-29 13:38:09
    b = a.read() # 对文件进行读操作 words = jieba.lcut(b) # words是直接生成一个装有的列表,即list count = {} # 定义一个字典 for word in words: # 枚举在文章中出现的词汇 if len(word) 排除字长小于2的 ...
  • 统计2016政府工作报告中的高频词 ''' import jieba import requests from bs4 import BeautifulSoup ''' 从网上抓取政府工作报告的全文 extract_text(url) ''' def extract_text(url): #page_source
  • tuples_高频词汇统计

    2018-03-26 21:01:00
    内容来自:python for ... 文本取自《罗密欧于朱丽叶》的第二幕第二场。现在,我们扩充这个程序,输出文本中出现次数最多的前十个单词,代码如下所示: import string fhand = open('romeo-full.txt') counts =...
  • import jieba ls="中国是一个伟大的国家,是一个好的...counts={} # 定义统计字典 words=jieba.lcut(ls) print('分好的词组为:',words) for word in words: counts[word]=counts.get(word,0)+1 print...
  • 1、使用jieba分词,取出不重要的高频词('股份','有限','公司'等),简化待查公司名,防止影响相似度。 2、使用FuzzyWuzzy计算待处理公司与标准公司名的相似度,取出最相似的(基于编辑距离Levenshtein Distance) ...
  • #统计词频,并删去其中单个词汇 a = input ( "请用空格分割词组,按回车结束:\n" ) #对词频中不希望出现的词汇删除 words = a . split ( ) for word in words : if count [ word ] != 0 : del ( ...
  • 最近学习HADOOP,写mapreduce,最简单的单词统计。 以前刷题,英语不好,很烦。 现在统计一下poj上单词。 首先,抓取了1000--4000的英文题目,对数据进行清洗,把不需要的数字,中文,各种奇怪的符号都去掉。 然后...
  • 中文高频词汇统计并绘制词云

    千次阅读 2018-02-08 10:12:14
    代码如下: ... # generate word cloud wc.generate(text) # generate color from image image_colors = ImageColorGenerator(trump_coloring) plt.imshow(wc) plt.axis("off") plt.show()
  • 在分析数据过程中,单词统计应用很广,尤其是提取海量文本中出现最多次数的,往往可以进行舆论,热点等分析,应用非常广泛. 下面将针对一个文本进行单词热统计,其中列出多种求解过程,一起交流学习,欢迎下下方留言...
  • 现代软件工程课的第一次个人作业博主做的相当差劲,让我清楚地意识到自己与他人的差距。 通过这篇博客博主将展示自己是如何走上事倍功半的歧路,认真分析错误原因,...1.统计文件的字符数(只需要统计Ascii码,汉字...
  • 692. 前K个高频单词

    2021-04-12 20:25:31
    统计各个单词的出现次数 将所有单词 + 次数组织成线性结构 使用优先队列 public class Solution2 { static class WordCount implements Comparable<WordCount> { String word; int count; public ...
  • C语言程序,读取一个英文txt文件后统计行数、单词数、字符数和标点数。 #include int main() { FILE *fp; int line=1,str,word,pu,ch; int g; if((fp=fopen("c:\\file.txt","r"))==NULL) { printf("没有检测到...
  • #include#include#...//单词的长度};intmain(){struct S_word W[300]; //定义一个结构体Winti,m,n,k;char b[10]; //用来和a【10】交换的数组FILE *fp; //定义文件char ch; //从文件中读取字符int flag=0; ...
  • 前 k 个高频单词

    2021-03-28 19:03:49
    题目描述:给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 示例 1: 输入: [“i”, “love”, “leetcode”, ...
  • 十年考研高频单词

    万次阅读 2013-07-26 08:22:39
    十年考研高频单词(资料收积) 2003 Text 1  spymaster /5spai7mB:stE/ 即spy+master,间谍大王、间谍组织首脑。 strategic /strE5ti:dVik/ (战略的;对全局起关键作用的)为strategy(战略,策略)的形容...
  • 高频词随机抽取

    2020-08-17 17:05:55
    高频词随机抽取随机抽取一定数量的高频词 高频词一般是指文档中出现频率较高的且非无用的词.高频次提取其实就是自然语言处理中的TF(Term Frequence)策略,其主要有一下两个干扰项: (1)标签符号,一般情况下无...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,784
精华内容 1,513
关键字:

word高频词统计