通常NLU任务使用字ID进行训练,如果不使用字ID,仅仅使用字形信息效果如何?

通常我们做NLP任务都使用基于tokens(字或词)的ID序列,那么基于纯字形的方法是否有效?字形(glyph)信息即字的图像形态信息。这里尝试验证基于纯字形在NLU中是否有效,即验证神经网络是否“看”懂了文本。

通过文献发现,在Glyph-aware Embedding of Chinese Characters以及提及字形信息,因此本文并不旨在全面探索字形特征在NLP中的效果。而是尝试验证单纯的纯字形信息在NLP任务中是否有效。

字符转字形

PIL.ImageFont提供这个功能,能够在给定字体下,图像可视化指定文字。

实现与效果

这里可视化使用红色系colormap,颜色越深代表权重越大,反之则越小,如下:

下面是基于纯字形预测中,文本中字重要性的可视化:

最初是想尝试验证单纯的纯字形信息在NLP任务中是否有效,但是实验中发现太耗费算力,目前没有条件做更多的验证,不过还是有些许对我来说有用的结论。直觉上看,随着汉字的演变,象形字占汉字总量的比例较低,大部分是形声字,纯字形应该起到的效果很差才对,但是实验中还是得到不错的效果。

整体上,可以看到,纯字形效果还是不错的。鉴于算力限制,目前无法展开更多的实验尝试,后期再展开更多的实验~比如,在扩展Embedding特征时可以结合字形信息,效果如何?

实验代码地址:text-glyph-in-NLU

总结

文本的用意是验证纯字形的情况下NLU任务的效果,实验期间发现耗费算力过大,无法展开更多的尝试,期待后期再展开更多的实验~

转载请包括本文地址:https://allenwind.github.io/blog/13162
更多文章请参考:https://allenwind.github.io/blog/archives/