NLP从业者用什么功能来挑选英文名字?

时间:2014-05-16 19:52:40

标签: nlp nltk

我第一次尝试命名实体识别。我正在寻找可以挑选英文名字的功能。我使用的是coursera nlp course(第3周)和nltk book中列出的方法。换句话说:我正在定义特征,识别单词的特征,然后通过我在标记数据上训练的分类器运行这些单词/特征。

用什么功能挑选英文名字?

我可以想象你会连续找到两个大写词,或者一个大写词,然后是一个首字母,然后是一个大写词。 (例如John Smith或James P. Smith)。

但NER还使用了哪些其他功能?

2 个答案:

答案 0 :(得分:7)

一些常见功能:

  • 常用名称的单词列表(John,Adam等)
  • 外壳
  • 包含符号或数字字符(名称通常不包含)
  • 人名前缀(先生,夫人等等)
  • person postfixes(Jr.,Sr。等......)
  • 单字母缩写(即(J.)Smith)。
  • 对周围单词的分析(您可能会发现某些单词很可能出现在名称附近)。
  • 以前认可的命名实体(通常很容易根据上下文在语料库的某些部分识别NE,但在其他部分很难识别。如果先前已识别,这是对NER的极好暗示)

根据您使用的语言,可能还有更多语言特定功能。坦率地说,你可以通过一个简单的谷歌查询来发现大量的信息,我真的不确定你为什么没有转向那里。但是有些起点:

答案 1 :(得分:4)

我在学校里使用机器学习做了类似的事情。我想您将使用监督算法,您将独立地对每个单词进行分类,而不是组合单词。在这种情况下,我会为你自己提到的单词本身选择一些功能(如果单词以大写字母开头,如果单词是缩写),我会添加更多功能,如前一个或下一个单词也是从大写字母开始,或者如果它们是缩写。这样,您可以添加一些上下文并克服与基本独立性假设相关的问题。

如果你想看看here。在机器学习部分,您可以找到更多信息和示例(问题略有不同,但方法应该类似)。

无论您选择哪种功能,都必须使用一些测量来评估它们的相关性,并将它们减少到有用的功能以避免过度拟合。您可以用来评估它们的一个措施是gain ratio,但还有更多。 Here您可以找到有关特征提取的一些基本信息。

希望它有所帮助!