ik分詞和jieba分詞哪個好_Pubseg:一種單雙字串的BiLSTM中文分詞工具

中文分詞是中文自然語言處理中的重要的步驟,有一個更高精度的中文分詞模型會顯著提升文檔分類、情感預測、社交媒體處理等任務的效果[1]。

Pubseg是基于BiLSTM中文分詞工具,基于ICWS2005PKU語料訓練集訓練而成,其優點在于在ICWS2005-PKU語料下訓練精度達到99.99%,測試集上精度94.34%,召回94.21%, F1值94.26%。

分詞模型是基于Keras設計,其詳細描述見[2],其模型結構如圖1:

1be553e81c470f5a76e14ef2904845d8.png
圖1 PretrainedUnigram+Bigram+Context+Dropout+BiLSTM+BN網絡

在ICWS2005PKU測試集下比較jieba、IK、pkuseg、Stanza的評價,其對比結果如圖2所示:

76c999fd2c70c6bc4c6218a6511139b0.png
圖2 ICWS2005PKU測試集下比較jieba、IK、pkuseg、Stanza與Pubseg比較

下面介紹如何安裝使用Pubseg工具。準備工作,準備python3.6以上版本。安裝依賴: numpy==1.18.1, keras==2.2.4, tensorflow-gpu==1.15.2
下載Pubseg中文分詞模型,由于模型太大,結構文件與權重文件分開存儲。下載地址如下:https://pan.baidu.com/s/1LnjZD9HVQ164uAe0-XpPsg;提取碼:zm41;也可以掃碼下載,下載地址見圖3:

81e144fea55e52388a704cd14fdcd7cb.png
圖3 Pubseg中文分詞模型下載地址

模型下載后,需要下載Pubseg代碼git clone https://github.com/ShenDezhou/LSTM

下面介紹基本用法,

首先,創建一個PUB_BiLSTM_BN類的對象bilstm;

其次,通過命令行指定字典文件和模型文件路徑:-u <unigramfile> -b <bigramfile> -a <archfile> -w <weightfile>,默認路徑為:

UNIGRAM = 'pku_dic/pku_dict.utf8'  #字典
BIGRAM = 'pku_dic/pku_bigram.utf8'  #二字詞典
MODELARCH = 'keras/B20-E60-F5-PU-Bi-Bn-De.json'  #keras模型
MODELWEIGHT = "keras/B20-E60-F5-PU-Bi-Bn-De-weights.h5"  #keras權重

再次,調用對象bilstm的加載Keras模型函數loadKeras;

最后,調用對象bilstm的cut函數,入參為待分詞中文文本,返回結果為空格分隔后的中文文本。

完整代碼如下:

bilstm = PUB_BiLSTM_BN()
bilstm.loadKeras()
segs = bilstm.cut(["我昨天去清華大學。", "他明天去北京大學,再后天去麻省理工大學。"])

完整代碼見[3]。

模型的性能如下,在ICWS2005-PKU語料下訓練精度達到99.99%,測試集上精度94.34%,召回94.21%, F1-值94.26%。

模型加載性能、推理性能:
CPU:Intel i56300HQ 2.30Ghz
SSD: Samsung 970 EVO 1TB M.2 NVMe PCIe SSD
GPU:GeForce GTX 950M-DDR3
字典加載時間:176ms
模型及權重加載時間:1m45s664ms


推理性能:
47.47ms/字 #以"我 昨天 去 清華 大學 。他 明天 去 北京 大學 , 再 后天 去 麻省 理工大學 。"為測試條件;
13.30ms/行 #以PKUTEST1944行 為測試條件。

結論,本文提出了一種基于預訓練字與二字向量的BiLSTM中文分詞工具Pubseg,其性能在PKU測試集上取得了超過同類分詞模型的效果。

[1]待論證。

[2]基于Pretrained-UnigramBigram的中文分詞模型 https://zhuanlan.zhihu.com/p/111681404

[3]Pubseg:一種單雙字串的BiLSTM中文分詞工具 https://github.com/ShenDezhou/LSTM

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393792.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

freecodecamp_freeCodeCamp.org隱私權政策:問題與解答

freecodecampWe take your privacy seriously. And we give you full control over your data.我們把你的隱私當回事。 而且&#xff0c;我們可以完全控制您的數據。 freeCodeCamp doesnt show you ads or sell your data to anyone. Our nonprofit is instead supported by t…

leetcode1029. 兩地調度(貪心算法)

公司計劃面試 2N 人。第 i 人飛往 A 市的費用為 costs[i][0]&#xff0c;飛往 B 市的費用為 costs[i][1]。 返回將每個人都飛到某座城市的最低費用&#xff0c;要求每個城市都有 N 人抵達。 示例&#xff1a; 輸入&#xff1a;[[10,20],[30,200],[400,50],[30,20]] 輸出&…

第一階段沖刺4

1、我昨天的成就&#xff1a;看相關android開發視頻&#xff0c;上網尋找如何實現app動畫效果2、遇到什么困難&#xff1a;網上的用的很高級&#xff0c;看不懂別人如何實現的&#xff0c;搬過來實現不了。3、今天的任務&#xff1a;繼續實現動畫效果。 轉載于:https://www.cnb…

小白做淘客店鋪新玩法

微信淘客在朋友圈刷了將近兩個月。有些大咖賺得盆滿缽滿&#xff0c;有些小白交了不少學費。有人日入幾千幾萬&#xff0c;也有入不敷出。在此咖妹并沒有褒貶之意&#xff0c;只是提醒大家&#xff0c;不光淘客如此&#xff0c;其他項目亦是如此&#xff0c;別人能做成功的項目…

局域網中實現linux與windows文件共享,使用samba組建Linux與Windows局域網實現文件共享...

使用samba&#xff0c;可以組建Windows與Linux的局域網&#xff0c;Linux我用的是Fedora Core 6。Samba軟件的最新版本可以從網站免費獲得。共可下得5個rpm&#xff0c;分別為&#xff1a;samba-3.0.24-1.i386.rpm&#xff1a;服務器端&#xff1b;samba-client-3.0.24-1.i386.…

python sum函數numpy_如何用numba加速python?

我把寫好的markdown導入進來&#xff0c;但是沒想到知乎的排版如此感人。如果對知乎排版不滿想要看高清清爽版&#xff0c;請移步微信公眾號原文 如何用numba加速python&#xff1f;同時歡迎關注前言說道現在最流行的語言&#xff0c;就不得不提python。可是python雖然容易上手…

服務概述

Android中的服務Service&#xff0c;和Activity不同的是不能與用戶交互的&#xff0c;不能自己啟動&#xff0c;系統的后臺運行&#xff0c;當程序退出時&#xff0c;我們沒有顯示的調用停止服務&#xff0c;那么這個Service就沒有結束&#xff0c;它仍然在后臺運行。Service和…

[ZJOI2019]麻將

Luogu5279 , LOJ3042題意&#xff1a;給出初始13張手牌&#xff0c;求理論可以和牌的最小輪數的期望&#xff0e;定義和牌為&#xff1a;4句話1對亂將&#xff0c;不能有杠&#xff1b;七對 原始題解-shadowice 寫得很好的題解 首先分析期望&#xff1a;\(<--\)所有和牌的步…

二進制搜索算法_二進制搜索的一個扭曲故事

二進制搜索算法by Divya Godayal通過Divya Godayal 二進制搜索的一個扭曲故事 (A twisted tale of Binary Search) Awesome. That’s how I feel right now. Writing my first solo tech article.太棒了 那就是我現在的感覺。 寫我的第一篇個人技術文章。 I must say I have …

leetcode1221. 分割平衡字符串(貪心算法)

在一個「平衡字符串」中&#xff0c;‘L’ 和 ‘R’ 字符的數量是相同的。 給出一個平衡字符串 s&#xff0c;請你將它分割成盡可能多的平衡字符串。 返回可以通過分割得到的平衡字符串的最大數量。 示例 1&#xff1a; 輸入&#xff1a;s “RLRRLLRLRL” 輸出&#xff1a…

javascript中對變量類型的推斷

本文正式地址&#xff1a;http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中&#xff0c;有5種基本數據類型和1種復雜數據類型&#xff0c;基本數據類型有&#xff1a;Undefined, Null, Boolean, Number和String。復雜數據類型是Object。Object…

U盤流暢運行linux發行版,做各種linux發行版的啟動U盤方法

偶用tuxboot先移植gparted到16GB的U盤。然后裁剪N個iso 做成一個U盤安裝或體驗N個系統的多功能盤。選單曬出來&#xff1a;default vesamenu.c32timeout 3000prompt 0menu title Android RHEL6.4 Ubuntu13.04 GpartedMENU BACKGROUND Gsplash.pnglabel 001menu label GRUB4DOSk…

采樣次數不同平均值不一樣_不同的真石漆裝飾效果也是不一樣的

外墻真石漆真的是一件很好的產品&#xff0c;具有防火性、防水性、安全且環保、粘力強、永不褪色等特點&#xff0c;無疑是人們較好的選擇&#xff0c;在很早之前就已經逐漸的取代了瓷磚和其他石材在人們心中的位置。真石漆的品種不止一種&#xff0c;按照裝飾效果我們可以分為…

No-3.Linux 終端命令格式

Linux 終端命令格式 01. 終端命令格式 command [-options] [parameter]說明&#xff1a; command&#xff1a;命令名&#xff0c;相應功能的英文單詞或單詞的縮寫[-options]&#xff1a;選項&#xff0c;可用來對命令進行控制&#xff0c;也可以省略parameter&#xff1a;傳給命…

電子設計速成_Web設計速成課程:從一個非設計者到另一個

電子設計速成by Ali Spittel通過Ali Spittel Web設計速成課程&#xff1a;從一個非設計者到另一個 (A Web Design Crash Course: from one non-designer to another) I will preface this by saying that I’m not a professional designer. That being said, I like building…

android項目方法數超過65536的解決辦法

2019獨角獸企業重金招聘Python工程師標準>>> 當項目的總方法數超過65536個&#xff0c;運行在手機上&#xff0c;指不定會報找不到哪個文件的錯。 我把項目的PullRefresh框架切換為SmartRefresh框架出現了方法數超過65536。 此文只是做一下筆記&#xff0c;不多做解…

leetcode1046. 最后一塊石頭的重量(堆)

有一堆石頭&#xff0c;每塊石頭的重量都是正整數。 每一回合&#xff0c;從中選出兩塊 最重的 石頭&#xff0c;然后將它們一起粉碎。假設石頭的重量分別為 x 和 y&#xff0c;且 x < y。那么粉碎的可能結果如下&#xff1a; 如果 x y&#xff0c;那么兩塊石頭都會被完全…

[Linux]幾個armhf的ubuntu源

摘自百度貼吧&#xff0c;留存 http://mirrors.ustc.edu.cn/ubuntu-ports/http://ftp.ubuntu-tw.org/mirror/ubuntu-ports/http://mirror.csclub.uwaterloo.ca/ubuntu-ports/http://mirrors.mit.edu/ubuntu-ports/ 速度從上到下越來越慢 中科技大 > 臺灣新北 > 滑鐵盧大學…

asp.net Linux 界面,在 ASP.NET 中實現不同角色的用戶使用不同登錄界面的方法

很多用戶在開發 ASP.NET應用程序時都有這樣的需求&#xff1a;管理員角色的賬戶使用管理員的登錄界面進行登錄&#xff0c;普通用戶角色的賬戶使用普通用戶的登錄界面進行登錄。由于ASP.NET的web.config里只能使用一個 authentication mode"Forms"節點&#xff0c;所…

pandas之Series

知識點 Pandas的數據類型有兩種&#xff1a;1、Series 一維&#xff0c;帶標簽數組2、DataFrame 二維&#xff0c;Series容器Serial對象本質上由兩個數組構成&#xff0c;一個數組構成對象的健(index,索引),一個數組構成對象的值(values).因此Series可以看作是鍵值對(健-->值…