我已经构建了一条管道,它最终输出了一堆(数千到数万或更多)命名实体。我想对那些命名实体进行聚合(例如,在我的语料库中提到一个特定的命名实体多少次)。但是,我遇到的一个问题是,尽管命名实体是同一个实体,但它们之间往往并不匹配。例如,命名实体的一个实例可能是"John博士“,而另一个实例可能是”John“,或者一个实例可能是"Google”,而另一个实例可能是"Google .“。这使得聚合变得非常困难。
为了处理这个问题,并将"John博士“设置为与”John“相同的实体,我正在考虑在我的命名实体之间进行单词匹配。也就是说,我会检查命名实体A是否与命名实体B有一个共同的词,以及它们是否将它们设置为同一个实体。这种做法显然存在严重缺陷。我将把"John“和"John”等同为同一个实体,尽管它们显然不是。但是,使用这种方法可能更糟糕的是,我可能会遇到相似链,其中"John Smith“和"Richard Smith”与"Richard Sporting .“链接在一起。与“谷歌公司”链接。等等等等。虽然我可能愿意允许由前一个问题引起的问题通过,但后者似乎是灾难性的。
在NLP社区中,是否有任何被接受的技术来处理这个问题?
https://datascience.stackexchange.com/questions/31448
复制相似问题