用户输入字符串并让机器学习模型猜测类别?

问题描述 投票:0回答:1

我目前正在基于 20 Newsgroup 数据集构建机器学习模型。 它有 20 个类别,例如宗教、政治、汽车、计算机等,并预测文本条目正在谈论的内容。

“有谁知道为什么我的斯巴鲁雨刷不合适” - 汽车。

我正在使用 scikit learn,并且有 MLP 和逻辑回归模型。 我想知道是否有一种方法可以让用户输入一个字符串,然后模型吐出它认为它是什么类别?

用户输入:“您推荐什么微处理器?” 型号:“电脑”

我找不到有关该主题的任何好的资源,需要一些建议。

machine-learning scikit-learn artificial-intelligence logistic-regression mlp
1个回答
0
投票

您需要的是某种方式将输入字符串中的信息输入到模型中,同时保留信息内容,但将其设置为可用的格式。这通常是通过使用手动提取的特征或学习的文本嵌入来完成的。一般来说,嵌入可以存在于子词、单词、n-gram 或句子级别。

对于特征提取,您可以使用诸如 bag-of-words 或 TF-IDF 之类的东西 - 这些都已在 scikit-learn 中得到支持(请参阅此处)。

对于文本嵌入,您可以使用诸如 Word2Vec 之类的东西,它只是一个小型神经网络,它已经学习了单词作为向量的良好表示。这对于将项目输入神经网络特别有用。对于像这里这样的可变长度字符串,您可以尝试使用 doc2vec,这两种技术都在 here 进行了进一步描述。

预处理文本以获得模型的特征后,您应该创建一个数据集,其中每个示例都标有所需的类别,例如看起来像这样的数据框

Input Text / Features | Category
-----------------------------------
"Does anyone know why my subaru wipers don't fit" | Cars

当然,您还必须处理标签,以便它们采用某种数字格式。对于此数据集,一个好主意是使用 scikit-learn 的

LabelEncoder
之类的东西,它将为数据集中的每个类别分配一个唯一的整数值(例如 Cars=0、Business=1 等)。

然后您可以在数据上运行机器学习过程。

© www.soinside.com 2019 - 2024. All rights reserved.