Produção de nuvem do Word baseada em Python

1 Instalação e introdução de bibliotecas de terceiros

1.1 Biblioteca de terceiros Python jieba (segmentação de palavras em chinês)

1. Recursos

(1) Suporta três modos de segmentação de palavras:

  • Modo preciso , tentando cortar a frase com mais precisão, adequado para análise de texto;
  • Modo completo , digitalizar todas as palavras que podem ser formadas em palavras na frase, a velocidade é muito rápida, mas não pode resolver a ambiguidade;
  • O modo de mecanismo de busca , com base no modo preciso, segmenta palavras longas novamente, melhora a taxa de recall, adequado para a segmentação de palavras de motores de busca.

(2) Apoie a segmentação tradicional por palavras em chinês

(2) Suporte dicionário personalizado

(3) contrato de licença do MIT

2. Instruções de instalação e uso

instalação do pip jieba / pip3 install jieba

Referência via jieba import

3. Principais funções

A função de segmentação por palavras está principalmente envolvida aqui, conforme detalhado abaixo:

(1) O método jieba.cut aceita três parâmetros de entrada:

  • Uma sequência que precisa de segmentação de palavras;
  • O parâmetro cut_all é usado para controlar se o modo completo deve ser usado;
  • O parâmetro HMM é usado para controlar se o modelo HMM deve ser usado.

(2) O método jieba.cut_for_search aceita dois parâmetros:

  • Uma sequência que precisa de segmentação de palavras;
  • Se deve usar o modelo HMM.

Esse método é adequado para o mecanismo de pesquisa construir a segmentação de palavras invertidas e a granularidade é relativamente fina.

1. A cadeia de caracteres a ser segmentada pode ser unicode, cadeia de caracteres UTF-8 ou GBK.

2. Não é recomendável inserir diretamente a sequência GBK, que pode ser decodificada inesperadamente em UTF-8.

3. A estrutura retornada por jieba.cut e jieba.cut_for_search é um gerador iterável.Você pode usar o loop for para obter cada palavra (unicode) obtida após a segmentação da palavra, ou usar jieba.lcut e jieba.lcut_for_search para retornar a lista diretamente.

(3) jieba.Tokenizer (dictionary = DEFAULT_DICT) Crie um novo tokenizer personalizado, que pode ser usado para usar dicionários diferentes ao mesmo tempo. jieba.dt é o tokenizer padrão e todas as funções relacionadas ao tokenizer global são mapeamentos desse tokenizer.

4. Código de exemplo

(1) Código de execução:

1  # coding = utf-8 
2  import jieba
 3  
4 text = " Gentilmente saí como vim suavemente " 
5  
6 seg_list = jieba.cut (texto, cut_all = False)
 7  print ( " Modo padrão: " + " / " .join (seg_list))        # modo fino 
8.  
9. seg_list = jieba.cut (texto, cut_all = True)
 10  Imprimir ( " modo completo: " + " / " .join (seg_list))           #Modo completo 
11  
12 seg_list = jieba.cut_for_search (texto)
 13  Imprimir ( " Modo de Pesquisa: " + " / " .join (seg_list))         # modo de motor de busca

 

(2) resultado da operação:

 

1.2 Biblioteca de terceiros Python wordcloud (nuvem de palavras)

1. Instruções de instalação e uso

instalar o wordcloud / pip3 instalar o wordcloud

Citação através da importação wordcloud

2. Principais funções

O Wordcloud trata a nuvem de palavras como um objeto e pode desenhar a nuvem de palavras usando a frequência das palavras no texto como parâmetro, e o tamanho, cor, forma etc. da nuvem de palavras pode ser definido.

As etapas para gerar uma nuvem de palavras são as seguintes:

(1) Configurar parâmetros do objeto

(2) Carregar texto na nuvem de palavras

(3) Arquivo de nuvem de palavras de saída (se não especificado, o tamanho da imagem padrão é 400 * 200)

3. lista de parâmetros comum

 

2 Crie uma nuvem de palavras

2.1  Gere a nuvem de palavras "Padrões de gerenciamento para pacientes infectados assintomáticos por novos coronavírus"

(1) Código de execução:

1  # coding = utf-8 
2  importa matplotlib.pyplot como plt
 3  importa jieba
 4  do wordcloud importa WordCloud
 5  
6  # 1. Leia os dados de texto txt 
7 com open ( " test.txt " , ' r ' ) como f:
 8            text = f.read ()
 9  
10  # 2.
 Particípio 11 cut_text = "  " .join (jieba.cut (text))
 12  
13  # 3. Gere nuvem de palavras 
14 wc =WordCloud (
 15      caminho_de_ fonte = r ' . \ Simhei.ttf ' ,
 16 cor_de      fundo = ' branco ' ,
 17      largura = 1000 ,
 18      altura = 880 ,
 19  ) .generate (cut_text)
 20  
21  # 4. 显示
22 plt. imshow (wc, interpolação = " bilinear " )
 23 plt.axis ( ' off ' )
 24 plt.show ()

 

(2) resultado da operação:

 

2.2 Gere a nuvem de palavras "Aviso sobre como fazer um bom trabalho no emprego e no empreendedorismo de graduados"

(1) Código de execução:

1  # coding = utf-8 
2  importar PIL.Image como imagem
 3  importar numpy como np
 4  importar matplotlib.pyplot como plt
 5  importar jieba
 6  do wordcloud importar WordCloud, ImageColorGenerator
 7  
8  def GetWordCloud ():
 9      path_txt = " test.txt " 
10      path_img = " test.jpg " 
11      # 1. 数据 入 txt 文本
12      com abertura (path_txt, ' r ') como f:
 13            text = f.read ()
 14      background_image = np.array (image.open (path_img))
 15  
16      # 2. 词 词
17      cut_text = "  " .join (jieba.cut (texto))
 18  
19      # 3. 
20      wc = WordCloud (
 21          font_path = r ' . \ Simhei.ttf ' ,
 22          background_color = ' white ' ,
 23          mask = background_image
 24      ) .generate (cut_text)
 25 
26      # para gerar valores de cor 
27      image_colors = ImageColorGenerator (Imagem de fundo)
 28  
29      # 4. Exiba imagem Nuvem da palavra 
30      plt.imshow (wc.recolor (color_func = image_colors), interpolação = " Bilinear " )
 31 é      plt.axis ( ' OFF ' )
 32      plt.show ()
 33  
34  
35  se  __name__ == " __main__ " :
 36      GetWordCloud ()

 

(2) resultado da operação:

 

Biblioteca de terceiros Python jieba (segmentação de palavras em chinês)

Acho que você gosta

Origin www.cnblogs.com/yangmi511/p/12676116.html
Recomendado
Clasificación