【问题标题】:How to match features in new records for NLP BOW如何匹配 NLP BOW 新记录中的特征
【发布时间】:2020-10-29 07:27:09
【问题描述】:

我有一个包含 100,000 条记录的数据集

此数据集中的数据为 2 列 1-文本 2-类

当我应用我的模型的 BOW 时,我会得到一大堆功能

没关系,我设法与他们合作

我的问题是在构建模型和部署之后。

现在,如果新文本带有新单词,那么模型将无法工作,因为它在相同的特征结构中工作

示例 “这是一个测试,测试很重要”,Red “亚当通过考试”,格林

所以我的最终数据集是

This is a test important Adam pass class
 1    2 1 2    1          0    0   Red
 0    0 1 1    0          1    1   Green

一旦模型创建并获得此文本

“测试和考试相似”,黄色

在这种情况下,这组功能具有新功能

和考试类似

模型会破坏,因为这些功能从未包含在训练模型中

我想知道如何解决这个问题?

【问题讨论】:

    标签: machine-learning nlp feature-extraction


    【解决方案1】:

    为处理此问题,使用固定词汇表将文本转换为词袋。 OOV(词汇表外)的标记用特殊的<UNK> 标记表示。

    例如,让我们定义一个词汇表V

    V = ['this', 'is', 'a', 'test', 'pass', 'and', 'are', '<UNK>']
    

    然后,您的句子将用以下向量表示:

    s1 = "This is a test, test is important"  #important is OOV
    v1 = [1, 2, 1, 2, 0, 0, 0, 1]
    
    s2 = "Adam pass a test" # Adam is OOV
    v2 = [0, 0, 1, 1, 1, 0, 0, 1]
    

    当您在词袋中表示训练数据并拟合模型时,测试数据将以相同的方式表示,您的模型将使用此表示进行预测。在你的情况下,

    s3 = "test and exam are similar"
    v3 = [0, 0, 0, 1, 0, 1, 1, 2]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-14
      • 2019-05-26
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多