Skip to content

关于模型中CRF层的几个小疑问 #28

@Ethan1214

Description

@Ethan1214

你好:
对于实现过程中部分代码有一点疑问,希望您可以为我解答:
在实现CRF的batch 操作的时候, 是否把一个batch中的句子拼成了一个句子看待?

        因为我看到在计算point_score时有这样的操作:
        self.point_score = tf.gather(tf.reshape(self.tags_scores, [-1]), tf.range(0, self.batch_size * self.num_steps) * self.num_classes + tf.reshape(self.targets,[self.batch_size * self.num_steps]))
         请问我理解的对吗?

         还有我改写了部分代码,现在能在多类别标签数据集上跑通,但是loss会出现负数, 请问是和crf层中的常量设置有关系吗?
         但是按照 公式推导,p(y|X)是个小数,套一个log为负,再取反作为loss应该是正数才对。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions