【发布时间】:2021-10-17 11:26:41
【问题描述】:
有没有办法重新标记电子邮件地址,使它们再次成为电子邮件地址?在我现在使用的代码中(见下文),如果我将mobydick123@gmail.com 作为输入,我将得到mobydick123 @ gmail.com 的输出。
from nltk.tokenize.treebank import TreebankWordDetokenizer
from nltk.tokenize import word_tokenize
from itertools import groupby
import spacy
input_sent = 'Herman Melvilles email is mobydick123@gmail.com'
tokens = word_tokenize(input_sent)
print(tokens)
myList = list(filter((']').__ne__, tokens))
myList = list(filter(('[').__ne__, myList))
res = [i[0] for i in groupby(myList)]
my_list = list(map(lambda item: item.replace("W_NLP_PERSON", "[W_NLP_PERSON]").replace('W_NLP_DATE', '[W_NLP_DATE]').replace('W_NLP_IMEI_HARDWARE_ID', '[W_NLP_IMEI_HARDWARE_ID]').replace('W_NLP_IP_ADDRESS', '[W_NLP_IP_ADDRESS]'), res))
my_list = TreebankWordDetokenizer().detokenize(my_list)
print(my_list)
【问题讨论】:
-
所以给定您的列表
my_list,您的预期结果是Herman Melvilles email is mobydick123@gmail.com? -
是的,这就是我想要的。
-
不使用 spaCy 为什么还要导入它?