日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jieba基本使用过程

發布時間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jieba基本使用过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jieba分詞

  • 0 引言
  • 1 jieba庫安裝
  • 2 jieba庫文件查看
  • 3 基本使用
  • 4 詞性標注
  • 5 自定義詞典和加載自定義詞語
  • 6 關鍵詞提取與位置查找

0 引言

今天起正式開始對于文本挖掘相關知識的學習,之前都是東學一點,西學一點,沒有一個體系,希望接下來可以好好把這方面的知識梳理一下,方便學以致用。今天梳理知識點就是jieba分詞,采用逐步梳理的方式進行

python環境使用的是miniconda里面的jupyter notebook

1 jieba庫安裝

關于jieba這個庫的介紹,就不多說了,主要就是和分詞聯系在一塊,所以叫多了就把結巴分詞當成一個詞語了,首先就是使用前安裝,為了安裝方便,可以直接在jupyter notebook里面進行,安裝代碼:!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba,安裝完成示意圖

2 jieba庫文件查看

安裝好之后,認識一下這個jieba庫,首先導入jieba,查看一下這個庫的文件位置

主要是為了查看jieba庫中的dict.txt文件夾,這個就是分詞的依據,關于文件中數據的介紹,第一個就是詞匯,第二個代表詞頻,第三個是詞性,每一行都是由三個數據組成

3 基本使用

比如最常用的一個示例,就是對“我喜歡上海東方明珠”進行分詞,分詞類型有三種,如下

  • 全模式cut_all = True
  • 精準模式cut_all = False
  • 搜索引擎模式lcut_for_search

關于cut()/lcut()方法,直接先拿示例操作一下,看看結果輸出是什么,代碼如下。其中cut之后是一個生成器對象,如果要使用的話需要進行遍歷迭代,比如這里直接讓生成器中的數據全部輸出至列表中;而lcut就是直接將分詞后的內容以列表的形式返回。為了展示方便,后續都是使用lcut進行代碼操作

看一下三種模式下的分詞結果,搜索引擎模式是在精準模式上的細分

需要留意一下到底是在使用cut()方法還是在lcut()方法,兩者只有一個字符之差

4 詞性標注

在上面查看jieba文件夾時,除了很重要的dict.txt文件外還有一些文件夾,這些文件夾都是有著對應的功能,比如要進行詞性標注,就使用到了posseg文件夾,使用方式如下

其中第一個是詞匯,第二個就是詞性,再進行一個簡單的示例,可以發現存在著不同的詞性

不必要全部記作所有的詞性及其對應的標志字符,但是常用的一些詞性標志及其對應的字符還是要牢記于心的,整理如下

5 自定義詞典和加載自定義詞語

上面列舉的示例,貌似都沒有問題,符合正常的輸出,那么實際情況下,比如對于自己學校來說,對“‘上海海事大學是一個以航運、物流、海洋為特色的安全管理高校’”句子進行分詞,可以發現對于“上海海事大學”和“安全管理”兩個詞語沒有正確的切分開

是不是使用精準模式就不保留長長的一串的詞匯呢?那試一試基于精準模式下的搜索模式,輸出如何。結果表明,這兩種方式都沒有辦法滿足我的要求,測試全模式下的切分也沒有辦法滿足,這時候就出現問題了,需要對現在的這種狀況進行解決

解決問題的方式就回歸到最初提到的那個dict.txt文件上了,由于jieba是按照這個詞庫進行分詞的,如果默認的分詞不能滿足自己的需要,就需要我們手動進行指定相應的詞庫,比如在dict.txt文件夾下創建一個dict1.txt文件,用來放置我們要加載的詞語,如下

然后將詞庫加載到程序中,代碼如下:jieba.load_userdict(文件路徑+文件名),執行結果后可以發現,定義的第一個詞匯可以正常的進行分詞,但是第二個詞匯安全管理還是被當做了兩個詞

由于分詞是按照詞頻進行的,這時候就需要改一下自己加入的詞語的詞頻,更改的依據就是查看對應的詞匯的頻率,比如安全、管理這兩個詞匯的頻率,都是屬于高頻的詞匯


這里嘗試把安全管理詞匯的重要性提高,比如詞頻改為100試一下,結果可以完美輸出了,所以針對于自己專業的詞語,指定相應的字典進行分詞。

★★★注意:這種方式操作不會影響原來的分詞依據,也就是說這次程序加載的自定義字典只會在這次運行中有效,不會影響下次操作,除非修改的是自帶的dict.txt文件

如果是加載的詞語量比較少的情況下,可以不創建文件,直接通過代碼來操作。代碼指令:jieba.add_word(一個詞匯) Add a word to dictionary. 如果要添加多個詞可以遍歷循環一下。比如下面對于云計算操作,這里的添加和上面的一樣都是只對運行的本次程序有效,不影響下次執行

或者使用jieba.suggest_freq(詞匯,tune = True),注意里面的tune參數

6 關鍵詞提取與位置查找

關鍵詞提取需要用到jieba模塊下面的analyse文件夾,步驟如下,先指定好加載詞,然后使用jieba.analyse.extract_tags(demo,5)進行關鍵詞提取,如果不指定參數會默認提取前20個,也可以人工指定

對關鍵詞的位置進行查找,可以使用jieba.tokenize(),里面有個mode參數,如果指定為search就是為搜索引擎模式,默認的就是精準匹配的方式

總結

以上是生活随笔為你收集整理的jieba基本使用过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。