mwptoolkit.utils.enum_type¶
- class mwptoolkit.utils.enum_type.DatasetLanguage[source]¶
Bases:
object
dataset language
- en = 'en'¶
- zh = 'zh'¶
- class mwptoolkit.utils.enum_type.DatasetName[source]¶
Bases:
object
dataset name
- SVAMP = 'SVAMP'¶
- alg514 = 'alg514'¶
- ape200k = 'ape200k'¶
- asdiv_a = 'asdiv-a'¶
- draw = 'draw'¶
- hmwp = 'hmwp'¶
- math23k = 'math23k'¶
- mawps = 'mawps'¶
- mawps_asdiv_a_svamp = 'mawps_asdiv-a_svamp'¶
- mawps_single = 'mawps-single'¶
- class mwptoolkit.utils.enum_type.DatasetType[source]¶
Bases:
object
dataset type
- Test = 'test'¶
- Train = 'train'¶
- Valid = 'valid'¶
- class mwptoolkit.utils.enum_type.EPT[source]¶
Bases:
object
- ARG_CON = 'CONST:'¶
- ARG_CON_ID = 0¶
- ARG_MEM = 'MEMORY:'¶
- ARG_MEM_ID = 2¶
- ARG_NUM = 'NUMBER:'¶
- ARG_NUM_ID = 1¶
- ARG_TOKENS = ['CONST:', 'NUMBER:', 'MEMORY:']¶
- ARG_UNK = 'UNK'¶
- ARG_UNK_ID = 0¶
- ARITY_MAP = {(2, False): ['+', '-', '*', '/', '^'], (2, True): ['=']}¶
- CON_PREFIX = 'C_'¶
- FIELD_EXPR_GEN = 'expr_gen'¶
- FIELD_EXPR_PTR = 'expr_ptr'¶
- FIELD_OP_GEN = 'op_gen'¶
- FOLLOWING_ZERO_PATTERN = re.compile('(\\d+|\\d+_[0-9]*[1-9])_?(0+|0{4}\\d+)$')¶
- FORMAT_MEM = 'M_%02d'¶
- FORMAT_NUM = 'N_%02d'¶
- FORMAT_VAR = 'X_%01d'¶
- FRACTIONAL_PATTERN = re.compile('(\\d+/\\d+)')¶
- FUN_END_EQN = '__DONE'¶
- FUN_END_EQN_ID = 1¶
- FUN_EQ_SGN_ID = 3¶
- FUN_NEW_EQN = '__NEW_EQN'¶
- FUN_NEW_EQN_ID = 0¶
- FUN_NEW_VAR = '__NEW_VAR'¶
- FUN_NEW_VAR_ID = 2¶
- FUN_TOKENS = ['__NEW_EQN', '__DONE', '__NEW_VAR']¶
- FUN_TOKENS_WITH_EQ = ['__NEW_EQN', '__DONE', '__NEW_VAR', '=']¶
- IN_EQN = 'equation'¶
- IN_TNPAD = 'text_numpad'¶
- IN_TNUM = 'text_num'¶
- IN_TPAD = 'text_pad'¶
- IN_TXT = 'text'¶
- MEM_MAX = 32¶
- MEM_PREFIX = 'M_'¶
- MODEL_EXPR_PTR_TRANS = 'ept'¶
- MODEL_EXPR_TRANS = 'expr'¶
- MODEL_VANILLA_TRANS = 'vanilla'¶
- MULTIPLES = ['once', 'twice', 'thrice', 'double', 'triple', 'quadruple', 'dozen', 'half', 'quarter', 'doubled', 'tripled', 'quadrupled', 'halved', 'quartered']¶
- NEG_INF = -inf¶
- NUMBER_AND_FRACTION_PATTERN = re.compile('((\\d+/\\d+)|([+\\-]?(\\d{1,3}(,\\d{3})+|\\d+)(\\.\\d+)?))')¶
- NUMBER_PATTERN = re.compile('([+\\-]?(\\d{1,3}(,\\d{3})+|\\d+)(\\.\\d+)?)')¶
- NUMBER_READINGS = {'billion': 1000000000, 'billionth': 1000000000, 'double': 2, 'doubled': 2, 'dozen': 12, 'eight': 8, 'eighteen': 18, 'eighteenth': 18, 'eighth': 8, 'eightieth': 80, 'eighty': 80, 'eleven': 11, 'eleventh': 11, 'fifteen': 15, 'fifteenth': 15, 'fifth': 5, 'fiftieth': 50, 'fifty': 50, 'five': 5, 'forth': 4, 'fortieth': 40, 'forty': 40, 'four': 4, 'fourteen': 14, 'fourteenth': 14, 'fourth': 4, 'half': 0.5, 'halved': 0.5, 'hundred': 100, 'hundredth': 100, 'million': 1000000, 'millionth': 1000000, 'nine': 9, 'nineteen': 19, 'nineteenth': 19, 'ninetieth': 90, 'ninety': 90, 'ninth': 9, 'once': 1, 'one': 1, 'quadruple': 4, 'quadrupled': 4, 'quarter': 0.25, 'quartered': 0.25, 'seven': 7, 'seventeen': 17, 'seventeenth': 17, 'seventh': 7, 'seventieth': 70, 'seventy': 70, 'six': 6, 'sixteen': 16, 'sixteenth': 16, 'sixth': 6, 'sixtieth': 60, 'sixty': 60, 'ten': 10, 'tenth': 10, 'third': 3, 'thirteen': 13, 'thirteenth': 13, 'thirtieth': 30, 'thirty': 30, 'thousand': 1000, 'thousandth': 1000, 'three': 3, 'thrice': 3, 'triple': 3, 'tripled': 3, 'twelfth': 12, 'twelve': 12, 'twentieth': 20, 'twenty': 20, 'twice': 2, 'two': 2, 'zero': 0}¶
- NUM_MAX = 32¶
- NUM_PREFIX = 'N_'¶
- NUM_TOKEN = '[N]'¶
- OPERATORS = {'*': {'arity': 2, 'commutable': True, 'convert': <function EPT.<lambda>>, 'top_level': False}, '+': {'arity': 2, 'commutable': True, 'convert': <function EPT.<lambda>>, 'top_level': False}, '-': {'arity': 2, 'commutable': False, 'convert': <function EPT.<lambda>>, 'top_level': False}, '/': {'arity': 2, 'commutable': False, 'convert': <function EPT.<lambda>>, 'top_level': False}, '=': {'arity': 2, 'commutable': True, 'convert': <function EPT.<lambda>>, 'top_level': True}, '^': {'arity': 2, 'commutable': False, 'convert': <function EPT.<lambda>>, 'top_level': False}}¶
- OPERATOR_PRECEDENCE = {'*': 3, '+': 2, '-': 2, '/': 3, '=': 1, '^': 4}¶
- PAD_ID = -1¶
- PLURAL_FORMS = [('ies', 'y'), ('ves', 'f'), ('s', '')]¶
- POS_INF = inf¶
- PREP_KEY_ANS = 1¶
- PREP_KEY_EQN = 0¶
- PREP_KEY_MEM = 2¶
- SEQ_END_EQN = '__DONE'¶
- SEQ_END_EQN_ID = 1¶
- SEQ_EQ_SGN_ID = 3¶
- SEQ_GEN_NUM_ID = 4¶
- SEQ_GEN_VAR_ID = 36¶
- SEQ_NEW_EQN = '__NEW_EQN'¶
- SEQ_NEW_EQN_ID = 0¶
- SEQ_PTR_NUM = '__NUM'¶
- SEQ_PTR_NUM_ID = 4¶
- SEQ_PTR_TOKENS = ['__NEW_EQN', '__DONE', 'UNK', '=', '__NUM', '__VAR']¶
- SEQ_PTR_VAR = '__VAR'¶
- SEQ_PTR_VAR_ID = 5¶
- SEQ_TOKENS = ['__NEW_EQN', '__DONE', 'UNK', '=']¶
- SEQ_UNK_TOK = 'UNK'¶
- SEQ_UNK_TOK_ID = 2¶
- SPIECE_UNDERLINE = '▁'¶
- TOP_LEVEL_CLASSES = ['Eq']¶
- VAR_MAX = 2¶
- VAR_PREFIX = 'X_'¶
- class mwptoolkit.utils.enum_type.FixType[source]¶
Bases:
object
equation fix type
- Infix = 'infix'¶
- MultiWayTree = 'multi_way_tree'¶
- Nonfix = None¶
- Postfix = 'postfix'¶
- Prefix = 'prefix'¶
- class mwptoolkit.utils.enum_type.MaskSymbol[source]¶
Bases:
object
number mask type
- NUM = 'NUM'¶
- alphabet = 'alphabet'¶
- number = 'number'¶
- class mwptoolkit.utils.enum_type.NumMask[source]¶
Bases:
object
number mask symbol list
- NUM = ['NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM', 'NUM']¶
- alphabet = ['NUM_a', 'NUM_b', 'NUM_c', 'NUM_d', 'NUM_e', 'NUM_f', 'NUM_g', 'NUM_h', 'NUM_i', 'NUM_j', 'NUM_k', 'NUM_l', 'NUM_m', 'NUM_n', 'NUM_o', 'NUM_p', 'NUM_q', 'NUM_r', 'NUM_s', 'NUM_t', 'NUM_u', 'NUM_v', 'NUM_w', 'NUM_x', 'NUM_y', 'NUM_z']¶
- number = ['NUM_0', 'NUM_1', 'NUM_2', 'NUM_3', 'NUM_4', 'NUM_5', 'NUM_6', 'NUM_7', 'NUM_8', 'NUM_9', 'NUM_10', 'NUM_11', 'NUM_12', 'NUM_13', 'NUM_14', 'NUM_15', 'NUM_16', 'NUM_17', 'NUM_18', 'NUM_19', 'NUM_20', 'NUM_21', 'NUM_22', 'NUM_23', 'NUM_24', 'NUM_25', 'NUM_26', 'NUM_27', 'NUM_28', 'NUM_29', 'NUM_30', 'NUM_31', 'NUM_32', 'NUM_33', 'NUM_34', 'NUM_35', 'NUM_36', 'NUM_37', 'NUM_38', 'NUM_39', 'NUM_40', 'NUM_41', 'NUM_42', 'NUM_43', 'NUM_44', 'NUM_45', 'NUM_46', 'NUM_47', 'NUM_48', 'NUM_49', 'NUM_50', 'NUM_51', 'NUM_52', 'NUM_53', 'NUM_54', 'NUM_55', 'NUM_56', 'NUM_57', 'NUM_58', 'NUM_59', 'NUM_60', 'NUM_61', 'NUM_62', 'NUM_63', 'NUM_64', 'NUM_65', 'NUM_66', 'NUM_67', 'NUM_68', 'NUM_69', 'NUM_70', 'NUM_71', 'NUM_72', 'NUM_73', 'NUM_74', 'NUM_75', 'NUM_76', 'NUM_77', 'NUM_78', 'NUM_79', 'NUM_80', 'NUM_81', 'NUM_82', 'NUM_83', 'NUM_84', 'NUM_85', 'NUM_86', 'NUM_87', 'NUM_88', 'NUM_89', 'NUM_90', 'NUM_91', 'NUM_92', 'NUM_93', 'NUM_94', 'NUM_95', 'NUM_96', 'NUM_97', 'NUM_98', 'NUM_99']¶
- class mwptoolkit.utils.enum_type.Operators[source]¶
Bases:
object
operators in equation.
- Multi = ['+', '-', '*', '/', '^', '=', '<BRG>']¶
- Single = ['+', '-', '*', '/', '^']¶
- class mwptoolkit.utils.enum_type.SpecialTokens[source]¶
Bases:
object
special tokens
- BRG_TOKEN = '<BRG>'¶
- EOS_TOKEN = '<EOS>'¶
- NON_TOKEN = '<NON>'¶
- OPT_TOKEN = '<OPT>'¶
- PAD_TOKEN = '<PAD>'¶
- SOS_TOKEN = '<SOS>'¶
- UNK_TOKEN = '<UNK>'¶