命名实体识别(NER),也称为实体分块/提取,是一种用于信息提取的流行技术,用于识别和分割命名实体,并将它们分类或归类为各种预定义的类。
简而言之,NER是如何工作的?它背后的主要思想是什么?哪些算法用于执行 NER?
命名实体识别(NER),也称为实体分块/提取,是一种用于信息提取的流行技术,用于识别和分割命名实体,并将它们分类或归类为各种预定义的类。
简而言之,NER是如何工作的?它背后的主要思想是什么?哪些算法用于执行 NER?
有不同的算法,每种算法都有其优点和缺点。
地名词典:这些有要识别的实体列表,例如国家、城市、人员、公司的列表,无论需要什么。他们通常使用模糊匹配算法来捕获实体未以与列表中完全相同的方式写入的情况。例如,USA或USA、United States、United States of America、US of A等。优点:一般精度好,即可以识别已知实体。缺点:只能找到已知实体
上下文线索:在这里,您可以在文本中找到模式,例如[PERSON],[COMPANY] 主席。在这种情况下,像亚马逊董事长杰夫贝佐斯这样的句子会匹配,即使你从未遇到过贝佐斯或亚马逊。优点:可以找到你不知道的实体。缺点:最终可能会出现误报,想出模式可能会耗费大量人力;模式取决于领域(报纸、教科书、小说等)
结构描述:这基本上是一个描述实体外观的“语法”,例如(在某种伪正则表达式中):title? [first_name|initial] [middle_name|initial]? surname将匹配“JR Ewing 先生”或“Bob Smith”。类似的描述可以匹配典型的公司名称;您可能仍然需要可能的姓氏或名字的列表。优点:一些灵活性,以及潜在的良好精度。缺点:模式需要开发和维护。
理想情况下,您希望将所有三种方法结合起来形成一种混合方法,以获得识别未知实体的优势,同时控制过多的误报。
可能还有其他机器学习方法,但我不太熟悉。主要问题是他们很难微调或弄清楚他们为什么要做他们所做的事情。
更新:一个好的起点是使用基于地名词典的方法来注释一些训练数据,并使用它来识别上下文模式。然后,您可以使用该数据来训练机器学习方法(请参阅 OmG 对 CRF 的回答)以拓宽方法;然后将新识别的实体添加到列表中。
理想情况下,您希望将公报作为您的主要数据库以避免误报,并使用机器学习或上下文模式来捕获以前看不见的实体。