研一学的知识图谱,做医疗方面的知识表示学习,但现在很没有头绪,如果我做预测类,我到底是用嵌入型模型还是预训练模型,因为主要做的是文本,比如我现在用K-BERT接下来该怎么办呢,一周一次组合开的也让人头昏脑涨的,没有进度,希望各位解解惑
如果你只关注预测类任务,建议使用预训练模型,因为预训练模型已经在大规模文本数据上进行了预训练,具有更强的泛化能力,可以提高预测的准确性,
如果你想使用 K-BERT 进行下游任务的 fine-tune,
可以参考这样的步骤
准备数据集,将文本数据转换成可以被模型处理的格式,例如 tokenization、padding 等预处理步骤。
加载 K-BERT 模型,并进行 fine-tune。可以使用 Hugging Face 的 Transformers 库来方便地加载和训练模型。
然后,这方面的东西如果你是刚着手的话, 建议1. 多看一些博客啥的,2 多和你的学哥学姐交流 , 最好有个脑图啥的 可能会更方便梳理你的思路
给个采纳哦
我建议你用预训练模型处理文本,切入型预测,如果绝对用K-BERT,可以用Google cloud这些云计算平台训练数据,训练以后要对模型微调后进行召回率评估,目前网上也有很多类似BioBERT现成模型直接使用训练,跟你的师兄姐多请教吧
嗯,拆分开来给你解析。
首先,做预测类任务时,嵌入型模型和预训练模型都是常用的方法,选择哪种模型取决于你的数据集和任务。
其次,那怎么做区分和判定标准,可以根据数据集大小来做依据。数据集较大,且你的任务是分类或回归,那么嵌入型模型可能更适合。
数据集较小,或者你需要处理更复杂的自然语言任务,如问答系统等,那么预训练模型可能更适合。
研究生大佬,本科生爱莫能助
你可以两种模型都试试,说不定有惊喜
不知道你这个问题是否已经解决, 如果还没有解决的话:ALBERT的作者提出了一个很漂亮的解构嵌入层的方法。在BERT和XLNet中,embedding size E和hidden size H大小一样。从模型的角度来看,嵌入层是用来学习独立于环境的表征(context-independent representations),而隐藏层的embeddings是用来学习与环境有关(想一想Transformer的attention module)的表征(context-independent representations)。这二者没有必要保持embedding大小一致,完全可以解耦。
从实用的角度来看,嵌入层的vocabulary size V一般都是10K的量级。为了模型的精度,H一般很大。如果E=H,则嵌入层的参数大小V×\times×H。这很容易就导致模型有超多参数。
矩阵分解的做法是,把原来的嵌入层矩阵(大小V×\times×H)投影到一个低维的空间(维度为E, E<<H),然后再从这个空间投影到隐藏层的空间(维度H)。算一笔账:原来的嵌入层大小是O(V×\times×H),经过矩阵分解,嵌入层的参数大小合计为O(V×\times×E+E×\times×H)
当H远大于E时,这种参数化方法效果显著。
针对如何在医疗方向的知识表示学习中使用K-BERT以及嵌入型模型和预训练模型的选择问题,以下是解答:
关于预训练模型的选择,目前常用的包括BERT、RoBERTa、ALBERT、ERNIE等,它们有着相同的基础架构,但在预训练技术上略有差别,具体可以根据自己的数据集和任务需求选择。
关于嵌入型模型和预训练模型的选择,一般来说,预训练模型的效果会更好,因为它可以利用更充足的数据进行预训练,从而提高模型的泛化能力。不过在一些特定情况下,比如数据量较小,可以选择使用嵌入型模型。
关于K-BERT的使用,K-BERT是针对中文预训练的BERT模型进行的改进,它加入了知识库的信息来提高模型的表现。使用K-BERT的步骤可以参考以下:
a. 首先需要准备好知识库的数据集,将知识库中的实体、属性和关系导入到图数据库中,并且将原始语料数据转换为KG数据。
b. 利用KG数据进行预训练,目前常用的是基于TransE模型的预训练方法。
c. 在使用K-BERT进行fine-tuning时,需要将知识库中的实体、属性和关系映射到bert的token上,以便模型能够利用这些信息。