深度学习菜单文本多标签分类的数据预处理方法与模型选型咨询
菜单文本块分类的文本预处理方法与模型推荐
一、高效的文本预处理方法
针对菜单文本的特殊性(价格含数字、描述更长、菜名有专属词汇),可以用以下预处理方法生成更有效的输入向量:
- 融合手工特征的词向量编码:在词向量(如TF-IDF、预训练词向量)基础上,拼接针对性手工特征,比如:是否包含数字/货币符号、文本字符长度、词数量、平均词长、是否含菜名专属修饰词(如“招牌”“秘制”)。这些特征能直接捕捉价格、菜名、描述的直观差异,弥补词频特征的不足。
- 词级+字符级混合编码:同时用两种粒度的编码:词级编码(如Word2Vec)捕捉菜品名称的语义,字符级编码(如CharEmbedding)捕捉数字、特殊符号(如¥、★)这类细粒度特征,之后将两类向量拼接或融合,兼顾语义和格式特征。
- 领域适配的预训练词向量:用菜单领域语料预训练Word2Vec或FastText,相比通用词向量,能更好表征“毛血旺”“提拉米苏”这类专属菜品词汇;FastText还能处理未登录词,对生僻菜名的适配性更强。
- 菜单专属文本归一化:对价格类文本统一格式(如“12元”拆分为数字“12”+标记“[PRICE]”);保留菜名中的特殊标识(如★、【招牌】)并标记为专属特征;对描述类文本的重复修饰词(如“超级超级好吃”)做归一化,减少冗余。
- 保留局部序列的n-gram编码:放弃单纯的Bag-of-Words,改用TF-IDF结合n-gram(如
ngram_range=(1,2)),捕捉“招牌 红烧肉”这类菜名的常见搭配,保留局部语义顺序,避免丢失关键的组合信息。
二、表现更优的模型选择
结合任务特点,以下模型的适配性和效果更突出:
- MLP混合模型:将词向量特征与手工特征拼接后输入MLP,模型能灵活融合不同类型的特征,手工特征的加入能快速提升价格、菜名这类有明显格式差异的分类准确率,实现成本低、训练速度快。
- CNN模型:用多尺寸卷积核提取文本的局部特征,比如小尺寸核捕捉数字+货币符号的价格模式,大尺寸核捕捉菜名的修饰词+名词组合,适合菜单文本块的短文本分类任务,训练效率高。
- BiLSTM/带Attention的BiLSTM:双向循环神经网络能捕捉文本的序列依赖,区分菜名(短序列、固定结构)和描述(长序列、叙事结构)的差异;加入Attention机制后,能重点关注价格中的数字、菜名中的核心词汇,进一步提升分类精度。
- 轻量级预训练模型(如DistilBERT、领域微调BERT):如果有一定规模的菜单语料,用领域语料微调BERT能捕捉深层语义差异(比如区分“番茄炒蛋”菜名和“番茄炒蛋酸甜适口”描述);数据量较小时,用DistilBERT这类轻量版,既能利用预训练语义能力,又避免过拟合。
- BiLSTM-CRF模型:如果文本是从菜单图片识别出的连续序列,可将任务转为序列标注(给每个词标记类别),BiLSTM捕捉语义,CRF利用标签间的依赖关系(比如价格通常紧跟菜名),能更精准地划分不同类别的文本块。
内容的提问来源于stack exchange,提问作者Kevin Tommy
相关产品推荐
相关产品推荐

