如何在nlp中进行特征提取

2024-05-16 00:03:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个多类文本分类器,它有一个作业门户的数据集。数据集由映射到实际名称的组织的名称组成(见下文)。我想建立一个可以预测实际组织名称的ml模型。
我的数据集如下所示:

Flipkart.com flipkart

FlipKart pvt ltd flipkart

flipkart.com flipkart

我的问题是:

我能提取什么特征?
B、 )我的特征提取程序应该也使用训练集的标签吗?
C、 )我的功能应该是什么样子,因为它们应该是nbclassifier的dict。什么样的钥匙能带来什么价值?

我是新来的NLP,任何帮助将不胜感激。 Source code on github


Tags: 数据模型文本名称com门户分类器作业
3条回答

既然你在试着处理文本,我想你应该用手套模型来训练你的模型。这个模型是一个词到向量的模型,它有一个大数据集,其中包含数据集中所有单词的向量。 {a1手套}

高级版本是句子编码器https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/46808.pdf

我相信你必须研究单词嵌入,以便对文本处理有一个简单的想法。 您可以在此处查看继续处理文本的详细信息:https://www.analyticsvidhya.com/blog/2018/02/the-different-methods-deal-text-data-predictive-python/

我希望这有帮助。 祝你一切顺利。在

首先,你必须把所有的文本数据转换成机器可读的形式,因为机器学习算法只理解向量。在

1)找到数据集的词汇

2)使用CountVectorizer()或TfidVectorizer()将文本转换为向量

3)现在在预处理的数据集上训练一个朴素的bayes分类器

更多细节请看这个 https://machinelearningmastery.com/prepare-text-data-machine-learning-scikit-learn/

我会把机器学习排除在等式之外。你要做的是模糊匹配,可能有一些同义词deprecision。在

一种昂贵的技术是levenshtein距离公式,一种更便宜,但在某些情况下同样有效的技术是token/ngram分块和索引。在

编一本n元的字典,其中n是g的长度。n=3,则克Flipkart.com网站是'Fli'、'lip'、'ipk'、'pka'等,键是ngram,值是包含该ngram的匹配项列表。对于输入字符串中的每一个n-gram,在dict中查找(在O(log(n)m处实现),其中n是总索引的n-gram的数量,m是输入字符串中n-gram的数量),然后根据每个匹配项与输入字符串共享的n-gram的数量,对结果进行计数,直到得到每个匹配项的“分数”。在

我提到的“分块”是索引“chunks”或n-gram集并执行相同的任务。Aka['Fli','lip','ipk']将被索引并用于统计结果。在

这些技术也可以使用“标记”来描述,而不是使用n-gram,或者除了n-gram之外,来捕获匹配的整个单词。在

所有这些都不需要统计数据,而是利用了对语言的理解。在

或者,您可以尝试从短字符串列表中派生出一组有意义的特性,以映射到一组非常大的类。这将是一个非常困难的任务,因此我推荐模糊匹配方法。在

相关问题 更多 >