Ank*_*war 9 python crf deep-learning tensorflow ner
model= Sequential()
model.add(keras.layers.Embedding(vocab_size,output_dim=100,input_length=input_len,weights=[embedding_matrix],trainable=False))
model.add(keras.layers.Bidirectional(keras.layers.LSTM(512, return_sequences=True,recurrent_dropout=0.2, dropout=0.2)))
model.add(keras.layers.Bidirectional(keras.layers.LSTM(512, return_sequences=True,recurrent_dropout=0.2, dropout=0.2)))
model.add(keras.layers.Dense(128, activation="relu"))
model.add(keras.layers.TimeDistributed(keras.layers.Dense(vocab_size_label, activation="softmax")))
model.compile(optimizer=optim,loss='sparse_categorical_crossentropy',metrics=["accuracy"])
model.summary()
Run Code Online (Sandbox Code Playgroud)
我已经为 NER Tagging 构建了一个 Bi-lstm 模型,现在我想在其中引入 CRF 层。我很困惑如何使用 Tensorflow 插入 CRF 层
tfa.text.crf_log_likelihood(
inputs,
tag_indices,
sequence_lengths,
transition_params=None
)
Run Code Online (Sandbox Code Playgroud)
我在 tfa.txt 中找到了这个,并且有 3 个关于这个函数的查询: 1. 我如何传递这些参数?2. 我是否必须在编译器中将此输出用作损失(log_likelihood 的负数)。有人可以帮助我吗?
我也在寻找这个解决方案,我想你应该创建一个自定义类来包装该tfa.text.crf_log_likelihood方法,然后将其集成到keras.Sequence.
也许类似https://github.com/tensorflow/addons/issues/723#issuecomment-559636561
或者甚至更多pytorch-style,像这样https://github.com/saiwaiyanyu/bi-lstm-crf-ner-tf2.0/blob/master/model.py
| 归档时间: |
|
| 查看次数: |
1468 次 |
| 最近记录: |