Last commit not found
import editdistance | |
import requests | |
import numpy as np | |
import re | |
from .clean_text import normalize_text | |
URL_SBERT = "http://10.9.3.240:6789/sbert/encode_list" | |
# app_config.parse_url_api('api_sbert') | |
def get_sbert_embedding(lst_sentence, url = URL_SBERT): | |
input_data = { | |
"sentences": lst_sentence | |
} | |
embs = requests.post(url, json=input_data).json() | |
embs = np.array(embs) | |
return embs | |
def is_number(word): | |
lst_end = ['$', '%', 'vnđ', '.', ','] | |
word_lo = word.lower() | |
for k in lst_end: | |
word_lo = word_lo.replace(k, '') | |
if word_lo.isdigit(): | |
return True | |
else: | |
return False | |
def get_number(text): | |
dt = text.split(' ') | |
for w in dt: | |
if is_number(w): | |
return w | |
return '' | |
def check_editdistance(ww1, ww2): | |
if len(ww1) == 0 or len(ww1) == 0: | |
return 0 | |
else: | |
n_c = editdistance.eval(ww1.lower(), ww2.lower()) | |
score = n_c / max(len(ww1), len(ww2)) | |
return 1 - score | |
def remove_image_keyword(text_input): | |
lst_key = ["ảnh:", "ảnh :", "Ảnh:", "Ảnh :", | |
"Ảnh minh họa:", "Ảnh minh họa :", "ảnh minh họa:", "ảnh minh họa :", | |
"Nguồn:", "nguồn:", "Nguồn :", "nguồn :", | |
"Source:", "Source :", "source:", "source :", | |
"Src:", "Src :", "src:", "src :", | |
"Image:", "Image :", "img:", "img :", | |
"image:", "image :", "Img:", "Img :", | |
"xem tiếp", "xem thêm", "Xem tiếp", "Xem thêm"] | |
for k in lst_key: | |
text_input = text_input.replace(k, " ") | |
return text_input.strip() | |
def clean_text(text_in, normalize=True): | |
doc = re.sub('<.*?>', '', text_in) | |
doc = re.sub('(function).*}', ' ', doc) | |
# link | |
doc = re.sub('(Nguồn)\s*?(http:\/\/).*?(\.htm)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(http:\/\/).*?(\.html)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(https:\/\/).*?(\/\/)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(https:\/\/).*?(\.htm)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(https:\/\/).*?(\.html)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(https:\/\/).*?(\.vn)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(https:\/\/).*?(\.net)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(https:\/\/).*?(\.vgp)', ' ', doc) | |
doc = re.sub('(Nguồn)\s*?(http:\/\/).*?(\.vgp)', ' ', doc) | |
doc = re.sub('(http:\/\/).*?(\.htm)', ' ', doc) | |
doc = re.sub('(http:\/\/).*?(\.html)', ' ', doc) | |
doc = re.sub('(https:\/\/).*?(\/\/)', ' ', doc) | |
doc = re.sub('(https:\/\/).*?(\.htm)', ' ', doc) | |
doc = re.sub('(https:\/\/).*?(\.html)', ' ', doc) | |
doc = re.sub('(https:\/\/).*?(\.vn)', ' ', doc) | |
doc = re.sub('(https:\/\/).*?(\.net)', ' ', doc) | |
doc = re.sub('(https:\/\/).*?(\.vgp)', ' ', doc) | |
doc = re.sub('(http:\/\/).*?(\.vgp)', ' ', doc) | |
# escape sequence | |
doc = re.sub('\n', ' ', doc) | |
doc = re.sub('\t', ' ', doc) | |
doc = re.sub('\r', ' ', doc) | |
if normalize: | |
doc = normalize_text(doc) | |
return doc | |
if __name__ == '__main__': | |
print(check_editdistance('tttt', 'tt')) | |