700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【python】TXT文本数据清洗和英文分词 词性标注

【python】TXT文本数据清洗和英文分词 词性标注

时间:2021-10-10 18:52:46

相关推荐

【python】TXT文本数据清洗和英文分词 词性标注

去除空行

def clean_line(raw_file_name, save_file_name):with open(raw_file_name, 'r+') as f_r, open(save_file_name, 'w+') as f_w:f_r_list = list(set(f_r.readlines()))for sentence in f_r_list:if sentence == "\n":f_r_list.remove(sentence)f_w.writelines(f_r_list)

将文本的每一行读取为一个列表,然后用set集合去重再转化为列表for循环判断列表是否有"\n"字符,如果有则去除该字符将列表中的内容写入目标文件

去除多余字符

sentence = filter(lambda ch:ch not in '//\t\n0123456789',sentence)

英文词性标注

因为英文以空格作为分隔符,故可直接进行词性标注和实体识别,无需分词过程。

词性表示方式

CC 并列连词NNS 名词复数 UH 感叹词CD 基数词 NNP 专有名词 VB 动词原型DT 限定符 NNP 专有名词复数 VBD 动词过去式EX 存在词 PDT 前置限定词VBG 动名词或现在分词FW 外来词 POS 所有格结尾VBN 动词过去分词IN 介词或从属连词PRP 人称代词 VBP 非第三人称单数的现在时JJ 形容词 PRP$ 所有格代词VBZ 第三人称单数的现在时JJR 比较级的形容词RB 副词 WDT 以wh开头的限定词JJS 最高级的形容词RBR 副词比较级WP 以wh开头的代词LS 列表项标记 RBS 副词最高级WP$ 以wh开头的所有格代词MD 情态动词 RP 小品词WRB 以wh开头的副词NN 名词单数 SYM 符号 TO to

分词和标注

# 英文文章分词def seg(raw_file):ps = PorterStemmer()with open(raw_file, 'r') as f_r, open(seg_file,'w') as f_w:sentences = f_r.read()words = word_tokenize(sentences)for w in words:f_w.write(ps.stem(w)+'\n')print('Segmentation Finished!')

输入为含有分隔符的英语文章,输出为一个单词一行的格式。

# 英文词性标注def pos(seg_file):with open(seg_file, 'r') as f_r, open(pos_file, 'w', encoding='utf-8') as f_w:sentences = f_r.read()sentences = nltk.sent_tokenize(sentences)for words in sentences:words= nltk.pos_tag(nltk.word_tokenize(words))for i, j in enumerate(words):f_w.write(words[i][0]+' '+words[i][1]+'\n')print('PosTagging Finished!')

输入为已经分割好的英文单词,输出格式为:单词 词性

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。