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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

pyhanlp 命名实体识别

發(fā)布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyhanlp 命名实体识别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

pyhanlp中的命名實體識別

對于分詞而言,命名實體識別是一項非常重要的功能,當然發(fā)現(xiàn)新詞同樣重要(這部分內(nèi)容被我放在之后的“提取關(guān)鍵詞、短語提取與自動摘要、新詞識別”與再之后的案例中了。

首先是一個簡單的例子,展示一下命名實體識別的效果。之后是正式內(nèi)容:

簡單的展示例子

from pyhanlp import * """ HanLP開啟命名實體識別"""# 音譯人名示例 CRFnewSegment = HanLP.newSegment("crf") term_list = CRFnewSegment.seg("譯智社的田豐要說的是這只是一個hanlp命名實體識別的例子") print(term_list)print("\n========== 命名實體開啟與關(guān)閉對比試驗 ==========\n") sentences =["北川景子參演了林詣彬?qū)а莸摹端俣扰c激情3》","林志玲亮相網(wǎng)友:確定不是波多野結(jié)衣?","龜山千廣和近藤公園在龜山公園里喝酒賞花", ] # 通過HanLP 進行全局設(shè)置,但是部分分詞器本身可能不支持某項功能 # 部分分詞器本身對某些命名實體識別效果較好 HanLP.Config.japaneseNameRecognize = FalseviterbiNewSegment = HanLP.newSegment("viterbi").enableJapaneseNameRecognize(True) CRFnewSegment_new = HanLP.newSegment("crf").enableJapaneseNameRecognize(True) # segSentence # CRFnewSegment_2.seg2sentence(sentences) for sentence in sentences:print("crf : ",CRFnewSegment.seg(sentence))print("crf_new : ",CRFnewSegment_new.seg(sentence))print("viterbi : ",viterbiNewSegment.seg(sentence)) [譯智社/n, 的/u, 田豐/nr, 要/v, 說/v, 的/u, 是/v, 這/r, 只/d, 是/v, 一個/m, hanlp命名/vn, 實體/n, 識別/v, 的/u, 例子/n]========== 命名實體開啟與關(guān)閉對比試驗 ==========crf : [北川/ns, 景子/n, 參演/v, 了/u, 林詣彬/nr, 導演/n, 的/u, 《/w, 速度/n, 與/c, 激情/n, 3/m, 》/w] crf_new : [北川/ns, 景子/n, 參演/v, 了/u, 林詣彬/nr, 導演/n, 的/u, 《/w, 速度/n, 與/c, 激情/n, 3/m, 》/w] viterbi : [北川景子/nrj, 參演/v, 了/ule, 林詣彬/nr, 導演/nnt, 的/ude1, 《/w, 速度/n, 與/cc, 激情/n, 3/m, 》/w] crf : [林志玲/nr, 亮相/v, 網(wǎng)友/n, :/w, 確定/v, 不/d, 是/v, 波多野/n, 結(jié)衣/n, ?/w] crf_new : [林志玲/nr, 亮相/v, 網(wǎng)友/n, :/w, 確定/v, 不/d, 是/v, 波多野/n, 結(jié)衣/n, ?/w] viterbi : [林志玲/nr, 亮相/vi, 網(wǎng)友/n, :/w, 確定/v, 不是/c, 波多野結(jié)衣/nrj, ?/w] crf : [龜/v, 山/n, 千/m, 廣/q, 和/c, 近藤/a, 公園/n, 在/p, 龜山公園/ns, 里/f, 喝/v, 酒/n, 賞/v, 花/n] crf_new : [龜/v, 山/n, 千/m, 廣/q, 和/c, 近藤/a, 公園/n, 在/p, 龜山公園/ns, 里/f, 喝/v, 酒/n, 賞/v, 花/n] viterbi : [龜山千廣/nrj, 和/cc, 近藤公園/nrj, 在/p, 龜山/nz, 公園/n, 里/f, 喝酒/vi, 賞花/nz]

正式內(nèi)容

中國人名識別

說明

  • 目前分詞器基本上都默認開啟了中國人名識別,比如HanLP.segment()接口中使用的分詞器等等,用戶不必手動開啟;上面的代碼只是為了強調(diào)。
  • 有一定的誤命中率,比如誤命中關(guān)鍵年,則可以通過在data/dictionary/person/nr.txt加入一條關(guān)鍵年 A 1來排除關(guān)鍵年作為人名的可能性,也可以將關(guān)鍵年作為新詞登記到自定義詞典中。
  • 如果你通過上述辦法解決了問題,歡迎向我提交pull request,詞典也是寶貴的財富。
  • 建議NLP用戶使用感知機或CRF詞法分析器,精度更高。

算法詳解

  • 《實戰(zhàn)HMM-Viterbi角色標注中國人名識別》
# 中文人名識別 def demo_chinese_name_recognition(sentences):segment = HanLP.newSegment().enableNameRecognize(True);for sentence in sentences:term_list = segment.seg(sentence)print(term_list)print([i.word for i in term_list])sentences = ["武大靖創(chuàng)世界紀錄奪冠,中國代表團平昌首金","區(qū)長莊木弟新年致辭","凱瑟琳和露西(廬瑞媛),跟她們的哥哥們有一些不同。","王國強、高峰、汪洋、張朝陽光著頭、韓寒、小四","張浩和胡健康復員回家了","王總和小麗結(jié)婚了","編劇邵鈞林和稽道青說","這里有關(guān)天培的有關(guān)事跡",] demo_chinese_name_recognition(sentences)print("\n========== 中文人名 基本默認已開啟 ==========\n") print(CRFnewSegment.seg(sentences[0])) [武大靖/nr, 創(chuàng)/v, 世界/n, 紀錄/n, 奪冠/vi, ,/w, 中國/ns, 代表團/n, 平昌/ns, 首/q, 金/b] ['武大靖', '創(chuàng)', '世界', '紀錄', '奪冠', ',', '中國', '代表團', '平昌', '首', '金'] [區(qū)長/nnt, 莊木弟/nr, 新年/t, 致辭/vi] ['區(qū)長', '莊木弟', '新年', '致辭'] [凱瑟琳/nr, 和/cc, 露西/nr, (/w, 廬瑞媛/nr, )/w, ,/w, 跟/p, 她們/rr, 的/ude1, 哥哥/n, 們/k, 有/vyou, 一些/m, 不同/a, 。/w] ['凱瑟琳', '和', '露西', '(', '廬瑞媛', ')', ',', '跟', '她們', '的', '哥哥', '們', '有', '一些', '不同', '。'] [王國強/nr, 、/w, 高峰/n, 、/w, 汪洋/n, 、/w, 張朝陽/nr, 光/n, 著/uzhe, 頭/n, 、/w, 韓寒/nr, 、/w, 小/a, 四/m] ['王國強', '、', '高峰', '、', '汪洋', '、', '張朝陽', '光', '著', '頭', '、', '韓寒', '、', '小', '四'] [張浩/nr, 和/cc, 胡健康/nr, 復員/v, 回家/vi, 了/ule] ['張浩', '和', '胡健康', '復員', '回家', '了'] [王總/nr, 和/cc, 小麗/nr, 結(jié)婚/vi, 了/ule] ['王總', '和', '小麗', '結(jié)婚', '了'] [編劇/nnt, 邵鈞林/nr, 和/cc, 稽道青/nr, 說/v] ['編劇', '邵鈞林', '和', '稽道青', '說'] [這里/rzs, 有/vyou, 關(guān)天培/nr, 的/ude1, 有關(guān)/vn, 事跡/n] ['這里', '有', '關(guān)天培', '的', '有關(guān)', '事跡']========== 中文人名 基本默認已開啟 ==========[簽約/vn, 儀式/n, 前/f, ,/w, 秦光榮/nr, 、/w, 李紀恒/nr, 、/w, 仇和/nr, 等/u, 一同/d, 會見/v, 了/u, 參加/v, 簽約/v, 的/u, 企業(yè)家/n, 。/w]

音譯人名識別

說明

  • 目前分詞器基本上都默認開啟了音譯人名識別,用戶不必手動開啟;上面的代碼只是為了強調(diào)。

算法詳解

  • 《層疊隱馬模型下的音譯人名和日本人名識別》
# 音譯人名識別 sentences = ["一桶冰水當頭倒下,微軟的比爾蓋茨、Facebook的扎克伯格跟桑德博格、亞馬遜的貝索斯、蘋果的庫克全都不惜濕身入鏡,這些硅谷的科技人,飛蛾撲火似地犧牲演出,其實全為了慈善。","世界上最長的姓名是簡森·喬伊·亞歷山大·比基·卡利斯勒·達夫·埃利奧特·福克斯·伊維魯莫·馬爾尼·梅爾斯·帕特森·湯普森·華萊士·普雷斯頓。", ]segment = HanLP.newSegment().enableTranslatedNameRecognize(True) for sentence in sentences:term_list = segment.seg(sentence)print(term_list)print("\n========== 音譯人名 默認已開啟 ==========\n") print(CRFnewSegment.seg(sentences[0])) [一桶/nz, 冰水/n, 當頭/vi, 倒下/v, ,/w, 微軟/ntc, 的/ude1, 比爾蓋茨/nrf, 、/w, Facebook/nx, 的/ude1, 扎克伯格/nr, 跟/p, 桑德博格/nrf, 、/w, 亞馬遜/nrf, 的/ude1, 貝索斯/nrf, 、/w, 蘋果/nf, 的/ude1, 庫克/nr, 全都/d, 不惜/v, 濕身/nz, 入鏡/nz, ,/w, 這些/rz, 硅谷/ns, 的/ude1, 科技/n, 人/n, ,/w, 飛蛾/n, 撲火/vn, 似/vg, 地/ude2, 犧牲/v, 演出/vn, ,/w, 其實/d, 全/a, 為了/p, 慈善/a, 。/w] [世界/n, 上/f, 最長/d, 的/ude1, 姓名/n, 是/vshi, 簡森/nr, ·/w, 喬伊/nr, ·/w, 亞歷山大/nr, ·/w, 比基/nr, ·/w, 卡利斯/nr, 勒/v, ·/w, 達夫·埃利奧特·福克斯·伊維魯莫·馬爾尼·梅爾斯·帕特森·湯普森·華萊士·普雷斯頓/nrf, 。/w]========== 音譯人名 默認已開啟 ==========[一桶/m, 冰水/n, 當頭/d, 倒下/v, ,/w, 微軟/a, 的/u, 比爾蓋茨/n, 、/w, Facebook/l, 的/u, 扎克伯格/n, 跟/p, 桑德博格/n, 、/w, 亞馬遜/nr, 的/u, 貝索斯/nr, 、/w, 蘋果/n, 的/u, 庫克/nr, 全都/d, 不惜/v, 濕身/n, 入鏡/v, ,/w, 這些/r, 硅谷/n, 的/u, 科技/n, 人/n, ,/w, 飛蛾/v, 撲火似/v, 地/u, 犧牲/v, 演出/v, ,/w, 其實/d, 全/d, 為了/p, 慈善/a, 。/w]

日本人名識別

說明

  • 目前標準分詞器默認關(guān)閉了日本人名識別,用戶需要手動開啟;這是因為日本人名的出現(xiàn)頻率較低,但是又消耗性能。

算法詳解

  • 《層疊隱馬模型下的音譯人名和日本人名識別》
# 日語人名識別 def demo_japanese_name_recognition(sentences):segment = HanLP.newSegment().enableJapaneseNameRecognize(True)for sentence in sentences:term_list = segment.seg(sentence)print(term_list)print([i.word for i in term_list])sentences =["北川景子參演了林詣彬?qū)а莸摹端俣扰c激情3》","林志玲亮相網(wǎng)友:確定不是波多野結(jié)衣?","龜山千廣和近藤公園在龜山公園里喝酒賞花",] demo_japanese_name_recognition(sentences) print("\n========== 日文人名 標準分詞器默認未開啟 ==========\n") print(CRFnewSegment.seg(sentences[0])) [北川景子/nrj, 參演/v, 了/ule, 林詣彬/nr, 導演/nnt, 的/ude1, 《/w, 速度/n, 與/cc, 激情/n, 3/m, 》/w] ['北川景子', '參演', '了', '林詣彬', '導演', '的', '《', '速度', '與', '激情', '3', '》'] [林志玲/nr, 亮相/vi, 網(wǎng)友/n, :/w, 確定/v, 不是/c, 波多野結(jié)衣/nrj, ?/w] ['林志玲', '亮相', '網(wǎng)友', ':', '確定', '不是', '波多野結(jié)衣', '?'] [龜山千廣/nrj, 和/cc, 近藤公園/nrj, 在/p, 龜山/nz, 公園/n, 里/f, 喝酒/vi, 賞花/nz] ['龜山千廣', '和', '近藤公園', '在', '龜山', '公園', '里', '喝酒', '賞花']========== 日文人名 標準分詞器默認未開啟 ==========[北川/ns, 景子/n, 參演/v, 了/u, 林詣彬/nr, 導演/n, 的/u, 《/w, 速度/n, 與/c, 激情/n, 3/m, 》/w]

地名識別

說明

  • 目前標準分詞器都默認關(guān)閉了地名識別,用戶需要手動開啟;這是因為消耗性能,其實多數(shù)地名都收錄在核心詞典和用戶自定義詞典中。
  • 在生產(chǎn)環(huán)境中,能靠詞典解決的問題就靠詞典解決,這是最高效穩(wěn)定的方法。
  • 建議對命名實體識別要求較高的用戶使用感知機詞法分析器。

算法詳解

  • 《實戰(zhàn)HMM-Viterbi角色標注地名識別》
# 演示數(shù)詞與數(shù)量詞識別 sentences = ["十九元套餐包括什么","九千九百九十九朵玫瑰", "壹佰塊都不給我","9012345678只螞蟻","牛奶三〇〇克*2","ChinaJoy“掃黃”細則露胸超2厘米罰款", ]StandardTokenizer = JClass("com.hankcs.hanlp.tokenizer.StandardTokenizer")StandardTokenizer.SEGMENT.enableNumberQuantifierRecognize(True) for sentence in sentences:print(StandardTokenizer.segment(sentence))print("\n========== 演示數(shù)詞與數(shù)量詞 默認未開啟 ==========\n") CRFnewSegment.enableNumberQuantifierRecognize(True) print(CRFnewSegment.seg(sentences[0])) [十九元/mq, 套餐/n, 包括/v, 什么/ry] [九千九百九十九朵/mq, 玫瑰/n] [壹佰塊/mq, 都/d, 不/d, 給/p, 我/rr] [9012345678只/mq, 螞蟻/n] [牛奶/nf, 三〇〇克/mq, */w, 2/m] [ChinaJoy/nx, “/w, 掃黃/vi, ”/w, 細則/n, 露/v, 胸/ng, 超/v, 2厘米/mq, 罰款/vi]========== 演示數(shù)詞與數(shù)量詞 默認未開啟 ==========[十九/m, 元/q, 套餐/n, 包括/v, 什么/r]

機構(gòu)名識別

說明

  • 目前分詞器默認關(guān)閉了機構(gòu)名識別,用戶需要手動開啟;這是因為消耗性能,其實常用機構(gòu)名都收錄在核心詞典和用戶自定義詞典中。
  • HanLP的目的不是演示動態(tài)識別,在生產(chǎn)環(huán)境中,能靠詞典解決的問題就靠詞典解決,這是最高效穩(wěn)定的方法。
  • 建議對命名實體識別要求較高的用戶使用感知機詞法分析器。

算法詳解

  • 《層疊HMM-Viterbi角色標注模型下的機構(gòu)名識別》
# 機構(gòu)名識別 sentences = ["我在上海林原科技有限公司兼職工作,","我經(jīng)常在臺川喜宴餐廳吃飯,","偶爾去開元地中海影城看電影。", ]Segment = JClass("com.hankcs.hanlp.seg.Segment") Term = JClass("com.hankcs.hanlp.seg.common.Term")segment = HanLP.newSegment().enableOrganizationRecognize(True) for sentence in sentences:term_list = segment.seg(sentence)print(term_list)print("\n========== 機構(gòu)名 標準分詞器已經(jīng)全部關(guān)閉 ==========\n") print(CRFnewSegment.seg(sentences[0]))segment = HanLP.newSegment('crf').enableOrganizationRecognize(True) [我/rr, 在/p, 上海/ns, 林原科技有限公司/nt, 兼職/vn, 工作/vn, ,/w] [我/rr, 經(jīng)常/d, 在/p, 臺川喜宴餐廳/nt, 吃飯/vi, ,/w] [偶爾/d, 去/vf, 開元地中海影城/nt, 看/v, 電影/n, 。/w]========== 機構(gòu)名 標準分詞器已經(jīng)全部關(guān)閉 ==========[我/r, 在/p, 上海林原科技有限公司/nt, 兼職/vn, 工作/vn, ,/w]

地名識別

說明

  • 目前標準分詞器都默認關(guān)閉了地名識別,用戶需要手動開啟;這是因為消耗性能,其實多數(shù)地名都收錄在核心詞典和用戶自定義詞典中。
  • 在生產(chǎn)環(huán)境中,能靠詞典解決的問題就靠詞典解決,這是最高效穩(wěn)定的方法。
  • 建議對命名實體識別要求較高的用戶使用感知機詞法分析器。

算法詳解

  • 《實戰(zhàn)HMM-Viterbi角色標注地名識別》
# 地名識別 def demo_place_recognition(sentences):segment = HanLP.newSegment().enablePlaceRecognize(True)for sentence in sentences:term_list = segment.seg(sentence)print(term_list)print([i.word for i in term_list])sentences = ["藍翔給寧夏固原市彭陽縣紅河鎮(zhèn)黑牛溝村捐贈了挖掘機"] demo_place_recognition(sentences)print("\n========== 地名 默認已開啟 ==========\n") print(CRFnewSegment.seg(sentences[0])) [藍翔/nr, 給/p, 寧夏/ns, 固原市/ns, 彭陽縣/ns, 紅河鎮(zhèn)/ns, 黑牛溝村/ns, 捐贈/v, 了/ule, 挖掘機/n] ['藍翔', '給', '寧夏', '固原市', '彭陽縣', '紅河鎮(zhèn)', '黑牛溝村', '捐贈', '了', '挖掘機']========== 地名 默認已開啟 ==========[藍翔/v, 給/v, 寧夏/ns, 固原市/ns, 彭陽縣/ns, 紅河鎮(zhèn)/ns, 黑牛溝村/ns, 捐贈/v, 了/u, 挖掘機/n]

URL 識別

自動識別URL,該部分是在demo中發(fā)現(xiàn)的,但是原作者并沒有在文檔中提到這個,該部分可以發(fā)現(xiàn)URL,測試發(fā)現(xiàn)其他分類器應該是默認不開啟這個的,而且config中并沒有開啟該功能的選項,因此這應該是一個額外的類。我建議如果有需要的,你可以嘗試先利用URLTokenizer獲取URL,然后添加進用戶詞典。或者直接使用其他工具或者自定義函數(shù)解決該問題。

# URL 識別 text = '''HanLP的項目地址是https://github.com/hankcs/HanLP,發(fā)布地址是https://github.com/hankcs/HanLP/releases,我有時候會在www.hankcs.com上面發(fā)布一些消息,我的微博是http://weibo.com/hankcs/,會同步推送hankcs.com的新聞。聽說.中國域名開放申請了,但我并沒有申請hankcs.中國,因為窮……'''Nature = SafeJClass("com.hankcs.hanlp.corpus.tag.Nature") Term = SafeJClass("com.hankcs.hanlp.seg.common.Term") URLTokenizer = SafeJClass("com.hankcs.hanlp.tokenizer.URLTokenizer")term_list = URLTokenizer.segment(text) print(term_list) for term in term_list:if term.nature == Nature.xu:print(term.word) [HanLP/nx, 的/ude1, 項目/n, 地址/n, 是/vshi, https://github.com/hankcs/HanLP/xu, ,/w, /w, /w, 發(fā)布/v, 地址/n, 是/vshi, https://github.com/hankcs/HanLP/releases/xu, ,/w, /w, /w, 我/rr, 有時候/d, 會/v, 在/p, www.hankcs.com/xu, 上面/f, 發(fā)布/v, 一些/m, 消息/n, ,/w, /w, /w, 我/rr, 的/ude1, 微博/n, 是/vshi, http://weibo.com/hankcs//xu, ,/w, 會/v, 同步/vd, 推送/nz, hankcs.com/xu, 的/ude1, 新聞/n, 。/w, /w, /w, 聽說/v, ./w, 中國/ns, 域名/n, 開放/v, 申請/v, 了/ule, ,/w, 但/c, 我/rr, 并/cc, 沒有/v, 申請/v, hankcs.中國/xu, ,/w, 因為/c, 窮/a, ……/w, /w, /w] https://github.com/hankcs/HanLP https://github.com/hankcs/HanLP/releases www.hankcs.com http://weibo.com/hankcs/ hankcs.com hankcs.中國

總結(jié)

以上是生活随笔為你收集整理的pyhanlp 命名实体识别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费观看黄一级视频 | 91色伦| 波多野结衣办公室33分钟 | 欧美成人免费大片 | 伊人久久青青草 | 蜜桃色一区二区三区 | 在线黄色av网站 | 狠狠搞狠狠干 | 老熟妇高潮一区二区三区 | 天天射综合| 亚洲天堂手机在线 | 亚洲一区二区三区视频在线 | 国产女人18毛片水18精 | 在线观看91 | 欧美成一区二区三区 | 黄页网站视频 | 99re8在线精品视频免费播放 | www.亚洲一区二区三区 | 哺乳期给上司喂奶hd | 男人综合网 | 欧美久久一区二区 | 久久久久一 | 青娱乐最新地址 | 青青草手机视频 | 动漫美女放屁 | 包射屋| 天天色天天看 | 都市激情综合 | 91av在线网站 | 成人久久久精品国产乱码一区二区 | 美女国产免费 | 欧美操操操| yy色综合 | 一级片黄色的 | 强videoshd酒醉 | 国产精品国产三级国产普通话对白 | 极品超粉嫩尤物69xx | 日本黄色美女网站 | 国自产拍偷拍精品啪啪一区二区 | 国产三级全黄裸体 | 色综合久久久久综合体桃花网 | 免费视频精品 | 先锋资源一区二区 | 成年人在线观看视频网站 | 国产精品天堂 | 亚洲精品天堂成人片av在线播放 | 97视频免费看 | 婷婷久久五月 | 欧美精品高清 | 精品美女在线观看 | 偷拍亚洲欧美 | 国产精品视频久久久 | 欧美一级欧美三级在线观看 | av中文在线观看 | 激情四虎| av资源站 | 涩久久| 婷婷激情电影 | 久久综合色视频 | 怡红院av在线 | 欧美日韩免费一区二区 | 日批视频网站 | 亚洲综合图区 | 中文字幕日韩欧美一区二区三区 | 久久伊人成人网 | 老外一级黄色片 | 国精产品99永久一区一区 | 精品久久久久久久久久 | 一本久| 丝袜一区二区三区 | 一区二区三区黄 | 亚洲 自拍 另类 欧美 丝袜 | 99视频网址 | 色网站免费看 | 一色桃子juy758在线播放 | 美日韩精品视频 | 日本在线视频播放 | 亚洲一区二区图片 | 女人天堂网站 | av毛片精品 | 日韩字幕在线 | 美女黄免费 | 国产一级特黄毛片 | 国产一区不卡在线观看 | 国内成人在线 | 九九热精品视频在线观看 | 国产乱视频 | 午夜怡红院| 黄黄的网站 | av资源共享| www色网| 亚洲欧洲精品在线 | 日韩亚洲欧美精品 | 国产精品久久久久久影视 | 欧美性理论片在线观看片免费 | 男女久久久 | 精品动漫一区二区三区的观看方式 | 综合网五月 | 姝姝窝人体www聚色窝 |