diff --git a/prototypes/fine_tuning_spaCy/.python-version b/prototypes/fine_tuning_spaCy/.python-version new file mode 100644 index 0000000..b6d8b76 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/.python-version @@ -0,0 +1 @@ +3.11.8 diff --git a/prototypes/fine_tuning_spaCy/__pycache__/training_data.cpython-311.pyc b/prototypes/fine_tuning_spaCy/__pycache__/training_data.cpython-311.pyc new file mode 100644 index 0000000..3cd4fc0 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/__pycache__/training_data.cpython-311.pyc differ diff --git a/prototypes/fine_tuning_spaCy/base_config.cfg b/prototypes/fine_tuning_spaCy/base_config.cfg new file mode 100644 index 0000000..f7ffac0 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/base_config.cfg @@ -0,0 +1,85 @@ +# This is an auto-generated partial config. To use it with 'spacy train' +# you can run spacy init fill-config to auto-fill all default settings: +# python -m spacy init fill-config ./base_config.cfg ./config.cfg +[paths] +train = ./data/train.spacy +dev = ./data/train.spacy +vectors = null +[system] +gpu_allocator = null + +[nlp] +lang = "de" +pipeline = ["tok2vec","ner"] +batch_size = 1000 + +[components] + +[components.tok2vec] +factory = "tok2vec" + +[components.tok2vec.model] +@architectures = "spacy.Tok2Vec.v2" + +[components.tok2vec.model.embed] +@architectures = "spacy.MultiHashEmbed.v2" +width = ${components.tok2vec.model.encode.width} +attrs = ["NORM", "PREFIX", "SUFFIX", "SHAPE"] +rows = [5000, 1000, 2500, 2500] +include_static_vectors = false + +[components.tok2vec.model.encode] +@architectures = "spacy.MaxoutWindowEncoder.v2" +width = 96 +depth = 4 +window_size = 1 +maxout_pieces = 3 + +[components.ner] +factory = "ner" + +[components.ner.model] +@architectures = "spacy.TransitionBasedParser.v2" +state_type = "ner" +extra_state_tokens = false +hidden_width = 64 +maxout_pieces = 2 +use_upper = true +nO = null + +[components.ner.model.tok2vec] +@architectures = "spacy.Tok2VecListener.v1" +width = ${components.tok2vec.model.encode.width} + +[corpora] + +[corpora.train] +@readers = "spacy.Corpus.v1" +path = ${paths.train} +max_length = 0 + +[corpora.dev] +@readers = "spacy.Corpus.v1" +path = ${paths.dev} +max_length = 0 + +[training] +dev_corpus = "corpora.dev" +train_corpus = "corpora.train" + +[training.optimizer] +@optimizers = "Adam.v1" + +[training.batcher] +@batchers = "spacy.batch_by_words.v1" +discard_oversize = false +tolerance = 0.2 + +[training.batcher.size] +@schedules = "compounding.v1" +start = 100 +stop = 1000 +compound = 1.001 + +[initialize] +vectors = ${paths.vectors} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/config.cfg b/prototypes/fine_tuning_spaCy/config.cfg new file mode 100644 index 0000000..1cf80c4 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/config.cfg @@ -0,0 +1,145 @@ +[paths] +train = "./data/train.spacy" +dev = "./data/train.spacy" +vectors = null +init_tok2vec = null + +[system] +gpu_allocator = null +seed = 0 + +[nlp] +lang = "de" +pipeline = ["tok2vec","ner"] +batch_size = 1000 +disabled = [] +before_creation = null +after_creation = null +after_pipeline_creation = null +tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"} +vectors = {"@vectors":"spacy.Vectors.v1"} + +[components] + +[components.ner] +factory = "ner" +incorrect_spans_key = null +moves = null +scorer = {"@scorers":"spacy.ner_scorer.v1"} +update_with_oracle_cut_size = 100 + +[components.ner.model] +@architectures = "spacy.TransitionBasedParser.v2" +state_type = "ner" +extra_state_tokens = false +hidden_width = 64 +maxout_pieces = 2 +use_upper = true +nO = null + +[components.ner.model.tok2vec] +@architectures = "spacy.Tok2VecListener.v1" +width = ${components.tok2vec.model.encode.width} +upstream = "*" + +[components.tok2vec] +factory = "tok2vec" + +[components.tok2vec.model] +@architectures = "spacy.Tok2Vec.v2" + +[components.tok2vec.model.embed] +@architectures = "spacy.MultiHashEmbed.v2" +width = ${components.tok2vec.model.encode.width} +attrs = ["NORM","PREFIX","SUFFIX","SHAPE"] +rows = [5000,1000,2500,2500] +include_static_vectors = false + +[components.tok2vec.model.encode] +@architectures = "spacy.MaxoutWindowEncoder.v2" +width = 96 +depth = 4 +window_size = 1 +maxout_pieces = 3 + +[corpora] + +[corpora.dev] +@readers = "spacy.Corpus.v1" +path = ${paths.dev} +max_length = 0 +gold_preproc = false +limit = 0 +augmenter = null + +[corpora.train] +@readers = "spacy.Corpus.v1" +path = ${paths.train} +max_length = 0 +gold_preproc = false +limit = 0 +augmenter = null + +[training] +dev_corpus = "corpora.dev" +train_corpus = "corpora.train" +seed = ${system.seed} +gpu_allocator = ${system.gpu_allocator} +dropout = 0.1 +accumulate_gradient = 1 +patience = 1600 +max_epochs = 0 +max_steps = 20000 +eval_frequency = 200 +frozen_components = [] +annotating_components = [] +before_to_disk = null +before_update = null + +[training.batcher] +@batchers = "spacy.batch_by_words.v1" +discard_oversize = false +tolerance = 0.2 +get_length = null + +[training.batcher.size] +@schedules = "compounding.v1" +start = 100 +stop = 1000 +compound = 1.001 +t = 0.0 + +[training.logger] +@loggers = "spacy.ConsoleLogger.v1" +progress_bar = false + +[training.optimizer] +@optimizers = "Adam.v1" +beta1 = 0.9 +beta2 = 0.999 +L2_is_weight_decay = true +L2 = 0.01 +grad_clip = 1.0 +use_averages = false +eps = 0.00000001 +learn_rate = 0.001 + +[training.score_weights] +ents_f = 1.0 +ents_p = 0.0 +ents_r = 0.0 +ents_per_type = null + +[pretraining] + +[initialize] +vectors = ${paths.vectors} +init_tok2vec = ${paths.init_tok2vec} +vocab_data = null +lookups = null +before_init = null +after_init = null + +[initialize.components] + +[initialize.tokenizer] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/convert_to_spacy.py b/prototypes/fine_tuning_spaCy/convert_to_spacy.py new file mode 100644 index 0000000..8e94729 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/convert_to_spacy.py @@ -0,0 +1,20 @@ +import spacy +from spacy.tokens import DocBin +from training_data import TRAINING_DATA + +nlp = spacy.blank("de") +doc_bin = DocBin() + +for text, annotations in TRAINING_DATA: + doc = nlp.make_doc(text) + ents = [] + for start, end, label in annotations["entities"]: + span = doc.char_span(start, end, label=label) + if span is None: + print(f"⚠️ Skipping entity: ({start}, {end}, {label}) in: {text}") + else: + ents.append(span) + doc.ents = ents + doc_bin.add(doc) + +doc_bin.to_disk("data/train.spacy") \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/data/train.spacy b/prototypes/fine_tuning_spaCy/data/train.spacy new file mode 100644 index 0000000..17fd534 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/data/train.spacy differ diff --git a/prototypes/fine_tuning_spaCy/entities_output.json b/prototypes/fine_tuning_spaCy/entities_output.json new file mode 100644 index 0000000..4e58e7f --- /dev/null +++ b/prototypes/fine_tuning_spaCy/entities_output.json @@ -0,0 +1,1162 @@ +[ + { + "label": "RISIKOPROFIL", + "entity": "Content", + "page": 2 + }, + { + "label": "RISIKOPROFIL", + "entity": "Case & Views", + "page": 2 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 2 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 3 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core and Core+", + "page": 4 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 5 + }, + { + "label": "RISIKOPROFIL", + "entity": "CITIES \n-", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "UK,", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "Czech Republic,", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "COMPLETE", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "closed-end and", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "Club Deals", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "Ventures;", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "Office", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "lndustrial/logistics", + "page": 6 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comprehensive service", + "page": 7 + }, + { + "label": "RISIKOPROFIL", + "entity": "Club Deals", + "page": 7 + }, + { + "label": "RISIKOPROFIL", + "entity": "Club Deals: investing with similar-minded", + "page": 7 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 7 + }, + { + "label": "RISIKOPROFIL", + "entity": "core, core+", + "page": 7 + }, + { + "label": "RISIKOPROFIL", + "entity": "86", + "page": 8 + }, + { + "label": "RISIKOPROFIL", + "entity": "100", + "page": 8 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 8 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 9 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core/Core+", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Cities", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "core/core+", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core/Core+", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "40%", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "UK,", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "NL,", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "LU,", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Nordics,", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "IT,", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "25% in", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core: max", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Concentration limits:", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Cash: 4", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 10 + }, + { + "label": "RISIKOPROFIL", + "entity": "(€1 Bn of", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "AIF", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "Form:", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "Currency: EUR", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "(Dec", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "Management/ Fund", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "+ M€). Fee", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR (payable by investors", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 11 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core / Core", + "page": 12 + }, + { + "label": "RISIKOPROFIL", + "entity": "core \n/ core+", + "page": 12 + }, + { + "label": "RISIKOPROFIL", + "entity": "core \n/ core+", + "page": 12 + }, + { + "label": "RISIKOPROFIL", + "entity": "core/core+", + "page": 12 + }, + { + "label": "RISIKOPROFIL", + "entity": "8,9", + "page": 13 + }, + { + "label": "RISIKOPROFIL", + "entity": "8,2", + "page": 13 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comments", + "page": 13 + }, + { + "label": "RISIKOPROFIL", + "entity": "PEPFI: Pan", + "page": 13 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 13 + }, + { + "label": "RISIKOPROFIL", + "entity": "2019", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Country / city", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comments", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Offices", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n80m", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Commission - well", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n40m", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "District -", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "100", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Completely", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n<50m \nGood", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n400m \nGood", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n300m", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n99m-102m", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Leopold / Location", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "1992 / WAL", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n85m-90m", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n50m-55m", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "2020", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 14 + }, + { + "label": "RISIKOPROFIL", + "entity": "2019", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Country / city", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Brussels", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Denis", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n34-", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n44m-46m \nOffices", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n100-150m", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Offices", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n90-", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Offices", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \n150 -170", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Location", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "CBD", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "Tenancy", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "2020 -", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "centre,", + "page": 15 + }, + { + "label": "RISIKOPROFIL", + "entity": "19", + "page": 16 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 16 + }, + { + "label": "RISIKOPROFIL", + "entity": "Committee", + "page": 17 + }, + { + "label": "RISIKOPROFIL", + "entity": "2.3bn)", + "page": 17 + }, + { + "label": "RISIKOPROFIL", + "entity": "6.0 Bn*", + "page": 17 + }, + { + "label": "RISIKOPROFIL", + "entity": "countries, giving", + "page": 18 + }, + { + "label": "RISIKOPROFIL", + "entity": "Country", + "page": 18 + }, + { + "label": "RISIKOPROFIL", + "entity": "Leasing", + "page": 18 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 18 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 19 + }, + { + "label": "RISIKOPROFIL", + "entity": "Coordination with property", + "page": 19 + }, + { + "label": "RISIKOPROFIL", + "entity": "core/core+", + "page": 20 + }, + { + "label": "RISIKOPROFIL", + "entity": "core/core+", + "page": 20 + }, + { + "label": "RISIKOPROFIL", + "entity": "Source :", + "page": 20 + }, + { + "label": "RISIKOPROFIL", + "entity": "COP", + "page": 21 + }, + { + "label": "RISIKOPROFIL", + "entity": "21", + "page": 21 + }, + { + "label": "RISIKOPROFIL", + "entity": "Committee", + "page": 22 + }, + { + "label": "RISIKOPROFIL", + "entity": "Research,", + "page": 22 + }, + { + "label": "RISIKOPROFIL", + "entity": "Controlling, Liability", + "page": 22 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conducting", + "page": 22 + }, + { + "label": "RISIKOPROFIL", + "entity": "Officer,", + "page": 22 + }, + { + "label": "RISIKOPROFIL", + "entity": "Officer", + "page": 22 + }, + { + "label": "RISIKOPROFIL", + "entity": "Views", + "page": 23 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 23 + }, + { + "label": "RISIKOPROFIL", + "entity": "Market", + "page": 24 + }, + { + "label": "RISIKOPROFIL", + "entity": "Views", + "page": 24 + }, + { + "label": "RISIKOPROFIL", + "entity": "S1 2010 -", + "page": 24 + }, + { + "label": "RISIKOPROFIL", + "entity": "2019", + "page": 24 + }, + { + "label": "RISIKOPROFIL", + "entity": "Market", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "Views", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "V", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "S1", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "2010-", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "2019", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "Vienne", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "Prague", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "Milan", + "page": 25 + }, + { + "label": "RISIKOPROFIL", + "entity": "Market", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Views", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conviction - Strong", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conviction - Medium", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conviction - Low", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Hospitality", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Hotels,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "UK,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "NL,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "LU,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Nordics,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "SP,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "IT,", + "page": 26 + }, + { + "label": "RISIKOPROFIL", + "entity": "Current views accross", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conviction -", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conviction - Medium", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Conviction - Low", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "core can m", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "core strategies could", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core Offices, quality Retail asset", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Czech Rep", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Views", + "page": 27 + }, + { + "label": "RISIKOPROFIL", + "entity": "Information /", + "page": 28 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 28 + }, + { + "label": "RISIKOPROFIL", + "entity": "71/ 100", + "page": 29 + }, + { + "label": "RISIKOPROFIL", + "entity": "C", + "page": 29 + }, + { + "label": "RISIKOPROFIL", + "entity": "86", + "page": 29 + }, + { + "label": "RISIKOPROFIL", + "entity": "Carbone", + "page": 30 + }, + { + "label": "RISIKOPROFIL", + "entity": "(%", + "page": 30 + }, + { + "label": "RISIKOPROFIL", + "entity": "35", + "page": 30 + }, + { + "label": "RISIKOPROFIL", + "entity": "C) Exposure", + "page": 31 + }, + { + "label": "RISIKOPROFIL", + "entity": "canicules,", + "page": 31 + }, + { + "label": "RISIKOPROFIL", + "entity": "Canicules", + "page": 31 + }, + { + "label": "RISIKOPROFIL", + "entity": "ESG", + "page": 32 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 32 + }, + { + "label": "RISIKOPROFIL", + "entity": "calculation,", + "page": 33 + }, + { + "label": "RISIKOPROFIL", + "entity": "1/5", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nClosed in 2018", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "Portico", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nClosed in 2018", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "Value:", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "CoC:", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "CoC:", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "Nedeland", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comments", + "page": 34 + }, + { + "label": "RISIKOPROFIL", + "entity": "2/5", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comments", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nParking 64", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Value:", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "CoC:", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Commercial 1,028 sqm", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nParking 347", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Value:", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "141 ,2m", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 35 + }, + { + "label": "RISIKOPROFIL", + "entity": "3/5", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Deal", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Central", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nClosed in", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nClosed in", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Value:", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "m2 \nStorage 1,636", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "m2", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "100%", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR 1 DY:", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "(years):", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Cash-on-cash:", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR 1 DY:", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "(occupancy 96%", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "net", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comments", + "page": 36 + }, + { + "label": "RISIKOPROFIL", + "entity": "4/5", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Comments", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Defense", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "182,765 m2", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Defense", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "RTE,", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nWALB (years):", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "1 ,", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR 10Y", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Hekla", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Defense", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nWALB (years):", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR 10Y", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 37 + }, + { + "label": "RISIKOPROFIL", + "entity": "5/5", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "m2", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nTenants:", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "(occupancy 68", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR 10Y", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "m2", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "Core \nTenants:", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "(occupancy 98.4%", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "9.7", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "IRR 10Y", + "page": 38 + }, + { + "label": "RISIKOPROFIL", + "entity": "Europe", + "page": 38 + } +] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/config.cfg b/prototypes/fine_tuning_spaCy/output/model-best/config.cfg new file mode 100644 index 0000000..1cf80c4 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/config.cfg @@ -0,0 +1,145 @@ +[paths] +train = "./data/train.spacy" +dev = "./data/train.spacy" +vectors = null +init_tok2vec = null + +[system] +gpu_allocator = null +seed = 0 + +[nlp] +lang = "de" +pipeline = ["tok2vec","ner"] +batch_size = 1000 +disabled = [] +before_creation = null +after_creation = null +after_pipeline_creation = null +tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"} +vectors = {"@vectors":"spacy.Vectors.v1"} + +[components] + +[components.ner] +factory = "ner" +incorrect_spans_key = null +moves = null +scorer = {"@scorers":"spacy.ner_scorer.v1"} +update_with_oracle_cut_size = 100 + +[components.ner.model] +@architectures = "spacy.TransitionBasedParser.v2" +state_type = "ner" +extra_state_tokens = false +hidden_width = 64 +maxout_pieces = 2 +use_upper = true +nO = null + +[components.ner.model.tok2vec] +@architectures = "spacy.Tok2VecListener.v1" +width = ${components.tok2vec.model.encode.width} +upstream = "*" + +[components.tok2vec] +factory = "tok2vec" + +[components.tok2vec.model] +@architectures = "spacy.Tok2Vec.v2" + +[components.tok2vec.model.embed] +@architectures = "spacy.MultiHashEmbed.v2" +width = ${components.tok2vec.model.encode.width} +attrs = ["NORM","PREFIX","SUFFIX","SHAPE"] +rows = [5000,1000,2500,2500] +include_static_vectors = false + +[components.tok2vec.model.encode] +@architectures = "spacy.MaxoutWindowEncoder.v2" +width = 96 +depth = 4 +window_size = 1 +maxout_pieces = 3 + +[corpora] + +[corpora.dev] +@readers = "spacy.Corpus.v1" +path = ${paths.dev} +max_length = 0 +gold_preproc = false +limit = 0 +augmenter = null + +[corpora.train] +@readers = "spacy.Corpus.v1" +path = ${paths.train} +max_length = 0 +gold_preproc = false +limit = 0 +augmenter = null + +[training] +dev_corpus = "corpora.dev" +train_corpus = "corpora.train" +seed = ${system.seed} +gpu_allocator = ${system.gpu_allocator} +dropout = 0.1 +accumulate_gradient = 1 +patience = 1600 +max_epochs = 0 +max_steps = 20000 +eval_frequency = 200 +frozen_components = [] +annotating_components = [] +before_to_disk = null +before_update = null + +[training.batcher] +@batchers = "spacy.batch_by_words.v1" +discard_oversize = false +tolerance = 0.2 +get_length = null + +[training.batcher.size] +@schedules = "compounding.v1" +start = 100 +stop = 1000 +compound = 1.001 +t = 0.0 + +[training.logger] +@loggers = "spacy.ConsoleLogger.v1" +progress_bar = false + +[training.optimizer] +@optimizers = "Adam.v1" +beta1 = 0.9 +beta2 = 0.999 +L2_is_weight_decay = true +L2 = 0.01 +grad_clip = 1.0 +use_averages = false +eps = 0.00000001 +learn_rate = 0.001 + +[training.score_weights] +ents_f = 1.0 +ents_p = 0.0 +ents_r = 0.0 +ents_per_type = null + +[pretraining] + +[initialize] +vectors = ${paths.vectors} +init_tok2vec = ${paths.init_tok2vec} +vocab_data = null +lookups = null +before_init = null +after_init = null + +[initialize.components] + +[initialize.tokenizer] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/meta.json b/prototypes/fine_tuning_spaCy/output/model-best/meta.json new file mode 100644 index 0000000..ca58b77 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/meta.json @@ -0,0 +1,52 @@ +{ + "lang":"de", + "name":"pipeline", + "version":"0.0.0", + "spacy_version":">=3.7.2,<3.8.0", + "description":"", + "author":"", + "email":"", + "url":"", + "license":"", + "spacy_git_version":"a89eae928", + "vectors":{ + "width":0, + "vectors":0, + "keys":0, + "name":null, + "mode":"default" + }, + "labels":{ + "tok2vec":[ + + ], + "ner":[ + "RISIKOPROFIL" + ] + }, + "pipeline":[ + "tok2vec", + "ner" + ], + "components":[ + "tok2vec", + "ner" + ], + "disabled":[ + + ], + "performance":{ + "ents_f":1.0, + "ents_p":1.0, + "ents_r":1.0, + "ents_per_type":{ + "RISIKOPROFIL":{ + "p":1.0, + "r":1.0, + "f":1.0 + } + }, + "tok2vec_loss":0.000000011, + "ner_loss":0.0000000457 + } +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/ner/cfg b/prototypes/fine_tuning_spaCy/output/model-best/ner/cfg new file mode 100644 index 0000000..6cd11cf --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/ner/cfg @@ -0,0 +1,13 @@ +{ + "moves":null, + "update_with_oracle_cut_size":100, + "multitasks":[ + + ], + "min_action_freq":1, + "learn_tokens":false, + "beam_width":1, + "beam_density":0.0, + "beam_update_prob":0.0, + "incorrect_spans_key":null +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/ner/model b/prototypes/fine_tuning_spaCy/output/model-best/ner/model new file mode 100644 index 0000000..4909428 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/output/model-best/ner/model differ diff --git a/prototypes/fine_tuning_spaCy/output/model-best/ner/moves b/prototypes/fine_tuning_spaCy/output/model-best/ner/moves new file mode 100644 index 0000000..e27560d --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/ner/moves @@ -0,0 +1 @@ +movesx{"0":{},"1":{"RISIKOPROFIL":20},"2":{"RISIKOPROFIL":20},"3":{"RISIKOPROFIL":20},"4":{"RISIKOPROFIL":20,"":1},"5":{"":1}}cfgneg_key \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/tok2vec/cfg b/prototypes/fine_tuning_spaCy/output/model-best/tok2vec/cfg new file mode 100644 index 0000000..0e0dcd2 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/tok2vec/cfg @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/tok2vec/model b/prototypes/fine_tuning_spaCy/output/model-best/tok2vec/model new file mode 100644 index 0000000..0bf1b64 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/output/model-best/tok2vec/model differ diff --git a/prototypes/fine_tuning_spaCy/output/model-best/tokenizer b/prototypes/fine_tuning_spaCy/output/model-best/tokenizer new file mode 100644 index 0000000..9cdc922 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/tokenizer @@ -0,0 +1,3 @@ +prefix_search ^``|^§|^%|^=|^—|^–|^\+(?![0-9])|^…|^……|^,|^:|^;|^\!|^\?|^¿|^؟|^¡|^\(|^\)|^\[|^\]|^\{|^\}|^<|^>|^_|^#|^\*|^&|^。|^?|^!|^,|^、|^;|^:|^~|^·|^।|^،|^۔|^؛|^٪|^\.\.+|^…|^\'|^"|^”|^“|^`|^‘|^´|^’|^‚|^,|^„|^»|^«|^「|^」|^『|^』|^(|^)|^〔|^〕|^【|^】|^《|^》|^〈|^〉|^〈|^〉|^⟦|^⟧|^\$|^£|^€|^¥|^฿|^US\$|^C\$|^A\$|^₽|^﷼|^₴|^₠|^₡|^₢|^₣|^₤|^₥|^₦|^₧|^₨|^₩|^₪|^₫|^€|^₭|^₮|^₯|^₰|^₱|^₲|^₳|^₴|^₵|^₶|^₷|^₸|^₹|^₺|^₻|^₼|^₽|^₾|^₿|^[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]suffix_search2''$|/$|…$|……$|,$|:$|;$|\!$|\?$|¿$|؟$|¡$|\($|\)$|\[$|\]$|\{$|\}$|<$|>$|_$|#$|\*$|&$|。$|?$|!$|,$|、$|;$|:$|~$|·$|।$|،$|۔$|؛$|٪$|\.\.+$|…$|\'$|"$|”$|“$|`$|‘$|´$|’$|‚$|,$|„$|»$|«$|「$|」$|『$|』$|($|)$|〔$|〕$|【$|】$|《$|》$|〈$|〉$|〈$|〉$|⟦$|⟧$|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]$|(?<=[0-9])\+$|(?<=°[FfCcKk])\.$|(?<=[0-9])(?:\$|£|€|¥|฿|US\$|C\$|A\$|₽|﷼|₴|₠|₡|₢|₣|₤|₥|₦|₧|₨|₩|₪|₫|€|₭|₮|₯|₰|₱|₲|₳|₴|₵|₶|₷|₸|₹|₺|₻|₼|₽|₾|₿)$|(?<=[0-9])(?:km|km²|km³|m|m²|m³|dm|dm²|dm³|cm|cm²|cm³|mm|mm²|mm³|ha|µm|nm|yd|in|ft|kg|g|mg|µg|t|lb|oz|m/s|km/h|kmh|mph|hPa|Pa|mbar|mb|MB|kb|KB|gb|GB|tb|TB|T|G|M|K|%|км|км²|км³|м|м²|м³|дм|дм²|дм³|см|см²|см³|мм|мм²|мм³|нм|кг|г|мг|м/с|км/ч|кПа|Па|мбар|Кб|КБ|кб|Мб|МБ|мб|Гб|ГБ|гб|Тб|ТБ|тбكم|كم²|كم³|م|م²|م³|سم|سم²|سم³|مم|مم²|مم³|كم|غرام|جرام|جم|كغ|ملغ|كوب|اكواب)$|(?<=[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F%²\-\+…|……|,|:|;|\!|\?|¿|؟|¡|\(|\)|\[|\]|\{|\}|<|>|_|#|\*|&|。|?|!|,|、|;|:|~|·|।|،|۔|؛|٪(?:\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉〈〉⟦⟧)])\.$|(?<=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F][A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\.$infix_finditerZ\.\.+|…|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]|(?<=[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\.(?=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])[,!?](?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])[:<>=](?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F]),(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[0-9A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\/(?=[0-9A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])([\"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉〈〉⟦⟧\)\]\(\[])(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])--(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[0-9])-(?=[0-9])token_matchurl_match (?u)^(?:(?:[\w\+\-\.]{2,})://)?(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[A-Za-z0-9\u00a1-\uffff][A-Za-z0-9\u00a1-\uffff_-]{0,62})?[A-Za-z0-9\u00a1-\uffff]\.)+(?:[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F]{2,63}))(?::\d{2,5})?(?:[/?#]\S*)?$exceptions A +A + A 'A'''A'''SA'SC's'nA'nCein'neA'neCeine'nemA'nemCeinem'nenA'nenCeinen'sA'sC's(*_*)A(*_*)(-8A(-8(-:A(-:(-;A(-;(-_-)A(-_-)(._.)A(._.)(:A(:(;A(;(=A(=(>_<)A(>_<)(^_^)A(^_^)(o:A(o:(¬_¬)A(¬_¬)(ಠ_ಠ)A(ಠ_ಠ)(╯°□°)╯︵┻━┻A(╯°□°)╯︵┻━┻)-:A)-:):A):-_-A-_--__-A-__-._.A._.0.0A0.00.oA0.o0_0A0_00_oA0_o8)A8)8-)A8-)8-DA8-D8DA8D:'(A:'(:')A:'):'-(A:'-(:'-)A:'-):(A:(:((A:((:(((A:(((:()A:():)A:):))A:)):)))A:))):*A:*:-(A:-(:-((A:-((:-(((A:-(((:-)A:-):-))A:-)):-)))A:-))):-*A:-*:-/A:-/:-0A:-0:-3A:-3:->A:->:-DA:-D:-OA:-O:-PA:-P:-XA:-X:-]A:-]:-oA:-o:-pA:-p:-xA:-x:-|A:-|:-}A:-}:/A:/:0A:0:1A:1:3A:3:>A:>:DA:D:OA:O:PA:P:XA:X:]A:]:oA:o:o)A:o):pA:p:xA:x:|A:|:}A:}:’(A:’(:’)A:’):’-(A:’-(:’-)A:’-);)A;);-)A;-);-DA;-D;DA;D;_;A;_;<.A=(A=(=)A=)=/A=/=3A=3=DA=D=[A=[=]A=]=|A=|>..<>.>A>.>>:(A>:(>:oA>:o><(((*>A><(((*>@_@A@_@A.C.AA.C.A.D.AA.D.A.G.AA.G.Abb.AAbb.CAbbildungAbk.AAbk.CAbkürzungAbs.AAbs.Abt.AAbt.CAbteilungApr.AApr.CAprilAug.AAug.CAugustB.A.AB.A.B.Sc.AB.Sc.Bd.ABd.CBandBetr.ABetr.CBetreffBf.ABf.CBahnhofBhf.ABhf.CBahnhofBiol.ABiol.Bsp.ABsp.CBeispielC++AC++CDU/CSUACDU/CSUChr.AChr.Cie.ACie.Co.ACo.D.C.AD.C.Dez.ADez.CDezemberDi.ADi.CDienstagDipl.ADipl.Dipl.-Ing.ADipl.-Ing.Do.ADo.CDonnerstagDr.ADr.Fa.AFa.CFirmaFam.AFam.CFamilieFeb.AFeb.CFebruarFr.AFr.CFrauFrl.AFrl.CFräuleinG.m.b.H.AG.m.b.H.Gebr.AGebr.Hbf.AHbf.CHauptbahnhofHg.AHg.Hr.AHr.CHerrHrn.AHrn.CHerrnHrsg.AHrsg.I.AI.II.AII.III.AIII.IV.AIV.Inc.AInc.Ing.AIng.Jan.AJan.CJanuarJh.AJh.CJahrhundertJhd.AJhd.CJahrhundertJr.AJr.Jul.AJul.CJuliJun.AJun.CJuniK.O.AK.O.L'AL'L.A.AL.A.L’AL’M.A.AM.A.M.Sc.AM.Sc.Mi.AMi.CMittwochMio.AMio.CMillionMo.AMo.CMontagMr.AMr.Mrd.AMrd.CMilliardeMrz.AMrz.CMärzMwSt.AMwSt.CMehrwertsteuerMär.AMär.CMärzN.Y.AN.Y.N.Y.C.AN.Y.C.Nov.ANov.CNovemberNr.ANr.CNummerO.K.AO.K.O.OAO.OO.oAO.oO_OAO_OO_oAO_oOkt.AOkt.COktoberOrig.AOrig.COriginalP.S.AP.S.Pkt.APkt.CPunktProf.AProf.CProfessorR.I.P.AR.I.P.Red.ARed.CRedaktionS'AS'C'sSa.ASa.CSamstagSep.ASep.CSeptemberSept.ASept.CSeptemberSo.ASo.CSonntagSt.ASt.Std.AStd.CStundeStr.AStr.CStraßeS’AS’C'sTel.ATel.CTelefonTsd.ATsd.CTausendU.S.AU.S.U.S.A.AU.S.A.U.S.S.AU.S.S.Univ.AUniv.CUniversitätV.VAV.VV_VAV_VVol.AVol.XDAXDXDDAXDD[-:A[-:[:A[:[=A[=\")A\")\nA\n\tA\t]=A]=^_^A^_^^__^A^__^^___^A^___^``A``a.Aa.a.D.Aa.D.a.M.Aa.M.a.Z.Aa.Z.abzgl.Aabzgl.Cabzüglichadv.Aadv.al.Aal.allg.Aallg.Callgemeinauf'mAaufA'mCdemauf’mAaufA’mCdemb.Ab.betr.Abetr.biol.Abiol.bspw.Abspw.Cbeispielsweisebzgl.Abzgl.Cbezüglichbzw.Abzw.Cbeziehungsweisec.Ac.c/oAc/oca.Aca.co.Aco.d'Ad'd.Ad.d.h.Ad.h.dgl.Adgl.Cdergleichendu'sAduA'sCesdu’sAduA’sCesd’Ad’e.Ae.e.V.Ae.V.e.g.Ae.g.ebd.Aebd.Cebendaehem.Aehem.eigtl.Aeigtl.Ceigentlichengl.Aengl.Cenglischentspr.Aentspr.er'sAerA'sCeserm.Aerm.er’sAerA’sCesetc.Aetc.ev.Aev.evtl.Aevtl.Ceventuellf.Af.frz.Afrz.Cfranzösischg.Ag.geb.Ageb.gegr.Agegr.Cgegründetgem.Agem.ggf.Aggf.Cgegebenenfallsggfs.Aggfs.Cgegebenenfallsggü.Aggü.Cgegenüberh.Ah.h.c.Ah.c.hinter'mAhinterA'mCdemhinter’mAhinterA’mCdemhrsg.Ahrsg.i.Ai.i.A.Ai.A.i.G.Ai.G.i.O.Ai.O.i.Tr.Ai.Tr.i.V.Ai.V.i.d.R.Ai.d.R.i.e.Ai.e.ich'sAichA'sCesich’sAichA’sCesihr'sAihrA'sCesihr’sAihrA’sCesincl.Aincl.Cinklusiveinkl.Ainkl.Cinklusiveinsb.Ainsb.Cinsbesonderej.Aj.jr.Ajr.jun.Ajun.jur.Ajur.k.Ak.kath.Akath.Ckatholischl.Al.lat.Alat.lt.Alt.Clautm.Am.m.E.Am.E.m.M.Am.M.max.Amax.Cmaximalmin.Amin.Cminimalmind.Amind.Cmindestensmtl.Amtl.Cmonatlichn.An.n.Chr.An.Chr.nat.Anat.o.Ao.o.0Ao.0o.OAo.Oo.a.Ao.a.o.g.Ao.g.o.k.Ao.k.o.oAo.oo.ä.Ao.ä.o_0Ao_0o_OAo_Oo_oAo_oorig.Aorig.Coriginalp.Ap.p.a.Ap.a.p.s.Ap.s.pers.Apers.phil.Aphil.q.Aq.q.e.d.Aq.e.d.r.Ar.rer.Arer.röm.Aröm.Crömischs'As'C'ss.As.s.o.As.o.sen.Asen.sie'sAsieA'sCessie’sAsieA’sCessog.Asog.std.Astd.stellv.Astellv.s’As’C'st.At.tägl.Atägl.Ctäglichu.Au.u.U.Au.U.u.a.Au.a.u.s.w.Au.s.w.u.v.m.Au.v.m.unter'mAunterA'mCdemunter’mAunterA’mCdemusf.Ausf.usw.Ausw.uvm.Auvm.v.Av.v.Chr.Av.Chr.v.a.Av.a.v.l.n.r.Av.l.n.r.v.vAv.vv_vAv_vvgl.Avgl.Cvergleichevllt.Avllt.Cvielleichtvlt.Avlt.Cvielleichtvor'mAvorA'mCdemvor’mAvorA’mCdemvs.Avs.w.Aw.wir'sAwirA'sCeswir’sAwirA’sCeswiss.Awiss.x.Ax.xDAxDxDDAxDDy.Ay.z.Az.z.B.Az.B.z.Bsp.Az.Bsp.z.T.Az.T.z.Z.Az.Z.z.Zt.Az.Zt.z.b.Az.b.zzgl.Azzgl. A C ¯\(ツ)/¯A¯\(ツ)/¯°C.A°ACA.°F.A°AFA.°K.A°AKA.°c.A°AcA.°f.A°AfA.°k.A°AkA.ä.Aä.ö.Aö.österr.Aösterr.Cösterreichischü.Aü.über'mAüberA'mCdemüber’mAüberA’mCdemಠ_ಠAಠ_ಠಠ︵ಠAಠ︵ಠ—A—’A’’SA’SC's’nA’nCein’neA’neCeine’nemA’nemCeinem’nenA’nenCeinen’sA’sC's’’A’’faster_heuristics \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/vocab/key2row b/prototypes/fine_tuning_spaCy/output/model-best/vocab/key2row new file mode 100644 index 0000000..5416677 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/vocab/key2row @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/vocab/lookups.bin b/prototypes/fine_tuning_spaCy/output/model-best/vocab/lookups.bin new file mode 100644 index 0000000..5416677 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/vocab/lookups.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/vocab/strings.json b/prototypes/fine_tuning_spaCy/output/model-best/vocab/strings.json new file mode 100644 index 0000000..4293997 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/vocab/strings.json @@ -0,0 +1,1279 @@ +[ + "\t", + "\n", + " ", + " ", + "\"", + "'", + "''", + "'-(", + "'-)", + "'S", + "'X", + "'m", + "'n", + "'ne", + "'nem", + "'nen", + "'s", + "'x", + "'xx", + "'xxx", + "(", + "(((", + "(*>", + "(*_*)", + "(-8", + "(-:", + "(-;", + "(-_-)", + "(-d", + "(._.)", + "(:", + "(;", + "(=", + "(>_<)", + "(^_^)", + "(o:", + "(x:", + "(x_x)", + "(\u00ac_\u00ac)", + "(\u0ca0_\u0ca0)", + "(\u256f\u00b0\u25a1\u00b0\uff09\u256f\ufe35\u253b\u2501\u253b", + ")", + ")))", + ")-:", + ")/\u00af", + "):", + "*", + "-", + "-((", + "-))", + "-0", + "-3", + "-8", + "-D", + "-O", + "-P", + "-X", + "-_-", + "-__-", + "-d", + "-o", + "-p", + "-x", + "-|", + ".", + ".A.", + ".B.", + ".C.", + ".D.", + ".E.", + ".G.", + ".H.", + ".K.", + ".M.", + ".O.", + ".P.", + ".R.", + ".S.", + ".Sc", + ".T.", + ".U.", + ".V.", + ".Y.", + ".Z.", + "._.", + ".a.", + ".b.", + ".c.", + ".d.", + ".e.", + ".g.", + ".h.", + ".k.", + ".m.", + ".o.", + ".r.", + ".s.", + ".w.", + ".\u00e4.", + "/", + "/3", + "/d", + "0", + "0.0", + "0.o", + "0_0", + "0_o", + "1", + "3", + "33", + "333", + "8", + "8)", + "8-", + "8-)", + "8-D", + "8-d", + "8D", + "8d", + ":", + ":'(", + ":')", + ":'-(", + ":'-)", + ":(", + ":((", + ":(((", + ":()", + ":)", + ":))", + ":)))", + ":*", + ":-(", + ":-((", + ":-(((", + ":-)", + ":-))", + ":-)))", + ":-*", + ":-/", + ":-0", + ":-3", + ":->", + ":-D", + ":-O", + ":-P", + ":-X", + ":-]", + ":-d", + ":-o", + ":-p", + ":-x", + ":-|", + ":-}", + ":/", + ":0", + ":1", + ":3", + ":>", + ":D", + ":O", + ":P", + ":X", + ":]", + ":d", + ":o", + ":o)", + ":p", + ":x", + ":x)", + ":|", + ":}", + ":\u2019(", + ":\u2019)", + ":\u2019-(", + ":\u2019-)", + ";", + ";)", + ";-)", + ";-D", + ";-X", + ";-d", + ";D", + ";X", + ";_;", + ";d", + "<", + "<.<", + "", + "", + "=", + "=(", + "=)", + "=/", + "=3", + "=D", + "=X", + "=[", + "=]", + "=d", + "=|", + ">", + ">.<", + ">.>", + ">:(", + ">:o", + ">:x", + "><(((*>", + "@", + "@_@", + "A", + "A.", + "A.C.", + "A.D.", + "A.G.", + "Abb", + "Abb.", + "Abbildung", + "Abk", + "Abk.", + "Abk\u00fcrzung", + "Abs", + "Abs.", + "Abt", + "Abt.", + "Abteilung", + "Add", + "Apr", + "Apr.", + "April", + "Aug", + "Aug.", + "August", + "B", + "B.", + "B.A.", + "B.Sc", + "B.Sc.", + "Bahnhof", + "Band", + "Bd", + "Bd.", + "Beispiel", + "Betr", + "Betr.", + "Betreff", + "Bf", + "Bf.", + "Bhf", + "Bhf.", + "Biol", + "Biol.", + "Bsp", + "Bsp.", + "C", + "C++", + "C.", + "CDU", + "CDU/CSU", + "CSU", + "Chr", + "Chr.", + "Cie", + "Cie.", + "Co", + "Co.", + "Core", + "Core+", + "Core+/Value", + "D", + "D.", + "D.C.", + "Dez", + "Dez.", + "Dezember", + "Di", + "Di.", + "Dienstag", + "Dipl", + "Dipl.", + "Dipl.-Ing", + "Dipl.-Ing.", + "Do", + "Do.", + "Donnerstag", + "Dr", + "Dr.", + "E", + "E.", + "European", + "F", + "F.", + "FIL", + "Fa", + "Fa.", + "Fam", + "Fam.", + "Familie", + "Feb", + "Feb.", + "Februar", + "Firma", + "Fond", + "Fr", + "Fr.", + "Frau", + "Frl", + "Frl.", + "Fr\u00e4ulein", + "G", + "G.", + "G.m.b", + "G.m.b.H.", + "Gebr", + "Gebr.", + "H", + "H.", + "Hauptbahnhof", + "Hbf", + "Hbf.", + "Herr", + "Herrn", + "Hg", + "Hg.", + "Hr", + "Hr.", + "Hrn", + "Hrn.", + "Hrsg", + "Hrsg.", + "I", + "I.", + "II", + "II.", + "III", + "III.", + "IV", + "IV.", + "Inc", + "Inc.", + "Ing", + "Ing.", + "J", + "Jahrhundert", + "Jan", + "Jan.", + "Januar", + "Jh", + "Jh.", + "Jhd", + "Jhd.", + "Jr", + "Jr.", + "Jul", + "Jul.", + "Juli", + "Jun", + "Jun.", + "Juni", + "K", + "K.", + "K.O.", + "L", + "L'", + "L.A.", + "L\u2019", + "M", + "M.", + "M.A.", + "M.Sc", + "M.Sc.", + "Mehrwertsteuer", + "Mi", + "Mi.", + "Milliarde", + "Million", + "Mio", + "Mio.", + "Mittwoch", + "Mo", + "Mo.", + "Montag", + "Mr", + "Mr.", + "Mrd", + "Mrd.", + "Mrz", + "Mrz.", + "MwSt", + "MwSt.", + "M\u00e4r", + "M\u00e4r.", + "M\u00e4rz", + "N", + "N.Y.", + "N.Y.C.", + "Nov", + "Nov.", + "November", + "Nr", + "Nr.", + "Nummer", + "O", + "O.", + "O.K.", + "O.O", + "O.o", + "O_O", + "O_o", + "Okt", + "Okt.", + "Oktober", + "Orig", + "Orig.", + "Original", + "P", + "P.S.", + "Pkt", + "Pkt.", + "Prof", + "Prof.", + "Professor", + "Punkt", + "R", + "R.", + "R.I.P.", + "RE", + "RISIKOPROFIL", + "ROOT", + "Red", + "Red.", + "Redaktion", + "S", + "S'", + "Sa", + "Sa.", + "Samstag", + "Sc.", + "Sep", + "Sep.", + "Sept", + "Sept.", + "September", + "So", + "So.", + "Sonntag", + "St", + "St.", + "Std", + "Std.", + "Str", + "Str.", + "Stra\u00dfe", + "Stunde", + "S\u2019", + "T", + "T.", + "Tausend", + "Tel", + "Tel.", + "Telefon", + "The", + "Tr", + "Tr.", + "Tsd", + "Tsd.", + "U", + "U.", + "U.S.", + "U.S.A.", + "U.S.S.", + "Univ", + "Univ.", + "Universit\u00e4t", + "V", + "V.", + "V.V", + "V_V", + "Value", + "Vol", + "Vol.", + "X'", + "X++", + "X.", + "X.X", + "X.X.", + "X.X.X.", + "X.Xx", + "X.Xx.", + "X.x", + "X.x.x", + "X.x.x.X.", + "XD", + "XDD", + "XX", + "XX.", + "XXX", + "XXX.", + "XXX/XXX", + "XXXX", + "X_X", + "X_x", + "Xx", + "Xx.", + "XxXx", + "XxXx.", + "Xxx", + "Xxx.", + "Xxxx", + "Xxxx+", + "Xxxx+/Xxxxx", + "Xxxx.", + "Xxxx.-Xxx", + "Xxxx.-Xxx.", + "Xxxxx", + "X\u2019", + "Z", + "Z.", + "Zt", + "Zt.", + "[", + "[-:", + "[:", + "[=", + "\\", + "\\\")", + "\\n", + "\\t", + "\\x", + "]", + "]=", + "^", + "^_^", + "^__^", + "^___^", + "_*)", + "_-)", + "_.)", + "_<)", + "_^)", + "__-", + "__^", + "_\u00ac)", + "_\u0ca0)", + "`", + "``", + "a", + "a.", + "a.D.", + "a.M.", + "a.Z.", + "a.c.", + "a.d.", + "a.g.", + "a.m.", + "a.z.", + "abb", + "abb.", + "abk", + "abk.", + "abs", + "abs.", + "abt", + "abt.", + "abzgl", + "abzgl.", + "abz\u00fcglich", + "ace", + "add", + "adv", + "adv.", + "al", + "al.", + "allg", + "allg.", + "allgemein", + "am.", + "an.", + "apr", + "apr.", + "at.", + "ath", + "auf", + "auf\u2019m", + "aug", + "aug.", + "ax.", + "b", + "b.", + "b.a.", + "b.sc", + "b.sc.", + "bb.", + "bd", + "bd.", + "beispielsweise", + "ber", + "betr", + "betr.", + "beziehungsweise", + "bez\u00fcglich", + "bf", + "bf.", + "bhf", + "bhf.", + "biol", + "biol.", + "bk.", + "br.", + "bs.", + "bsp", + "bsp.", + "bspw", + "bspw.", + "bt.", + "bzgl", + "bzgl.", + "bzw", + "bzw.", + "c", + "c++", + "c.", + "c/o", + "ca", + "ca.", + "cdu", + "cdu/csu", + "ce>", + "chr", + "chr.", + "cie", + "cie.", + "cl.", + "co", + "co.", + "core", + "core+", + "core+/value", + "csu", + "d", + "d'", + "d)", + "d-", + "d-)", + "d-X", + "d.", + "d.c.", + "d.d", + "d.h", + "d.h.", + "d.x", + "dX", + "d_d", + "d_x", + "dd", + "ddd", + "de", + "dem", + "dergleichen", + "dez", + "dez.", + "dgl", + "dgl.", + "di", + "di.", + "dipl", + "dipl.", + "dipl.-ing", + "dipl.-ing.", + "do", + "do.", + "dr", + "dr.", + "du", + "du\u2019s", + "dv.", + "d\u2019", + "e", + "e.", + "e.V.", + "e.d", + "e.g", + "e.g.", + "e.v.", + "ean", + "eb.", + "ebd", + "ebd.", + "ebenda", + "ebr", + "ed.", + "egr", + "ehem", + "ehem.", + "eigentlich", + "eigtl", + "eigtl.", + "ein", + "eine", + "einem", + "einen", + "el.", + "em.", + "en.", + "engl", + "engl.", + "englisch", + "entspr", + "entspr.", + "ep.", + "ept", + "er", + "er.", + "erm", + "erm.", + "err", + "ers", + "er\u2019s", + "es", + "etc", + "etc.", + "etr", + "european", + "ev", + "ev.", + "eventuell", + "evtl", + "evtl.", + "expertise", + "ez.", + "e\u2019s", + "f", + "f.", + "fa", + "fa.", + "fam", + "fam.", + "feb", + "feb.", + "fond", + "fr", + "fr.", + "franz\u00f6sisch", + "frl", + "frl.", + "frz", + "frz.", + "fs.", + "fund", + "f\u2019m", + "g", + "g.", + "g.m.b", + "g.m.b.h.", + "geb", + "geb.", + "gebr", + "gebr.", + "gegebenenfalls", + "gegen\u00fcber", + "gegr", + "gegr.", + "gegr\u00fcndet", + "gem", + "gem.", + "gf.", + "gfs", + "ggf", + "ggf.", + "ggfs", + "ggfs.", + "gg\u00fc", + "gg\u00fc.", + "gl.", + "good", + "gr.", + "gtl", + "g\u00fc.", + "h", + "h.", + "h.c", + "h.c.", + "hbf", + "hbf.", + "hd.", + "hem", + "hf.", + "hg", + "hg.", + "hil", + "hinter", + "hinter\u2019m", + "hr", + "hr.", + "hrn", + "hrn.", + "hrsg", + "hrsg.", + "h\u2019s", + "i", + "i.", + "i.A.", + "i.G.", + "i.O.", + "i.Tr.", + "i.V.", + "i.a.", + "i.d", + "i.d.R.", + "i.d.r.", + "i.e", + "i.e.", + "i.g.", + "i.o.", + "i.tr.", + "i.v.", + "ich", + "ich\u2019s", + "ie.", + "ig.", + "ihr", + "ihr\u2019s", + "ii", + "ii.", + "iii", + "iii.", + "il.", + "illustration", + "in", + "in.", + "inc", + "inc.", + "incl", + "incl.", + "ind", + "ing", + "ing.", + "inkl", + "inkl.", + "inklusive", + "insb", + "insb.", + "insbesondere", + "investments", + "io.", + "iol", + "ion", + "ipl", + "is", + "ise", + "iss", + "iv", + "iv.", + "j", + "j.", + "jan", + "jan.", + "jh", + "jh.", + "jhd", + "jhd.", + "jr", + "jr.", + "jul", + "jul.", + "jun", + "jun.", + "jur", + "jur.", + "k", + "k.", + "k.o.", + "kath", + "kath.", + "katholisch", + "kl.", + "kt.", + "l", + "l'", + "l.", + "l.a.", + "lat", + "lat.", + "laut", + "lg.", + "lio", + "llg", + "llt", + "llv", + "lt", + "lt.", + "lue", + "lv.", + "l\u2019", + "m", + "m.", + "m.E.", + "m.M.", + "m.a.", + "m.b", + "m.e.", + "m.m.", + "m.sc", + "m.sc.", + "max", + "max.", + "maximal", + "mi", + "mi.", + "min", + "min.", + "mind", + "mind.", + "mindestens", + "minimal", + "mio", + "mio.", + "mo", + "mo.", + "monatlich", + "mr", + "mr.", + "mrd", + "mrd.", + "mrz", + "mrz.", + "mtl", + "mtl.", + "mwst", + "mwst.", + "m\u00e4r", + "m\u00e4r.", + "n", + "n.", + "n.Chr.", + "n.chr.", + "n.r", + "n.y.", + "n.y.c.", + "nat", + "nat.", + "nc.", + "ncl", + "nd.", + "ne", + "nem", + "nen", + "ng.", + "ngl", + "niv", + "nkl", + "nov", + "nov.", + "nr", + "nr.", + "nsb", + "nts", + "o", + "o.", + "o.0", + "o.O", + "o.a", + "o.a.", + "o.g", + "o.g.", + "o.k", + "o.k.", + "o.o", + "o.\u00e4", + "o.\u00e4.", + "o_0", + "o_O", + "o_o", + "of", + "of.", + "og.", + "okt", + "okt.", + "ol.", + "ond", + "ood", + "ore", + "orig", + "orig.", + "original", + "ov.", + "p", + "p.", + "p.a", + "p.a.", + "p.s", + "p.s.", + "pers", + "pers.", + "phil", + "phil.", + "pkt", + "pkt.", + "pl.", + "portfolio", + "pr.", + "prof", + "prof.", + "pt.", + "pw.", + "q", + "q.", + "q.e.d", + "q.e.d.", + "r", + "r.", + "r.i.p.", + "rd.", + "re", + "re+", + "red", + "red.", + "rer", + "rer.", + "rig", + "risikoprofil", + "rl.", + "rm.", + "rn.", + "rof", + "rr.", + "rs.", + "rsg", + "rz.", + "r\u00f6m", + "r\u00f6m.", + "r\u00f6misch", + "r\u2019m", + "r\u2019s", + "s", + "s'", + "s.", + "s.o", + "s.o.", + "s.w", + "sa", + "sa.", + "sb.", + "sd.", + "sen", + "sen.", + "sep", + "sep.", + "sept", + "sept.", + "sf.", + "sg.", + "sie", + "sie\u2019s", + "so", + "so.", + "sog", + "sog.", + "sp.", + "space", + "spr", + "spw", + "ss.", + "st", + "st.", + "std", + "std.", + "stellv", + "stellv.", + "str", + "str.", + "sw.", + "s\u2019", + "t", + "t.", + "tc.", + "td.", + "tel", + "tel.", + "ter", + "th.", + "the", + "tl.", + "tr", + "tr.", + "tsd", + "tsd.", + "t\u00e4gl", + "t\u00e4gl.", + "t\u00e4glich", + "u", + "u.", + "u.U.", + "u.a", + "u.a.", + "u.s.", + "u.s.a.", + "u.s.s.", + "u.s.w", + "u.s.w.", + "u.u.", + "u.v.m", + "u.v.m.", + "ug.", + "ul.", + "un.", + "und", + "univ", + "univ.", + "unter", + "unter\u2019m", + "ur.", + "usf", + "usf.", + "usw", + "usw.", + "uvm", + "uvm.", + "u\u2019s", + "v", + "v.", + "v.Chr.", + "v.a", + "v.a.", + "v.chr.", + "v.l.n.r", + "v.l.n.r.", + "v.m", + "v.v", + "v_v", + "value", + "vergleiche", + "vgl", + "vgl.", + "vielleicht", + "vllt", + "vllt.", + "vlt", + "vlt.", + "vm.", + "vol", + "vol.", + "vor", + "vor\u2019m", + "vs", + "vs.", + "vtl", + "w", + "w.", + "wSt", + "wir", + "wir\u2019s", + "wiss", + "wiss.", + "x", + "x'", + "x.", + "x.X", + "x.X.", + "x.Xx.", + "x.Xxx.", + "x.d", + "x.x", + "x.x.", + "x.x.X.", + "x.x.x", + "x.x.x.", + "x.x.x.x", + "x.x.x.x.", + "x/x", + "xD", + "xDD", + "xX", + "xXX", + "x_X", + "x_d", + "x_x", + "xd", + "xdd", + "xx", + "xx.", + "xxx", + "xxx.", + "xxxx", + "xxxx+", + "xxxx+/xxxx", + "xxxx.", + "xxxx\u2019x", + "xxx\u2019x", + "xx\u2019x", + "x\u2019", + "x\ufe35x", + "y", + "y.", + "z", + "z.", + "z.B.", + "z.Bsp.", + "z.T.", + "z.Z.", + "z.Zt.", + "z.b", + "z.b.", + "z.bsp.", + "z.t.", + "z.z.", + "z.zt.", + "zgl", + "zt", + "zw.", + "zzgl", + "zzgl.", + "|", + "}", + "\u00a0", + "\u00ac", + "\u00ac_\u00ac", + "\u00af", + "\u00af\\(x)/\u00af", + "\u00af\\(\u30c4)/\u00af", + "\u00b0", + "\u00b0C.", + "\u00b0F.", + "\u00b0K.", + "\u00b0X.", + "\u00b0c.", + "\u00b0f.", + "\u00b0k.", + "\u00b0x.", + "\u00e4", + "\u00e4.", + "\u00e4gl", + "\u00e4r.", + "\u00f6", + "\u00f6.", + "\u00f6m.", + "\u00f6sterr", + "\u00f6sterr.", + "\u00f6sterreichisch", + "\u00fc", + "\u00fc.", + "\u00fcber", + "\u00fcber\u2019m", + "\u0ca0", + "\u0ca0_\u0ca0", + "\u0ca0\ufe35\u0ca0", + "\u2014", + "\u2019", + "\u2019-(", + "\u2019-)", + "\u2019S", + "\u2019X", + "\u2019m", + "\u2019n", + "\u2019ne", + "\u2019nem", + "\u2019nen", + "\u2019s", + "\u2019x", + "\u2019xx", + "\u2019xxx", + "\u2019\u2019", + "\u2501", + "\u253b", + "\u253b\u2501\u253b", + "\u256f", + "\u25a1", + "\ufe35", + "\uff09" +] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-best/vocab/vectors b/prototypes/fine_tuning_spaCy/output/model-best/vocab/vectors new file mode 100644 index 0000000..ebadaa5 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/output/model-best/vocab/vectors differ diff --git a/prototypes/fine_tuning_spaCy/output/model-best/vocab/vectors.cfg b/prototypes/fine_tuning_spaCy/output/model-best/vocab/vectors.cfg new file mode 100644 index 0000000..32c800a --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-best/vocab/vectors.cfg @@ -0,0 +1,3 @@ +{ + "mode":"default" +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/config.cfg b/prototypes/fine_tuning_spaCy/output/model-last/config.cfg new file mode 100644 index 0000000..1cf80c4 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/config.cfg @@ -0,0 +1,145 @@ +[paths] +train = "./data/train.spacy" +dev = "./data/train.spacy" +vectors = null +init_tok2vec = null + +[system] +gpu_allocator = null +seed = 0 + +[nlp] +lang = "de" +pipeline = ["tok2vec","ner"] +batch_size = 1000 +disabled = [] +before_creation = null +after_creation = null +after_pipeline_creation = null +tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"} +vectors = {"@vectors":"spacy.Vectors.v1"} + +[components] + +[components.ner] +factory = "ner" +incorrect_spans_key = null +moves = null +scorer = {"@scorers":"spacy.ner_scorer.v1"} +update_with_oracle_cut_size = 100 + +[components.ner.model] +@architectures = "spacy.TransitionBasedParser.v2" +state_type = "ner" +extra_state_tokens = false +hidden_width = 64 +maxout_pieces = 2 +use_upper = true +nO = null + +[components.ner.model.tok2vec] +@architectures = "spacy.Tok2VecListener.v1" +width = ${components.tok2vec.model.encode.width} +upstream = "*" + +[components.tok2vec] +factory = "tok2vec" + +[components.tok2vec.model] +@architectures = "spacy.Tok2Vec.v2" + +[components.tok2vec.model.embed] +@architectures = "spacy.MultiHashEmbed.v2" +width = ${components.tok2vec.model.encode.width} +attrs = ["NORM","PREFIX","SUFFIX","SHAPE"] +rows = [5000,1000,2500,2500] +include_static_vectors = false + +[components.tok2vec.model.encode] +@architectures = "spacy.MaxoutWindowEncoder.v2" +width = 96 +depth = 4 +window_size = 1 +maxout_pieces = 3 + +[corpora] + +[corpora.dev] +@readers = "spacy.Corpus.v1" +path = ${paths.dev} +max_length = 0 +gold_preproc = false +limit = 0 +augmenter = null + +[corpora.train] +@readers = "spacy.Corpus.v1" +path = ${paths.train} +max_length = 0 +gold_preproc = false +limit = 0 +augmenter = null + +[training] +dev_corpus = "corpora.dev" +train_corpus = "corpora.train" +seed = ${system.seed} +gpu_allocator = ${system.gpu_allocator} +dropout = 0.1 +accumulate_gradient = 1 +patience = 1600 +max_epochs = 0 +max_steps = 20000 +eval_frequency = 200 +frozen_components = [] +annotating_components = [] +before_to_disk = null +before_update = null + +[training.batcher] +@batchers = "spacy.batch_by_words.v1" +discard_oversize = false +tolerance = 0.2 +get_length = null + +[training.batcher.size] +@schedules = "compounding.v1" +start = 100 +stop = 1000 +compound = 1.001 +t = 0.0 + +[training.logger] +@loggers = "spacy.ConsoleLogger.v1" +progress_bar = false + +[training.optimizer] +@optimizers = "Adam.v1" +beta1 = 0.9 +beta2 = 0.999 +L2_is_weight_decay = true +L2 = 0.01 +grad_clip = 1.0 +use_averages = false +eps = 0.00000001 +learn_rate = 0.001 + +[training.score_weights] +ents_f = 1.0 +ents_p = 0.0 +ents_r = 0.0 +ents_per_type = null + +[pretraining] + +[initialize] +vectors = ${paths.vectors} +init_tok2vec = ${paths.init_tok2vec} +vocab_data = null +lookups = null +before_init = null +after_init = null + +[initialize.components] + +[initialize.tokenizer] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/meta.json b/prototypes/fine_tuning_spaCy/output/model-last/meta.json new file mode 100644 index 0000000..ca58b77 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/meta.json @@ -0,0 +1,52 @@ +{ + "lang":"de", + "name":"pipeline", + "version":"0.0.0", + "spacy_version":">=3.7.2,<3.8.0", + "description":"", + "author":"", + "email":"", + "url":"", + "license":"", + "spacy_git_version":"a89eae928", + "vectors":{ + "width":0, + "vectors":0, + "keys":0, + "name":null, + "mode":"default" + }, + "labels":{ + "tok2vec":[ + + ], + "ner":[ + "RISIKOPROFIL" + ] + }, + "pipeline":[ + "tok2vec", + "ner" + ], + "components":[ + "tok2vec", + "ner" + ], + "disabled":[ + + ], + "performance":{ + "ents_f":1.0, + "ents_p":1.0, + "ents_r":1.0, + "ents_per_type":{ + "RISIKOPROFIL":{ + "p":1.0, + "r":1.0, + "f":1.0 + } + }, + "tok2vec_loss":0.000000011, + "ner_loss":0.0000000457 + } +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/ner/cfg b/prototypes/fine_tuning_spaCy/output/model-last/ner/cfg new file mode 100644 index 0000000..6cd11cf --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/ner/cfg @@ -0,0 +1,13 @@ +{ + "moves":null, + "update_with_oracle_cut_size":100, + "multitasks":[ + + ], + "min_action_freq":1, + "learn_tokens":false, + "beam_width":1, + "beam_density":0.0, + "beam_update_prob":0.0, + "incorrect_spans_key":null +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/ner/model b/prototypes/fine_tuning_spaCy/output/model-last/ner/model new file mode 100644 index 0000000..4909428 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/output/model-last/ner/model differ diff --git a/prototypes/fine_tuning_spaCy/output/model-last/ner/moves b/prototypes/fine_tuning_spaCy/output/model-last/ner/moves new file mode 100644 index 0000000..e27560d --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/ner/moves @@ -0,0 +1 @@ +movesx{"0":{},"1":{"RISIKOPROFIL":20},"2":{"RISIKOPROFIL":20},"3":{"RISIKOPROFIL":20},"4":{"RISIKOPROFIL":20,"":1},"5":{"":1}}cfgneg_key \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/tok2vec/cfg b/prototypes/fine_tuning_spaCy/output/model-last/tok2vec/cfg new file mode 100644 index 0000000..0e0dcd2 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/tok2vec/cfg @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/tok2vec/model b/prototypes/fine_tuning_spaCy/output/model-last/tok2vec/model new file mode 100644 index 0000000..0bf1b64 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/output/model-last/tok2vec/model differ diff --git a/prototypes/fine_tuning_spaCy/output/model-last/tokenizer b/prototypes/fine_tuning_spaCy/output/model-last/tokenizer new file mode 100644 index 0000000..9cdc922 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/tokenizer @@ -0,0 +1,3 @@ +prefix_search ^``|^§|^%|^=|^—|^–|^\+(?![0-9])|^…|^……|^,|^:|^;|^\!|^\?|^¿|^؟|^¡|^\(|^\)|^\[|^\]|^\{|^\}|^<|^>|^_|^#|^\*|^&|^。|^?|^!|^,|^、|^;|^:|^~|^·|^।|^،|^۔|^؛|^٪|^\.\.+|^…|^\'|^"|^”|^“|^`|^‘|^´|^’|^‚|^,|^„|^»|^«|^「|^」|^『|^』|^(|^)|^〔|^〕|^【|^】|^《|^》|^〈|^〉|^〈|^〉|^⟦|^⟧|^\$|^£|^€|^¥|^฿|^US\$|^C\$|^A\$|^₽|^﷼|^₴|^₠|^₡|^₢|^₣|^₤|^₥|^₦|^₧|^₨|^₩|^₪|^₫|^€|^₭|^₮|^₯|^₰|^₱|^₲|^₳|^₴|^₵|^₶|^₷|^₸|^₹|^₺|^₻|^₼|^₽|^₾|^₿|^[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]suffix_search2''$|/$|…$|……$|,$|:$|;$|\!$|\?$|¿$|؟$|¡$|\($|\)$|\[$|\]$|\{$|\}$|<$|>$|_$|#$|\*$|&$|。$|?$|!$|,$|、$|;$|:$|~$|·$|।$|،$|۔$|؛$|٪$|\.\.+$|…$|\'$|"$|”$|“$|`$|‘$|´$|’$|‚$|,$|„$|»$|«$|「$|」$|『$|』$|($|)$|〔$|〕$|【$|】$|《$|》$|〈$|〉$|〈$|〉$|⟦$|⟧$|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]$|(?<=[0-9])\+$|(?<=°[FfCcKk])\.$|(?<=[0-9])(?:\$|£|€|¥|฿|US\$|C\$|A\$|₽|﷼|₴|₠|₡|₢|₣|₤|₥|₦|₧|₨|₩|₪|₫|€|₭|₮|₯|₰|₱|₲|₳|₴|₵|₶|₷|₸|₹|₺|₻|₼|₽|₾|₿)$|(?<=[0-9])(?:km|km²|km³|m|m²|m³|dm|dm²|dm³|cm|cm²|cm³|mm|mm²|mm³|ha|µm|nm|yd|in|ft|kg|g|mg|µg|t|lb|oz|m/s|km/h|kmh|mph|hPa|Pa|mbar|mb|MB|kb|KB|gb|GB|tb|TB|T|G|M|K|%|км|км²|км³|м|м²|м³|дм|дм²|дм³|см|см²|см³|мм|мм²|мм³|нм|кг|г|мг|м/с|км/ч|кПа|Па|мбар|Кб|КБ|кб|Мб|МБ|мб|Гб|ГБ|гб|Тб|ТБ|тбكم|كم²|كم³|م|م²|م³|سم|سم²|سم³|مم|مم²|مم³|كم|غرام|جرام|جم|كغ|ملغ|كوب|اكواب)$|(?<=[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F%²\-\+…|……|,|:|;|\!|\?|¿|؟|¡|\(|\)|\[|\]|\{|\}|<|>|_|#|\*|&|。|?|!|,|、|;|:|~|·|।|،|۔|؛|٪(?:\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉〈〉⟦⟧)])\.$|(?<=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F][A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\.$infix_finditerZ\.\.+|…|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]|(?<=[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\.(?=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])[,!?](?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])[:<>=](?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F]),(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[0-9A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\/(?=[0-9A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])([\"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉〈〉⟦⟧\)\]\(\[])(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])--(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[0-9])-(?=[0-9])token_matchurl_match (?u)^(?:(?:[\w\+\-\.]{2,})://)?(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[A-Za-z0-9\u00a1-\uffff][A-Za-z0-9\u00a1-\uffff_-]{0,62})?[A-Za-z0-9\u00a1-\uffff]\.)+(?:[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F]{2,63}))(?::\d{2,5})?(?:[/?#]\S*)?$exceptions A +A + A 'A'''A'''SA'SC's'nA'nCein'neA'neCeine'nemA'nemCeinem'nenA'nenCeinen'sA'sC's(*_*)A(*_*)(-8A(-8(-:A(-:(-;A(-;(-_-)A(-_-)(._.)A(._.)(:A(:(;A(;(=A(=(>_<)A(>_<)(^_^)A(^_^)(o:A(o:(¬_¬)A(¬_¬)(ಠ_ಠ)A(ಠ_ಠ)(╯°□°)╯︵┻━┻A(╯°□°)╯︵┻━┻)-:A)-:):A):-_-A-_--__-A-__-._.A._.0.0A0.00.oA0.o0_0A0_00_oA0_o8)A8)8-)A8-)8-DA8-D8DA8D:'(A:'(:')A:'):'-(A:'-(:'-)A:'-):(A:(:((A:((:(((A:(((:()A:():)A:):))A:)):)))A:))):*A:*:-(A:-(:-((A:-((:-(((A:-(((:-)A:-):-))A:-)):-)))A:-))):-*A:-*:-/A:-/:-0A:-0:-3A:-3:->A:->:-DA:-D:-OA:-O:-PA:-P:-XA:-X:-]A:-]:-oA:-o:-pA:-p:-xA:-x:-|A:-|:-}A:-}:/A:/:0A:0:1A:1:3A:3:>A:>:DA:D:OA:O:PA:P:XA:X:]A:]:oA:o:o)A:o):pA:p:xA:x:|A:|:}A:}:’(A:’(:’)A:’):’-(A:’-(:’-)A:’-);)A;);-)A;-);-DA;-D;DA;D;_;A;_;<.A=(A=(=)A=)=/A=/=3A=3=DA=D=[A=[=]A=]=|A=|>..<>.>A>.>>:(A>:(>:oA>:o><(((*>A><(((*>@_@A@_@A.C.AA.C.A.D.AA.D.A.G.AA.G.Abb.AAbb.CAbbildungAbk.AAbk.CAbkürzungAbs.AAbs.Abt.AAbt.CAbteilungApr.AApr.CAprilAug.AAug.CAugustB.A.AB.A.B.Sc.AB.Sc.Bd.ABd.CBandBetr.ABetr.CBetreffBf.ABf.CBahnhofBhf.ABhf.CBahnhofBiol.ABiol.Bsp.ABsp.CBeispielC++AC++CDU/CSUACDU/CSUChr.AChr.Cie.ACie.Co.ACo.D.C.AD.C.Dez.ADez.CDezemberDi.ADi.CDienstagDipl.ADipl.Dipl.-Ing.ADipl.-Ing.Do.ADo.CDonnerstagDr.ADr.Fa.AFa.CFirmaFam.AFam.CFamilieFeb.AFeb.CFebruarFr.AFr.CFrauFrl.AFrl.CFräuleinG.m.b.H.AG.m.b.H.Gebr.AGebr.Hbf.AHbf.CHauptbahnhofHg.AHg.Hr.AHr.CHerrHrn.AHrn.CHerrnHrsg.AHrsg.I.AI.II.AII.III.AIII.IV.AIV.Inc.AInc.Ing.AIng.Jan.AJan.CJanuarJh.AJh.CJahrhundertJhd.AJhd.CJahrhundertJr.AJr.Jul.AJul.CJuliJun.AJun.CJuniK.O.AK.O.L'AL'L.A.AL.A.L’AL’M.A.AM.A.M.Sc.AM.Sc.Mi.AMi.CMittwochMio.AMio.CMillionMo.AMo.CMontagMr.AMr.Mrd.AMrd.CMilliardeMrz.AMrz.CMärzMwSt.AMwSt.CMehrwertsteuerMär.AMär.CMärzN.Y.AN.Y.N.Y.C.AN.Y.C.Nov.ANov.CNovemberNr.ANr.CNummerO.K.AO.K.O.OAO.OO.oAO.oO_OAO_OO_oAO_oOkt.AOkt.COktoberOrig.AOrig.COriginalP.S.AP.S.Pkt.APkt.CPunktProf.AProf.CProfessorR.I.P.AR.I.P.Red.ARed.CRedaktionS'AS'C'sSa.ASa.CSamstagSep.ASep.CSeptemberSept.ASept.CSeptemberSo.ASo.CSonntagSt.ASt.Std.AStd.CStundeStr.AStr.CStraßeS’AS’C'sTel.ATel.CTelefonTsd.ATsd.CTausendU.S.AU.S.U.S.A.AU.S.A.U.S.S.AU.S.S.Univ.AUniv.CUniversitätV.VAV.VV_VAV_VVol.AVol.XDAXDXDDAXDD[-:A[-:[:A[:[=A[=\")A\")\nA\n\tA\t]=A]=^_^A^_^^__^A^__^^___^A^___^``A``a.Aa.a.D.Aa.D.a.M.Aa.M.a.Z.Aa.Z.abzgl.Aabzgl.Cabzüglichadv.Aadv.al.Aal.allg.Aallg.Callgemeinauf'mAaufA'mCdemauf’mAaufA’mCdemb.Ab.betr.Abetr.biol.Abiol.bspw.Abspw.Cbeispielsweisebzgl.Abzgl.Cbezüglichbzw.Abzw.Cbeziehungsweisec.Ac.c/oAc/oca.Aca.co.Aco.d'Ad'd.Ad.d.h.Ad.h.dgl.Adgl.Cdergleichendu'sAduA'sCesdu’sAduA’sCesd’Ad’e.Ae.e.V.Ae.V.e.g.Ae.g.ebd.Aebd.Cebendaehem.Aehem.eigtl.Aeigtl.Ceigentlichengl.Aengl.Cenglischentspr.Aentspr.er'sAerA'sCeserm.Aerm.er’sAerA’sCesetc.Aetc.ev.Aev.evtl.Aevtl.Ceventuellf.Af.frz.Afrz.Cfranzösischg.Ag.geb.Ageb.gegr.Agegr.Cgegründetgem.Agem.ggf.Aggf.Cgegebenenfallsggfs.Aggfs.Cgegebenenfallsggü.Aggü.Cgegenüberh.Ah.h.c.Ah.c.hinter'mAhinterA'mCdemhinter’mAhinterA’mCdemhrsg.Ahrsg.i.Ai.i.A.Ai.A.i.G.Ai.G.i.O.Ai.O.i.Tr.Ai.Tr.i.V.Ai.V.i.d.R.Ai.d.R.i.e.Ai.e.ich'sAichA'sCesich’sAichA’sCesihr'sAihrA'sCesihr’sAihrA’sCesincl.Aincl.Cinklusiveinkl.Ainkl.Cinklusiveinsb.Ainsb.Cinsbesonderej.Aj.jr.Ajr.jun.Ajun.jur.Ajur.k.Ak.kath.Akath.Ckatholischl.Al.lat.Alat.lt.Alt.Clautm.Am.m.E.Am.E.m.M.Am.M.max.Amax.Cmaximalmin.Amin.Cminimalmind.Amind.Cmindestensmtl.Amtl.Cmonatlichn.An.n.Chr.An.Chr.nat.Anat.o.Ao.o.0Ao.0o.OAo.Oo.a.Ao.a.o.g.Ao.g.o.k.Ao.k.o.oAo.oo.ä.Ao.ä.o_0Ao_0o_OAo_Oo_oAo_oorig.Aorig.Coriginalp.Ap.p.a.Ap.a.p.s.Ap.s.pers.Apers.phil.Aphil.q.Aq.q.e.d.Aq.e.d.r.Ar.rer.Arer.röm.Aröm.Crömischs'As'C'ss.As.s.o.As.o.sen.Asen.sie'sAsieA'sCessie’sAsieA’sCessog.Asog.std.Astd.stellv.Astellv.s’As’C'st.At.tägl.Atägl.Ctäglichu.Au.u.U.Au.U.u.a.Au.a.u.s.w.Au.s.w.u.v.m.Au.v.m.unter'mAunterA'mCdemunter’mAunterA’mCdemusf.Ausf.usw.Ausw.uvm.Auvm.v.Av.v.Chr.Av.Chr.v.a.Av.a.v.l.n.r.Av.l.n.r.v.vAv.vv_vAv_vvgl.Avgl.Cvergleichevllt.Avllt.Cvielleichtvlt.Avlt.Cvielleichtvor'mAvorA'mCdemvor’mAvorA’mCdemvs.Avs.w.Aw.wir'sAwirA'sCeswir’sAwirA’sCeswiss.Awiss.x.Ax.xDAxDxDDAxDDy.Ay.z.Az.z.B.Az.B.z.Bsp.Az.Bsp.z.T.Az.T.z.Z.Az.Z.z.Zt.Az.Zt.z.b.Az.b.zzgl.Azzgl. A C ¯\(ツ)/¯A¯\(ツ)/¯°C.A°ACA.°F.A°AFA.°K.A°AKA.°c.A°AcA.°f.A°AfA.°k.A°AkA.ä.Aä.ö.Aö.österr.Aösterr.Cösterreichischü.Aü.über'mAüberA'mCdemüber’mAüberA’mCdemಠ_ಠAಠ_ಠಠ︵ಠAಠ︵ಠ—A—’A’’SA’SC's’nA’nCein’neA’neCeine’nemA’nemCeinem’nenA’nenCeinen’sA’sC's’’A’’faster_heuristics \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/vocab/key2row b/prototypes/fine_tuning_spaCy/output/model-last/vocab/key2row new file mode 100644 index 0000000..5416677 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/vocab/key2row @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/vocab/lookups.bin b/prototypes/fine_tuning_spaCy/output/model-last/vocab/lookups.bin new file mode 100644 index 0000000..5416677 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/vocab/lookups.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/vocab/strings.json b/prototypes/fine_tuning_spaCy/output/model-last/vocab/strings.json new file mode 100644 index 0000000..4293997 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/vocab/strings.json @@ -0,0 +1,1279 @@ +[ + "\t", + "\n", + " ", + " ", + "\"", + "'", + "''", + "'-(", + "'-)", + "'S", + "'X", + "'m", + "'n", + "'ne", + "'nem", + "'nen", + "'s", + "'x", + "'xx", + "'xxx", + "(", + "(((", + "(*>", + "(*_*)", + "(-8", + "(-:", + "(-;", + "(-_-)", + "(-d", + "(._.)", + "(:", + "(;", + "(=", + "(>_<)", + "(^_^)", + "(o:", + "(x:", + "(x_x)", + "(\u00ac_\u00ac)", + "(\u0ca0_\u0ca0)", + "(\u256f\u00b0\u25a1\u00b0\uff09\u256f\ufe35\u253b\u2501\u253b", + ")", + ")))", + ")-:", + ")/\u00af", + "):", + "*", + "-", + "-((", + "-))", + "-0", + "-3", + "-8", + "-D", + "-O", + "-P", + "-X", + "-_-", + "-__-", + "-d", + "-o", + "-p", + "-x", + "-|", + ".", + ".A.", + ".B.", + ".C.", + ".D.", + ".E.", + ".G.", + ".H.", + ".K.", + ".M.", + ".O.", + ".P.", + ".R.", + ".S.", + ".Sc", + ".T.", + ".U.", + ".V.", + ".Y.", + ".Z.", + "._.", + ".a.", + ".b.", + ".c.", + ".d.", + ".e.", + ".g.", + ".h.", + ".k.", + ".m.", + ".o.", + ".r.", + ".s.", + ".w.", + ".\u00e4.", + "/", + "/3", + "/d", + "0", + "0.0", + "0.o", + "0_0", + "0_o", + "1", + "3", + "33", + "333", + "8", + "8)", + "8-", + "8-)", + "8-D", + "8-d", + "8D", + "8d", + ":", + ":'(", + ":')", + ":'-(", + ":'-)", + ":(", + ":((", + ":(((", + ":()", + ":)", + ":))", + ":)))", + ":*", + ":-(", + ":-((", + ":-(((", + ":-)", + ":-))", + ":-)))", + ":-*", + ":-/", + ":-0", + ":-3", + ":->", + ":-D", + ":-O", + ":-P", + ":-X", + ":-]", + ":-d", + ":-o", + ":-p", + ":-x", + ":-|", + ":-}", + ":/", + ":0", + ":1", + ":3", + ":>", + ":D", + ":O", + ":P", + ":X", + ":]", + ":d", + ":o", + ":o)", + ":p", + ":x", + ":x)", + ":|", + ":}", + ":\u2019(", + ":\u2019)", + ":\u2019-(", + ":\u2019-)", + ";", + ";)", + ";-)", + ";-D", + ";-X", + ";-d", + ";D", + ";X", + ";_;", + ";d", + "<", + "<.<", + "", + "", + "=", + "=(", + "=)", + "=/", + "=3", + "=D", + "=X", + "=[", + "=]", + "=d", + "=|", + ">", + ">.<", + ">.>", + ">:(", + ">:o", + ">:x", + "><(((*>", + "@", + "@_@", + "A", + "A.", + "A.C.", + "A.D.", + "A.G.", + "Abb", + "Abb.", + "Abbildung", + "Abk", + "Abk.", + "Abk\u00fcrzung", + "Abs", + "Abs.", + "Abt", + "Abt.", + "Abteilung", + "Add", + "Apr", + "Apr.", + "April", + "Aug", + "Aug.", + "August", + "B", + "B.", + "B.A.", + "B.Sc", + "B.Sc.", + "Bahnhof", + "Band", + "Bd", + "Bd.", + "Beispiel", + "Betr", + "Betr.", + "Betreff", + "Bf", + "Bf.", + "Bhf", + "Bhf.", + "Biol", + "Biol.", + "Bsp", + "Bsp.", + "C", + "C++", + "C.", + "CDU", + "CDU/CSU", + "CSU", + "Chr", + "Chr.", + "Cie", + "Cie.", + "Co", + "Co.", + "Core", + "Core+", + "Core+/Value", + "D", + "D.", + "D.C.", + "Dez", + "Dez.", + "Dezember", + "Di", + "Di.", + "Dienstag", + "Dipl", + "Dipl.", + "Dipl.-Ing", + "Dipl.-Ing.", + "Do", + "Do.", + "Donnerstag", + "Dr", + "Dr.", + "E", + "E.", + "European", + "F", + "F.", + "FIL", + "Fa", + "Fa.", + "Fam", + "Fam.", + "Familie", + "Feb", + "Feb.", + "Februar", + "Firma", + "Fond", + "Fr", + "Fr.", + "Frau", + "Frl", + "Frl.", + "Fr\u00e4ulein", + "G", + "G.", + "G.m.b", + "G.m.b.H.", + "Gebr", + "Gebr.", + "H", + "H.", + "Hauptbahnhof", + "Hbf", + "Hbf.", + "Herr", + "Herrn", + "Hg", + "Hg.", + "Hr", + "Hr.", + "Hrn", + "Hrn.", + "Hrsg", + "Hrsg.", + "I", + "I.", + "II", + "II.", + "III", + "III.", + "IV", + "IV.", + "Inc", + "Inc.", + "Ing", + "Ing.", + "J", + "Jahrhundert", + "Jan", + "Jan.", + "Januar", + "Jh", + "Jh.", + "Jhd", + "Jhd.", + "Jr", + "Jr.", + "Jul", + "Jul.", + "Juli", + "Jun", + "Jun.", + "Juni", + "K", + "K.", + "K.O.", + "L", + "L'", + "L.A.", + "L\u2019", + "M", + "M.", + "M.A.", + "M.Sc", + "M.Sc.", + "Mehrwertsteuer", + "Mi", + "Mi.", + "Milliarde", + "Million", + "Mio", + "Mio.", + "Mittwoch", + "Mo", + "Mo.", + "Montag", + "Mr", + "Mr.", + "Mrd", + "Mrd.", + "Mrz", + "Mrz.", + "MwSt", + "MwSt.", + "M\u00e4r", + "M\u00e4r.", + "M\u00e4rz", + "N", + "N.Y.", + "N.Y.C.", + "Nov", + "Nov.", + "November", + "Nr", + "Nr.", + "Nummer", + "O", + "O.", + "O.K.", + "O.O", + "O.o", + "O_O", + "O_o", + "Okt", + "Okt.", + "Oktober", + "Orig", + "Orig.", + "Original", + "P", + "P.S.", + "Pkt", + "Pkt.", + "Prof", + "Prof.", + "Professor", + "Punkt", + "R", + "R.", + "R.I.P.", + "RE", + "RISIKOPROFIL", + "ROOT", + "Red", + "Red.", + "Redaktion", + "S", + "S'", + "Sa", + "Sa.", + "Samstag", + "Sc.", + "Sep", + "Sep.", + "Sept", + "Sept.", + "September", + "So", + "So.", + "Sonntag", + "St", + "St.", + "Std", + "Std.", + "Str", + "Str.", + "Stra\u00dfe", + "Stunde", + "S\u2019", + "T", + "T.", + "Tausend", + "Tel", + "Tel.", + "Telefon", + "The", + "Tr", + "Tr.", + "Tsd", + "Tsd.", + "U", + "U.", + "U.S.", + "U.S.A.", + "U.S.S.", + "Univ", + "Univ.", + "Universit\u00e4t", + "V", + "V.", + "V.V", + "V_V", + "Value", + "Vol", + "Vol.", + "X'", + "X++", + "X.", + "X.X", + "X.X.", + "X.X.X.", + "X.Xx", + "X.Xx.", + "X.x", + "X.x.x", + "X.x.x.X.", + "XD", + "XDD", + "XX", + "XX.", + "XXX", + "XXX.", + "XXX/XXX", + "XXXX", + "X_X", + "X_x", + "Xx", + "Xx.", + "XxXx", + "XxXx.", + "Xxx", + "Xxx.", + "Xxxx", + "Xxxx+", + "Xxxx+/Xxxxx", + "Xxxx.", + "Xxxx.-Xxx", + "Xxxx.-Xxx.", + "Xxxxx", + "X\u2019", + "Z", + "Z.", + "Zt", + "Zt.", + "[", + "[-:", + "[:", + "[=", + "\\", + "\\\")", + "\\n", + "\\t", + "\\x", + "]", + "]=", + "^", + "^_^", + "^__^", + "^___^", + "_*)", + "_-)", + "_.)", + "_<)", + "_^)", + "__-", + "__^", + "_\u00ac)", + "_\u0ca0)", + "`", + "``", + "a", + "a.", + "a.D.", + "a.M.", + "a.Z.", + "a.c.", + "a.d.", + "a.g.", + "a.m.", + "a.z.", + "abb", + "abb.", + "abk", + "abk.", + "abs", + "abs.", + "abt", + "abt.", + "abzgl", + "abzgl.", + "abz\u00fcglich", + "ace", + "add", + "adv", + "adv.", + "al", + "al.", + "allg", + "allg.", + "allgemein", + "am.", + "an.", + "apr", + "apr.", + "at.", + "ath", + "auf", + "auf\u2019m", + "aug", + "aug.", + "ax.", + "b", + "b.", + "b.a.", + "b.sc", + "b.sc.", + "bb.", + "bd", + "bd.", + "beispielsweise", + "ber", + "betr", + "betr.", + "beziehungsweise", + "bez\u00fcglich", + "bf", + "bf.", + "bhf", + "bhf.", + "biol", + "biol.", + "bk.", + "br.", + "bs.", + "bsp", + "bsp.", + "bspw", + "bspw.", + "bt.", + "bzgl", + "bzgl.", + "bzw", + "bzw.", + "c", + "c++", + "c.", + "c/o", + "ca", + "ca.", + "cdu", + "cdu/csu", + "ce>", + "chr", + "chr.", + "cie", + "cie.", + "cl.", + "co", + "co.", + "core", + "core+", + "core+/value", + "csu", + "d", + "d'", + "d)", + "d-", + "d-)", + "d-X", + "d.", + "d.c.", + "d.d", + "d.h", + "d.h.", + "d.x", + "dX", + "d_d", + "d_x", + "dd", + "ddd", + "de", + "dem", + "dergleichen", + "dez", + "dez.", + "dgl", + "dgl.", + "di", + "di.", + "dipl", + "dipl.", + "dipl.-ing", + "dipl.-ing.", + "do", + "do.", + "dr", + "dr.", + "du", + "du\u2019s", + "dv.", + "d\u2019", + "e", + "e.", + "e.V.", + "e.d", + "e.g", + "e.g.", + "e.v.", + "ean", + "eb.", + "ebd", + "ebd.", + "ebenda", + "ebr", + "ed.", + "egr", + "ehem", + "ehem.", + "eigentlich", + "eigtl", + "eigtl.", + "ein", + "eine", + "einem", + "einen", + "el.", + "em.", + "en.", + "engl", + "engl.", + "englisch", + "entspr", + "entspr.", + "ep.", + "ept", + "er", + "er.", + "erm", + "erm.", + "err", + "ers", + "er\u2019s", + "es", + "etc", + "etc.", + "etr", + "european", + "ev", + "ev.", + "eventuell", + "evtl", + "evtl.", + "expertise", + "ez.", + "e\u2019s", + "f", + "f.", + "fa", + "fa.", + "fam", + "fam.", + "feb", + "feb.", + "fond", + "fr", + "fr.", + "franz\u00f6sisch", + "frl", + "frl.", + "frz", + "frz.", + "fs.", + "fund", + "f\u2019m", + "g", + "g.", + "g.m.b", + "g.m.b.h.", + "geb", + "geb.", + "gebr", + "gebr.", + "gegebenenfalls", + "gegen\u00fcber", + "gegr", + "gegr.", + "gegr\u00fcndet", + "gem", + "gem.", + "gf.", + "gfs", + "ggf", + "ggf.", + "ggfs", + "ggfs.", + "gg\u00fc", + "gg\u00fc.", + "gl.", + "good", + "gr.", + "gtl", + "g\u00fc.", + "h", + "h.", + "h.c", + "h.c.", + "hbf", + "hbf.", + "hd.", + "hem", + "hf.", + "hg", + "hg.", + "hil", + "hinter", + "hinter\u2019m", + "hr", + "hr.", + "hrn", + "hrn.", + "hrsg", + "hrsg.", + "h\u2019s", + "i", + "i.", + "i.A.", + "i.G.", + "i.O.", + "i.Tr.", + "i.V.", + "i.a.", + "i.d", + "i.d.R.", + "i.d.r.", + "i.e", + "i.e.", + "i.g.", + "i.o.", + "i.tr.", + "i.v.", + "ich", + "ich\u2019s", + "ie.", + "ig.", + "ihr", + "ihr\u2019s", + "ii", + "ii.", + "iii", + "iii.", + "il.", + "illustration", + "in", + "in.", + "inc", + "inc.", + "incl", + "incl.", + "ind", + "ing", + "ing.", + "inkl", + "inkl.", + "inklusive", + "insb", + "insb.", + "insbesondere", + "investments", + "io.", + "iol", + "ion", + "ipl", + "is", + "ise", + "iss", + "iv", + "iv.", + "j", + "j.", + "jan", + "jan.", + "jh", + "jh.", + "jhd", + "jhd.", + "jr", + "jr.", + "jul", + "jul.", + "jun", + "jun.", + "jur", + "jur.", + "k", + "k.", + "k.o.", + "kath", + "kath.", + "katholisch", + "kl.", + "kt.", + "l", + "l'", + "l.", + "l.a.", + "lat", + "lat.", + "laut", + "lg.", + "lio", + "llg", + "llt", + "llv", + "lt", + "lt.", + "lue", + "lv.", + "l\u2019", + "m", + "m.", + "m.E.", + "m.M.", + "m.a.", + "m.b", + "m.e.", + "m.m.", + "m.sc", + "m.sc.", + "max", + "max.", + "maximal", + "mi", + "mi.", + "min", + "min.", + "mind", + "mind.", + "mindestens", + "minimal", + "mio", + "mio.", + "mo", + "mo.", + "monatlich", + "mr", + "mr.", + "mrd", + "mrd.", + "mrz", + "mrz.", + "mtl", + "mtl.", + "mwst", + "mwst.", + "m\u00e4r", + "m\u00e4r.", + "n", + "n.", + "n.Chr.", + "n.chr.", + "n.r", + "n.y.", + "n.y.c.", + "nat", + "nat.", + "nc.", + "ncl", + "nd.", + "ne", + "nem", + "nen", + "ng.", + "ngl", + "niv", + "nkl", + "nov", + "nov.", + "nr", + "nr.", + "nsb", + "nts", + "o", + "o.", + "o.0", + "o.O", + "o.a", + "o.a.", + "o.g", + "o.g.", + "o.k", + "o.k.", + "o.o", + "o.\u00e4", + "o.\u00e4.", + "o_0", + "o_O", + "o_o", + "of", + "of.", + "og.", + "okt", + "okt.", + "ol.", + "ond", + "ood", + "ore", + "orig", + "orig.", + "original", + "ov.", + "p", + "p.", + "p.a", + "p.a.", + "p.s", + "p.s.", + "pers", + "pers.", + "phil", + "phil.", + "pkt", + "pkt.", + "pl.", + "portfolio", + "pr.", + "prof", + "prof.", + "pt.", + "pw.", + "q", + "q.", + "q.e.d", + "q.e.d.", + "r", + "r.", + "r.i.p.", + "rd.", + "re", + "re+", + "red", + "red.", + "rer", + "rer.", + "rig", + "risikoprofil", + "rl.", + "rm.", + "rn.", + "rof", + "rr.", + "rs.", + "rsg", + "rz.", + "r\u00f6m", + "r\u00f6m.", + "r\u00f6misch", + "r\u2019m", + "r\u2019s", + "s", + "s'", + "s.", + "s.o", + "s.o.", + "s.w", + "sa", + "sa.", + "sb.", + "sd.", + "sen", + "sen.", + "sep", + "sep.", + "sept", + "sept.", + "sf.", + "sg.", + "sie", + "sie\u2019s", + "so", + "so.", + "sog", + "sog.", + "sp.", + "space", + "spr", + "spw", + "ss.", + "st", + "st.", + "std", + "std.", + "stellv", + "stellv.", + "str", + "str.", + "sw.", + "s\u2019", + "t", + "t.", + "tc.", + "td.", + "tel", + "tel.", + "ter", + "th.", + "the", + "tl.", + "tr", + "tr.", + "tsd", + "tsd.", + "t\u00e4gl", + "t\u00e4gl.", + "t\u00e4glich", + "u", + "u.", + "u.U.", + "u.a", + "u.a.", + "u.s.", + "u.s.a.", + "u.s.s.", + "u.s.w", + "u.s.w.", + "u.u.", + "u.v.m", + "u.v.m.", + "ug.", + "ul.", + "un.", + "und", + "univ", + "univ.", + "unter", + "unter\u2019m", + "ur.", + "usf", + "usf.", + "usw", + "usw.", + "uvm", + "uvm.", + "u\u2019s", + "v", + "v.", + "v.Chr.", + "v.a", + "v.a.", + "v.chr.", + "v.l.n.r", + "v.l.n.r.", + "v.m", + "v.v", + "v_v", + "value", + "vergleiche", + "vgl", + "vgl.", + "vielleicht", + "vllt", + "vllt.", + "vlt", + "vlt.", + "vm.", + "vol", + "vol.", + "vor", + "vor\u2019m", + "vs", + "vs.", + "vtl", + "w", + "w.", + "wSt", + "wir", + "wir\u2019s", + "wiss", + "wiss.", + "x", + "x'", + "x.", + "x.X", + "x.X.", + "x.Xx.", + "x.Xxx.", + "x.d", + "x.x", + "x.x.", + "x.x.X.", + "x.x.x", + "x.x.x.", + "x.x.x.x", + "x.x.x.x.", + "x/x", + "xD", + "xDD", + "xX", + "xXX", + "x_X", + "x_d", + "x_x", + "xd", + "xdd", + "xx", + "xx.", + "xxx", + "xxx.", + "xxxx", + "xxxx+", + "xxxx+/xxxx", + "xxxx.", + "xxxx\u2019x", + "xxx\u2019x", + "xx\u2019x", + "x\u2019", + "x\ufe35x", + "y", + "y.", + "z", + "z.", + "z.B.", + "z.Bsp.", + "z.T.", + "z.Z.", + "z.Zt.", + "z.b", + "z.b.", + "z.bsp.", + "z.t.", + "z.z.", + "z.zt.", + "zgl", + "zt", + "zw.", + "zzgl", + "zzgl.", + "|", + "}", + "\u00a0", + "\u00ac", + "\u00ac_\u00ac", + "\u00af", + "\u00af\\(x)/\u00af", + "\u00af\\(\u30c4)/\u00af", + "\u00b0", + "\u00b0C.", + "\u00b0F.", + "\u00b0K.", + "\u00b0X.", + "\u00b0c.", + "\u00b0f.", + "\u00b0k.", + "\u00b0x.", + "\u00e4", + "\u00e4.", + "\u00e4gl", + "\u00e4r.", + "\u00f6", + "\u00f6.", + "\u00f6m.", + "\u00f6sterr", + "\u00f6sterr.", + "\u00f6sterreichisch", + "\u00fc", + "\u00fc.", + "\u00fcber", + "\u00fcber\u2019m", + "\u0ca0", + "\u0ca0_\u0ca0", + "\u0ca0\ufe35\u0ca0", + "\u2014", + "\u2019", + "\u2019-(", + "\u2019-)", + "\u2019S", + "\u2019X", + "\u2019m", + "\u2019n", + "\u2019ne", + "\u2019nem", + "\u2019nen", + "\u2019s", + "\u2019x", + "\u2019xx", + "\u2019xxx", + "\u2019\u2019", + "\u2501", + "\u253b", + "\u253b\u2501\u253b", + "\u256f", + "\u25a1", + "\ufe35", + "\uff09" +] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/output/model-last/vocab/vectors b/prototypes/fine_tuning_spaCy/output/model-last/vocab/vectors new file mode 100644 index 0000000..ebadaa5 Binary files /dev/null and b/prototypes/fine_tuning_spaCy/output/model-last/vocab/vectors differ diff --git a/prototypes/fine_tuning_spaCy/output/model-last/vocab/vectors.cfg b/prototypes/fine_tuning_spaCy/output/model-last/vocab/vectors.cfg new file mode 100644 index 0000000..32c800a --- /dev/null +++ b/prototypes/fine_tuning_spaCy/output/model-last/vocab/vectors.cfg @@ -0,0 +1,3 @@ +{ + "mode":"default" +} \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/requirements.txt b/prototypes/fine_tuning_spaCy/requirements.txt new file mode 100644 index 0000000..675d470 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/requirements.txt @@ -0,0 +1,4 @@ +spacy==3.7.2 +spacy-transformers==1.3.3 +transformers==4.35.2 +torch==2.1.0 \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/test_model.py b/prototypes/fine_tuning_spaCy/test_model.py new file mode 100644 index 0000000..8be6f35 --- /dev/null +++ b/prototypes/fine_tuning_spaCy/test_model.py @@ -0,0 +1,27 @@ +import spacy +import fitz +import json +from pathlib import Path + +nlp = spacy.load("output/model-last") +input_pdf = Path("../../pitch-books/Pitchbook 1.pdf") +doc = fitz.open(input_pdf) + + +results = [] + +for page_number in range(len(doc)): + page = doc.load_page(page_number) + text = page.get_text() + spacy_doc = nlp(text) + for ent in spacy_doc.ents: + results.append({ + "label": ent.label_, + "entity": ent.text.strip(), + "page": page_number + 1 + }) + +with open("entities_output.json", "w", encoding="utf-8") as f: + json.dump(results, f, indent=2, ensure_ascii=False) + +print("✅ Extraction completed. Results saved to 'entities_output.json'") \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/training_data.py b/prototypes/fine_tuning_spaCy/training_data.py new file mode 100644 index 0000000..a491f6b --- /dev/null +++ b/prototypes/fine_tuning_spaCy/training_data.py @@ -0,0 +1,26 @@ +TRAINING_DATA = [ + ( + "Core",{"entities":[[0,4,"RISIKOPROFIL"]]}, + ), + ( + "Core+",{"entities":[[0,5,"RISIKOPROFIL"]]}, + ), + ( + "Core/Core+",{"entities":[[0,10,"RISIKOPROFIL"]]}, + ), + ( + "Value Add",{"entities":[[0,9,"RISIKOPROFIL"]]}, + ), + ( + "Core/Value Add",{"entities":[[0,14,"RISIKOPROFIL"]]}, + ), + ( + "Core+/Value Add",{"entities":[[0,15,"RISIKOPROFIL"]]}, + ), + ( + "Core/Core+/Value Add",{"entities":[[0,20,"RISIKOPROFIL"]]}, + ), + ( + "The RE portfolio of the fund is a good illustration of Fond expertise in European core/core+ investments .",{"entities":[[82,92,"RISIKOPROFIL"]]}, + ), +] \ No newline at end of file diff --git a/prototypes/fine_tuning_spaCy/training_model.py b/prototypes/fine_tuning_spaCy/training_model.py new file mode 100644 index 0000000..80b120b --- /dev/null +++ b/prototypes/fine_tuning_spaCy/training_model.py @@ -0,0 +1,35 @@ +# Dreji18 (2024): GitHub: NER-Training-Spacy-3.0. https://github.com/dreji18/NER-Training-Spacy-3.0 (10.05.2024). +# SpaCy (2024): SpaCy Training Pipelines & Models. https://spacy.io/usage/training (10.05.2024). + +import os +import spacy +from spacy.tokenizer import Tokenizer +from spacy.tokens import DocBin +from spacy.util import compile_infix_regex +from tqdm import tqdm + +from training_data import TRAINING_DATA + +nlp = spacy.load("de_core_news_sm") + +# create a DocBin object +db = DocBin() + +for text, annot in tqdm(TRAINING_DATA): + doc = nlp.make_doc(text) + ents = [] + # add character indexes + for start, end, label in annot["entities"]: + span = doc.char_span(start, end, label=label, alignment_mode="contract") + if span is None: + print(f"Skipping entity: |{text[start:end]}| Start: {start}, End: {end}, Label: {label}") + else: + ents.append(span) + print(f"Entity sucessful: |{text[start:end]}| Start: {start}, End: {end}, Label: {label}") + # label the text with the ents + doc.ents = ents + db.add(doc) + +# save the DocBin object +os.makedirs("./data", exist_ok=True) +db.to_disk("./data/train.spacy")