| 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 |
|
|