哪种机器学习算法适合检测文本wrt组词

人工智能 机器学习 算法 学习算法
2021-10-29 13:17:52

考虑将给出句子形式的监督训练数据集来训练机器的场景

恐怖分子今早埋下的炸弹在反恐精英与情报部队的联手下被化解

包含每个单词的句子中的输入字符串被分解为单个单词的标记化数组,其中删除了停用词。

给定句子中的每个单词都被分配了一个标签 w1、w2 等等,即
w2 = Bomb
w6 = Planted
w13= defuse

计算单个单词组合的分数,结果应该是这样的:
w2.w6 = 分数应该是正的(或 > 某个阈值)
w2.w13= 分数应该是负的(或 < 某个阈值)

在带有极性转换器的单词的情况下,
例如:炸弹没有/没有/没有被拆除。
结果分数应该是正数


为了完成这项任务,我实施了阈值 = 2.5 的情绪分析,并最终得到以下分数

实际输出:

< 2.5:低
= 2.5:中性
> 2.5:高


预期输出:

案例 1:得分 = 负,因为该炸弹在给定的句子中被拆除或移除
案例 2:得分 = 正面,“案例 1”反之亦然
案例 3:否则得分 = 0,以防它无法预测其中任何一个以上两种情况,应该是中性的

每次我需要用字典列表中没有的新词更新词汇表时,我都面临着一个严重的问题,这被证明是半监督学习。

参考上面的句子计算w(n-(1/2/3/...n)and wnword 参考word = Bomb最终得到的分数应为负数。

那么哪种机器学习算法适合产生更好的解决方案,并且基于给定的数据集,我将如何训练机器学习上述内容?

最后我应该尝试通过保持模型持久性来实现。这样就不必在每次运行时都对其进行训练。

1个回答

如果您的主要问题是处理新词汇,您可以尝试使用词性标注器作为预处理步骤。然后,您将有效地发现“名词”和“动词”之间的关系,这种关系不会随着新词而改变。标注者通常可以通过使用上下文信息来处理未知单词。

所以你会用它们的词类标签来标记这些词,并将它们用于训练。

在“应用程序模式”中,您再次使用 pos 标签,计算分数,然后将它们映射回您的原始单词标记。

这当然会让你失去一些信息,因为你只处理 NV,而不是bomb - plantbomb - defuse为了解决这个问题,我将使用一种混合方法:对于您已知的词汇,您使用单词标记,而对于未知单词,您使用标签。如果您训练两个分类器,一个带有标记,一个带有标签,您将标签之一作为“安全网”来处理词汇外的单词。