成本函数类作业文本通用解析:提取加粗公式与给定参数的实现方法
成本函数类习题通用解析实现方案
核心提取目标
整套逻辑围绕同类型作业的固定结构化特征设计,可稳定适配常规场景的解析需求:
- 被
<strong>标签加粗标注的完整成本函数表达式 - 紧随成本函数出现的给定x取值参数
具体实现步骤
1. 前置格式归一化
- 对输入的带HTML标签文本做基础清洗:把连续换行、多空格、全角符号统一替换为标准半角格式,消除排版差异带来的匹配误差
- 提前保留
<strong>/</strong>的标签位置信息,不直接剥离标签,避免后续定位时丢失边界
2. 成本函数精准提取
- 锚定
<strong>标签的包裹范围,匹配区间内符合成本函数特征的内容:即C(x)=/C=开头、包含多项式运算符的表达式,排除其他被加粗的无关提示文本 - 可使用正则规则实现匹配:
/<strong>\s*(C\(x\)|C)\s*=\s*([0-9a-zA-Z+\-*^()\.\s]+?)\s*<\/strong>/ - 提取后对公式做标准化处理:去掉公式内的冗余空格,将特殊格式的上标(比如HTML上标标签)统一替换为计算引擎可识别的
^幂次标记
3. x给定值稳定提取
- 以上一步定位到的成本函数所在的文本位置为起点,向后扫描最多300字符的范围(x值始终紧邻成本函数出现,不会远距离放置)
- 在扫描范围内匹配数值型的x赋值:
x\s*=\s*([0-9]+\.?[0-9]*),直接将捕获的数值转为数字类型,作为后续边际成本计算的入参 - 容错逻辑:如果扫描范围内未匹配到有效x值,直接标记为待人工补全,禁止全局扫描全文匹配,避免误抓题目提问环节出现的占位x
边界兼容设计
- 适配不同的分隔符格式:不管成本函数和x值之间是分号、逗号、空格还是换行分隔,都能正常识别
- 排除误匹配:如果x的描述出现在题目开头的要求说明部分(距离成本函数位置超过扫描范围),不会被错误抓取
- 兼容非标准标签:如果部分文本里成本函数用其他加粗标签(比如
<b>)包裹,只需把正则里的标签匹配规则做扩展即可,不需要改动核心逻辑
实际匹配示例
以典型输入文本为例:
带标签的输入内容:
For the cost function below, where C is the cost of producing x units of a product, find the marginal-cost function. What is the marginal cost at the given value of x? <strong>C(x)=0.05x^3+0.8x^2+40x+100</strong>; x=500
输出提取结果:
- 标准化成本函数:
0.05x^3+0.8x^2+40x+100- 给定x值:
500
提取结果可直接传入求导计算模块,输出边际成本函数和对应取值下的计算结果
内容的提问来源于stack exchange,提问作者Awais Malik
相关产品推荐
相关产品推荐

