智联招聘python岗位_智联招聘的python岗位数据结巴分词(二)

上次获取第一次分词之后的内容了

但是数据数据量太大了 ,这时候有个模块就派上用场了collections模块的Counter类

Counter类:为hashable对象计数,是字典的子类。

然后使用most_common方法返回一个TopN列表。如果n没有被指定,则返回所有元素。当多个元素计数值相同时,排列是无确定顺序的。

def get_top_words(topn):

# 从out.txt中读取带词性的分词结果列表

words_with_attr = read_result()

# 要过滤掉的词性列表

stop_attr = ['a', 'ad', 'b', 'c', 'd', 'f', 'df', 'm', 'mq', 'p', 'r', 'rr', 's', 't', 'u', 'v', 'z']

# 过滤掉不需要的词性的词

words = [x[0] for x in words_with_attr if x[1] not in stop_attr]

# 获取topn的词并存入文件topn_words.txt,top_words_with_freq为一个字典,在生成词云的时候会用到,格式为:

# {'aa':1,'bb':2,'cc':3}

top_words_with_freq = get_topn_words(words=words, topn=topn)

return top_words_with_freq

def get_topn_words(words, topn):

c = Counter(words).most_common(topn) #获取topn列表

top_words_with_freq = {}

with open('top{0}_words.txt'.format(topn), 'w+') as f:

for x in c:

f.write('{0},{1}\n'.format(x[0], x[1]))

top_words_with_freq.setdefault(x[0],x[1])

return top_words_with_freq

接下来就是把这个topn的列表进行分词了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部