from abc import ABC, abstractclassmethod class Field(ABC): """Abstract class `Field` define one indexing method, genenrate counter from raw text data and index token in raw text data Arguments: ABC {ABC} -- abstract base class """ @abstractclassmethod def count_vocab_items(self, counter, sentences): """This function constructs counter using each sentence content, prepare for vocabulary Arguments: counter {dict} -- element count dict sentences {list} -- text data """ raise NotImplementedError @abstractclassmethod def index(self, instance, voacb, sentences): """This function constrcuts instance using sentences and vocabulary, each namespace is a mappping method using different type data Arguments: instance {dict} -- collections of various fields voacb {dict} -- vocabulary sentences {list} -- text data """ raise NotImplementedError