Skip to content

命名实体识别

Xusheng edited this page Feb 27, 2020 · 1 revision

实体类型标签:

  • 人名: per
  • 地名: loc
  • 机构名: org
  • 时间: time。

命名实体识别

List<NERTerm> NER(String content)

命名实体识别器封装了感知机识别模型和条件随机场 (CRF) 识别模型,识别文本中的时间、地名、人名、机构名。返回包含词语和实体类型的识别结果列表。

参数

  • content: 待识别的文本
  • return: 实体列表,同时包含了词语和实体类型

示例

String sentence = "2013年9月,习近平出席上合组织比什凯克峰会和二十国集团圣彼得堡峰会,"
                + "并对哈萨克斯坦等中亚4国进行国事访问。在“一带一路”建设中,这次重大外交行程注定要被历史铭记。";
List<NERTerm> NERResult = AHANLP.NER(sentence);
System.out.println(NERResult);
[中亚/loc, 习近平/per, 上合组织/org, 二十国集团/org, 哈萨克斯坦/loc, 比什凯克/loc, 圣彼得堡/loc, 2013年9月/time]

单独获取某一类实体

与分词类似,也可以单独获取人名、地名、机构名、时间等某一类型的实体。

List<String> getTimeInfo(List<NERTerm> NERResult)

获取时间信息

参数

  • NERResult: 识别结果列表
  • return: 时间信息列表
List<String> getLocInfo(List<NERTerm> NERResult)

获取地名信息

参数

  • NERResult: 识别结果列表
  • return: 地名信息列表
List<String> getPerInfo(List<NERTerm> NERResult)

获取人名信息

参数

  • NERResult: 识别结果列表
  • return: 人名信息列表
List<String> getOrgInfo(List<NERTerm> NERResult)

获取机构名信息

参数

  • NERResult: 识别结果列表
  • return: 机构名信息列表

示例

String sentence = "2013年9月,习近平出席上合组织比什凯克峰会和二十国集团圣彼得堡峰会,"
                + "并对哈萨克斯坦等中亚4国进行国事访问。在“一带一路”建设中,这次重大外交行程注定要被历史铭记。";
List<NERTerm> NERResult = AHANLP.NER(sentence);
System.out.println("time:" + NER.getTimeInfo(NERResult));
System.out.println("location:" + NER.getLocInfo(NERResult));
System.out.println("person:" + NER.getPerInfo(NERResult));
System.out.println("organization:" + NER.getOrgInfo(NERResult));
time:[2013年9月]
location:[中亚, 哈萨克斯坦, 比什凯克, 圣彼得堡]
person:[习近平]
organization:[上合组织, 二十国集团]