Dian Chen

Results 10 comments of Dian Chen

All I modified is the line from `manacher.py`, but the tests failed in `quantum/ripple_adder_classic.py`. It might be the remaining issue of other solutions, not for this PR. ``` ==================================== ERRORS...

@zhentaoCoding 我这边跑 5 轮 (SIGHAN13-15 除去 SIGHAN15_test;Wang271K)作为训练集,我在模型网络上有加一些其它的东西,可以在第 3 个 epoch 收敛。结论是我这个训练可以达到 repo 里相应指标的高度,也许可以作参考。 @shibing624 老师您好,关于评估指标有个小问题: 我用同一个模型的 predict 结果来跑 evaluation.py 里的句子级别评价指标 F1 和我用 iqiyi 的 FASPELL 的句子级别评价指标[脚本](https://github.com/iqiyi/FASPell/blob/5060b220423181f7bcc66a2a1830cf60f4835da7/faspell.py#L508)算出来的会有些不同(FASPELL 的计算方式 F1 总是会低一些)。pycorrector 这里的指标计算看起来更加直观简单一些,所以想了解一下在指标对比计算上,这两种的哪一种会更加常用一些呢?

哈哈,这个 iqiyi 的评测指标函数应该是我写的,不过是在 [BBCM](https://github.com/gitabtion/BertBasedCorrectionModels/commit/266cfd33918d3c9bfd79a5707c037b51bb8375e2) 那个 repo 里写的。 那确实两种计算方法得出的结果会不一样呢…… 我好好研究一下区别,谢谢~ (Updated Mar 5th) 破案了,因为 pycorrector 有一个处理 UNK 的操作,evaluation 在这个操作之后,而我调用 FASPELL 的 evaluation 方法是在模型的 outputs 后直接接上的。所以在包含有 UNK 字符的句子中会产生不同。 谢谢 @shibing624 的指点~

@zhentaoCoding 我的做法是上面我说的训练集按9:1分训练集和验证集。用验证集loss最低时的模型参数来做评估。使用pycorrector 这边的评测方法可以达到差不多的效果。一个想法是你仅在Wang271k上(看起来你是没有加入其他的sighan数据)拟合好了之后,和SIGHAN15的错误类型分布有较大不同? 但我在网络基础上有加一些额外的结构和loss,没有做过原版网络的实验,所以也说只能是仅作参考啦。

英文字母出错的时候,应该是导致 tokenizer 在分词的时候出现问题: 例如 `detection` 被错写成 `det*ction` 后, 分词结果可能从 `["detect", "##ion"]` 变成了 `["det", "*", "##ct", "##ion"]`,或是英文单词间的空格会在分词中被过滤掉,其结果是造成了错误句和正确句在分词后词数不相同的问题。 目前的 MacBERT 只能够支持对齐语料,也就是输入和输出需要在词的数量上保证长度一致。所以可能需要在数据处理的时候想想办法了。 例如,刚才提到的属于非词错误 (non-word errors, 即 某个 word "不是一个英文词语") ,可以在检出后使用其他非词错误的解决方案进行处理,目前有很多较为成熟的方式可以处理英文中的非词错误,例如词表检出+编辑距离+LM。 MacBERT 可以在那之后,用于处理剩余的真词错误 (real-word...

可以把生成后的 input_ids 打印出来看一下,借助 tokenizer 看看送入模型的 labels 和 inputs 实际是什么。

Hi, coopie: I tried code as yours: ``` c = td.Composition() with c.scope(): x = td.Vector(3).reads(c.input) x_squared = td.Function(tf.mul).reads(x, x) ten = td.FromTensor(10 * np.ones(3, dtype='float32')) ten_x = td.Function(tf.mul).reads(ten, x)...

我也遇到了一样的问题,改一下数据加载的函数可能就可以了。( Issue #38 )

Data files for `bq` all have the postfix `.tsv` (not `.json`) I modify the function in `class BQProcessor` as below, and it successfully loads bq corpus, you can view the...

保存模型的话可以考虑给 flat_main.py 里面的 Trainer 初始化的时候加个 save_path 传参,取值为模型存放的目录