def test_lemma_mass(): res = german_lemmatizer.lemmatize( ["Johannes war einer von vielen guten Schülern."] * 1000, chunk_size=400, n_jobs=2, ) assert list(res) == ["Johannes sein einer von vielen gut Schüler."] * 1000
def preprocess(texts, n_jobs=None, remove_stop=True): if n_jobs is None: n_jobs = os.cpu_count() texts = Parallel(n_jobs=n_jobs)(delayed(first_clean)(row) for row in tqdm(texts)) texts = lemmatize(texts, n_jobs=n_jobs, remove_stop=remove_stop) texts = Parallel(n_jobs=n_jobs)(delayed(second_clean)(row) for row in tqdm(texts)) return texts
def test_lemma_escape(): res = german_lemmatizer.lemmatize( [ "Johannes war einer von vielen guten Schülern.", """Peter war ein Idiot.""", ], escape=True, ) assert list(res) == [ "Johannes sein einer von vielen gut Schüler.", """Peter sein ein Idiot.""", ]
import dateparser from bs4 import BeautifulSoup import pandas as pd import swifter import pandas as pd import sqlite3 from cleantext import clean from pathlib import Path import numpy as np import swifter from somajo import Tokenizer, SentenceSplitter from tqdm import tqdm import multiprocessing from joblib import Parallel, delayed from german_lemmatizer import lemmatize num_cores = multiprocessing.cpu_count() import numpy as np sents = pickle.load(open("s.pkl", "rb")) slem_txt = list(lemmatize(sents, n_jobs=4, chunk_size=50000)) pickle.dump(slem_txt, open("s_l.pkl", "wb"))
def test_lemma(): res = german_lemmatizer.lemmatize( ["Johannes war einer von vielen guten Schülern."]) assert list(res) == ["Johannes sein einer von vielen gut Schüler."]
def test_lemma_stop(): res = german_lemmatizer.lemmatize( ["Johannes war einer von vielen guten Schülern."], remove_stop=True) assert list(res) == ["Johannes gut Schüler."]
# In[2]: df = pd.read_pickle('/mnt/data2/ptf/cleaned.pkl') # In[3]: df = df.drop(columns=['cleaned']) # In[ ]: slem_txt = list(lemmatize(df['text'].values[0:], n_jobs=3, chunk_size=10000)) # In[ ]: pickle.dump( slem_txt, open( "lemma.pkl", "wb" ) ) # In[ ]: def get_sents(texts): tokenizer = Tokenizer(split_camel_case=True, token_classes=False, extra_info=False) sentence_splitter = SentenceSplitter(is_tuple=False)