NLP 教程

NLP 笔记

python 切分中英文混合文本(中文按每个字分隔,英文以单词分开,数字以空格分开)

NLP 笔记 NLP 笔记


在 nlp 文本预处理中,经常需要将文本内容先按照每个字,随机初始化向量,这就需要我们对文本进行按字提取,主要是中文按每个字提取,英文按每个单词提取、数字按照空格分开提取、特殊符号每个提取等。针对中英文混合的文本提取,笔者基于正则表达式封装了如下函数。

基于正则的提取函数

def fetch_word(ipt):
    lst = []
    #   输入小写化
    s = ipt.lower()
    while len(s) > 0:
        #   提取头部的英文匹配
        match = re.match(r'[a-z]+', s)
        if match:
            word = match.group(0)
        else:
            #   若非英文单词,直接获取第一个字符
            word = s[0:1]
        lst.append(word)
        #   从文本中去掉提取的 word,并去除文本收尾的空格字符
        s = s.replace(word, '', 1).strip(' ')
    return lst