使用什么机器/深度学习/ nlp技术将给定单词分类为名称,手机号码,地址,电子邮件,州,县,城市等


9

我正在尝试生成一个智能模型,该模型可以扫描一组单词或字符串,并使用机器学习或深度学习将它们分类为名称,手机号码,地址,城市,州,国家和其他实体。

我一直在寻找方法,但是不幸的是我没有找到任何方法。我曾尝试用词袋模型和嵌入的手套词来预测字符串是名称还是城市等。

但是,我的单词袋模型并没有成功,在GloVe中,嵌入示例中没有涉及很多名称:-劳伦出现在手套中,而劳伦娜则没有

我确实在这里找到了这篇文章,该文章的答案很合理,但是除了使用NLP和SVM来解决这个问题之外,我无法采用该方法来解决该问题。

任何建议表示赞赏

致谢,Sai Charan Adurthi。


4
不是答案,但这称为命名实体识别。使用这些术语进行搜索可能会提供有用的信息。
kbrose

感谢@kbrose,我们将研究命名实体识别技术。
Sai Charan Adurthi

Answers:


1

您可以应用字符克-直观上讲,电话号码和电子邮件地址之间的字符集可能会有巨大差异。然后将字符语法向量传递到SVM进行预测。您可以使用以下功能提取器在sklearn中使用此功能。

  1. TfIdfVectorizer(analyzer ='character')

  2. CountVectorizer(analyzer ='character')

对SVM的ngram范围和松弛变量进行交叉验证,以微调模型。


谢谢!@karthikbharadwaj。我目前正在使用R,将考虑sklearn,看看它是否工作..
西查兰Adurthi

@Sai Charan Adurthi-如果对您有帮助,请进行投票;如果对他们有帮助,请接受答复。
karthikbharadwaj '18

当然,一旦我在Python中检查了它,肯定会做到这一点……
Sai Charan Adurthi '18

0

将常见的分类标签应用于单词通常称为命名实体识别(NER)

NER可以通过静态规则(例如正则表达式)或学习的规则(例如决策树)来完成。这些规则通常是脆弱的,不能一概而论。条件随机字段(CRF)通常是更好的解决方案,因为它们能够对语言的潜在状态进行建模。NER中最新的性能是通过结合深度学习模型来完成的

斯坦福命名实体识别spaCy是封装来执行ER。


谢谢脑博士!..但是,我想构建一个仅包含一个单词或一个字符串单词并预测其名称,地址等的模型。我曾在R中使用Apache的openNLP尝试过NER。在里面。为了使用语法和词性,这需要一段词b,我想拥有一个甚至可以理解邮政编码,邮政编码和州代码之类的模型。脑博士在这里采用正确的方法吗?
Sai Charan Adurthi '18

您不应该想到只有一个通用模型。您应该为每种类型的元素构建一个模型。例如,大多数邮政编码都可以使用正则表达式找到。上下文也是王者,给定一个单词的模型在预测NER方面做得不好。最好有大段文字。
Brian Spiering '18 -4-11

嗨@博士 大脑,我已经使用R的text2vec软件包进行了尝试,我使用了手套字嵌入来检查单词的相似程度。例如:我有1000行的火车数据,其中包含名称,城市,州,国家等类别。测试数据具有不同的值。我使用text2vec构造了用于训练和测试数据值的TCM,然后将手套模型拟合到那些TCM,并检查了测试数据中每个单词的相似性,以使用余弦相似度函数按类别训练数据。但是,每次生成手套模型并检查相似性时,我都无法达到良好的精度及其均匀变量。
Sai Charan Adurthi

谢谢,Brian博士,如果我使用句子来获取上下文并使用NER,它会起作用。但是,我只想使用单词,看看是否有任何模型可以从单词中学习模式。
赛·莎兰·阿杜里

嗨,Brain,我曾经使用Apache Open NLP来使用预训练的NER模型。是的,它也适用于单词。
萨伊·查兰·阿杜尔蒂
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.