Haga palabra china con la palabra nube hecha con Python

Autor: Mei Haoming

1. Introducción

En la era de los grandes datos, a menudo vemos una variedad de información en los medios de comunicación o el mapa del sitio. Nube de palabras es una forma importante de texto visualización de datos grande puede ser gran parte de texto a frases clave más destacado y espectáculo de vocabulario. Para la visualización de texto en chino, necesitamos primer texto palabra china; luego hacer el texto palabra clave Mostrar nube de palabras. Este artículo le enseñará cómo utilizar Python para hacer la palabra china y hacer una nube de palabras, recepción para seguir el tutorial paso a paso la aplicación.

Dirección del proyecto: https://momodel.cn/workspace/5e77afb7a8a7dc6753f582b9?type=app

2. palabra china

Primeros pasos con Word 2.1 puntos

Los llamados secuencias de palabras de acuerdo con el texto que está llena de significado Siqie en una palabra de uno, para facilitar el siguiente paso del análisis (estadísticas de frecuencia de palabras, análisis de sentimientos, etc.). La palabra Inglés palabras y viene con un espacio como separador, en comparación con la palabra china debe ser simple. Aquí damos un ejemplo para introducir la palabra china. Python nos proporciona Jieba palabra biblioteca, a continuación, cómo utilizar la biblioteca a mediodía se Jieba palabra.

import jieba

# 文本数据
text = "MomodelAI是一个支持在线数据分析和AI建模的平台。"
result = jieba.cut(text)

# 将切分好的文本用" "分开
print("分词结果: " + " ".join(result)) 

'''
分词结果: MomodelAI 是 一个 支持 在线 数据分析 和 AI 建模 的 平台 。
'''

2.2 Sustantivo Especial

Para algunas condiciones especiales, con el fin de hacer más corta de tiempo compartido no se separa, podemos optar por hacer hincapié en estos términos antes de rebanar.

text = "Mo平台是一种支持模型开发与部署的人工智能建模平台。"

# 强调特殊名词
jieba.suggest_freq(('Mo平台'), True)
result = jieba.cut(text)

print("分词结果: "+" ".join(result)) 

'''
分词结果: Mo平台 是 一种 支持 模型 开发 与 部署 的 人工智能 建模 平台 。
'''

2.3 texto limpio

Algunos símbolos especiales después de la división se separarán en palabras, estas palabras tendrán un impacto en el análisis después de nosotros. Aquí podemos usar una biblioteca de puntuacion stopwords.txt, cortando los símbolos especiales para eliminar, por "el", "de", tal como la longitud de una palabra, al parecer, sin ningún tipo de ayuda a analizar el texto. El método de tratamiento es una longitud de una palabra de todo hacia fuera de malezas.

#从文件导入停用词表
stpwrdpath = "stop_words.txt"
stpwrd_dic = open(stpwrdpath, 'rb')
stpwrd_content = stpwrd_dic.read()

#将停用词表转换为list  
stpwrdlst = stpwrd_content.splitlines()
stpwrd_dic.close()
segs = jieba.cut(text)
mytext_list = []

# 文本清洗
for seg in segs:
    if seg not in stpwrdlst and seg!=" " and len(seg)!=1:
        mytext_list.append(seg.replace(" "," "))
        
cloud_text=" ".join(mytext_list) 
print("清洗后的分词结果: " + cloud_text)

'''
清洗后的分词结果: Mo平台 一种 支持 模型 开发 部署 人工智能 建模 平台
'''

3. Producción de nube de la palabra

3.1 producción simple nube de palabras

Antes de hacer chino palabra de datos de nubes de texto, el primero en utilizar el método descrito anteriormente será palabra texto chino.

# 中文分词
from wordcloud import WordCloud

with open('./Mo.txt',encoding = 'utf-8', mode = 'r')as f:
    myText = f.read()

myText = " ".join(jieba.cut(myText)) 
print(myText)

Después de obtener una buena datos de texto de palabras, entonces utilizar la biblioteca para hacer WORDCLOUD nube de palabras. (Nota: Debido a sí WORDCLOUD no admite la fuente china, tenemos que descargar simsun.ttf, como la fuente de salida designado.)

# 制作词云
wordcloud = WordCloud(background_color="white", font_path="simsun.ttf", height=300, width = 400).generate(myText)

# 图片展示
import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

# 将词云图片导出到当前文件夹
wordcloud.to_file("wordCloudMo.png") 

3.2 Dibuje la forma de la nube de palabra especificada

Producción especificar la forma de una nube de palabras, tenemos que leer la forma externa de la imagen nube de palabras, aquí usamos la biblioteca ImageIO.

# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud

# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("chinamap.png")
w = wordcloud.WordCloud(mask=mk)

# 构建并配置词云对象w,注意要加scale参数,提高清晰度
w = wordcloud.WordCloud(width=1000, height=700,background_color='white',font_path='simsun.ttf',mask=mk,scale=15)

# 对来自外部文件的文本进行中文分词,得到string
f = open('新时代中国特色社会主义.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)

# 将string变量传入w的generate()方法,给词云输入文字
wordcloud = w.generate(string)


import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

# 将词云图片导出到当前文件夹
w.to_file('chinamapWordCloud.png')

3.3 Los resultados muestran

4. Referencias

  1. Blog: https://www.jianshu.com/p/e4b24a734ccc
  2. proyecto github: https://github.com/TommyZihao/zihaowordcloud
  3. Video Tutorial: https://www.bilibili.com/video/av53917673/?p=1

Acerca de ##
Mo (URL: https: //momodel.cn) es un soporte de Python inteligencia artificial en línea modelar plataforma que puede ayudar a desarrollar rápidamente, la formación y el modelo de implementación.

Recientes Mo están relacionados con el aprendizaje de máquina de cursos de iniciación y actividades de intercambio de tesis en curso, el público está invitado a revisar nuestros números para la información más actualizada!

Publicado 36 artículos originales · ganado elogios 4 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_44015907/article/details/105220597
Recomendado
Clasificación