法院卷宗归档室里,周法官干了几十年。每来一份新卷宗,他不用逐字读完全部案情,扫一眼“被告人持刀闯入被害人家中,抢走现金并划伤手臂”,就转身从墙上的标签盒里抽出两张纸条,一张写“抢劫”,一张写“故意伤害”,再夹上《刑法》第263条和第234条的便签。旁边的实习生看傻了:“一个案子还能同时犯两个罪?”周法官笑了笑:“卷宗又不是单选题,一张卷宗上常常要贴好几张标签。”这个朴素的场景,正是本文的主角——多标签分类。我们要讲的就是:如何让 AI 学会周法官“抽标签”的本事,把案情文本自动映射到刑法罪名体系,同时推荐相关法条;以及这条路上要蹚过的坑——标签怎么组织、样本不平衡怎么办、模型怎么选、指标怎么评。
掌握罪名预测与法条推荐的多标签分类技术,是构建辅助量刑、智能分案等司法 AI 产品的核心能力,也是 NLP 工程师切入法律科技领域的最佳敲门砖。
可视化演示
演示案情文本映射到罪名与法条的多标签分类,展示标签层次结构与精准率、召回率、F1评估指标。
本节配有交互动效(进入视口后自动加载,约 3KB)。
多标签分类 罪名标签 法条推荐 case→labels 案情映射到罪名体系
任务定义与标签体系
周法官的墙上挂着一排排标签盒,每个盒子上写着罪名,盒子里的纸条背面印着对应的法条。他“抽标签”之前,脑子里先有一张地图:刑法分则分了十章,“侵犯财产罪”这一章下面才是“抢劫罪”“盗窃罪”,标签不是平铺的,而是分层的。这张地图,就是司法 AI 里的“标签层次结构”。
司法 AI 的罪名预测任务,是给定起诉书里的“案情事实描述”,输出一个或多个罪名标签;法条推荐任务则输出对应的刑法条文编号。两者是一体两面:标签体系里,罪名与法条是多对多映射——一条法条可对应多个罪名,一个罪名也可能援引数条法条。把标签按“刑法分则章节 → 具体罪名 → 法条”组织成树形结构,模型就能先预测大类再细分,父类信息还能缓解某些罪名样本稀少的问题。
形式上,一个案件的标签是一个长度等于候选罪名总数的 0/1 向量,每个位置代表“是否触犯该罪名”。
周法官给卷宗抽标签时,从来不是漫无目的地翻墙上的盒子——他会先判断这案子属“财产类”还是“人身类”,再快速定位具体罪名。标签层次结构,就是给 AI 画好的那张“墙上的地图”。
- 标签向量$\mathbf{y}$ 把 L 个候选罪名排成一串“是/否”开关,每一位对应一个罪名。
- 单标签取值$y_j = 1$ 表示案情触犯第 j 个罪名,$0$ 表示未触犯;一个案件可同时出现多个 1。
多标签分类原理
实习生问周法官:“您判断罪名,是不是像考试做单选题?”周法官摇头:“是多选题。抢劫案的卷宗,我至少要看一眼有没有伤人——伤了人,故意伤害的标签也得贴上。”多标签与多分类的根本区别就在这:多分类输出互斥的一个类别,多标签输出的是一组独立的 0/1 判断。
把多标签拆成多个“是/否”判断题,就是最简单的二元关联法(Binary Relevance, BR):为每个罪名单独训练一个二分类器。它思路直白,但有一个硬伤——假设标签相互独立。可现实中“抢劫”与“故意伤害”经常成对出现,“醉驾”与“肇事逃逸”也有牵连。于是有了分类器链(Classifier Chains):按顺序预测每个标签,把前面预测的结果当作后面模型的输入特征,显式传递标签关联。
周法官的经验里,“见抢必查伤、见醉驾必查逃逸”就是标签关联。BR 像只盯单一罪名的实习助理,分类器链才更像周法官——一边贴标签,一边回头看看刚才贴了啥。
- 联合概率等号左边是给定案情 x 时,整组标签 y 同时成立的概率,即“多标签预测”要逼近的目标。
- 乘积分解二元关联法假设各标签条件独立,把联合概率写成每个标签概率的连乘。
- 逐标签二分每个 $P(y_j \mid x)$ 都由一个独立的二分类器输出,回答“第 j 个罪名成不成立”。
类别不平衡处理
标签盒的“上镜率”差异极大。盗窃、危险驾驶的盒子一天被抽十几次,“破坏选举罪”的盒子一年都不动一次。周法官自嘲:罕见罪名的标签盒放在最高层,自己年纪大了够不着,容易漏。司法数据的罪名分布正呈这种典型的长尾形态:头部几个高频罪名占据绝大多数样本,尾部大量罪名只有零星案例。
模型若不加处理,会“偷懒”——把样本全判成高频罪名,因为这样训练误差最小。类别不平衡处理因此成为司法多标签建模的关键步骤。常用手段分两类:数据层面,对低频罪名过采样(复制样本)或对高频罪名欠采样;损失层面,在二分类交叉熵上给低频标签更大的权重 $w_j$,迫使模型“更怕”在罕见罪名上犯错。权重常取该标签频次的倒数或平方根倒数。
给低频标签加权,好比在周法官的标签盒上贴醒目的“重要!易漏!”提醒,让他每次抽标签都多看一眼高处那个快积灰的盒子。
- 二分类交叉熵方括号内是单个“是否触犯罪名 j”的交叉熵,衡量预测概率 $p_{ij}$ 与真实标签 $y_{ij}$ 的差距。
- 标签权重$w_j$ 给低频罪名分配更大的惩罚权重,实现“越容易漏,越要盯紧”。
- 样本与标签求和外层对 N 个样本、L 个标签求和并取平均,得到整体训练损失。
文本表示与建模
周法官“扫一眼”的本事,本质是快速提取案情里的关键词——“持刀”“闯入”“抢走”“划伤”,这些情节直接决定标签。机器要学这个本事,得先把案情文本变成数字。传统做法是 TF-IDF 词袋:把每个词变成一个维度,按词频加权。但词袋丢了语序,“甲杀了乙”和“乙杀了甲”向量几乎一样,在法律文本里这是致命的。
预训练语言模型(如 BERT)通过多层 Transformer 把整段案情编码成一个富含上下文的语义向量,每个词的位置与关系都被建模进去。拿到语义向量后,每个罪名配一个打分向量,内积再过 sigmoid 得到概率。罪名预测与法条推荐共享这个编码器,只是在输出端各接各的分类头——这也是“多任务学习”的雏形。
BERT 之于词袋,就像周法官之于实习生:实习生只会背几个孤立的关键词,周法官却能读懂“持刀闯入”和“持刀路过”在情节上的天壤之别。
- 语义编码$\mathrm{BERT}(x)$ 把案情文本 x 编码为一个稠密语义向量 $\mathbf{h}$,词序与上下文都被保留。
- 线性打分每个罪名 j 有自己的权重向量 $\mathbf{w}_j$ 与偏置 $b_j$,与 $\mathbf{h}$ 做内积得到原始分数。
- 概率映射sigmoid 函数把任意实数分数压缩到 0 到 1 之间,作为该罪名成立的预测概率。
模型架构选择
周法官有个本事:“抢劫”标签在提醒他的时候,他耳朵里只留“暴力、胁迫、抢走”这些词;等贴“故意伤害”标签,关注点又换成“刺伤、打伤、骨折”。模型要做到“不同罪名各看所需”,常用标签注意力机制。每个罪名用一个可学习的“提问向量”对案情中每个词打分,再归一化成注意力权重;加权求和后的向量专供该罪名做判断。
这样,“抢劫”会重点聚合“抢走现金”,“故意伤害”会重点聚合“划伤手臂”。除了注意力,还可以用序列决策模型(分类器链的神经网络版本):按罪名顺序逐个预测,前序预测结果参与后续预测,让“抢劫”的判断提醒模型去检查“故意伤害”。架构选择的本质,是在“独立预测”和“标签关联”之间找平衡。
标签注意力就是给每个罪名配了一副“特制眼镜”:周法官的近视镜看情节全貌,老花镜专盯伤害细节。模型戴上了好几副眼镜,各看各的,又协同决策。
- 标签提问向量$\mathbf{q}_j$ 是第 j 个罪名的可学习“问题”,代表它关心的情节类型(比如“暴力”)。
- 注意力打分第 i 个词的向量 $\mathbf{h}_i$ 与问题做点积,分数越高表示这个词与该罪名越相关。
- 归一化对所有词打指数分数后求和归一,得到第 i 个词对第 j 个罪名的注意力权重。
评估指标设计
周法官退休前要考核助手“标签贴得准不准”。若只看助手一天贴对了几张,那实习生天天只贴“危险驾驶”也能蒙对九成——可这毫无意义。评估多标签模型同理。整体准确率(accuracy)要求所有标签全部判对才算对,而且会被高频罪名主导:一个案件“无危险驾驶”这一标签几乎永远为 0,模型只要会预测 0 就能刷高准确率。
因此业界更常用精确率(Precision)、召回率(Recall)与 F1。多标签评估有两种平均方式:宏平均(Macro)先逐罪名计算 F1 再取平均,每个罪名权重相同,低频罪名不会被高频淹没,是长尾场景的首选;微平均(Micro)把所有标签的预测结果汇总后统一算 F1,偏向高频标签。法条推荐这类“给出一串相关法条”的任务,还用排名类指标如 P@k、nDCG 评估排序质量。
宏平均 F1 就像考核时把每个罪名的标签盒单独打分再平均——周法官最关心的,是那些一年才动一次的盒子上,助手有没有同样贴得准。
- 单标签 F1对第 j 个罪名单独统计精确率 $P_j$ 与召回率 $R_j$,再求它们的调和平均。
- 所有标签平均把 L 个罪名各自的 F1 做算术平均,每个罪名在总分里的权重完全相同。
- 公平对待低频即使某罪名只有几十个样本,它的 F1 与“盗窃”的 F1 在宏平均里平起平坐。
训练与调优策略
周法官带助手有个习惯:先从旧卷宗里挑典型案例让助手练手,练完再拿新卷宗试,试的时候还会微调判断标准——“这个案子伤情不算重,故意伤害的标签可以晚点贴”。模型训练同样有“练手”和“微调”两个环节。多任务学习让模型同时学习罪名预测、法条推荐、甚至情节要素抽取,共享底层语义编码器,相互提供监督信号,是司法小样本场景下的数据增强手段。
数据增强还包括回译(把案情翻译成英文再翻回来)、同义词替换等,扩充低频标签的样本。阈值调优常被忽视但性价比极高:默认把概率 0.5 作为判定阈值,但低频罪名的最佳阈值往往更低或更高。做法是在验证集上扫描阈值,选择使宏平均 F1 最大的那个;每个罪名还可以拥有独立阈值,适配各自的分布形态。
阈值调优就像周法官根据自己的“手感”微调贴标签的松紧度——高频罪名贴严一点,低频罪名放宽一点,整体考核成绩立刻上一个台阶。
- 判决规则$\mathbb{I}[\cdot]$ 是示性函数,当预测概率 $p_j$ 不低于阈值 $t_j$ 时判定罪名成立。
- 阈值搜索遍历候选阈值,选出使验证集宏平均 F1 最大的 $t_j^*$。
- 标签级阈值每个罪名可拥有各自的阈值,适配不同罪名不同的先验概率与分布。
司法落地与挑战
就算 AI 助手贴的标签十有八九正确,周法官也不会直接照单全收——他要看到“为什么”:你说这是抢劫,依据的是“持刀闯入”还是“抢走现金”?可解释性是司法 AI 的命门。常用手段是显著性分析:计算每个词对预测概率的梯度贡献,词级显著性分数可视化后,法官能看到模型关注了哪些情节——“持刀”0.82、“抢走现金”0.75、“划伤”0.61。
规则库约束(把模型输出限制在合法罪名空间内)也是常见配套。同时,司法落地要直面数据偏差与伦理问题:历史判决中的地域差异、人群偏差会被模型放大,算法不透明还带来责任归属争议。因此主流定位是“人机协同”:AI 出初稿、法官复核定夺。系统设计要留出人工干预接口,并持续监控各罪名上的偏差指标。
周法官如今和 AI 助手搭档:助手负责把标签草稿、法条便签和“依据哪句话”一起递上来,周法官签字前逐条核对。标签贴得再快,最终落印的还是那只有温度的手。
- 词向量$\mathbf{e}_i$ 是案情中第 i 个词的向量表示,显著性分析从它出发。
- 梯度方向$\frac{\partial p_j}{\partial \mathbf{e}_i}$ 表示第 i 个词微调时,罪名 j 的预测概率随之变化的敏感程度。
- 显著性分数取绝对值得到贡献强度 $s_i$,数值越大说明该词对预测越关键。
AI 应用场景
法院立案庭的“智能分案助手”
阶段:文本表示与模型推理
解决的问题:传统立案分案依赖人工阅读起诉状,速度慢且标准不一;积案高峰期常出现案由错分、法条引用遗漏。AI 用预训练模型把“事实与理由”编码成向量,多标签预测可能罪名并推荐对应法条,让立案法官从“通读全文”变成“一键核对”。
具体案例:东部某中院网上立案平台接入司法大模型后,当事人提交起诉状 10 秒内即收到提示:“本案可能涉及抢劫罪、故意伤害罪,关联《刑法》第263条、第234条”,并自动分流至刑事审判庭,人工复核通过率超过九成。
法官办案系统的“法条指引与类案检索”
阶段:标签注意力模型部署与在线推理
解决的问题:刑事法官撰写判决书需反复核对罪名构成要件并检索同类判例,耗时耗力。以多标签为索引,系统把每份判决书映射成“罪名+法条”标签组合,实现“按罪名组合检索类案”,并把法条要点直接推送到文书编辑器。
具体案例:某省级法院“智慧刑事辅助系统”中,法官输入“被告人醉驾撞人逃逸”,模型同时召回“危险驾驶罪、交通肇事罪”两组标签,拉取近三年相似判例的量刑分布,辅助生成量刑参考区间。
律所与企业的“多标签合规风控”
阶段:模型评估与阈值调优
解决的问题:企业法务面对海量招投标文件、合同与举报材料,人工逐份筛查法律风险点效率低、遗漏多。多标签模型把每份文档标注为“可能触犯罪名+相关法条”的组合,并输出各标签概率与显著性依据。
具体案例:某大型国企合规中台对招投标文档做风险预筛,模型标注“串通投标罪(0.87)、受贿风险(0.62)”,同时给出命中的关键语句切片,合规专员据此优先审查高风险文件。
Python 演示
import numpy as npfrom sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.linear_model import LogisticRegressionfrom sklearn.multioutput import MultiOutputClassifierfrom sklearn.metrics import f1_score, hamming_loss # 8 份简化案情文本,标签列: 0抢劫 1故意伤害 2盗窃 3诈骗 4危险驾驶 5敲诈勒索cases = [ "被告人持刀闯入被害人家中,抢走现金两万元,并划伤被害人手臂。", "被告人深夜翻墙进入仓库,秘密窃取电缆一批,价值三万元。", "被告人在夜市饮酒后驾驶摩托车,撞倒行人后逃逸。", "被告人虚构投资项目,骗取多名老人积蓄共计五十万元。", "被告人因琐事与邻居争执,持棍将对方打成轻伤。", "被告人多次在商场扒窃手机,共作案六起。", "被告人醉酒驾驶轿车,追尾前车致三人受伤。", "被告人冒充警察,以办案为由向他人索要财物。",]labels = np.array([ [1, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0], [0, 0, 0, 1, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 1, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1],]) # 中文按字 n-gram 切分并转 TF-IDF,绕过分词依赖X = TfidfVectorizer(analyzer="char_wb", ngram_range=(2, 3)).fit_transform(cases)# 手工划分训练/测试,确保每个低频罪名在训练集都有正样本train_idx = [0, 1, 2, 3, 4, 7]test_idx = [5, 6]X_train, X_test = X[train_idx], X[test_idx]y_train, y_test = labels[train_idx], labels[test_idx] # 二元关联法: 每个罪名一个独立 LogisticRegression 二分类器clf = MultiOutputClassifier(LogisticRegression(max_iter=1000))clf.fit(X_train, y_train) # 收集每个罪名的预测概率,供阈值调优使用y_prob = np.stack([est.predict_proba(X_test)[:, 1] for est in clf.estimators_], axis=1)y_pred = (y_prob >= 0.5).astype(int) print("默认阈值 0.5 的 Macro-F1: %.3f" % f1_score(y_test, y_pred, average="macro"))print("汉明损失: %.3f" % hamming_loss(y_test, y_pred)) # 阈值调优: 在验证集上扫描阈值,选宏平均 F1 最高的best_t, best_f1 = 0.5, f1_score(y_test, y_pred, average="macro")for t in np.arange(0.30, 0.80, 0.05): cur_f1 = f1_score(y_test, (y_prob >= t).astype(int), average="macro") if cur_f1 > best_f1: best_t, best_f1 = t, cur_f1 print("最优阈值: %.2f, 对应 Macro-F1: %.3f" % (best_t, best_f1))
X = TfidfVectorizer(analyzer="char_wb", ngram_range=(2, 3)).fit_transform(cases)把中文案情按字 n-gram 切分并转 TF-IDF 向量,模型才能“读到”文本。train_idx = [0, 1, 2, 3, 4, 7]手工划分训练集,保证每个低频罪名在训练集里都有正样本。clf = MultiOutputClassifier(LogisticRegression(max_iter=1000))二元关联法的工程落地:一个“装了一排二分类器”的容器。y_prob = np.stack([...], axis=1)把每个罪名的预测概率收集成矩阵,为阈值调优做准备。y_pred = (y_prob >= 0.5).astype(int)默认阈值 0.5:概率过半就贴标签。f1_score(y_test, y_pred, average="macro")宏平均 F1:每个罪名一视同仁。for t in np.arange(0.30, 0.80, 0.05)在验证集上“试手感”,扫描不同阈值找最优。
常见误区
误区“每个刑事案件都对应一个主要罪名,所以这不是多标签问题,按多分类做就行。”
正解司法实践中一行为触犯数罪(想象竞合)与数行为犯数罪非常普遍。抢劫过程中造成被害人轻伤,就同时命中“抢劫罪”与“故意伤害罪”。多分类的 softmax 强制类别互斥,多标签的 sigmoid 允许标签同时成立,两者的输出层、损失函数与评估指标完全不同。周法官贴标签从来是“能贴几张贴几张”。
为何常见:大众直觉里“一个案子一个罪名”,主要因为新闻报道只强调主罪名,忽略了竞合与数罪并罚的司法现实。
误区“把每个罪名单独训练一个二分类器,拼起来就是多标签模型,不用管标签之间的关系。”
正解二元关联法假设标签独立,但“抢劫”与“故意伤害”、“醉驾”与“肇事逃逸”之间关联很强。忽略关联会让模型在“贴上抢劫、漏掉故意伤害”的场景里犯错。分类器链、标签注意力等方法显式建模关联,效果通常更好。周法官那句“见抢必查伤”,正是标签关联的专家版。
为何常见:二元关联法把复杂问题降维成熟悉的二分类,工程上极容易实现,让人误以为“简单即正确”。
误区“测试准确率 95%,说明模型在法院里可以直接用了。”
正解当 97% 的案件标签为“非危险驾驶”时,一个无脑输出 0 的模型也有 97% 的“准确率”。长尾罪名场景必须看宏平均 F1、各罪名召回率与混淆矩阵,尤其盯着低频标签的表现。评估指标设计的原则是:让每个罪名在考核里都拥有发言权,而不是被高频标签裹挟。
为何常见:准确率是人类最熟悉的分类直觉,但在极端不平衡数据上,它是最容易骗人的指标。
误区“AI 能预测罪名还能推荐法条,离自动判案就差一个打印按钮了。”
正解司法 AI 只能做“预判—推荐—检索”式的辅助。罪名认定依赖证据链、主观故意与法律解释,这些无法仅凭案情文本确定;算法还会放大历史数据里的地域与人群偏差。工程上必须保留法官复核环节,并用显著性分析给出预测依据。周法官让 AI 助手贴草稿标签,但盖章签字的永远是自己。
为何常见:媒体热衷于“AI 法官”叙事,混淆了“辅助工具”与“决策主体”的边界。
面试题
Q1. 多标签分类与多分类(单标签)的根本区别是?
- A.输出类别数量的多少不同
- B.训练数据规模的差别
- C.必须使用神经网络模型
- D.是否同时预测多个类别标签← 正确答案
答案:D。多分类输出互斥的一个类别,多标签同时输出多个类别的 0/1 判断,D 准确描述了根本区别。A 只是表象,B 与数据规模无关,C 错误——多标签也可用传统机器学习实现。
Q2. 二元关联法(Binary Relevance)的核心思想是?
- A.将所有标签组合合并成新标签
- B.为每个标签训练独立二分类器← 正确答案
- C.用聚类算法对案例分组处理
- D.将案情压缩成定长语义向量
答案:B。二元关联法把多标签拆成 L 个独立的“是/否”二分类问题,各训练一个分类器。A 是标签组合法(Label Powerset)的思路,C 是无监督聚类,D 是文本表示问题,均与 BR 定义不符。
Q3. 标签层次结构能给模型带来哪些帮助?
- A.借助类目层级约束预测范围← 正确答案
- B.利用父类信息缓解样本稀疏← 正确答案
- C.可以完全不看案情事实文本
- D.自动生成判决书的法律依据
答案:AB。层次结构让模型先预测大类再细分,父类信息能补充低频子类的统计量,因此 A、B 正确。C 违背任务前提——任何预测都要读案情;D 属于文书生成任务,超出罪名预测范畴。
Q4. 罪名分布呈长尾形态,最直接的后果是?
- A.模型对高频罪名严重过拟合
- B.低频罪名训练样本严重不足← 正确答案
- C.高频罪名精确率一定最低
- D.所有罪名都无法被正确预测
答案:B。长尾意味着大量罪名样本极少,模型难以学到它们的特征,B 是最直接后果。A 高频过拟合不必然发生,C“一定最低”过于绝对,D 则夸大了问题。
Q5. 加权损失函数处理类别不平衡的方式是?
- A.给低频罪名分配更大的损失权重← 正确答案
- B.给高频罪名分配更大的损失权重
- C.直接删除高频罪名的所有样本
- D.将损失函数替换成准确率指标
答案:A。权重与频次成反比,低频罪名犯错代价更大,模型才会“重视”它们。B 方向相反会加剧不平衡,C 是粗暴删除样本的做法,D 把损失换成不可导的指标没有意义。
Q6. 关于宏平均 F1(Macro-F1),下列说法正确的有?
- A.先逐标签计算 F1 再取算术平均← 正确答案
- B.对低频罪名与其他罪名一视同仁← 正确答案
- C.等于所有样本的整体精确率
- D.适合评估长尾分布下的多标签模型← 正确答案
答案:ABD。宏平均先逐标签算 F1 再平均,每个罪名权重相同,低频不被高频淹没,A、B、D 正确。C 混淆了宏平均与微平均/整体准确率的概念。
Q7. 标签注意力机制的主要作用是?
- A.让不同罪名关注案情不同片段← 正确答案
- B.将整个案情压缩成一个向量
- C.完全替代预训练语言模型
- D.直接决定判决的刑期长短
答案:A。每个罪名用一个提问向量对案情各词加权聚合,“抢劫”看暴力情节、“故意伤害”看伤情描述,A 正确。B 是编码器的通用职责,C 夸大了注意力机制的能力,D 属于量刑模块而非罪名预测。
Q8. 阈值调优的基本思路是?
- A.在验证集上搜索最优判定阈值← 正确答案
- B.将默认阈值固定为零点五
- C.让模型输出恒定不变的结果
- D.用随机概率替代判定阈值
答案:A。默认 0.5 不一定适合每个罪名,在验证集上扫描阈值、选宏平均 F1 最高的值即为调优。B 是默认做法而非调优,C、D 是错误操作。
Q9. 司法 AI 落地时,可解释性有哪些常用手段?
- A.词级显著性分数可视化解释← 正确答案
- B.输出预测所依据的关键情节← 正确答案
- C.完全取消法官的人工复核
- D.用规则库约束模型输出边界← 正确答案
答案:ABD。梯度显著性给出词级贡献,输出关键情节切片,规则库把预测限定在合法罪名空间内,A、B、D 都是可解释性手段。C 取消人工复核与司法责任要求相悖。
Q10. “案情文本表示”最恰当的理解是?
- A.将案件情节转换为模型可算的向量← 正确答案
- B.用人工方式摘抄案件的关键词
- C.把判决书原样复制进数据库
- D.将罪名名称拼接成一句话
答案:A。文本表示的核心是把自然语言案情转成数值向量供模型计算,A 正确。B 是人工特征工程、效率低;C 只是存储;D 混淆了标签与输入文本。