[Principio de compilación] Python implementa estadísticas de frecuencia de palabras para un texto en inglés

Utilice Python para darse cuenta de las estadísticas de frecuencia de palabras de un texto en inglés. Enlace de texto: https://www.philippinetimes.com/news/257886068/australia-blocks-chinese-firms-huawei-zte-from-5g-network 

1. Creación de tuplas

tup1 = ('Google', 'atguigu', 1997, 2000);
tup2 = (1, 2, 3, 4, 5);
tup3 = "a", "b", "c", "d"; # No Se requieren soportes

2. Creación de diccionario

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict = {x: x + 1 para x en el rango (10)}

3. Establecer la creación de la colección

s = {'nombre', 'aa', 'bb'}
s = conjunto (secuencia) # secuencia dict, clave de suma de valor
s = {x para x en el rango (10) si x no está en el rango (5,10)}

De acuerdo con el diagrama de flujo que se muestra en la Figura 4.2, se realizan las estadísticas de frecuencia de palabras del documento y los códigos específicos se detallan en el apéndice.

Figura 4.2 Diagrama de flujo de estadísticas de frecuencia de palabras

Resultados de estadísticas de frecuencia de 3 palabras

(1) Para obtener estadísticas de frecuencia de palabras específicas, consulte el apéndice ex1_word Frequency Statistics results.xlsx y ex1_word Frequency Statistics results.txt. El primer archivo es el código escrito por mí mismo, y los datos se procesan al almacenar los resultados. Los datos en el interior están más estandarizados; el segundo archivo se refiere a la explicación del maestro y luego usa el formato de lista para almacenar el archivo cuando se almacena el archivo. .
           

Figura 4.3 Diagrama esquemático de estadísticas de frecuencia de palabras

Se puede ver en los documentos anteriores que las cinco frecuencias de palabras principales son the, to, y, huawei, y que, la mayoría de las cuales son pronombres demostrativos o conjunciones.

(2) Genere una imagen de nube de palabras basada en la frecuencia de palabras, como se muestra en la Figura 4.4.

Figura 4.4 Diagrama de nube de palabras

Referencia

  1. Tutorial de instalación y uso de Anaconda : https://zhuanlan.zhihu.com/p/32805175
  2. Introducción a los conceptos básicos de Python y la configuración del entorno: https://www.jianshu.com/p/8e56607b0abc
import re
file=open('ex1_news.txt',encoding='ansi')
lowerText=file.read().lower()
file.close()
arr=re.split('[ ,.+"\n]',lowerText)
voc={};
for each in arr:
    if each not in voc:
        voc[each]=1;
    else:
        voc[each]+=1;
voc.pop('');
vocSorted=sorted(voc.items(),key=lambda x:x[1],reverse=True)# 按照键值进行排序
newFile=open('ex1_词频统计结果.txt','w')
newFile.write(str(vocSorted))
newFile.close()

#根据词频生成云图
from wordcloud import WordCloud, ImageColorGenerator
from PIL import Image
import numpy as np
image=Image.open('china_map.jpg');
graph = np.array(image)
# 参数分别是指定字体、背景颜色、最大的词的大小、使用给定图作为背景形状
wc = WordCloud(font_path="C:/Windows/Fonts/simfang.ttf", background_color='white', max_words=100, mask=graph)
wc.generate_from_frequencies(voc)#根据给定词频生成词云
image_color = ImageColorGenerator(graph)
#生成图片
image=wc.to_image()
#显示图片
image.show()
#存储图片
image.save('云图1.jpg')

 

Supongo que te gusta

Origin blog.csdn.net/weixin_43442778/article/details/114970932
Recomendado
Clasificación