【发布时间】:2015-12-09 07:07:06
【问题描述】:
我有一个像下面这样的向量,想确定列表中的哪些元素是人名,哪些不是。我找到了 humaniformat 包,它格式化名称,但不幸的是不能确定字符串是否实际上是名称。我还发现了一些用于实体提取的包,但它们似乎需要用于词性标记的实际文本,而不是单个名称。
示例
pkd.names.quotes <- c("Mr. Rick Deckard", # Name
"Do Androids Dream of Electric Sheep", # Not a name
"Roy Batty", # Name
"How much is an electric ostrich?", # Not a name
"My schedule for today lists a six-hour self-accusatory depression.", # Not a name
"Upon him the contempt of three planets descended.", # Not a name
"J.F. Sebastian", # Name
"Harry Bryant", # Name
"goat class", # Not a name
"Holden, Dave", # Name
"Leon Kowalski", # Name
"Dr. Eldon Tyrell") # Name
【问题讨论】:
-
我的朋友电鸵鸟看到他的名字不是真正的名字会非常沮丧。所以你需要知道究竟是什么决定了一个名字,对吗?但是现在人们几乎可以给他们的孩子起任何名字(无论如何在美国)。以 Kanye West 的孩子为例。他叫西北。诚然,Kanye 是个白痴,这仍然是事实。那如何通过名称测试?
-
哈哈,很公平。我想我会弄错 Kanye 孩子的名字。不过没关系,有些错误是可以接受的。我只是希望比简单地依赖字符串长度、空格数和大小写做得更好。
-
斯坦福命名实体识别“模块”可供 R 使用。rpubs.com/lmullen/nlp-chapter 有 NLP 介绍。这个nlp.stanford.edu/software/CRF-NER.shtml 是 java lib 的官方来源,也许可以从中制定解决方案。
标签: r text nlp classification