1. 程式人生 > >python3.6實現中文分詞統計-自然語言處理小專案

python3.6實現中文分詞統計-自然語言處理小專案

前言

    本文分為三部分,第一部分是安裝兩個中文分詞工具包,第二部分是對中文字串進行分詞,第三部分是進一步對中文文字進行分詞。Part 1 安裝中文分詞工具
背景:已經安裝了python3.6,設定好環境變數,安裝了pip模組介面:進入windows的管理員命令模式
pip install thulac        #安裝清華大學的thulac中文詞法分析包
pip install jieba          #安裝最好的中文詞法分析包jieba

Part 2 對字串分詞import jieba;seg_list = jieba.cut("我來到北京清華大學", cut_all=False)    #jieba資料夾下的__init__.py中有個cut的函式,它是控制整個jieba分詞包的主函式。
def cut(sentence,cut_all=False,HMM=True),sentence是需要分詞的句子樣本;cut_all是分詞的模式,jieba分詞有全模式(true)和精準模式(false)兩種;HMM就是隱馬爾可夫鏈,這個是在分詞的理論模型中用到的,預設是開啟的。print"/ ".join(seg_list)#str.join(sequence),用於將sequence序列中的元素以指定的字元str連線生成一個新的字串。Part 3  對文字檔案分詞
#! python3
# -*- coding: utf-8 -*-
import jieba    #匯入結巴模組
from 
collections import Counter #匯入collections模組的Counter類 #對文字檔案txt進行分詞,並統計詞頻,再顯示結果 def get_words(txt): #S1 對文字進行分詞 list = jieba.cut(txt) #結巴模組的cut函式用於中文分詞 #S2 統計詞頻 c = Counter() #建立空的Counter計數器,關於counter的知識可參考本部落格的另一篇博文,位於python資料夾內 for x in list: #分詞結果中迴圈提取詞語 if len(x) > 1 and x != '\r\n':
#略掉只有一個字的詞語和回車、換行 c[x] += 1 #統計每個單詞的計數值 #S3 將結果視覺化 print('常用詞頻統計結果') for(k,v) in c.most_common(100): #只取出現值最高的前100個詞語 print('%s%s %s %d' % (' '*(5-len(k)), k, '*'*int(v/3), v)) #前5個位置列印空格或詞語,有右對齊的效果 #讀取某文字檔案(預設uft-8格式) with open('C:\\Python36\\test.txt','r') as f : txt = f.read() #對該檔案進行分詞,並統計詞頻,顯示結果 get_words(txt)

參考:https://blog.csdn.net/puqutogether/article/details/40740473        Jieba分詞包(一)——解析主函式cuthttps://segmentfault.com/a/1190000011769662                            python 實現中文分詞統計https://blog.csdn.net/onestab/article/details/78307765                  Python jieba 中文分詞與詞頻統計http://thulac.thunlp.org                                                                    THULAC:一個高效的中文詞法分析工具包https://github.com/fxsjy/jieba jieba 

相關推薦

python3.6實現中文統計-自然語言處理專案

前言    本文分為三部分,第一部分是安裝兩個中文分詞工具包,第二部分是對中文字串進行分詞,第三部分是進一步對中文文字進行分詞。Part 1 安裝中文分詞工具背景:已經安裝了python3.6,設定好環

結巴自然語言處理HanLP處理手記

#!/usr/bin/env python # -*- coding:utf-8 -*- import jieba import os import re import time from jpype import * ''' title:利用結巴分詞進行文字語料的批量處理

Sphinx + Coreseek 實現中文搜索

addclass trac 無法連接到 繼續 記錄 warning php接口 整數 href Sphinx + Coreseek 實現中文分詞搜索 Sphinx Coreseek 實現中文分詞搜索 全文檢索 1 全文檢索 vs 數據庫 2

搭建ELASTICSEARCH實現中文搜索功能

area 普通 ron too alt 下載 bootstrap arch osi 安裝ELASTICSERARCH yum install bzip2 automake libtool gcc-c++ java-1.8.0-openjdk -y mkdir -p /h

IKAnalyzer結合Lucene實現中文

++ reset utf-8 incr ttr 中文分詞 擴展 沒有 font 1、基本介紹   隨著分詞在信息檢索領域應用的越來越廣泛,分詞這門技術對大家並不陌生。對於英文分詞處理相對簡單,經過拆分單詞、排斥停止詞、提取詞幹的過程基本就能實現英文分詞,單對於中文分詞而言,

利用隱馬爾科夫鏈(HMM)模型實現中文

stat back viterbi sub ont 漢字 display state 出現 1.什麽是HMM? 隱馬爾科夫鏈(HMM)是一個五元組: 隱狀態集合 ; 觀測狀態集合; 狀態概率轉移矩陣; 觀察狀態概率矩陣; 初始狀態概率分布; 2.HMM有兩個假設: 齊

Trie Tree 實現中文

前言 繼上一篇HashMap實現中文分詞器後,對Trie Tree的好奇,又使用Trie Tree實現了下中文分詞器。效率比HashMap實現的分詞器更高。 Trie Tree 簡介 Trie Tree,又稱單詞字典樹、查詢樹,是一種樹形結構,是一種雜湊樹的變種。典型應用是用於統計和排序

BiLSTM+keras+tensorflow實現中文

一、Word2Vec Word2Vec(Word Embeddings)——詞向量/詞嵌入 是一個可以將語言中字詞轉化為向量形式表達(Vector Representations)的模型。 主要分為CBOW(Continuous Bag of Words)和Skip-Gram兩種模式,其

java HashMap實現中文器 應用:敏感過濾實現

今天下午部門內部技術分享是分詞器演算法。這次的主講是大名鼎鼎的Ansj分詞器的作者-孫健。 作者簡介: Ansj分詞器作者 elasticsearch-sql(elasticsearch的sql外掛)作者,支援sql查詢 nlp-lang自然語言工具包發起人 NLPCN(自然語言處理

使用Python+jieba和java+庖丁在Spark叢集上進行中文統計

寫在前邊的話:        本篇部落格也是在做豆瓣電影資料的分析過程中,需要對影評資訊和劇情摘要資訊進行分析而寫的一篇部落格        以前學習hadoop時,感覺做中文分詞也沒那麼麻煩,但是到了

使用IKAnalyzer實現中文&去除中文停用

1、簡介:IKAnalyzer是一個開源的,基於java語言開發的輕量級的中文分詞工具包。這裡使用的是IKAnalyzer2012。 2、IK Analyzer 2012特性: (1)採用了特有的“正向迭代最細粒度切分演算法“,支援細粒度和智慧分詞兩種切分模式; (2)在

elasticsearch實現中文和拼音混合查詢+CompletionSuggestion

引言 之前已經介紹瞭如何搭建elasticsearch服務端和簡單的索引建立,和中文分詞的支援。今天我們來說一說如何實現elasticsearch同時實現中文分詞和pinyin分詞。並且實現類似百度搜索欄的搜尋建議的功能。 混合查詢 實現混合查詢有很多

統計自然語言處理梳理一:、命名實體識別、詞性標註

 進行統計自然語言處理系統梳理,學習資料《統計自然語言處理.宗成慶》。 一、自動分詞          詞,詞是最小的能夠獨立運用的語言單位。          自動分詞問題由來。中文(還有日語、越南語、藏語等)的文字不像西方屈折語的文字,詞與詞之間沒有空格之類的標註來顯示

Lucene實現中文

在之前的文章中已經介紹過Lucene了,這裡就不多做介紹。一、中文分詞的原理中文分詞是將一個漢字序列切分為一個一個單獨的詞。分詞就是講連續的字序列安裝一定的規範重新組合成詞序列的過程。隨著機器學習的發展,很多分詞的方法都已經被科研人員實現,也越來越精確。分詞的精確性一定程度上

Spark 大資料中文統計 (一) 開發環境搭建

          幾年前搞BI專案時就聽說過大資料技術,當時也買了書,可惜沒有認真去學。幾年5月份 開始,報名參加王家林老師的大資料蘑菇雲行動,才算真正開始學習Spark,學習大資料技術。           網上很多Spark的例子都是經典的WordCount exam

基於監督學習的隱馬爾科夫模型(HMM)實現中文

因為語料是分好詞來訓練的,所以程式碼寫起來還算簡單,HMM的引數pi,A,B訓練只是做一個簡單的統計工作 反倒是寫維特比演算法時出了一些問題,因為之前都是紙上談兵,真正寫這個演算法才發現之前有的地方沒有搞明白!! 維特比的演算法大致如下: 注:下面[]中代表下標

使用Spark框架中文統計

技術 Spark+中文分詞 演算法 對爬取的網站文章的關鍵詞進行統計,是進行主題分類,判斷相似性的一個基礎步驟。例如,一篇文章大量出現“風景”和“酒店”之類的詞語,那麼這篇文章歸類為“旅遊

用foolnltk工具包實現中文和命名實體識別

由於需要做中文的命名實體識別,網上搜到foolnltk是一個比較好用的工具,安裝和使用的過程 1、安裝 由於網路問題指定清華的源安裝 pip3 install foolnltk -i https://pypi.tuna.tsinghua.edu.cn/si

2017MySQL中文索引解決辦法 自然語言處理(N-gram parser)

ray spa 全文索引 rom alt lte int 中文索引 ble   問題:長期以來MYSQL搜索對於中文來說不太理想,InnoDB引擎對FULLTEXT索引的支持是MySQL5.6新引入的特性,但是用“初級”一詞在“我是一名初

NLPIR:中文語義挖掘是自然語言處理的關鍵

實體 社會 相關 主題 而且 語義理解 info alt 中文搜索   隨著科技的發展和網絡的普及,人們可獲得的數據量越來越多,這些數據多數是以文本形式存在的。而這些文本數據大多是比較繁雜的,這就導致了數據量大但信息卻比較匱乏的狀況。如何從這些繁雜的文本數據中獲得有用的信息