什么机器/深度学习/自然语言处理技术用于将给定的单词分类为姓名、手机号码、地址、电子邮件、州、县、市等

数据挖掘 机器学习 深度学习 文本挖掘 nlp
2021-10-07 09:57:58

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

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

但是,我没有成功使用词袋模型,并且使用 GloVe 有很多名称没有包含在嵌入示例中:- lauren 存在于 Glove 中,而 lauren 没有

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

任何建议表示赞赏

谢谢和问候, Sai Charan Adurthi。

2个回答

您可以应用字符克 - 直观地说,电话号码和电子邮件地址之间的字符集可能存在巨大差异。然后将字符图向量传递给SVM进行预测。您可以使用以下特征提取器在 sklearn 中实现此功能。

  1. TfIdfVectorizer(分析器='字符')

  2. CountVectorizer(分析器='字符')

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

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

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

斯坦福命名实体识别器和spaCy是执行 NER 的包