【问题标题】:Is it possible to predict a whole output vector given an input vector or a series of vectors using XGBoost?是否可以使用 XGBoost 预测给定输入向量或一系列向量的整个输出向量?
【发布时间】:2019-12-26 12:57:40
【问题描述】:

我有文本评论和答案的文本数据集。评论和答案的每一句话都被向量化了,如下所示:

                    Vector_Review                                       Answer_Vector
0   [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1]   [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1   [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
2   [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]   [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
3   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]   [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
4   [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

我已经编造了向量来举个例子,我知道它们与预期的不匹配,但想象一下评论向量和答案向量匹配。

句子的向量是根据从评论/答案文本中提取的构建词汇集使用one-hot 匹配创建的。当评论关键字出现在其答案中时,它将是 1,如果不是,则为 0。

现在我想提几个问题。想象一下每个评论向量都与其对应的答案向量相关联:

    1. 有没有一种方法可以在给定新评论向量的情况下预测整个答案向量?
    1. 是否有任何 ML 算法可以采用这样的输入向量并输出新向量?
    1. 这可以通过 XGboost 或任何其他现有算法实现吗?
    1. 神经网络是否可能/更好?
    1. 如果不是,解决此问题的最佳方法是什么?

非常感谢您

【问题讨论】:

    标签: python python-3.x algorithm machine-learning nlp


    【解决方案1】:

    我将所有问题的答案总结为一个:

    给定一个输入文本,您可以使用统计分布和推断的句法和语义来预测第二个文本。

    最近使用 Seq2Seq 模型取得了很大成功。

    总之,seq2seq 是一个由 Encoder 和 Decoder 组成的神经网络模型(它通常是在递归神经网络 - RNN 之上制作的)。通常这是基于嵌入的工作,但似乎将您的 one-hot-encodings 转换为嵌入并不难。

    由于使用了所谓的注意力机制(和 Google BERT),这个模型已经爆发了几次。

    因此,这通常最好使用人工神经网络来完成

    以下是一些参考资料:

    【讨论】:

    • 非常感谢蒂亚戈。这几乎是我需要的方向。我对 NLP 很陌生,我想知道在给定另一个文本序列的情况下预测文本序列时,哪种方法可能是最好的方法。我会看看你的建议。我希望这可以带我实现我的目标:)
    猜你喜欢
    • 2016-07-19
    • 2018-08-15
    • 1970-01-01
    • 2022-11-02
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    相关资源
    最近更新 更多