泻药,人在炼丹,炉子刚炸。
问题里讲的非结构化数据似乎是指代码和文本。对这些数据而言,据我所知现行的方法基本都是在试图把非结构化数据变成某种结构化的表示,然后处理。
文本数据可以被视为词/字的序列,然后在进行分词/向量化后把产生的向量序列喂给一个适合处理序列的神经网络(例如RNN/Transformer),然后这个网络会吐出一个定长的向量,这个向量就是那段文本数据的表示。基于这个向量我们就可以干分类/生成/翻译,等等等等。
代码数据可以像上面一样当成token序列,也可以视为一个AST。由于AST是棵树,自然就可以当图看,然后上图卷积神经网络(GCN)层层卷积得到一个最终的定长向量。
在具体工作上,文本肯定绕不开大名鼎鼎的Transformer和预训练模型BERT,代码就不清楚了。
好了,我知道的就这些,这方面问我就跟问后端同学如何切图一样——人懂一点,但不多。要想具体了解这方面还请阅读相关文献。