专栏首页hadoop学习笔记HanLP-命名实体识别总结
原创

HanLP-命名实体识别总结

人名识别

在HanLP中,基于角色标注识别了中国人名。首先系统利用隐马尔可夫模型标注每个词语的角色,之后利用最大模式匹配法对角色序列进行匹配,匹配上模式的即为人名。理论指导文章为:《基于角色标注的中国人名自动识别研究》,大家可以百度一下看看

地名识别

理论指导文章为:《基于层叠隐马尔可夫模型的中文命名实体识别》

机构名识别

机构名的理论指导文章为:《基于角色标注的中文机构名识别》

命名实体识别Demo

/*

 * <summary></summary>

 * <author>He Han</author>

 * <email>hankcs.cn@gmail.com</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());

        }

    }

}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 8.HanLP实现--命名实体识别

    笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP

    mantch
  • python调用hanlp进行命名实体识别

    本文分享自 6丁一的猫 的博客,主要是python调用hanlp进行命名实体识别的方法介绍。以下为分享的全文。

    IT小白龙
  • NLP(6)——命名实体识别

    普通的工具如hanlp,htp,不能识别特定领域的专有名词,所以需要实体识别的算法。下面就以医疗专业为例子来谈一下医疗专业的命名实体识别。

    DC童生
  • hanlp和jieba等六大中文分工具的测试对比

    本篇文章测试的哈工大LTP、中科院计算所NLPIR、清华大学THULAC和jieba、FoolNLTK、HanLP这六大中文分词工具是由 水...琥珀 完成的。...

    IT小白龙
  • 7个优秀的开源中文分词库推荐,实用性强!

    纵观整个开源领域,陆陆续续做中文分词的也有不少,不过目前仍在维护的且质量较高的并不多。下面整理了一些个人认为比较优秀的中文分词库,以供大家参考使用。

    一墨编程学习
  • pyhanlp 中文词性标注与分词简介

    pyhanlp实现的分词器有很多,同时pyhanlp获取hanlp中分词器也有两种方式

    IT小白龙
  • 用深度学习做命名实体识别(一):什么是命名实体识别?

    如上图所示,请求体中是要提取实体的句子,也可以是短文,接口返回的就是句子中识别出来的各种实体。

    程序员一一涤生
  • 自然语言处理工具pyhanlp分词与词性标注

    Pyhanlp分词与词性标注的相关内容记得此前是有分享过的。可能时间太久记不太清楚了。以下文章是分享自“baiziyu”所写(小部分内容有修改),供大家学习参考...

    IT小白龙
  • python实现命名实体识别指标(实体级别)

    {'ALBUM': [(18, 3)], 'SINGER': [(11, 3)], 'SONG': [(2, 3), (6, 3)], 'TAG': [(23,...

    西西嘛呦

扫码关注云+社区

领取腾讯云代金券