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)