File size: 8,162 Bytes
5120311
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import re

def normalize_text(text):
    # text = text.lower()
    text = text.replace('🏻', '')
    full_text_clean = text
    full_text_clean.replace(");this.closest('table').remove();","")
    full_text_clean = re.sub('(Thứ .{2,4}|Chủ nhật),( ngày)? \d{1,2}\/\d{1,2}\/\d{4}( \d{1,2}:\d{1,2})?( AM| PM)?( \(GMT.{1,3}\))?','',full_text_clean)
    if not any([word in full_text_clean[:15].lower() for word in ['nga','covid']]):
        full_text_clean = re.sub('^.{1,15}?-','',full_text_clean)
    # full_text_clean = re.sub('-.{1,15}?$','',full_text_clean)
    
    full_text_clean = re.sub('- VNExplorer','',full_text_clean)
    full_text_clean = re.sub('Theo .{1,20}$','',full_text_clean)
    full_text_clean = re.sub('\(.*(Ảnh|Nguồn).*?\)','',full_text_clean)
    full_text_clean = re.sub('\d{1,2} (giờ|phút) trước','',full_text_clean)
    full_text_clean = re.sub(r"http\S+", "", full_text_clean)
    # full_text_clean = re.sub('(\\r)*( )*(\\n)*( )*(\\r)*( )*(\\n)','.', full_text_clean)
    full_text_clean = re.sub(r"\.( )*(\.)+", '. ', full_text_clean)
    full_text_clean = re.sub('\.(?!\d)', '. ', full_text_clean)
    full_text_clean = re.sub('(\.(\s)+)+', '. ', full_text_clean)
    full_text_clean = re.sub('<[^<]+?>', '',full_text_clean)
    full_text_clean = re.sub('\d{1,2}:\d{2}( )?\d{1,2}\/\d{1,2}\/\d{4}','',full_text_clean)
    full_text_clean = re.sub("Ảnh(:)?(Getty)?","", full_text_clean)
    full_text_clean = full_text_clean.replace("Read more about:","").replace("Read more","").replace("Advertising","").replace("bookmark border.","").replace('the latest tech news, global tech news daily, tech news today, startups, usa tech, asia tech, china tech, eu tech, global tech, in-depth electronics reviews, 24h tech news, 24h tech news, top mobile apps, tech news daily, gaming hardware, big tech news, useful technology tips, expert interviews, reporting on the business of technology, venture capital funding, programing language',"").replace('Live updates:','').replace('-VNExplorer','').replace('Reuters:','').replace('AFP:','').replace('�','').replace('- VNExplorer','').replace('Global Tech News Daily','').replace('AFP/TTXVN','').replace('Reuters/TTXVN','').replace('Tin quốc tế','').replace('Xem tiện ích cảnh báo giá CK','')
    full_text_clean = full_text_clean.replace("COVID","Covid")
    full_text_clean = re.sub('[A-Z ]{2,10}(,.{6,20})?(—|–|-|-)','',full_text_clean) #NEW YORK, Feb 27 — .... /BRUSSELS—...
    full_text_clean = re.sub('\(ảnh:.*?\)','.',full_text_clean)
    full_text_clean = re.sub("(\| )?(\(.{1,7}\)( )?)+$", "", full_text_clean)
    full_text_clean = re.sub('\d{2} [\w]{3,4}, \d{4}. \d{2}.\d{2} (AM|PM) IST','',full_text_clean)  #02 Mar, 2022, 10.01 AM IST
    full_text_clean = full_text_clean.replace('Suzuka. config. supports_premium_subscription && window. localStorage. getItem ( "premiumSubscription ")) ) {var e = document. createElement ( "script "); e. setAttribute ( "class ", "titan-conditional "); e. setAttribute ( "data-ad-id ", "adspot-300x250-pos1 "); document. body. appendChild (e);}','')
    
    full_text_clean = re.sub('\d{2}\/\d{2}\/\d{4} \d{2}:\d{2} GMT(\+|-)\d{1,2}', "", full_text_clean)
    full_text_clean = re.sub('\(.{1,20}\)', '', full_text_clean)
    full_text_clean = re.sub('\{.{1,20}\}', '', full_text_clean)
    full_text_clean = re.sub('\[.{1,20}\]', '', full_text_clean)
    full_text_clean = re.sub('[A-Z].{5,10} , \d{2}:\d{2} (GMT(\+|-)\d{1,2})?',"",full_text_clean)

    full_text_clean = re.sub('(Theo|theo) .{1,15},', '', full_text_clean)
    full_text_clean = re.sub('(Theo|theo) .{1,15},', '', full_text_clean)
    full_text_clean = re.sub('theo.{3,20}$','', full_text_clean)
    full_text_clean = re.sub('^Trong khi đó','', full_text_clean)

    full_text_clean = re.sub('^\d{1,10} minutes ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} hours ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} days ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} years ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} months ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} minute ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} day ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} year ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} month ago', '', full_text_clean)
    full_text_clean = re.sub('^\d{1,10} hour ago', '', full_text_clean)
    full_text_clean = re.sub('^(a|an) minute ago', '', full_text_clean)
    full_text_clean = re.sub('^(a|an) hour ago', '', full_text_clean)
    full_text_clean = re.sub('^(a|an) day ago', '', full_text_clean)
    full_text_clean = re.sub('^(a|an) month ago', '', full_text_clean)
    full_text_clean = re.sub('^(a|an) year ago', '', full_text_clean)
    full_text_clean = re.sub('^.{0,12}(tờ|theo|nguồn|trích dẫn|trang|báo|hãng).{1,30}(đưa tin|dẫn lời|trích dẫn|nhận định|cho biết)', '', full_text_clean, flags=re.I)

    text = re.sub('\s+',' ',full_text_clean)
    text = re.sub('Đọc chi tiết bài viết tại đây.*','',text,flags=re.I)
    # text = re.sub('[(\d)(\:)(\|)(\/)(\s+)]+','',text) # 10:20 | 09/03/2022
    
    text = re.sub('(\d{1,2}:\d{2}( )*)\|( )*\d{1,2}(/|-)\d{2}(/|-)\d{4}','',text)
    text = re.sub('^(\d)+[\,\.]\s+ ','',text)   # 3, phát ngôn viên Bộ T
    text = re.sub('((chủ nhật)|(thứ bảy)|(thử sáu)|(thứ năm)|(thứ tư)|(thứ ba)|(thứ hai))([(\d)(\:)(,)(\|\/)(\s+)]+)((VOV)|(VTV))$','',text,flags=re.I) #   và Ukraine để giải quyết xung đột Chủ Nhật, 06:32, 20/03/2022 VOV.

    text = re.sub('^((\d)|(\:)|(\.)|(\|)|(\s+)|(in bài biết)|(in bài viết)|(\/))+ ','',text,flags=re.I) # 10:20 | 09/03/2022 In bài biết. 10:20 | 09/03/2022 In bài biết Việc xuất khẩu tôm sang thị trường Nga có thể bị ảnh hưởng trước tình hình căng thẳng của Nga-Ukraine. Hiệp hội Chế biến và Xuất khẩu thuỷ sản V
    text = re.sub('theo hãng tin [A-Z].{0,15},','', text, flags=re.I)
    text = re.sub('((Theo.{0,30})|(Reuters)).*?(link gốc).*?$','',text,flags=re.I) 
    text = re.sub('video:RIA Novosti/Bộ Quốc phòng Nga','',text,flags=re.I)
    text = re.sub('Báo.{5,20}$','',text)
    text = re.sub('RIA Novosti/Bộ Quốc phòng Nga','',text)
    text = re.sub('(chính trị|quân sự|đối ngoại|thời sự|khoa học|pháp luật) \d{1,2} giờ','',text,flags=re.I)
    text = text.replace('|','')
    full_text_clean = re.sub('^.*?(Link nguồn)','',text,flags=re.I) # (
    full_text_clean = re.sub(',( )*[A-z].{1,30}(đưa tin|trích dẫn)','', full_text_clean)
    full_text_clean = re.sub('(Reuters|Vnexpress)(\).)?','',full_text_clean,flags=re.I) 
    full_text_clean = re.sub('^VOV.','',full_text_clean) 
    full_text_clean = full_text_clean.replace("Many Japanese worry Fortune-Takashi Nakamichi, Bloomberg • 1d","").replace('baotintuc. vn',"").replace('YÊN BÁI QUYẾT TÂM THỰC HIỆN THẮNG LỢI CHƯƠNG TRÌNH HÀNH ĐỘNG SỐ 56 – CTr/TU CỦA TỈNH ỦY QUYẾT TÂM ĐƯA Y.ÊN BÁI PHÁT TRIỂN NHANH, BỀN VỮNG THEO HƯỚNG “XANH, HÀI HÒA, BẢN SẮC VÀ HẠNH PHÚC” TRỞ THÀNH TỈNH PHÁT TRIỂN KHÁ VÀO NĂM 2025','')
    full_text_clean = full_text_clean.replace("Baoquocte","").replace('ชั่วโมงที่ผ่านมา.','').replace('""challenge=" "coron= ""corona=" "covid-19= ""designs=" "endgame= ""tutorial=" "ui= ""pandemic=" "quarantine= ""list=" "similarity= " "ux. ""press=" "copyright= ""contact=" "creators= ""advertise=" "terms= ""privacy=" "policy= ""safety=" "youtube= ""works=" "test= ""features=" "creators.', '').replace('nbsp & nbsp & nbsp & nbsp & nbsp Copy Link', '').replace('Tổng thống Nga Vladimir Putin và Chủ tịch Trung Quốc Tập Cận Bình.','').replace('Thế giới Toàn cảnh Bảo Hà ','')
    full_text_clean = re.sub('(a|p)\. m\.','',full_text_clean) 
    return full_text_clean