CN116204642B - 数字阅读中角色隐式属性智能识别分析方法、系统和应用 - Google Patents
数字阅读中角色隐式属性智能识别分析方法、系统和应用 Download PDFInfo
- Publication number
- CN116204642B CN116204642B CN202310205617.6A CN202310205617A CN116204642B CN 116204642 B CN116204642 B CN 116204642B CN 202310205617 A CN202310205617 A CN 202310205617A CN 116204642 B CN116204642 B CN 116204642B
- Authority
- CN
- China
- Prior art keywords
- attribute
- text
- character
- loss
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims abstract description 52
- 238000012549 training Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 43
- 239000011159 matrix material Substances 0.000 claims abstract description 34
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 238000013508 migration Methods 0.000 claims abstract description 6
- 230000005012 migration Effects 0.000 claims abstract description 6
- 238000002372 labelling Methods 0.000 claims description 26
- 238000000605 extraction Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 15
- 238000013526 transfer learning Methods 0.000 claims description 9
- 238000012512 characterization method Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000000052 comparative effect Effects 0.000 claims 1
- 241000721047 Danaus plexippus Species 0.000 description 7
- 230000006872 improvement Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 244000249914 Hemigraphis reptans Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 4
- 241000203069 Archaea Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000000227 grinding Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 206010061619 Deformity Diseases 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000001717 pathogenic effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010013954 Dysphoria Diseases 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001988 toxicity Effects 0.000 description 1
- 231100000419 toxicity Toxicity 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种角色隐式属性智能识别分析方法,包括:使用小说领域的语料对基于BERT的预训练模型进行迁移学习,获得MLM调整过的BERT的预训练模型;获取包含有角色及其属性的角色属性小说文本数据集,预处理获得带角色属性标注的文本;将正常文本的内容使用提示学习Prompt的建模方式转为新的文本序列,并将文本序列转换为文本向量InputEmbedding;将提示学习中获得的PromptText字符序列使用对比学习的建模方式构建同一文本序列中不同角色的属性特征集合,并针对角色属性特征集合构建属性类型对特征矩阵;使用主动学习对数据质量进行提纯;进行新文本的角色属性预测,自动化产出角色属性结果,再对结果作聚合投票产出最终角色属性类型。本发明还公开了实现上述方法的系统。
Description
技术领域
本发明属于文本信息分类技术领域,涉及一种角色隐式属性智能识别分析方法、系统和应用。
背景技术
近年来,随着互联网渗透率的不断提升与国家对文化软实力建设的显著增强,网络文学的市场也随之高速发展。“读小说”与“听书”开始逐渐成长为一种新的国民阅读方式,用户开始逐渐从传统的纸质阅读转换为使用手机等电子设备进行在线阅读与在线听书。这种新兴的阅读与听书方式相比传统阅读更为快捷和简便,用户也可以更高效地利用碎片时间来阅读网络文学作品。尽管目前的电子阅读与听书系统已经很成熟,但是对于一些优质的长篇网文小说,由于其世界观较为宏大、故事情节跌宕起伏、人物图谱较为复杂,在近千章节数与近百万字数的规模下,读者在阅读过程中难免会对一些角色的细节设定因存在遗忘现象而产生快速回查的需求,而完备的设定集与人物角色图谱的存在可以让用户在阅读过程中更好的了解、回查相关小说细节,从而带来更好的沉浸式阅读体验。因此,构建小说中相关角色的设定集与人物角色图谱成为了提升用户体验的一大难题。
目前业界没有类似技术或解决方案。常规方法是依赖人工对小说中相关的人物属性进行校验与标注,然后整理形成相关角色设定集与人物角色图谱。在此过程中,对于部分角色显式属性,如:功法、技能、绝招口诀、武器名、宠物、载具等,业界可能会使用抽取模型或者判别模型来辅助人工标注;然而对于小说中诸如性别、年龄、性格等角色隐式属性,目前暂无较好的解决方案。
角色显式属性是指在小说剧情发展过程中,凡出现章节均会直接提及的角色属性,如在小说《斗破苍穹》中萧炎的自创绝招“佛怒火莲”、他收集的异火“青莲地心火”;而角色隐式属性指的是仅在少数章节会直接或间接提及、在绝大多数章节均不再提及的角色属性,如萧炎的年龄,在初始章节交代人物设定时会交代其是“乌坦城天才少年、十一岁突破十段斗之气、之后荒废的三年”,可以推断出他是十四岁的少年,然后随着剧情发展,伴随着往往是“数月后、数年后”等模糊描述,角色的年龄甚至需要根据角色的成长经历、外貌描述、说话语气、相关人物年龄等来推定。由此可见小说中角色隐式属性的识别是一个较难的问题。
目前业界内角色属性识别方法主要有两种:
1)抽取模型:抽取模型一般采用基于命名实体识别(Named Entity Recognition,NER)技术,以抽取关键词的方式对小说角色相关的预定义属性类型进行抽取。然而,这种抽取式方法具有较大的局限性:(1)不直接支持隐式属性识别;(2)属性识别链路长。例如:“花宗之内强者如云,那代宗主也不足为虑,以你如今的实力,要收拾她并不难,略微棘手的,是她的伴侣妖花邪君,不过我想你应该能够解决”,在这段小说描写中,抽取式方法可以抽取出“代宗主、她、伴侣、妖花邪君”等关键词,但是要必须要依赖诸多下游任务才能完成最终的角色属性识别。比如,需基于指代消解得到“她”指代的是“代宗主”,“妖花邪君”指代“代宗主的伴侣”;再基于语义关系得到“代宗主的伴侣”性别是“男”等信息。复杂繁多的模型链路无疑会增加错误传导的概率,这将大大降低抽取系统对于角色属性识别的可靠性;
2)判别模型:较新的判别大多基于预训练等技术,以分类的形式对小说角色相关的预定义属性类型进行判别;现有的判别模型大多基于诸如BERT等预训练模型的CLS特殊语义标志位来做分类任务,然而,这种判别式方法也存在诸多局限:(1)由于BERT的词向量在空间分布中存在各向异性的问题,即分布不均与低频空间稀疏,使用CLS作为语义编码表征应用在下游任务时会存在语义偏弱的情形;(2)无法有效应对同一段文本中对多个角色的多个属性进行判别的情形;(3)整体模型结构简单,未考虑不同角色相同属性类型的异同,从而无法学习到同类属性之间的共同特征,无法区分非同类属性直接的不同之处;
对于隐式的角色属性抽取工作,现有方法的主要问题在于:
1)复杂低效:抽取式模型无法对角色隐式属性直接进行有效抽取,即使抽取出部分关键词也必须再结合诸如指代消解、关系判断等多个下游模型才能解决,整个抽取系统显得庞大复杂而低效;
2)准确率较低:无论是抽取模型还是判别模型,由于各自的缺陷导致最终的角色属性识别的准确率较低,无法达到小说场景下的工业精度要求;
3)无法一次识别多角色的多属性结果:如图1所示,抽取模型需对抽取结果做通用归一化处理才能得到最终结果;如图2所示,判别模型需使用CLS标志位对同一段文本进行多次编码表征的方式,这将大幅增加重复计算与影响最终数据的统计分布;
因此,目前亟需一种单一高效、高准确率与一次覆盖识别所有角色所有属性的方案。
发明内容
为了解决现有技术存在的不足,本发明的目的是提供一种角色隐式属性智能识别分析方法和系统。该角色隐式属性智能识别分析方法和系统能够有效识别小说中不同角色的不同隐式属性,如:性别、年龄、性格等。本发明能够根据网文中的小说情节发展,自动产出多场景、多角色、多属性的结构化抽取结果,从而能够自动生成相关小说按时间线发展的人物设定集、人物属性图谱等知识库,同时也可以利用角色属性信息辅助音频书的生成,使其音色更为丰富和准确,进而产出高质量的商用小说阅读器与有声作品。
本发明中的角色隐式属性智能识别分析方法使角色属性的识别单一高效、准确率高、一次全覆盖,具体步骤如下:
步骤1.使用小说领域的语料对基于BERT的预训练模型进行迁移学习;
本发明中,使用的小说领域的语料为无标注文本,使用迁移学习(TransferLearning)将通用域的词向量表征知识向目标域小说领域的词向量迁移,从而使得开源预训练模型能够学习到特定小说领域的语法、语义、句法等知识;迁移学习带来的好处是显而易见的:首先可以避免从零开始学习词向量特征,这将加快并大大提升优化模型的效率;其次,迁移学习将已经训练好的开源预训练模型参数迁移至新的模型可以帮助新模型训练,比如可以使微调后的模型初始性能更高、在下游任务训练过程中可以使模型提升的速率更快、使得模型收敛更好。
本发明中,迁移学习使用开源的BERT-Base-Chinese模型,在小说领域语料上,使用Masked Language Model(MLM,掩码语言模型)任务进行微调。由于MLM任务可以方便地在无监督数据集上展开,因此这种微调方式不需要任何人工标注数据。但需要注意的技术难点是,掩码比例与掩码策略。在400G语料规模的小说领域数据集上,本发明采用15%~20%的掩码比例效果较好,并对字粒度进行whole word masking(wwm,全词mask)的掩码。采用wwm全词掩码是因为,在小说领域有很多重要的实体信息,比如:角色名称、功法名字、宗派名字等,对这些完整的词如果使用部分随机mask的方式会丢失一些关键的语义信息,因此本发明没有采用BERT原文所提及的随机mask掩码的方式,选用了更适合小说领域场景的wwm全词掩码方式。训练过程中所使用的损失函数为交叉熵(Cross Entropy Loss),当随着训练epoch数的增加,损失loss不再降低时表明迁移学习的微调训练已经接近收敛,这时可以选择early stopping的策略停止训练,early stopping策略能够防止模型过拟合。
需要补充说明的是,本发明在研究过程中有实验过不同掩码比例的微调模型效果,发现15%~20%的掩码效果最佳,15%的掩码比例效果最好,当超过20%时会出现明显的性能下降;而wwm全词掩码相比随机掩码,可以在下游分类任务上带来1%的性能提升。这一点其实也是具备可解释性的,比如小说《斗破苍穹》中的一段描写:“若干年后,少年萧炎与少年古薰儿……”如果使用随机mask的方式,该段文本变为“若干年后,少年萧[MASK]与少年古薰儿……”,MLM预训练任务需要对“萧[MASK]”进行预测,这里的[MASK]有可能是萧战、萧晨、萧媚等一系列《斗破苍穹》中的萧家人物,这对于模型的训练本身会带来很大程度上的语义干扰;而如果使用全词wwm掩码的方式,该段文本变为“若干年后,少年[MASK][MASK]与少年古薰儿……”,MLM预训练任务需要对“[MASK][MASK]”进行预测,模型会依据与“古薰儿”的共现关系更容易判断出这里是与“古熏儿”关系较近的两个字的人名,从而更好的学习到完整角色名字的向量特征。
步骤2.获取包含有角色及其属性的角色属性小说文本数据集,角色属性小说文本数据集为中文小说语料的子集,且包含角色名及其属性的标注结果,而在迁移学习时所使用的中文小说语料为无标注文本。所述角色属性小说文本数据集中的各个文本信息存在对应的角色名及其对应的性别、年龄、性格等属性值;
步骤3.对获取的角色属性小说文本数据集进行数据预处理;其中,数据预处理主要包括对文本信息中超过BERT预训练模型预设最大文本序列长度max_seq_len=256的异常文本进行切段处理从而得到正常段落文本,并对文本的角色信息进行提取。由于小说是排版较为规范的网络出版物,因此其本身带有较多标点符号。本发明中的切段预处理并不是直接对文字依据长度进行截断,而是会优先基于段落信息(换行符\n)与断句符号(句号、感叹号、问号、省略号等)进行顺序拼接,长度不超过256即为一段;若是不满足,则会依据逗号、顿号等符号进行顺序拼接,长度不超过256即为一段,从而确保连贯的语义不会被非自然截断。同时使用字符匹配与序列标注交叉校验的方式提取角色名,并通过人工标注预存属性值结果,标注结果形式为(角色名,属性值)的键值对,从而得到每一个正常文本中不同角色的角色名并通过查表匹配的方式扩展得到其对应的性别、年龄、性格等属性值的标注结果;
本发明的字符匹配与序列标注交叉校验的过程使用自研的序列标注模型NER,与现有类似模型相同的是,自研序列标注模型NER同样使用BERT+CRF的模型结构,区别在于使用自研领域数据进行微调,优于开源通用抽取效果。序列标注模型一般会按词性对文本序列进行标注,得到诸如:地点、人名、时间、功法技能等标注,在预处理环节,仅取文本中识别结果为PER(人名)的字符序列作为角色抽取结果;为了确保角色名抽取的质量,还通过字符匹配的方式对人名抽取结果进行查表匹配,小说人名表格来源于自研NER模型的统计结果,即统计整本小说所抽取出的人名并按频数进行降序排序,取Top50的人名结果作为主要角色并将Top50统计结果存表。通过查表匹配的方式,若使用自研NER模型抽取出的人名字符在该书名对应的人名列表中,则匹配成功算通过交叉验证;否则,匹配失败,丢弃该人名抽取结果。
需要注意的是,在训练阶段使用Top50的主要角色名字的考量在于,一是高频的名字在一定意义上可以代表序列标注结果的高可用性,低频的名字往往是一些抽取的错误字符片段;二是高频角色所对应的性别、年龄、性格等属性的标注相比低频角色会更容易些,标注人员对于高频热门角色的属性把握与标注准确率会比低频角色高不少。而在预测阶段,本发明会对所有角色进行预测,不区分高频低频角色。
在上述步骤完成后,用Aspect-level联合建模进行后续分析,Aspect-level联合建模指通过提示学习、对比学习与主动学习等多种技术对文本中每个角色的每个属性同时进行建模分析。
步骤4.将正常文本的内容使用提示学习(Prompt)的建模方式转为新的文本序列,并将文本序列输入步骤1中微调后的BERT的预训练模型得到文本向量InputEmbedding;
所述Prompt建模具体如下:对正常的文本内容InputText={s1,…,si,…,sm},其中si(1≤i≤m)表示InputText中第i个文本字符,对InputText引入Prompt属性提示词[MASK],不同角色Namei之间的Prompt提示模版以[SEP]符号分隔,并最终处理为如下Prompt模版格式:PromptText=[CLS]+Name1+的性别是+[MASK]+年龄是+[MASK]+性格是+[MASK]+[SEP]+…+Namen+的性别是+[MASK]+年龄是+[MASK]+性格是+[MASK]+[SEP]+InputText={token1,…,tokeni,…,tokenn}
需要注意的是,si表示原文本的字符序列,tokeni表示加入Prompt模版及特殊编码字符后的新文字序列,新文字序列长度与PromptText经BertTokenizer分词后的编码表征序列长度一致。
这样使得模型可以借助[MASK]处的语义编码向量在同一段对话中识别出角色对应的不同属性信息,并且根据[SEP]分隔符可以区分不同角色的属性信息;从而得到同一段小说文本中不同角色对应的不同属性信息,其中,同一角色会分别识别性别、年龄和性格等属性特征。随后将由Prompt提示学习构建的文本序列PromptText作为模型输入得到模型的输入编码表征InputEmbedding,即文本向量。
获得的文本向量的形式大致如下:
文本向量其中I={id1,…,idi,…,idn},idi是PromptText中第i个字符经BertTokenizer处理得到文本向量的词嵌入表征(input_ids)向量;A={a1,…,ai,…,an},/>表示当takeni是原始字符时位置编码(attention_mask)为1,当tokeni是padding字符位置编码为0;M={m1,…,mi,…,mn},
表示第i位的提示词[MASK]表征是何种类型的属性提示词编码(mask_position)特征。
步骤5.将PromptText字符序列使用对比学习的建模方式构建同一文本序列PromptText中不同角色的属性特征集合,并针对角色属性特征集合构建属性类型对特征矩阵
其中,mai(1≤i≤n)表示不同属性的类型对特征矩阵,例如表示性别属性类型对特征矩阵,/>表示当PromptText字符序列中tokeni的真实属性类型标签与tokenj对应的真实属性类型标签相同时取1,否则取0;/>表示年龄属性类型对特征矩阵;表示性格属性类型对特征矩阵;年龄属性类型对特征矩阵和性格属性类型对特征矩阵中xij的取值条件与性别属性类型对特征矩阵中的相同。
步骤6.根据文本向量构建提示学习损失Loss_prompt:
根据步骤4所得的文本向量I={id1,…,idi,…,idn}、A={a1,…,ai,…,an},输入步骤1中微调后的BERT模型,得到逻辑输出:
BERToutputs=BERT(input_ids=I,attention_mask=A),
取逻辑输出的最后一层隐状态作为BERT对Prompt提示学习模版的编码表征,即Logits=BERToutputs.last_hidden_state,其维度为[batch_size,seq_len,hidden_size],其中batch_size表示批处理规模,seq_len表示文本长度,hidden_size表示编码向量每一维的大小;
根据步骤4所得的文本向量M={m1,…,mi,…,mn},首先将向量M转为0-1矩阵N={n1,…,ni,…,nn},其中然后按位取出逻辑值Logits中对应位置非0处的向量得到提示学习prompt模版所对应的MASK表征序列,即Logits_prompt=[li,…,lj],其中/>将Logits_prompt送入分类器得到最终的提示学习分类表征Logits_mask=Classifier(Logits_prompt),其维度为[batch_size,num_labels],num_labels含义为属性标签数量,即真实类别标签序列Labels={label1,…,labeli,…,labeln}中的标签数量计数n;
提示学习损失Loss_prompt=CrossEntropyLoss(Logits_mask,Labels),其中其中n表示样本标签数量,p(xi)表示第i个标签的真实概率分布,q(xi)表示第i个标签的预测概率分布;
7.根据属性类型对特征矩阵构建对比学习损失Loss_contrastive:
其中,B表示训练时batch_size大小,yi与yj分别表示不同角色相同属性类型的真实标签,表示在大小为B的批处理数据中真实标签为yi的数量,
vi与vj是不同角色的同类型属性i,j在Logits中的向量编码,即
vi=Logits[:,i,:],vj=Logits[:,j,:],si,j是属性i,j对应的向量编码vi与vj的cosine相似度距离,t为温度系数,所述温度系数用于调节对困难样本的区分度。困难样本指与本样本表征相似但标签不同的样本,引入温度系数可以将与本样本相似的困难样本分开,从而使得样本的表征更为均匀。在本发明中可以指那些与需要的角色样本相比,属性相似,但是角色属性标签不同的样本。
引入对比学习可以将同一batch中不同角色相同类型属性间相同的视为正例,与它不同的视为负例,即中为1的元素位置表示正例对,为0的元素位置表示负例对。Matrix矩阵的引入可以加速寻找不同角色同类型属性的异同,从而加速Loss_contrastive的实际计算。对比学习的作用在于可以使得同类语义表征更近,不同类语义表征更远。
步骤8.拼接提示学习损失Loss_prompt与对比学习损失Loss_contrastive,得到模型最终损失Loss_fihal:
Loss_final=w1*Loss_prompt+w2*Loss_contrastive
将上述两部分loss按权重比例进行相加,得到模型的最终损失函数;w1+w2=1,在实际操作中,w1=0.5,w2=0.5。
迭代训练模型,直到模型训练过程中的loss开始收敛,这时采用early stopping的策略,终止模型迭代训练任务,保存记录下模型参数;early stopping策略能够获得训练过程中得到的效果最好的模型,同时能够防止过拟合。
步骤9.使用主动学习进一步提纯数据质量
由于与角色的隐式属性有关的小说文本存在典型描述与非典型描述的区分,如“若干年后,少年萧炎和少女古熏儿,进入天墓历练。”这段描述中,萧炎与古薰儿的性别与年龄均为典型描述,分别是:萧炎(男性、青年),古薰儿(女性,青年),但是关于萧炎与古薰儿的性格则为非典型描述,无法看出他们的性格如何。而主动学习的目标正是将不典型的描述挖掘出来,实现方式也很简单,设定一个属性预测概率阈值p,若超过该阈值则认为是典型描述,保留该属性的标注;若未超过则认为是非典型描述,删除该属性的标注数据。以此迭代,直至模型效果不再有增益。
所述典型描述是指能直接从文本中获得的属性信息,所述非典型描述是指不能直接从文本中获得的属性信息。
所述数据质量可以通过有效数据占总数据的占比评价,由于标注偏差的存在将使标注集不可避免的存在噪声数据,降低噪声数据的比例将有助于提升数据质量。
步骤10.在通过上述方法训练得到模型后,对于新的书籍,本发明使用预测的方式自动化产出角色属性结果,再对结果作聚合投票产出最终角色属性类型;
如图7所示,使用模型对书籍中所有段落文本进行预测,得到角色名及其对应的各属性类型结果;记一条文本所产出的结果为:
{name:(gender(name),age(name),character(name)),......},
其中,name为文本段落中抽取出的角色名,
即角色名性别由最大预测概率对应的类别决定,同理,
如果涉及到其他角色属性,可以以类似的方法进行表示;
对所有产出结果进行聚合,得到角色粒度的属性频数分布
最终使用投票表决的方式,以每个角色每种属性的最大频数值对应的属性类型作为最终属性类型。
图4中,置信度量p为0-1之间的分类概率值,p值越接近1,模型认为分类结果越可信度越高;反之,亦然。
虽然本发明仅对性别、年龄、性格等多种隐式属性进行了描述,但是本发明的方法是一种通用方案,包含但不限于上述这三种属性类型的识别工作。不同属性类型的识别在模型结构上无需作调整。
本发明还提出了一种实现上述角色隐式属性智能识别分析方法的系统,所述系统包括:文本输入模块、角色属性智能识别分析模块、角色属性输出模块;
其中,所述文本输入模块用于将待进行角色属性分析的文本输入到角色属性智能识别分析模块中;
所述角色属性智能识别分析模块用于对输入的文本进行分析,获得不同角色的隐式属性;
所述角色属性输出模块用于输出角色属性智能识别分析模块分析获得的不同角色的隐式属性。
在获得不同角色的隐式属性后,还可以用于后续自动生成相关小说按时间线发展的人物设定集、人物属性图谱等知识库,同时也可以利用角色属性信息辅助音频书的生成,使其音色更为丰富和准确,进而产出高质量的商用小说阅读器与有声作品。
本发明的有益效果包括:本发明提出了一种角色隐式属性智能识别分析方法,所述方法采用prompt提示学习、对比学习、主动学习等多种技术,使得角色隐式属性在识别的过程中可以单一高效、准确率高、一次全覆盖识别多角色多属性,从而达到了自动化构建角色设定集与人物角色图谱的目的,使读者在阅读过程中更好的了解、回查相关小说细节,拥有更好的沉浸式阅读体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中一种抽取式的角色属性识别流程图。
图2是现有技术中一种判别式的角色属性识别流程图。
图3是本发明角色属性智能识别分析方法流程图。
图4为本发明方法运行过程中执行的训练步骤图。
图5为本发明属性对特征的一个示意图。
图6为本发明实施例中的一个示意图。
图7为本发明方法运行过程中执行的预测步骤图。
图8为本发明实施例中的示意图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提供了一种角色隐式属性智能识别分析方法,所述方法包括如下步骤:
步骤一、使用小说领域的语料对基于BERT的预训练模型进行迁移学习,获得掩码语言模型MLM调整过的BERT的预训练模型;
步骤二、获取包含有角色及其属性的角色属性小说文本数据集,并进行预处理,获得带角色属性标注的文本;
步骤三、将正常文本的内容使用提示学习Prompt的建模方式转为新的文本序列,并将文本序列输入步骤一中掩码语言模型MLM调整过的BERT的预训练模型得到文本向量InputEmbedding;
步骤四、将步骤三的提示学习中获得的PromptText字符序列使用对比学习的建模方式构建同一PromptText文本序列中不同角色的属性特征集合,并针对角色属性特征集合构建属性类型对特征矩阵;
步骤五、拼接提示学习和对比学习的损失,并使用主动学习对数据质量进行提纯;
步骤六、利用步骤一~五中获得的模型进行新文本的角色属性预测,自动化产出角色属性结果,再对结果作聚合投票产出最终角色属性类型。
实施例
1.使用小说领域的语料对基于BERT的预训练模型进行迁移学习;
本发明中,迁移学习使用开源的BERT-Base-Chinese模型,在小说领域语料上,使用Masked Language Model(MLM,掩码语言模型)任务进行微调。由于MLM任务可以方便地在无监督数据集上展开,因此这种微调方式不需要任何人工标注数据。唯一需要注意的是掩码比例与掩码策略。本发明在400G语料规模的小说领域数据集上,语料来源为起点中文网上知名小说集合,如:《斗破苍穹》、《大主宰》、《斗罗大陆》、《赘婿》等。采用与BERT原文一致的15%的掩码比例,并对字粒度进行whole word masking(wwm,全词mask)的掩码;经诸如分类、情感判断、阅读理解等多项下游任务评估后发现,使用15%掩码比例的微调模型效果最佳,15%~20%区间内掩码比例的效果略有下降,如在下游分类任务上,使用15%~20%区间内掩码比例微调而来的预训练模型会比使用15%掩码比例的微调模型在F1指标上性能降低0.3%,区间外的效果下降比较明显。微调过程中的其他关键参数如下:训练轮次为50万steps,batch size为4k,训练过程中所使用的损失函数为交叉熵(Cross EntropyLoss),当随着训练epoch数的增加,损失loss不再降低时表明迁移学习的微调训练已经接近收敛,这时可以选择early stopping的策略停止训练。
2.获取包含有角色及其属性的角色属性小说文本数据集,所述属性文本数据集中的各个文本信息存在对应的角色名及其对应的性别、年龄、性格等属性值;
如图6所示,以《斗破苍穹-萧炎云韵篇》为例,角色属性小说文本数据集中包括:
1)角色名:萧炎、古薰儿、云韵、妖花邪君、赤焰邪君;
2)性别:萧炎(男性)、古薰儿(女性)、云韵(女性)、妖花邪君(男性)、赤焰邪君(男性);
3)年龄:萧炎(青年)、古薰儿(青年)、云韵(青年)、妖花邪君(中年)、赤焰邪君(中年);
4)性格:萧炎(正义)、古薰儿(正义)、云韵(正义)、妖花邪君(邪恶)、赤焰邪君(邪恶);
关于人物性格的定义,在实际工业应用中会作进一步细化,如:正义包含仁慈、机智、睿智、威严、坚毅等30余种正向性格;亦正亦邪包含不羁、粗心、敏感、纨绔等20余种中性性格;邪恶包含暴躁、粗鲁、恶毒、贪婪等20余种负向性格;在本发明的说明中为了便于解释说明故精简为3大类性格类型;
3.对获取的角色属性小说文本数据集进行数据预处理;其中,数据预处理主要包括对文本信息中超过BERT预训练模型预设最大文本序列长度max_seq_len=256的异常文本进行切段处理从而得到正常段落文本,并对文本的角色信息进行提取。由于小说是排版较为规范的网络出版物,因此其本身带有较多标点符号。本发明中的切段预处理并不是直接对文字依据长度进行截断,而是会优先基于段落信息(换行符\n)与断句符号(句号、感叹号、问号、省略号等)进行顺序拼接,长度不超过256即为一段;若是不满足,则会依据逗号、顿号等符号进行顺序拼接,长度不超过256即为一段,从而确保连贯的语义不会被非自然截断。同时使用字符匹配与序列标注交叉校验的方式提取角色名,从而得到每一个正常文本中不同角色的角色名及其对应的性别、年龄、性格等属性值的标注结果;
本发明的字符匹配与序列标注交叉校验的过程使用自研的序列标注模型NER,序列标注模型一般会按词性对文本序列进行标注,得到诸如:地点、人名、时间、功法技能等标注,在预处理环节,仅取文本中识别结果为PER(人名)的字符序列作为角色抽取结果;为了确保角色名抽取的质量,还会通过字符匹配的方式对人名抽取结果进行查表匹配,小说人名表格来源于自研NER模型的统计结果,即统计整本小说所抽取出的人名并按频数进行降序排序,取Top50的人名结果作为主要角色并将Top50统计结果存表。通过查表匹配的方式,若使用自研NER模型抽取出的人名字符在该书名对应的人名列表中,则匹配成功算通过交叉验证;否则,匹配失败,丢弃该人名抽取结果。
4.将正常文本的内容使用提示学习(Prompt)的建模方式转为新的文本序列,并将文本序列输入步骤1中微调后的BERT的预训练模型得到文本向量InputEmbedding;
所述Prompt建模具体如下:对正常的文本内容InputText={s1,…,si,…,sm},其中si(1≤i≤m)表示InputText中第i个文本字符,对InputText引入Prompt属性提示词[MASK],不同角色Namei之间的Prompt提示模版以[SEP]符号分隔,并最终处理为如下Prompt模版格式:PromptText=[CLS]+Name1+的性别是+[MASK]+年龄是+[MASK]+性格是+[MASK]+[SEP]+…+Namen+的性别是+[MASK]+年龄是+[MASK]+性格是+[MASK]+[SEP]+InputText={token1,…,tokeni,…,tokenn}
如图4所示,原始的文本序列为“若干年后,少年萧炎和少女古熏儿,进入天墓历练。”,由于该段无相关人物角色的性格特征表述,故仅包含年龄与性别的属性标注结果,性格为缺省状态。因此该原始文本在Prompt模版下处理为:“[CLS]萧炎的性别是[MASK]年龄是[MASK][SEP]古熏儿的性别是[MASK]年龄是[MASK][SEP]若干年后,少年萧炎和少女古熏儿,进入天墓历练。”将该Prompt模版经BertTokenizer处理即可得到文本向量,其中文本向量包含三部分:
1)词嵌入表征(input_ids)向量I:input_ids是文本序列在Bert词表中的id序列化结果,上述Prompt模版所对应的序列化id为:[101,5854,4142,4638,2595,1166,3221,103,2399,7977,3221,103,102,1367,4221,1036,4638,2595,1166,3221,103,2399,7977,3221,103,102,5735,2397,2399,1400,8024,2208,2399,5854,4142,1469,2208,1957,1367,4221,1036,8024,6822,1057,1921,1867,1325,5298,511,102],其中101表示[CLS]标志位,103表示[MASK]标志位,102表示[SEP]标志位,其余为文字序列经BertTokenizer分词处理后对应的id序号;
2)位置编码(attention_mask)向量A:attention_mask是一个0/1序列,在于表征哪些是原始字符,哪些是padding字符。由于在训练阶段,往往是使用batch的形式来批处理加速训练,因此会对Prompt模版进行padding补0,直接模版长度为256。因此上述Prompt模版的id序列对应位置处的attention_mask值为1,padding对应位置处的attention_mask为0;
3)提示词编码(mask_position)向量M:mask_position用于记录不同角色的提示词[MASK]
表征第几位属性特征,其中:性别为1、年龄为2、性格为3,其余为0;上述Prompt模版的mask_position为:[0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,...,0],可以看到由于上述Prompt模版未提及性格属性,故mask_position只有性别1和年龄2的提示标志;
5.将PromptText字符序列使用对比学习的建模方式构建同一文本序列中不同角色的属性特征集合,并针对角色属性特征集合构建属性类型对特征矩阵
其中,mai(1≤i≤3)表示不同属性的类型对特征矩阵,表示性别属性类型对特征矩阵,/>表示当PromptText字符序列中tokeni的真实属性类型标签与tokenj对应的真实属性类型标签相同时取1,否则取0;/> 表示年龄属性类型对特征矩阵;/>表示性格属性类型对特征矩阵;年龄属性类型对特征矩阵和性格属性类型对特征矩阵中xij的取值条件与性别属性类型对特征矩阵中的相同。
所述对比学习具体如下:对正常的文本内容按不同角色相同属性构建属性类型对特征矩阵,并按二元配对的方式判断不同角色的属性是否相同,若相同则在对应位置置为1,若不同则在对应位置置为0,若值不存在则在对应位置为-1。以上述提及的Prompt模版为例,萧炎与古薰儿的性别为一组属性类型对,由于性别不同故值为0;萧炎与古薰儿的年龄为另一组属性类型对,由于年龄相同故值为1;若转换为矩阵的形式,参考图5所示,上述Prompt模版的属性类型对特征可以用三个矩阵表示:
1)性别属性类型对特征矩阵:[[1,0],[0,1]],其中角色1为萧炎,角色2为古薰儿;
2)年龄属性类型对特征矩阵:[[1,1],[1,1]],其中角色1为萧炎,角色2为古薰儿;
3)性格属性类型对特征矩阵;[[-1,-1],[-1,-1]],其中角色1为萧炎,角色2为古薰儿;以此得到文本内容关于属性类型对特征。
6.根据文本向量构建提示学习损失Loss_prompt:
根据步骤4所得的文本向量I={id1,…,idi,…,idn}、A={a1,…,ai,…,an},输入步骤1中微调后的BERT模型,得到逻辑输出:
BERToutputs=BERT(input_ids=I,attention_mask=A),
取逻辑输出的最后一层隐状态作为BERT对Prompt提示学习模版的编码表征,即Logits=BERToutputs.last_hidden_state,其维度为[batch_size,seq_len,hidden_size],其中batch_size表示批处理规模,seq_len表示文本长度,hidden_size表示编码向量每一维的大小;
根据步骤4所得的文本向量M={m1,…,mi,…,mn},首先将向量M转为0-1矩阵N={n1,…,ni,…,nn},其中然后按位取出逻辑值Logits中对应位置非0处的向量得到提示学习prompt模版所对应的MASK表征序列,即Logits_prompt=[li,…,lj],其中/>将Logits_prompt送入分类器得到最终的提示学习分类表征Logits_mask=Classifier(Logits_prompt),其维度为[batch_size,num_labels],num_labels含义为属性标签数量,即真实类别标签序列Labels={label1,…,labeli,…,labeln}中的标签数量计数n;
提示学习损失Loss_prompt=CrossEntropyLoss(Logits_mask,Labels),其中其中n表示样本标签数量,p(xi)表示第i个标签的真实概率分布,q(xi)表示第i个标签的预测概率分布;
7.根据属性类型对特征矩阵构建对比学习损失Loss_contrastive:
其中B表示训练时batch_size大小,yi与yj分别表示不同角色相同属性类型的真实标签,表示在大小为B的批处理数据中真实标签为yi的数量,
vi与vj是不同角色的同类型属性i,j在Logits中的向量编码,即
vi=Logits[:,i,:],vj=Logits[:,j,:],si,j是属性i,j对应的向量编码vi与vj的cosine相似度距离,t为温度系数。
引入对比学习可以将同一batch中不同角色相同类型属性间相同的视为正例,与它不同的视为负例,即中为1的元素位置表示正例对,为0的元素位置表示负例对。Matrix矩阵的引入可以加速寻找不同角色同类型属性的异同,从而加速Loss_contrastive的实际计算。对比学习的作用在于可以使得同类语义表征更近,不同类语义表征更远。
8.拼接提示学习损失Loss_prompt与对比学习损失Loss_contrastive,得到模型最终损失Loss_final
Loss_Final=w1*Loss_prompt+w2*Loss_contrastive
将上述两部分loss按权重比例进行相加,得到模型的最终损失函数;w1+w2=1,在实际操作中,w1=0.5,w2=0.5。
迭代训练模型,直到模型训练过程中的loss开始收敛,这时采用early stopping的策略,终止模型迭代训练任务,保存记录下模型参数。
9.使用主动学习进一步提纯数据质量
由于与角色的隐式属性有关的小说文本存在典型描述与非典型描述的区分,如“若干年后,少年萧炎和少女古熏儿,进入天墓历练。”这段描述中,萧炎与古薰儿的性别与年龄均为典型描述,分别是:萧炎(男性、青年),古薰儿(女性,青年),但是关于萧炎与古薰儿的性格则为非典型描述,无法看出他们的性格如何。而主动学习的目标正是将不典型的描述挖掘出来,实现方式也很简单,设定一个属性预测概率阈值p,若超过该阈值则认为是典型描述,保留该属性的标注;若未超过则认为是非典型描述,删除该属性的标注数据。以此迭代,直至模型效果不再有增益。在实际应用中,不典型属性的段落占比为0.98%,不典型属性的角色占比为0.49%,阈值p=0.6。
10.在通过上述方法训练得到模型后,对于新的书籍,我们使用预测的方式自动化产出角色属性结果,再对结果作聚合投票产出最终角色属性类型;
如图7所示,使用模型对书籍中所有段落文本进行预测,得到角色名及其对应的各属性类型结果;对“若干年后,少年萧炎和少女古熏儿,进入天墓历练。”这条文本所产出的结果为:{萧炎:(男性,青年,正义),古薰儿:(女性,青年,正义)},
对所有产出结果进行聚合,得到角色粒度的属性频数分布
最终使用投票表决的方式,以每个角色每种属性的最大频数值对应的属性类型作为最终属性类型{萧炎:(男性,青年,正义),古薰儿:(女性,青年,正义)}
本发明还复现了在开源的BERT-Base-Chinese模型上使用CLS标志位作判别任务的方案,如图8所示,以文本“若干年后,少年萧炎和少女古熏儿,进入天墓历练。”为例,为方便讲述递进的改进点,将本发明提及的多种属性识别简化为“年龄”类型单一属性识别。评估指标为macro-准确率、marco-召回率与macro-f1值,简单记为p、r、f1。
可以看到复现方案的效果指标均不高,仅能达到0.75的准确率与0.700的召回值;在此基础上,使用小说领域数据对开源的BERT-Base-Chinese模型进行微调finetune后可以带来近1个百分点的提升;使用提示学习方式,将语义表征方式由CLS向量替换为“萧炎的年龄是[MASK]”的提示模版后,可以在准确率上进一步带来5.2%的提升;使用多角色粒度Aspect-level的建模方式后,多个属性的判断可以整合为对一条数据的判别,简化了计算量的同时提升了2.3%的准确率;通过引入对比学习,构建年龄属性之间的对比特征,可以进一步提升1%的准确率;在此基础上,在训练阶段使用主动学习过滤不典型训练数据,再次重新训练的到的模型提升了1%的准确率;将BERT-Base-Chinese提升了BERT-large-Chinese,进一步增加大模型的参数量,在准确率指标上提升了2.6%;最终,在预测阶段,本发明使用主动学习的方式对低预测概率的属性数据采用丢弃策略的方式,进一步获得了3.2%的提升,这里需要注意的是,丢弃部分低置信度数据并不会影响整体的统计结果,一是因为这部分数据整体占比很低,仅占1%,二是因为频数的绝对值并不会影响属性类型的相对分布结果。
本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (11)
1.一种角色隐式属性智能识别分析方法,其特征在于,所述方法包括如下步骤:
步骤一、使用小说领域的语料对基于BERT的预训练模型进行迁移学习,获得掩码语言模型MLM调整过的BERT的预训练模型;
步骤二、获取包含有角色及其属性的角色属性小说文本数据集,并进行预处理,获得带角色属性标注的文本;
步骤三、将正常文本的内容使用提示学习Prompt的建模方式转为新的文本序列PromptText,并将文本序列PromptText输入步骤一中掩码语言模型MLM调整过的BERT的预训练模型得到文本向量InputEmbedding;
步骤四、将步骤三的提示学习中获得的文本序列PromptText使用对比学习的建模方式构建同一文本序列PromptText中不同角色的属性特征集合,并针对角色属性特征集合构建属性类型对特征矩阵;
步骤五、拼接提示学习和对比学习的损失,并使用主动学习对数据质量进行提纯,包括以下子步骤:
根据文本向量InputEmbedding构建提示学习损失;根据属性类型对特征矩阵构建对比学习损失;
拼接提示学习损失与对比学习损失,得到模型最终损失,迭代训练模型,直到模型训练过程中的loss开始收敛,这时采用early stopping的策略,终止模型迭代训练任务,保存记录下模型参数;
所述主动学习通过设定一个属性预测概率阈值,将不典型的描述挖掘出来,若超过该阈值则认为是典型描述,保留该属性的标注;若未超过则认为是非典型描述,删除该属性的标注数据;以此迭代,直至模型效果不再有增益;其中,所述典型描述是指能直接从文本中获得的属性信息,所述非典型描述是指不能直接从文本中获得的属性信息;
步骤六、利用步骤一~五中获得的模型进行新文本的角色属性预测,自动化产出角色属性结果,再对结果作聚合投票产出最终角色属性类型。
2.如权利要求1所述的方法,其特征在于,步骤一中,在迁移学习过程中,使用15%~20%的掩码比例,并对字粒度进行全词mask掩码;训练过程中使用交叉熵损失,并使用early stopping策略防止模型过拟合。
3.如权利要求1所述的方法,其特征在于,步骤二中,所述属性小说文本数据集中的各个文本信息存在对应的角色名及其对应的包括性别、年龄、性格在内的属性值;所述预处理包括对文本信息中超过BERT预训练模型预设最大文本序列长度max_seq_len=256的异常文本进行切段处理从而得到正常段落文本,并对文本的角色信息进行提取;
所述文本的角色信息的提取通过字符匹配与序列标注交叉校验的方式进行,使用序列标注模型NER,按词性对文本序列进行标注,取文本中识别结果为人名PER的字符序列作为角色抽取结果,并进行查表匹配交叉验证。
4.如权利要求1所述的方法,其特征在于,步骤三中,所述Prompt建模如下:对正常的文本内容InputText={s1,…,si,…,sm},其中si表示原文本序列InputText中第i个文本字符,1≤i≤m,对InputText引入Prompt属性提示词[MASK],不同角色Namei之间的Prompt提示模版以[SEP]符号分隔,并最终处理为如下Prompt模版格式:
PromptText=[CLS]+Name1+的性别是+[MASK]+年龄是+[MASK]+性格是+[MASK]+[SEP]+…+Namen+的性别是+[MASK]+年龄是+[MASK]+性格是+[MASK]+[SEP]+InputText={token1,…,tokeni,…,tokenn};
tokeni表示加入Prompt模版及特殊编码字符后的新文字序列,新文字序列长度与PromptText经BertTokenizer分词后的编码表征序列长度一致;
获得的文本向量的形式如下:
文本向量其中I={id1,…,idi,…,idn},idi是文本序列PromptText中第i个字符经BertTokenizer处理得到文本向量的词嵌入表征input_ids向量;A={a1,…,ai,…,an},/>表示当tokeni是原始字符时位置编码attention_mask为1,当tokeni是padding字符位置编码为0;M={m1,…,mi,…,mn},
表示第i位的提示词[MASK]表征是何种类型的属性提示词编码mask_position特征。
5.如权利要求4所述的方法,其特征在于,根据文本向量构建提示学习损失Loss_prompt:
根据步骤三所得的文本向量I={id1,…,idi,…,idn}、A={a1,…,ai,…,an},输入步骤一中微调后的BERT模型,得到逻辑输出:
BERToutputs=BERT(input_ids=I,attention_mask=A),
取逻辑输出的最后一层隐状态作为BERT对Prompt提示学习模版的编码表征,即Logits=BERToutputs.last_hidden_state,其维度为[batch_size,seq_len,hidden_size],其中batch_size表示批处理规模,seq_len表示文本长度,hidden_size表示编码向量每一维的大小;
根据步骤三所得的文本向量M={m1,…,mi,…,mn},首先将向量M转为0-1矩阵N={n1,…,ni,…,nn},其中然后按位取出逻辑值Logits中对应位置非0处的向量得到提示学习prompt模版所对应的MASK表征序列,即Logits_prompt=[li,…,lj],其中/>将Logits_prompt送入分类器得到最终的提示学习分类表征Logits_mask=Classifier(Logits_prompt),其维度为[batch_size,num_labels],num_labels含义为属性标签数量,即真实类别标签序列Labels={label1,…,labeli,…,labeln}中的标签数量计数n;
提示学习损失Loss_prompt=CrossEntropyLoss(Logits_mask,Labels),其中其中n表示样本标签数量,p(xi)表示第i个标签的真实概率分布,q(xi)表示第i个标签的预测概率分布。
6.如权利要求1所述的方法,其特征在于,步骤四中,针对角色属性特征集合构建的属性类型对特征矩阵表示为
其中,mai(1≤i≤n)表示不同属性的类型对特征矩阵,所述不同属性包括性别、年龄、性格,属性类型对特征矩阵表示为 表示当文本序列PromptText中tokeni的真实属性类型标签与tokenj对应的真实属性类型标签相同时取1,否则取0。
7.如权利要求6所述的方法,其特征在于,根据属性类型对特征矩阵构建对比学习损失Loss_contrastive:
其中,B表示训练时batch_size大小,yi与yj分别表示不同角色相同属性类型的真实标签,表示在大小为B的批处理数据中真实标签为yi的数量,
vi与vj是不同角色的同类型属性i,j在Logits中的向量编码,即
vi=Logits[:,i,:],vj=Logits[:,j,:],si,j是属性i,j对应的向量编码vi与vj的cosine相似度距离,t为温度系数,所述温度系数用于调节对困难样本的区分度。
8.如权利要求1所述的方法,其特征在于,拼接提示学习损失与对比学习损失,将两部分损失按权重比例进行相加,得到模型最终损失,如下所示:
Loss_final=w1*Loss_prompt+w2*Loss_contrastive,
其中,Loss_final表示模型最终损失,Loss_prompt表示提示学习损失,Loss_contrastive表示对比学习损失,w1、w2表示权重,w1+w2=1。
9.如权利要求1所述的方法,其特征在于,步骤六中,使用模型对书籍中所有段落文本进行预测,得到角色名及其对应的各属性类型结果;记一条文本所产出的结果为:
{name:(gender(name),age(name),character(name),…)},
其中,name为文本段落中抽取出的角色名,
即角色名性别由最大预测概率对应的类别决定,同理,
对所有产出结果进行聚合,得到角色粒度的属性频数分布
最终使用投票表决的方式,以每个角色每种属性的最大频数值对应的属性类型作为最终属性类型。
10.一种实现如权利要求1-9之任一项所述方法的系统,其特征在于,所述系统包括文本输入模块、角色属性智能识别分析模块、角色属性输出模块;
其中,所述文本输入模块用于将待进行角色属性分析的文本输入到角色属性智能识别分析模块中;
所述角色属性智能识别分析模块用于对输入的文本进行分析,获得不同角色的隐式属性;
所述角色属性输出模块用于输出角色属性智能识别分析模块分析获得的不同角色的隐式属性。
11.如权利要求1-9之任一项所述的方法,或如权利要求10所述的系统在生成人物设定集、人物属性图谱、辅助音频书生成中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310205617.6A CN116204642B (zh) | 2023-03-06 | 2023-03-06 | 数字阅读中角色隐式属性智能识别分析方法、系统和应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310205617.6A CN116204642B (zh) | 2023-03-06 | 2023-03-06 | 数字阅读中角色隐式属性智能识别分析方法、系统和应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116204642A CN116204642A (zh) | 2023-06-02 |
CN116204642B true CN116204642B (zh) | 2023-10-27 |
Family
ID=86512658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310205617.6A Active CN116204642B (zh) | 2023-03-06 | 2023-03-06 | 数字阅读中角色隐式属性智能识别分析方法、系统和应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204642B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3422255A1 (en) * | 2017-06-30 | 2019-01-02 | Axis AB | Method and system for training a neural network to classify objects or events |
CN109697232A (zh) * | 2018-12-28 | 2019-04-30 | 四川新网银行股份有限公司 | 一种基于深度学习的中文文本情感分析方法 |
CN111444721A (zh) * | 2020-05-27 | 2020-07-24 | 南京大学 | 一种基于预训练语言模型的中文文本关键信息抽取方法 |
WO2021135910A1 (zh) * | 2020-06-24 | 2021-07-08 | 平安科技(深圳)有限公司 | 基于机器阅读理解的信息抽取方法、及其相关设备 |
WO2021164199A1 (zh) * | 2020-02-20 | 2021-08-26 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN113704420A (zh) * | 2021-03-19 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 文本中的角色识别方法、装置、电子设备及存储介质 |
CN114218940A (zh) * | 2021-12-23 | 2022-03-22 | 北京百度网讯科技有限公司 | 文本信息处理、模型训练方法、装置、设备及存储介质 |
WO2022141878A1 (zh) * | 2020-12-28 | 2022-07-07 | 平安科技(深圳)有限公司 | 端到端的语言模型预训练方法、系统、设备及存储介质 |
CN114911947A (zh) * | 2022-04-20 | 2022-08-16 | 复旦大学 | 一种基于知识提示的概念抽取模型 |
CN114912423A (zh) * | 2022-03-24 | 2022-08-16 | 燕山大学 | 一种基于迁移学习的方面级别情感分析方法及装置 |
WO2022188773A1 (zh) * | 2021-03-12 | 2022-09-15 | 腾讯科技(深圳)有限公司 | 文本分类方法、装置、设备、计算机可读存储介质及计算机程序产品 |
CN115169449A (zh) * | 2022-06-29 | 2022-10-11 | 中山大学 | 基于对比学习与持续性学习的属性级情感分析方法、系统及存储介质 |
JP2022153441A (ja) * | 2021-10-28 | 2022-10-12 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | モデル事前訓練方法および装置、テキスト生成方法および装置、電子機器、記憶媒体並びにコンピュータプログラム |
CN115294427A (zh) * | 2022-04-14 | 2022-11-04 | 北京理工大学 | 一种基于迁移学习的风格化图像描述生成方法 |
JP2022173453A (ja) * | 2021-12-10 | 2022-11-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ディープラーニングモデルのトレーニング方法、自然言語処理方法及び装置、電子機器、記憶媒体及びコンピュータプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527262B2 (en) * | 2007-06-22 | 2013-09-03 | International Business Machines Corporation | Systems and methods for automatic semantic role labeling of high morphological text for natural language processing applications |
-
2023
- 2023-03-06 CN CN202310205617.6A patent/CN116204642B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3422255A1 (en) * | 2017-06-30 | 2019-01-02 | Axis AB | Method and system for training a neural network to classify objects or events |
CN109697232A (zh) * | 2018-12-28 | 2019-04-30 | 四川新网银行股份有限公司 | 一种基于深度学习的中文文本情感分析方法 |
WO2021164199A1 (zh) * | 2020-02-20 | 2021-08-26 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN111444721A (zh) * | 2020-05-27 | 2020-07-24 | 南京大学 | 一种基于预训练语言模型的中文文本关键信息抽取方法 |
WO2021135910A1 (zh) * | 2020-06-24 | 2021-07-08 | 平安科技(深圳)有限公司 | 基于机器阅读理解的信息抽取方法、及其相关设备 |
WO2022141878A1 (zh) * | 2020-12-28 | 2022-07-07 | 平安科技(深圳)有限公司 | 端到端的语言模型预训练方法、系统、设备及存储介质 |
WO2022188773A1 (zh) * | 2021-03-12 | 2022-09-15 | 腾讯科技(深圳)有限公司 | 文本分类方法、装置、设备、计算机可读存储介质及计算机程序产品 |
CN113704420A (zh) * | 2021-03-19 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 文本中的角色识别方法、装置、电子设备及存储介质 |
JP2022153441A (ja) * | 2021-10-28 | 2022-10-12 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | モデル事前訓練方法および装置、テキスト生成方法および装置、電子機器、記憶媒体並びにコンピュータプログラム |
JP2022173453A (ja) * | 2021-12-10 | 2022-11-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ディープラーニングモデルのトレーニング方法、自然言語処理方法及び装置、電子機器、記憶媒体及びコンピュータプログラム |
CN114218940A (zh) * | 2021-12-23 | 2022-03-22 | 北京百度网讯科技有限公司 | 文本信息处理、模型训练方法、装置、设备及存储介质 |
CN114912423A (zh) * | 2022-03-24 | 2022-08-16 | 燕山大学 | 一种基于迁移学习的方面级别情感分析方法及装置 |
CN115294427A (zh) * | 2022-04-14 | 2022-11-04 | 北京理工大学 | 一种基于迁移学习的风格化图像描述生成方法 |
CN114911947A (zh) * | 2022-04-20 | 2022-08-16 | 复旦大学 | 一种基于知识提示的概念抽取模型 |
CN115169449A (zh) * | 2022-06-29 | 2022-10-11 | 中山大学 | 基于对比学习与持续性学习的属性级情感分析方法、系统及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于迁移学习和细粒度特征的中国英语学习者多维度作文评分模型的构建;汤小艺;中国博士学位论文电子期刊网;1-236 * |
Also Published As
Publication number | Publication date |
---|---|
CN116204642A (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984683B (zh) | 结构化数据的提取方法、系统、设备及存储介质 | |
CN111241294B (zh) | 基于依赖解析和关键词的图卷积网络的关系抽取方法 | |
CN111933127B (zh) | 一种具备自学习能力的意图识别方法及意图识别系统 | |
CN109582949A (zh) | 事件元素抽取方法、装置、计算设备及存储介质 | |
CN109635108B (zh) | 一种基于人机交互的远程监督实体关系抽取方法 | |
CN110009025A (zh) | 一种用于语音测谎的半监督加性噪声自编码器 | |
CN116911289B (zh) | 政务领域大模型可信文本生成方法、装置及存储介质 | |
Zhang et al. | Modeling the clause-level structure to multimodal sentiment analysis via reinforcement learning | |
CN112818698A (zh) | 一种基于双通道模型的细粒度的用户评论情感分析方法 | |
CN114648016A (zh) | 一种基于事件要素交互与标签语义增强的事件论元抽取方法 | |
CN115858750A (zh) | 基于自然语言处理的电网技术标准智能问答方法及系统 | |
CN114444481B (zh) | 一种新闻评论的情感分析与生成方法 | |
CN115935995A (zh) | 面向知识图谱生成的非遗丝织领域实体关系抽取方法 | |
CN115510841A (zh) | 一种基于数据增强及图匹配网络的文本匹配方法 | |
CN113486143A (zh) | 一种基于多层级文本表示及模型融合的用户画像生成方法 | |
CN116204642B (zh) | 数字阅读中角色隐式属性智能识别分析方法、系统和应用 | |
CN112434512A (zh) | 一种结合上下文语境的新词确定方法及装置 | |
JP2024012152A (ja) | テキスト情報の中からターゲット単語と対応する単語を識別する方法(method for identify a word corresponding to a target word in text information) | |
CN116304064A (zh) | 一种基于抽取式的文本分类方法 | |
CN115858736A (zh) | 一种基于情感提示微调的情感文本生成方法 | |
CN115688789A (zh) | 一种基于动态标签的实体关系抽取模型训练方法及系统 | |
CN115455144A (zh) | 用于小样本意图识别的完型填空式的数据增强方法 | |
CN114548117A (zh) | 一种基于bert语义增强的因果关系抽取方法 | |
Wang et al. | Weakly Supervised Chinese short text classification algorithm based on ConWea model | |
Li et al. | Multilingual toxic text classification model based on deep learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |