-1

我正在尝试使用机器学习对给定主题的句子进行分类。但是,我似乎无法为这个特定问题找到合适的算法/解决方案。

一些细节:

我已经对句子进行了标记、词形还原和向量化。所以,给一个句子:

How will the weather be today?

它被标记化:

['How', 'will', 'the', 'weather', 'be', 'today?']

然后它被词形化:

['How', 'weather', 'today']

然后基于我建立的一个小字典(约 100 个单词),句子被转换为 0 或 1 的序列,指示单词是否出现在字典中:

[0, 0, 0, 1, .... 0, 1]

我已经为自己构建了一个小型数据集(约 50 个句子分为 3 个主题),现在我需要一个算法来在数据集上进行训练,并在给定一个新句子的情况下预测这 3 个类中的一个。

鉴于数据集的大小减小,深度学习效率不高。我试过线性回归,但输出随机的非常大的数字。关于我应该尝试什么或是否犯了任何错误的任何想法?

4

2 回答 2

1

您已正确预处理数据。您忽略了描述数据集的相互联系,因此我们无法知道 50 个观察值是否足以区分这 3 个类别。

如果您的数据确实包含足够的信息来完成任务,我希望无论是简单的词袋方法都可以为您提供接近您想要的集群;您可以插入训练的分类。如果这对您的应用程序来说太“松散”,我建议让 SVM 解决您的问题。3 级机器应该能够降低组件复杂性并为您的模型找到良好的边界。

最后,如果主题在每节课中只打开一个或两个关键词,那么使用简单的决策树可能会做得更好。

于 2019-05-15T17:47:01.897 回答
0

尝试进行文本分类的一个不错的选择是朴素贝叶斯(如果您愿意假设每个文本中的单词在给定类别的情况下是条件独立的 - 这是一个强有力的假设,但工作时间惊人!)。

问题表述如下,其中y是给定数据点x的预测类别,通过在给定观察到的训练参数的情况下找到使观察到的数据点的概率最大化的类别来预测。这由等式的右侧表示(其中C_k是第 k 个类别,而x_i是数据点x中的第 i 个词):

在此处输入图像描述

并且可以使用此处列出的标准方法来解决。

于 2019-05-22T23:36:43.090 回答