C# 模糊实体识别

C# 模糊实体识别,c#,nlp,C#,Nlp,我是NLP的新手。我试图做的(在c#中)是提供一个自定义实体列表,沿着 > NAME|ENTITY TYPE|ID > Cubbies|Baseball Team|CHI > Chicago Cubs|Baseball Team|CHI > Dubs|Basketball Team|GSW > Golden State Warriors|Basketball Team|GSW >名称|实体类型| ID >小熊队|棒球队|池 >芝加哥小熊队|棒球队| CHI >Dubs |篮球队| GSW >金州

我是NLP的新手。我试图做的(在c#中)是提供一个自定义实体列表,沿着

> NAME|ENTITY TYPE|ID > Cubbies|Baseball Team|CHI > Chicago Cubs|Baseball Team|CHI > Dubs|Basketball Team|GSW > Golden State Warriors|Basketball Team|GSW >名称|实体类型| ID >小熊队|棒球队|池 >芝加哥小熊队|棒球队| CHI >Dubs |篮球队| GSW >金州勇士队|篮球队| GSW 我正在寻找短句和标签模糊匹配的这些实体

例如,parse

乔丹·贝尔明年会让金街变得更好

进入

乔丹·贝尔(Jordan Bell)明年将使[篮球队(GSW)]变得更好”

理想情况下,这将与通用名称识别相结合,例如:

[人:乔丹·贝尔]会让[篮球队:GSW]变得更好[时间:明年]”


感谢任何帮助或指导。谢谢

最好将问题分为两部分:角色标签(命名实体识别)和标签统一(模糊匹配)

对于确定标签-也就是说,将句子中的标记标记为
团队名称
个人
,等等-一个条件随机场(CRF)是一个很好的模型。是一个流行的工具包。几年前,《纽约时报》在配方数据方面使用CRF++取得了一些成功。这里有一点来自:

由于要识别运动队的名称,因此有两种方法可以处理所描述的模糊匹配。您可以使用字符串相似性进行实际的模糊匹配;解释了如何在Python库Fuzzy Wuzzy中以足够高的级别完成此操作,这样应该很容易重新实现

另一个选项是命名实体解析,它将命名实体(标记位)绑定到外部数据库。例如,当你使用维基百科时,它被称为“维基化”。描述某人使用Wikipedia重定向信息来识别公司的备用名称-您可以通过检查Wikipedia是否将
Cubbies
重定向到
Chicago Cubbies
(确实如此)来识别相同的名称

在不了解数据的情况下,很难说模糊匹配或命名实体解析是否更容易,因此最好同时尝试这两种方法


很抱歉没有明确地包含C#的资源,也就是说,这里的技术通常比实现更重要。

为什么称这种模糊实体识别为模糊实体识别?对我来说,它看起来像是常规的命名实体识别。你总是要处理NLP中的变异——这里是缩写词、同义词、hyperonyms。。。