parse

导入类

[2]:
from EduNLP.Formula.ast import str2ast, katex_parse
from EduNLP.SIF.parser import Parser

输入

类型:str
内容:题目文本 (text)
[3]:
text1 = '生产某种零件的A工厂25名工人的日加工零件数_   _'
text2 = 'X的分布列为(   )'
text3 = '① AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.AC的中点为D'
text4 = '支持公式如$\\frac{y}{x}$,$\\SIFBlank$,$\\FigureID{1}$,不支持公式如$\\frac{ \\dddot y}{x}$'

输出

尝试转换为标准形式

[6]:
text_parser1 = Parser(text1)
text_parser1.description_list()
print('text_parser1.text:',text_parser1.text)


text_parser2 = Parser(text2)
text_parser2.description_list()
print('text_parser2.text:',text_parser2.text)

text_parser1.text: 生产某种零件的$A$工厂$25$名工人的日加工零件数$\SIFBlank$
text_parser2.text: $X$的分布列为$\SIFChoice$

判断是否有语法问题

[7]:
text_parser3 = Parser(text3)
text_parser3.description_list()
print('text_parser3.error_flag: ',text_parser3.error_flag)


text_parser4 = Parser(text4)
text_parser4.description_list()
print('text_parser4.fomula_illegal_flag: ',text_parser4.fomula_illegal_flag)

text_parser3.error_flag:  1
text_parser4.fomula_illegal_flag:  1