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>'
class mwptoolkit.utils.enum_type.SupervisingMode[source]

Bases: object

supervising mode

fully_supervised = 'fully_supervised'
weakly_supervised = ['fix', 'mafix', 'reinforce', 'mapo']
class mwptoolkit.utils.enum_type.TaskType[source]

Bases: object

task type

MultiEquation = 'multi_equation'
SingleEquation = 'single_equation'