def __init__(self,
                 synonyms_collection_filepath,
                 frames_collection_filepath,
                 init_ner=True,
                 init_stemmer=True,
                 init_frames=True,
                 use_ner_cache_only=False,
                 ner_name=supported.ONTONOTES_BERT_MULT_NAME):
        assert (isinstance(init_ner, bool))
        assert (isinstance(init_frames, bool))
        assert (isinstance(init_stemmer, bool))
        assert (isinstance(ner_name, str))

        self.__auth_objects = None
        self.__use_ner_cache_only = use_ner_cache_only
        self.__synonyms = None
        self.__stemmer = None
        self.__frame_variants = None
        self.__frames = None
        self.__pos_tagger = None
        self.__syntax = None
        self.__use_auth_list = False
        self.__frames_cache = None

        # NER
        self.__ner_cache = None
        self.__ner_class_type = Default.get_class_by_ner_name(ner_name)
        self.__ner = None

        if init_stemmer:
            self.__stemmer = Default.create_default_stemmer()

        if self.__stemmer is not None:
            self.__pos_tagger = POSMystemWrapper(self.__stemmer.MystemInstance)

        if init_frames:
            self.__frames = Default.create_default_frames_collection(
                frames_collection_filepath)

        if self.__stemmer is not None and self.__frames is not None:
            self.__frame_variants = Default.create_default_frame_variants_collection(
                frames=self.__frames, stemmer=self.__stemmer)

        if self.__frame_variants is not None:
            self.__frames_helper = FramesHelper(self.__frame_variants)

        if init_ner and not use_ner_cache_only:
            self.__ner = self.__ner_class_type()

        self.__synonyms = Default.create_default_synonyms_collection(
            filepath=synonyms_collection_filepath,
            stemmer=None
            if self.DISABLE_LEMMA_FOR_SYNONYMS else self.__stemmer)

        self.__auth_objects = AuthorizedObjectsCollection(OrderedDict())
    NewsSourceDirArg.add_argument(parser)
    SourceNewsReaderArg.add_argument(parser)
    NewsStartFromIndexArg.add_argument(parser)
    ParseFramesInSentencesArgs.add_argument(parser)
    RuSentiFramesCacheArgs.add_argument(parser)

    # Parsing arguments.
    args = parser.parse_args()

    # Reading arguments.
    src_dir = NewsSourceDirArg.read_argument(args)
    reader = SourceNewsReaderArg.read_argument(args)
    frames_filepath = RuSentiFramesCacheArgs.read_argument(args)
    parse_frames_in_sents = ParseFramesInSentencesArgs.read_argument(args)
    start_from_index = NewsStartFromIndexArg.read_argument(args)

    stemmer = Default.create_default_stemmer()
    frames = Default.create_default_frames_collection(frames_filepath)
    f_var = Default.create_default_frame_variants_collection(frames=frames,
                                                             stemmer=stemmer)

    run_frames_cache(reader=reader,
                     src_dir=src_dir,
                     version=basename(frames_filepath),
                     frames=frames,
                     frames_helper=FramesHelper(f_var),
                     stemmer=stemmer,
                     parse_frames_in_sentences=parse_frames_in_sents,
                     start_from_index=start_from_index,
                     miniter_count=2000000)