搜索实体名称数据库(学院,城市,个性,国家......)

时间:2009-10-08 03:05:02

标签: database filtering classification linguistics

对于我和其他人正在进行的企业应用程序研究项目,我们希望从页面中删除某些内容,以使发布的消息保持通用(意味着不具有攻击性且基本上是匿名的)。现在我们想要收到用户已发布到留言板的消息,并删除任何类型的名称,学院或机构的名称以及亵渎(如果以后可能我们想删除商家名称)。

是否有一些我们可以连接的数据库,我们可以运行擦除我们的消息来检查数据库中的值以识别这些?

1 个答案:

答案 0 :(得分:7)

这个问题似乎暗示了一个在线数据库,在处理消息时会查询该数据库。操作问题(此类服务的可靠性,响应时间滞后等)以及完整性问题(需要查询多个数据库,因为没有一个数据库将覆盖项目的100%的词汇需求)使得这种在线/实时方法变得不切实际。但是有许多数据库可供下载,这将允许您建立自己的“热词”本地数据库。

一个好的起点可能是WordNet,您是否可能会使用所有“实例”字词作为通常需要从邮件中删除的字词,就像您一样匿名化/清理它们。 (也许您还希望将“非实例”单词保留在单独的表/单词列表中“更可能”。仅此列表可能很好地支持您的应用程序的“0.9”版本。

你最终想要扩展这个“坏词”的词汇数据库然而,例如包括所有大学的首字母缩略词(CMU,UCSD,DU,麻省理工学院,UNC等),运动队名字(凯尔特人队,熊队,熊队,红袜队......)并且根据你的信息领域,公众人物的其他名称(Wordnet有几个,如乔治布什或罗伯特德尼罗,但它缺少名人或人最近成名:例如Barack Obama)

为了补充Wordnet,我想到了两种不同类型的资源:

  • 传统的在线数据库
  • 本体论和民众分类法

前者的例子是美国邮政总局的“城市/州邮政编码”。后者的例子是由学者,组织或各种个人编制的各种“列表”。不可能提供这些源类型的详尽列表,但以下内容应该有所帮助:

在更简单的情况下,人们只能下载列表等,或者“剪切和粘贴”。本体将被“阻碍”你需要解析的其他属性(将来你可能真的需要这些属性并以更传统的方式使用本体,现在,抓住词汇实体就是所需要的一切)。

这个词汇数据库编译任务可能看起来令人生畏。但是 80-20规则,指出20%的“热词”将占消息引用的80%,因此只需相对较小的努力,您就应该能够生成覆盖90%以上用例的系统。

展望未来:超越“热词”数据库
使用自然语言处理(NLP)中的各种技术和概念,有很多方法可以完成此任务。随着您的项目越来越复杂,您可能希望了解其中一些概念并可能实现它们。例如,可以想到一个简单的POS标记器,因为它可以帮助[部分]区分标记“SCREW”的各种用法,因为您的应用程序会丢弃令人反感的单词。 (“董事会希望螺旋学生”与“董事会应该用每码至少4个螺丝紧固”。

在需要这些正式的NLP技术之前,您可以使用一些基于模式的规则来处理与域相关的常见案例,这些案例与项目所针对的消息类型相关。例如,您可以考虑以下事项:
   - (字)州立大学    - 参议员(Word_Starting_with_Capital letter)
   - 混合字母和数字的单词(这些单词通常用于拼错名称并绕过项目希望实现的过滤器类型)

另一个可能有用的工具,特别是在开始时将是一个收集有关消息语料库的统计信息的系统:词频,最常见的词,最常见的双字母(两个连续的词)等。