Stemming: удалить / изменить URL с помощью модуля регулярных выражений в Python - PullRequest
0 голосов
/ 29 ноября 2018

Здравствуйте, я пытаюсь сделать Stemming в Python, и я хочу удалить или изменить URL (https / http) с помощью модуля Regex.Я уже написал несколько строк кода, но, кажется, это работает только для пунктуации, а не для смайликов и URL, кто-нибудь, пожалуйста, помогите мне?вот мой код

 def tokenWordbase(verse):
    return verse.split(' ')

#URLs
def url(link):
    link = re.sub(r'^https?:\/\/.*[\r\n]*', '', link, flags=re.MULTILINE)

#punctuation
def punctuation(tokens):
    tokens = re.sub(r'[>)}:{",?+ !.(<;1234567890]','',str(tokens))
    tokens = re.sub('\n','',str(tokens))
    return tokens

#emot
def emoticons(emot):
    emot = re.sub( ':-)', ':)', '(:', '(-:', ':-D', ':D', 'X-D', 'XD', 'xD', ';-)', ';)', ';-D', ';D', '(;', '(-;', ':-(', ':(', '(:', '(-:', ':,(', ':\'(', ':"(', ':((', str(tokens))
    return emot

def main():
    currentString = []
    panjangTang = []
    with open('Book2.csv') as f:
        reader = csv.reader(f, delimiter=',')
        for row in reader:
            if row[0] == '' or row[0] == '-':
                continue
            else:
                tokennya = tokenWordbase(row[0])
                panjangTangSementara = []
                for j in range(len(tokennya)):
                    # print(childToken)
                    puntu = punctuation(tokennya[j])
                    stopnya = stopword.remove(puntu)
                    if stopnya == '':
                        continue
                    else:
                        stemmnya = stemmer.stem(stopnya)
                        currentString.append(stemmnya)
                        panjangTangSementara.append(stemmnya)
                panjangTang.append(panjangTangSementara)
    daftarDokumen = Counter(currentString)
    daftarString = []

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Функция url не возвращает измененную строку, попробуйте добавить return link в ее конец.

0 голосов
/ 29 ноября 2018

domain_registers = [".com", ". Net", ". Info", ". Biz", "mobi", ". Xxx", ". Asia", ". Eu", ". Name",".us", "ко", "орг", "мне", "тх", "в", "ас", "осины", "PHP", "HTML"]

def url (ссылка): if ('.' В ссылке и '/' в ссылке) или 'www.'в ссылке или 'http' в ссылке или любой другой ([слово в ссылке для слова в доменных_регистрах]): return ""

...