溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

pyhanlp中的命名實(shí)體識(shí)別是怎樣的

發(fā)布時(shí)間:2021-12-04 15:50:37 來(lái)源:億速云 閱讀:173 作者:柒染 欄目:數(shù)據(jù)庫(kù)

本篇文章給大家分享的是有關(guān)pyhanlp中的命名實(shí)體識(shí)別是怎樣的,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

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

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

簡(jiǎn)單的展示例子

from pyhanlp import *

"""

HanLP開(kāi)啟命名實(shí)體識(shí)別

"""

# 音譯人名示例

CRFnewSegment = HanLP.newSegment("crf")

term_list = CRFnewSegment.seg("譯智社的田豐要說(shuō)的是這只是一個(gè)hanlp命名實(shí)體識(shí)別的例子")

print(term_list)

print("\n========== 命名實(shí)體開(kāi)啟與關(guān)閉對(duì)比試驗(yàn) ==========\n")

sentences =[

    "北川景子參演了林詣彬?qū)а莸摹端俣扰c激情3》",

    "林志玲亮相網(wǎng)友:確定不是波多野結(jié)衣?",

    "龜山千廣和近藤公園在龜山公園里喝酒賞花",

]

# 通過(guò)HanLP 進(jìn)行全局設(shè)置,但是部分分詞器本身可能不支持某項(xiàng)功能

# 部分分詞器本身對(duì)某些命名實(shí)體識(shí)別效果較好

HanLP.Config.japaneseNameRecognize = False

viterbiNewSegment = 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, 說(shuō)/v, 的/u, 是/v, 這/r, 只/d, 是/v, 一個(gè)/m, hanlp命名/vn, 實(shí)體/n, 識(shí)別/v, 的/u, 例子/n]

========== 命名實(shí)體開(kāi)啟與關(guān)閉對(duì)比試驗(yàn) ==========

crf :  [北川/ns, 景子/n, 參演/v, 了/u, 林詣彬/nr, 導(dǎo)演/n, 的/u, 《/w, 速度/n, 與/c, 激情/n, 3/m, 》/w]

crf_new :  [北川/ns, 景子/n, 參演/v, 了/u, 林詣彬/nr, 導(dǎo)演/n, 的/u, 《/w, 速度/n, 與/c, 激情/n, 3/m, 》/w]

viterbi :  [北川景子/nrj, 參演/v, 了/ule, 林詣彬/nr, 導(dǎo)演/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)容

中國(guó)人名識(shí)別

說(shuō)明

目前分詞器基本上都默認(rèn)開(kāi)啟了中國(guó)人名識(shí)別,比如HanLP.segment()接口中使用的分詞器等等,用戶不必手動(dòng)開(kāi)啟;上面的代碼只是為了強(qiáng)調(diào)。

有一定的誤命中率,比如誤命中關(guān)鍵年,則可以通過(guò)在data/dictionary/person/nr.txt加入一條關(guān)鍵年 A 1來(lái)排除關(guān)鍵年作為人名的可能性,也可以將關(guān)鍵年作為新詞登記到自定義詞典中。

如果你通過(guò)上述辦法解決了問(wèn)題,歡迎向我提交pull request,詞典也是寶貴的財(cái)富。

建議NLP用戶使用感知機(jī)或CRF詞法分析器,精度更高。

算法詳解

《實(shí)戰(zhàn)HMM-Viterbi角色標(biāo)注中國(guó)人名識(shí)別》

# 中文人名識(shí)別

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 = [

    "簽約儀式前,秦光榮、李紀(jì)恒、仇和等一同會(huì)見(jiàn)了參加簽約的企業(yè)家。",

    "武大靖創(chuàng)世界紀(jì)錄奪冠,中國(guó)代表團(tuán)平昌首金",

    "區(qū)長(zhǎng)莊木弟新年致辭",

    "朱立倫:兩岸都希望共創(chuàng)雙贏 習(xí)朱歷史會(huì)晤在即",

    "陜西首富吳一堅(jiān)被帶走 與令計(jì)劃妻子有交集",

    "據(jù)美國(guó)之音電臺(tái)網(wǎng)站4月28日?qǐng)?bào)道,8歲的凱瑟琳·克羅爾(鳳甫娟)和很多華裔美國(guó)小朋友一樣,小小年紀(jì)就開(kāi)始學(xué)小提琴了。她的媽媽是位虎媽么?",

    "凱瑟琳和露西(廬瑞媛),跟她們的哥哥們有一些不同。",

    "王國(guó)強(qiáng)、高峰、汪洋、張朝陽(yáng)光著頭、韓寒、小四",

    "張浩和胡健康復(fù)員回家了",

    "王總和小麗結(jié)婚了",

    "編劇邵鈞林和稽道青說(shuō)",

    "這里有關(guān)天培的有關(guān)事跡",

    "龔學(xué)平等領(lǐng)導(dǎo)說(shuō),鄧穎超生前杜絕超生",]

demo_chinese_name_recognition(sentences)

print("\n========== 中文人名 基本默認(rèn)已開(kāi)啟 ==========\n")

print(CRFnewSegment.seg(sentences[0]))

[簽約/vi, 儀式/n, 前/f, ,/w, 秦光榮/nr, 、/w, 李紀(jì)恒/nr, 、/w, 仇和/nr, 等/udeng, 一同/d, 會(huì)見(jiàn)/v, 了/ule, 參加/v, 簽約/vi, 的/ude1, 企業(yè)家/nnt, 。/w]

['簽約', '儀式', '前', ',', '秦光榮', '、', '李紀(jì)恒', '、', '仇和', '等', '一同', '會(huì)見(jiàn)', '了', '參加', '簽約', '的', '企業(yè)家', '。']

[武大靖/nr, 創(chuàng)/v, 世界/n, 紀(jì)錄/n, 奪冠/vi, ,/w, 中國(guó)/ns, 代表團(tuán)/n, 平昌/ns, 首/q, 金/b]

['武大靖', '創(chuàng)', '世界', '紀(jì)錄', '奪冠', ',', '中國(guó)', '代表團(tuán)', '平昌', '首', '金']

[區(qū)長(zhǎng)/nnt, 莊木弟/nr, 新年/t, 致辭/vi]

['區(qū)長(zhǎng)', '莊木弟', '新年', '致辭']

[朱立倫/nr, :/w, 兩岸/n, 都/d, 希望/v, 共創(chuàng)/v, 雙贏/n,  /w, 習(xí)/v, 朱/ag, 歷史/n, 會(huì)晤/vn, 在即/vi]

['朱立倫', ':', '兩岸', '都', '希望', '共創(chuàng)', '雙贏', ' ', '習(xí)', '朱', '歷史', '會(huì)晤', '在即']

[陜西/ns, 首富/n, 吳一堅(jiān)/nr, 被/pbei, 帶走/v,  /w, 與/cc, 令計(jì)劃/nr, 妻子/n, 有/vyou, 交集/v]

['陜西', '首富', '吳一堅(jiān)', '被', '帶走', ' ', '與', '令計(jì)劃', '妻子', '有', '交集']

[據(jù)/p, 美國(guó)之音/n, 電臺(tái)/nis, 網(wǎng)站/n, 4月/t, 28/m, 日/b, 報(bào)道/v, ,/w, 8/m, 歲/qt, 的/ude1, 凱瑟琳/nr, ·/w, 克/q, 羅爾/nr, (/w, 鳳甫娟/nr, )/w, 和/cc, 很多/m, 華裔/n, 美國(guó)/nsf, 小朋友/n, 一樣/uyy, ,/w, 小小/z, 年紀(jì)/n, 就/d, 開(kāi)始/v, 學(xué)/v, 小提琴/n, 了/ule, 。/w, 她/rr, 的/ude1, 媽媽/n, 是/vshi, 位/q, 虎媽/nz, 么/y, ?/w]

['據(jù)', '美國(guó)之音', '電臺(tái)', '網(wǎng)站', '4月', '28', '日', '報(bào)道', ',', '8', '歲', '的', '凱瑟琳', '·', '克', '羅爾', '(', '鳳甫娟', ')', '和', '很多', '華裔', '美國(guó)', '小朋友', '一樣', ',', '小小', '年紀(jì)', '就', '開(kāi)始', '學(xué)', '小提琴', '了', '。', '她', '的', '媽媽', '是', '位', '虎媽', '么', '?']

[凱瑟琳/nr, 和/cc, 露西/nr, (/w, 廬瑞媛/nr, )/w, ,/w, 跟/p, 她們/rr, 的/ude1, 哥哥/n, 們/k, 有/vyou, 一些/m, 不同/a, 。/w]

['凱瑟琳', '和', '露西', '(', '廬瑞媛', ')', ',', '跟', '她們', '的', '哥哥', '們', '有', '一些', '不同', '。']

[王國(guó)強(qiáng)/nr, 、/w, 高峰/n, 、/w, 汪洋/n, 、/w, 張朝陽(yáng)/nr, 光/n, 著/uzhe, 頭/n, 、/w, 韓寒/nr, 、/w, 小/a, 四/m]

['王國(guó)強(qiáng)', '、', '高峰', '、', '汪洋', '、', '張朝陽(yáng)', '光', '著', '頭', '、', '韓寒', '、', '小', '四']

[張浩/nr, 和/cc, 胡健康/nr, 復(fù)員/v, 回家/vi, 了/ule]

['張浩', '和', '胡健康', '復(fù)員', '回家', '了']

[王總/nr, 和/cc, 小麗/nr, 結(jié)婚/vi, 了/ule]

['王總', '和', '小麗', '結(jié)婚', '了']

[編劇/nnt, 邵鈞林/nr, 和/cc, 稽道青/nr, 說(shuō)/v]

['編劇', '邵鈞林', '和', '稽道青', '說(shuō)']

[這里/rzs, 有/vyou, 關(guān)天培/nr, 的/ude1, 有關(guān)/vn, 事跡/n]

['這里', '有', '關(guān)天培', '的', '有關(guān)', '事跡']

[龔學(xué)平/nr, 等/udeng, 領(lǐng)導(dǎo)/n, 說(shuō)/v, ,/w, 鄧穎超/nr, 生前/t, 杜絕/v, 超生/vi]

['龔學(xué)平', '等', '領(lǐng)導(dǎo)', '說(shuō)', ',', '鄧穎超', '生前', '杜絕', '超生']

========== 中文人名 基本默認(rèn)已開(kāi)啟 ==========

[簽約/vn, 儀式/n, 前/f, ,/w, 秦光榮/nr, 、/w, 李紀(jì)恒/nr, 、/w, 仇和/nr, 等/u, 一同/d, 會(huì)見(jiàn)/v, 了/u, 參加/v, 簽約/v, 的/u, 企業(yè)家/n, 。/w]

音譯人名識(shí)別

說(shuō)明

目前分詞器基本上都默認(rèn)開(kāi)啟了音譯人名識(shí)別,用戶不必手動(dòng)開(kāi)啟;上面的代碼只是為了強(qiáng)調(diào)。

算法詳解

《層疊隱馬模型下的音譯人名和日本人名識(shí)別》

# 音譯人名識(shí)別

sentences = [

    "一桶冰水當(dāng)頭倒下,微軟的比爾蓋茨、Facebook的扎克伯格跟桑德博格、亞馬遜的貝索斯、蘋(píng)果的庫(kù)克全都不惜濕身入鏡,這些硅谷的科技人,飛蛾撲火似地犧牲演出,其實(shí)全為了慈善。",

    "世界上最長(zhǎng)的姓名是簡(jiǎn)森·喬伊·亞歷山大·比基·卡利斯勒·達(dá)夫·埃利奧特·??怂埂ひ辆S魯莫·馬爾尼·梅爾斯·帕特森·湯普森·華萊士·普雷斯頓。",

]

segment = HanLP.newSegment().enableTranslatedNameRecognize(True)

for sentence in sentences:

    term_list = segment.seg(sentence)

    print(term_list)

print("\n========== 音譯人名 默認(rèn)已開(kāi)啟 ==========\n")

print(CRFnewSegment.seg(sentences[0]))

[一桶/nz, 冰水/n, 當(dāng)頭/vi, 倒下/v, ,/w, 微軟/ntc, 的/ude1, 比爾蓋茨/nrf, 、/w, Facebook/nx, 的/ude1, 扎克伯格/nr, 跟/p, 桑德博格/nrf, 、/w, 亞馬遜/nrf, 的/ude1, 貝索斯/nrf, 、/w, 蘋(píng)果/nf, 的/ude1, 庫(kù)克/nr, 全都/d, 不惜/v, 濕身/nz, 入鏡/nz, ,/w, 這些/rz, 硅谷/ns, 的/ude1, 科技/n, 人/n, ,/w, 飛蛾/n, 撲火/vn, 似/vg, 地/ude2, 犧牲/v, 演出/vn, ,/w, 其實(shí)/d, 全/a, 為了/p, 慈善/a, 。/w]

[世界/n, 上/f, 最長(zhǎng)/d, 的/ude1, 姓名/n, 是/vshi, 簡(jiǎn)森/nr, ·/w, 喬伊/nr, ·/w, 亞歷山大/nr, ·/w, 比基/nr, ·/w, 卡利斯/nr, 勒/v, ·/w, 達(dá)夫·埃利奧特·??怂埂ひ辆S魯莫·馬爾尼·梅爾斯·帕特森·湯普森·華萊士·普雷斯頓/nrf, 。/w]

========== 音譯人名 默認(rèn)已開(kāi)啟 ==========

[一桶/m, 冰水/n, 當(dāng)頭/d, 倒下/v, ,/w, 微軟/a, 的/u, 比爾蓋茨/n, 、/w, Facebook/l, 的/u, 扎克伯格/n, 跟/p, 桑德博格/n, 、/w, 亞馬遜/nr, 的/u, 貝索斯/nr, 、/w, 蘋(píng)果/n, 的/u, 庫(kù)克/nr, 全都/d, 不惜/v, 濕身/n, 入鏡/v, ,/w, 這些/r, 硅谷/n, 的/u, 科技/n, 人/n, ,/w, 飛蛾/v, 撲火似/v, 地/u, 犧牲/v, 演出/v, ,/w, 其實(shí)/d, 全/d, 為了/p, 慈善/a, 。/w]

日本人名識(shí)別

說(shuō)明

目前標(biāo)準(zhǔn)分詞器默認(rèn)關(guān)閉了日本人名識(shí)別,用戶需要手動(dòng)開(kāi)啟;這是因?yàn)槿毡救嗣某霈F(xiàn)頻率較低,但是又消耗性能。

算法詳解

《層疊隱馬模型下的音譯人名和日本人名識(shí)別》

# 日語(yǔ)人名識(shí)別

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========== 日文人名 標(biāo)準(zhǔn)分詞器默認(rèn)未開(kāi)啟 ==========\n")

print(CRFnewSegment.seg(sentences[0]))

[北川景子/nrj, 參演/v, 了/ule, 林詣彬/nr, 導(dǎo)演/nnt, 的/ude1, 《/w, 速度/n, 與/cc, 激情/n, 3/m, 》/w]

['北川景子', '參演', '了', '林詣彬', '導(dǎo)演', '的', '《', '速度', '與', '激情', '3', '》']

[林志玲/nr, 亮相/vi, 網(wǎng)友/n, :/w, 確定/v, 不是/c, 波多野結(jié)衣/nrj, ?/w]

['林志玲', '亮相', '網(wǎng)友', ':', '確定', '不是', '波多野結(jié)衣', '?']

[龜山千廣/nrj, 和/cc, 近藤公園/nrj, 在/p, 龜山/nz, 公園/n, 里/f, 喝酒/vi, 賞花/nz]

['龜山千廣', '和', '近藤公園', '在', '龜山', '公園', '里', '喝酒', '賞花']

========== 日文人名 標(biāo)準(zhǔn)分詞器默認(rèn)未開(kāi)啟 ==========

[北川/ns, 景子/n, 參演/v, 了/u, 林詣彬/nr, 導(dǎo)演/n, 的/u, 《/w, 速度/n, 與/c, 激情/n, 3/m, 》/w]

地名識(shí)別

說(shuō)明

目前標(biāo)準(zhǔn)分詞器都默認(rèn)關(guān)閉了地名識(shí)別,用戶需要手動(dòng)開(kāi)啟;這是因?yàn)橄男阅?,其?shí)多數(shù)地名都收錄在核心詞典和用戶自定義詞典中。

在生產(chǎn)環(huán)境中,能靠詞典解決的問(wèn)題就靠詞典解決,這是最高效穩(wěn)定的方法。

建議對(duì)命名實(shí)體識(shí)別要求較高的用戶使用感知機(jī)詞法分析器。

算法詳解

《實(shí)戰(zhàn)HMM-Viterbi角色標(biāo)注地名識(shí)別》

# 演示數(shù)詞與數(shù)量詞識(shí)別

sentences = [

    "十九元套餐包括什么",

    "九千九百九十九朵玫瑰",    

    "壹佰塊都不給我",

    "9012345678只螞蟻",

    "牛奶三〇〇克*2",

    "ChinaJoy“掃黃”細(xì)則露胸超2厘米罰款",

]

StandardTokenizer = JClass("com.hankcs.hanlp.tokenizer.StandardTokenizer")

StandardTokenizer.SEGMENT.enableNumberQuantifierRecognize(True)

for sentence in sentences:

    print(StandardTokenizer.segment(sentence))

print("\n========== 演示數(shù)詞與數(shù)量詞 默認(rèn)未開(kāi)啟 ==========\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, 細(xì)則/n, 露/v, 胸/ng, 超/v, 2厘米/mq, 罰款/vi]

========== 演示數(shù)詞與數(shù)量詞 默認(rèn)未開(kāi)啟 ==========

[十九/m, 元/q, 套餐/n, 包括/v, 什么/r]

機(jī)構(gòu)名識(shí)別

說(shuō)明

目前分詞器默認(rèn)關(guān)閉了機(jī)構(gòu)名識(shí)別,用戶需要手動(dòng)開(kāi)啟;這是因?yàn)橄男阅?,其?shí)常用機(jī)構(gòu)名都收錄在核心詞典和用戶自定義詞典中。

HanLP的目的不是演示動(dòng)態(tài)識(shí)別,在生產(chǎn)環(huán)境中,能靠詞典解決的問(wèn)題就靠詞典解決,這是最高效穩(wěn)定的方法。

建議對(duì)命名實(shí)體識(shí)別要求較高的用戶使用感知機(jī)詞法分析器。

算法詳解

《層疊HMM-Viterbi角色標(biāo)注模型下的機(jī)構(gòu)名識(shí)別》

# 機(jī)構(gòu)名識(shí)別

sentences = [

    "我在上海林原科技有限公司兼職工作,",

    "我經(jīng)常在臺(tái)川喜宴餐廳吃飯,",

    "偶爾去開(kāi)元地中海影城看電影。",

]

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========== 機(jī)構(gòu)名 標(biāo)準(zhǔn)分詞器已經(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, 臺(tái)川喜宴餐廳/nt, 吃飯/vi, ,/w]

[偶爾/d, 去/vf, 開(kāi)元地中海影城/nt, 看/v, 電影/n, 。/w]

========== 機(jī)構(gòu)名 標(biāo)準(zhǔn)分詞器已經(jīng)全部關(guān)閉 ==========

[我/r, 在/p, 上海林原科技有限公司/nt, 兼職/vn, 工作/vn, ,/w]

地名識(shí)別

說(shuō)明

目前標(biāo)準(zhǔn)分詞器都默認(rèn)關(guān)閉了地名識(shí)別,用戶需要手動(dòng)開(kāi)啟;這是因?yàn)橄男阅?,其?shí)多數(shù)地名都收錄在核心詞典和用戶自定義詞典中。

在生產(chǎn)環(huán)境中,能靠詞典解決的問(wèn)題就靠詞典解決,這是最高效穩(wěn)定的方法。

建議對(duì)命名實(shí)體識(shí)別要求較高的用戶使用感知機(jī)詞法分析器。

算法詳解

《實(shí)戰(zhàn)HMM-Viterbi角色標(biāo)注地名識(shí)別》

# 地名識(shí)別

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 = ["藍(lán)翔給寧夏固原市彭陽(yáng)縣紅河鎮(zhèn)黑牛溝村捐贈(zèng)了挖掘機(jī)"]

demo_place_recognition(sentences)

print("\n========== 地名 默認(rèn)已開(kāi)啟 ==========\n")

print(CRFnewSegment.seg(sentences[0]))

[藍(lán)翔/nr, 給/p, 寧夏/ns, 固原市/ns, 彭陽(yáng)縣/ns, 紅河鎮(zhèn)/ns, 黑牛溝村/ns, 捐贈(zèng)/v, 了/ule, 挖掘機(jī)/n]

['藍(lán)翔', '給', '寧夏', '固原市', '彭陽(yáng)縣', '紅河鎮(zhèn)', '黑牛溝村', '捐贈(zèng)', '了', '挖掘機(jī)']

========== 地名 默認(rèn)已開(kāi)啟 ==========

[藍(lán)翔/v, 給/v, 寧夏/ns, 固原市/ns, 彭陽(yáng)縣/ns, 紅河鎮(zhèn)/ns, 黑牛溝村/ns, 捐贈(zèng)/v, 了/u, 挖掘機(jī)/n]

URL 識(shí)別

自動(dòng)識(shí)別URL,該部分是在demo中發(fā)現(xiàn)的,但是原作者并沒(méi)有在文檔中提到這個(gè),該部分可以發(fā)現(xiàn)URL,測(cè)試發(fā)現(xiàn)其他分類器應(yīng)該是默認(rèn)不開(kāi)啟這個(gè)的,而且config中并沒(méi)有開(kāi)啟該功能的選項(xiàng),因此這應(yīng)該是一個(gè)額外的類。我建議如果有需要的,你可以嘗試先利用URLTokenizer獲取URL,然后添加進(jìn)用戶詞典?;蛘咧苯邮褂闷渌ぞ呋蛘咦远x函數(shù)解決該問(wèn)題。

# URL 識(shí)別

text = '''HanLP的項(xiàng)目地址是https://github.com/hankcs/HanLP,

        發(fā)布地址是https://github.com/hankcs/HanLP/releases,

        我有時(shí)候會(huì)在www.hankcs.com上面發(fā)布一些消息,

        我的微博是http://weibo.com/hankcs/,會(huì)同步推送hankcs.com的新聞。

        聽(tīng)說(shuō).中國(guó)域名開(kāi)放申請(qǐng)了,但我并沒(méi)有申請(qǐng)hankcs.中國(guó),因?yàn)楦F……

             '''

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, 項(xiàng)目/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, 有時(shí)候/d, 會(huì)/v, 在/p, www.hankcs.com/xu, 上面/f, 發(fā)布/v, 一些/m, 消息/n, ,/w, 

/w,         /w, 我/rr, 的/ude1, 微博/n, 是/vshi, http://weibo.com/hankcs//xu, ,/w, 會(huì)/v, 同步/vd, 推送/nz, hankcs.com/xu, 的/ude1, 新聞/n, 。/w, 

/w,         /w, 聽(tīng)說(shuō)/v, ./w, 中國(guó)/ns, 域名/n, 開(kāi)放/v, 申請(qǐng)/v, 了/ule, ,/w, 但/c, 我/rr, 并/cc, 沒(méi)有/v, 申請(qǐng)/v, hankcs.中國(guó)/xu, ,/w, 因?yàn)?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.中國(guó)

以上就是pyhanlp中的命名實(shí)體識(shí)別是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI