我正在构建一个多类文本分类器,它有一个作业门户的数据集。数据集由映射到实际名称的组织的名称组成(见下文)。我想建立一个可以预测实际组织名称的ml模型。
我的数据集如下所示:
Flipkart.com flipkart
FlipKart pvt ltd flipkart
flipkart.com flipkart
我的问题是:
我能提取什么特征?
B、 )我的特征提取程序应该也使用训练集的标签吗?
C、 )我的功能应该是什么样子,因为它们应该是nbclassifier的dict。什么样的钥匙能带来什么价值?
我是新来的NLP,任何帮助将不胜感激。 Source code on github
既然你在试着处理文本,我想你应该用手套模型来训练你的模型。这个模型是一个词到向量的模型,它有一个大数据集,其中包含数据集中所有单词的向量。 {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之外,来捕获匹配的整个单词。在
所有这些都不需要统计数据,而是利用了对语言的理解。在
或者,您可以尝试从短字符串列表中派生出一组有意义的特性,以映射到一组非常大的类。这将是一个非常困难的任务,因此我推荐模糊匹配方法。在
相关问题 更多 >
编程相关推荐