NLP 任务中有什么加入超信息的好方法吗?有什么可以从 CV 借鉴的吗?

2023-03-14 15:04:35 +08:00
 Richard14

如题,场景是情感分析,有个想法是做 NLP 的时候能不能加入一些超信息,比如一个人在论坛里发了一段话作为原始输入,在此基础上我能不能在输入信息里附带这个人的账号等级、年龄、性别、地区等信息,应该会对网络输出结果有帮助(或者,还可以输入历史对话的编码结果),但是不知道该如何组织。

一个简单的方法是直接在每个原始数据点上,比如原始数据用 10 维表示一个字,那就再额外增加几个维度输入这些超信息,所有数据点的这几维都一样。这个处理方法比较简单,但我对效果存疑,而且还有个问题是超信息这么搞的话就没法提前通过其他网络编码了,编码后一旦维数增加,总不至于让每个点携带 10 维的词信息+20 维的超信息吧,感觉有点头重脚轻了。

不知道有没有什么好的方法,大佬提供个思路啥的。不知道有没有什么可以从 cv 或者其他领域借鉴的经验?我感觉 vit 方面数据结构和 nlp 也挺像的,肯定也有人研究过超信息啥的吧。。。

1087 次点击
所在节点    Python
9 条回复
string2020
2023-03-14 15:06:55 +08:00
我虽然不懂。但我知道你就是个纯彩笔
Richard14
2023-03-14 15:34:50 +08:00
@string2020 朋友你多大了。。。
lonewolfakela
2023-03-14 15:43:14 +08:00
直接把这些信息作为文字贴在用户发的话前面?
ytgui
2023-03-14 15:50:38 +08:00
我虽然不懂。但我知道你就是个纯彩笔(笑)

(这些外部信息可以在构造 embedding 的时候塞进去,alongside positional embedding )
sujin190
2023-03-14 15:51:09 +08:00
word2vec 之后两个词的 vec 之间的几何距离代表词相似度,加几个维度会不会改变了相似度导致模型识别不出来了啊?

chatgpt 这种大模型直接结构化语义写在后面或前面都可以,但是估计小模型上应该不能很好区分权重,导致超信息影响因子太大也会影响模型结果,也许你应该在 NLP 处理完的结果然后再和超信息拼接在一起再组一个全连接网络或者 CNN 网络来处理可能更好吧

其实我也不懂,只是猜测可能是这样的,仅供参考啊
Porphet
2023-03-14 15:55:37 +08:00
方案一:可以试试图方法,比如图卷积、图注意力
方案二:可以看看 KBERT 这篇论文,找一找灵感
方案三:直接把上述信息作为文本+论坛发言一起输入到 bert 中
简单的想了想,不一定真的有效
LeeReamond
2023-03-14 16:51:16 +08:00
@ytgui 只是讨论一下可行性和经验,毕竟没有时序数据外再加数据,然后用注意力关注的经验。另外位置编码近两年在时序数据上不是被诟病的蛮多的,去年鼎会很多这方面的文章,我感觉不太行所以来问问
LeeReamond
2023-03-14 16:52:58 +08:00
@LeeReamond 楼主提到的层编码的方式我试过是可以跑的,但是我附加的维数只有一维所以可能没什么代表性
nonduality
2023-03-17 18:52:10 +08:00
某乎搜“如何将专家知识编码入神经网络”,你要加的信息就属于先验。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/923912

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX