数据预处理代码
时间: 2023-08-06 16:17:25 浏览: 48
好的,以下是一个简单的数据预处理代码示例,可以将一个文本文件中的句子拆分为单词,并将其转换为数字表示:
```python
import re
import nltk
from nltk.tokenize import word_tokenize
def preprocess_data(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
data = f.read()
# 将文本转换为小写
data = data.lower()
# 删除特殊字符和数字
data = re.sub(r'[^a-zA-Z\s]', '', data)
# 分词
tokens = word_tokenize(data)
# 去除停用词
stop_words = set(nltk.corpus.stopwords.words('english'))
tokens = [token for token in tokens if token not in stop_words]
# 将单词转换为数字
word_to_num = {}
num_to_word = {}
for i, word in enumerate(set(tokens)):
word_to_num[word] = i
num_to_word[i] = word
tokens = [word_to_num[word] for word in tokens]
return tokens, word_to_num, num_to_word
```
这个函数接受一个文件路径作为输入,读取文件中的文本并进行预处理。它首先将文本转换为小写,然后删除特殊字符和数字。接下来,它使用 NLTK 库的 `word_tokenize` 函数将句子拆分为单词,并且删除常用的停用词。最后,它将单词转换为数字表示,并返回数字化的单词列表以及单词和数字之间的映射。