NLP数据预处理——词频统计(创建词典)程序

本文介绍了一个在自然语言处理中用于词频统计和创建词典的小程序。通过Python的count_words()函数,可以获取输入字符串中最常出现的n个单词及其频率,按频率降序排列。当频率相同时,按字母顺序排列。
摘要由CSDN通过智能技术生成

自然语言处理中经常涉及到创建词典或者词频统计,这里分享一个小程序,希望能给大家提供一点帮助,也欢迎各位指点我的程序,哪怕再小的程序也值得不断完善。

词频统计问题可以描述如下:

用Python实现函数count_words(),该函数输入字符串s和数字n,返回s中n个出现频率最高的单词。返回值是一个元组列表,包含出现次数最高的n个单词及其次数,即[(<单词1>, <次数1>), (<单词2>, <次数2>), ... ],按出现次数降序排列。

假设所有输入都是小写形式,并且不含标点符号或其他字符(只包含字母和单个空格)。如果出现次数相同,则按字母顺序排列。那么可以有以下程序:

"""统计词频"""


def count_words(s, n):
    """返回字符串s中出现频率最高的n个词."""

    s_list = s.lower().split(' ')  # 单词统一转换为小写形式,并以空格进行切分

    # 统计字符串s中每个单词出现的次数
    top_n_dict = {}
    for word in s_list:
        if word in top_n_dict:
            top_n_dict[word] += 1
        else:
            top_n_dict[word] = 1

    # 按照出现频次对单词进行排序,如果出现频次相同,则按字母顺序排序
    word_frequency = []
    values = sorted(list(set(top_n_dict.values()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值