HanLP-命名實體識別總結
人名識別
在HanLP中,基於角色標註識別了中國人名。首先系統利用隱馬爾可夫模型標註每個詞語的角色,之後利用最大模式匹配法對角色序列進行匹配,匹配上模式的即為人名。理論指導文章為:《基於角色標註的中國人名自動識別研究》,大家可以百度一下看看
地名識別
理論指導文章為:《基於層疊隱馬爾可夫模型的中文命名實體識別》
機構名識別
機構名的理論指導文章為:《基於角色標註的中文機構名識別》
命名實體識別Demo
/*
* <summary></summary>
* <author>He Han</author>
* <email>[email protected]</email>
* <create-date>2014/12/7 19:25</create-date>
*
* <copyright file="DemoChineseNameRecoginiton.java" company="上海林原資訊科技有限公司">
* Copyright (c) 2003-2014+ 上海林原資訊科技有限公司. All Right Reserved/
* This source is subject to the LinrunSpace License. Please contact 上海林原資訊科技有限公司 to get more information.
* </copyright>
*/
package com.hankcs.demo;
import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.seg.Segment;
import com.hankcs.hanlp.seg.common.Term;
import java.util.LinkedList;
import java.util.List;
public class DemoNer {
// 例項化實體分詞器
public static Segment segment = HanLP.newSegment().enableNameRecognize(true).enablePlaceRecognize(true).enableOrganizationRecognize(true);
// 識別中文人名、中文地名、中文機構名
public static List<Term> recognizeNER(String text) {
List<Term> ner_li = new LinkedList<Term>();
List<Term> termList = segment.seg(text);
for(Term term: termList) {
String nature = term.nature != null ? term.nature.toString() : "空";
if(nature.equals("nr")) {
ner_li.add(term);
}
else if(nature.equals("ns")) {
ner_li.add(term);
}
else if(nature.equals("nt")) {
ner_li.add(term);
}
}
return ner_li;
}
public static void main(String[] args)
{
// 人名識別示例
String[] test_person_case = new String[]{
"簽約儀式前,秦光榮、李紀恆、仇和等一同會見了參加簽約的企業家。",
"武大靖創世界紀錄奪冠,中國代表團平昌首金",
"區長莊木弟新年致辭",
"朱立倫:兩岸都希望共創雙贏 習朱歷史會晤在即",
"陝西首富吳一堅被帶走 與令計劃妻子有交集",
"據美國之音電臺網站4月28日報道,8歲的凱瑟琳·克羅爾(鳳甫娟)和很多華裔美國小朋友一樣,小小年紀就開始學小提琴了。她的媽媽是位虎媽麼?",
"凱瑟琳和露西(廬瑞媛),跟她們的哥哥們有一些不同。",
"王國強、高峰、汪洋、張朝陽光著頭、韓寒、小四",
"張浩和胡健康復員回家了",
"王總和小麗結婚了",
"編劇邵鈞林和稽道青說",
"這裡有關天培的有關事蹟",
"龔學平等領導說,鄧穎超生前杜絕超生",
"藍翔給寧夏固原市彭陽縣紅河鎮黑牛溝村捐贈了挖掘機",
"我在上海林原科技有限公司兼職工作,",
"我經常在臺川喜宴餐廳吃飯,",
"偶爾去開元地中海影城看電影。",
"不用詞典,福哈生態工程有限公司是動態識別的結果。"
};
for (String sentence : test_person_case)
{
List<Term> termList = recognizeNER(sentence);
System.out.println(sentence + "\t" + termList.toString());
}
}
}
【文章來源:整理自 baiziyu&nb