• 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[]{

                    "签约仪式前,秦光荣、李纪恒、仇和等一同会见了参加签约的企业家。",

                    "武大靖创世界纪录夺冠,中国代表团平昌首金",

                    "区长庄木弟新年致辞",

                    "朱立伦:两岸都希望共创双赢 习朱历史会晤在即",

                    "陕西首富吴一坚被带走 与令计划妻子有交集",

                    "据美国之音电台网站428日报道,8岁的凯瑟琳·克罗尔(凤甫娟)和很多华裔美国小朋友一样,小小年纪就开始学小提琴了。她的妈妈是位虎妈么?",

                    "凯瑟琳和露西(庐瑞媛),跟她们的哥哥们有一些不同。",

                    "王国强、高峰、汪洋、张朝阳光着头、韩寒、小四",

                    "张浩和胡健康复员回家了",

                    "王总和小丽结婚了",

                    "编剧邵钧林和稽道青说",

                    "这里有关天培的有关事迹",

                    "龚学平等领导说,邓颖超生前杜绝超生",

                    "蓝翔给宁夏固原市彭阳县红河镇黑牛沟村捐赠了挖掘机",

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

                    "我经常在台川喜宴餐厅吃饭,",

                    "偶尔去开元地中海影城看电影。",

                    "不用词典,福哈生态工程有限公司是动态识别的结果。"

            };

            for (String sentence : test_person_case)

            {

                List<Term> termList = recognizeNER(sentence);

                System.out.println(sentence + " " + termList.toString());

            }

            

        }

    }

    【文章来源:整理自 baiziyu 的知乎专栏】

  • 相关阅读:
    iOS Provision 要点记录
    (FIFO)有名管道在无亲缘进程间的通信
    uuid Makefile share
    浅谈C语言中的联合体
    消息队列 进程通信
    onvif makefile without share
    共享内存 进程通信
    共享内存(非map) 进程通信
    消息队列 两个进程
    linux 进程通信
  • 原文地址:https://www.cnblogs.com/adnb34g/p/11274332.html
Copyright © 2020-2023  润新知