机器学习之前的 NLP 文本清理终极指南
浏览终极指南,为字符串数据类型机器学习准备材料。或者我们在实施机器学习之前将 NLP 称为文本清理。
在本文中,我将逐步介绍为字符串数据类型机器学习准备材料的终极指南。或者我们在实施机器学习之前将 NLP 称为文本清理。在本文结束时,您可以开始使用 Python 清理项目中的字符串数据。
目录:机器学习准备中 NLP 文本清理的终极指南
- 什么是机器学习中 NLP 的文本清理
- 案例标准化
- 消除 Unicode 字符
- 对字符串数据类型的所有内容进行标记
- 处理停用词
- 词形还原
- 用于语义处理的词性标记
- 使用 Pandas、Numpy 和 Scikit Learn 进行数据预处理
- 机器学习中 NLP 文本清理的完整 Python 脚本(包括如何处理 Web App 或 DApp 中的 NLTK 数据文件或部署在云上的函数)
什么是机器学习中 NLP 的文本清理
文本清洗是为 NLP(自然语言处理)准备原始文本的过程,以便机器能够直接、清晰地理解人类语言。基本上它包括关于您可能要做的任何项目的三个主要部分。
- 文字清洗及杂质去除
- 标记化和按语义分组
- 特征和目标数据结构
案例标准化
不同单词或相同单词之间的大小写不同可能会使计算机无法理解您的内容和语义。首先,这是设置所有单词的标准大写的代码示例
abc = content.lower()
消除 Unicode 字符
内容片段中有相当多的 unicode 字符,例如表情符号、URL、电子邮件地址等。事实上,这些字符需要处理好,否则也会使计算机感到困惑。下面是两个处理所有 URL 和电子邮件地址的正则表达式代码示例。
网址:
content = re.sub(r"(@\[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)|^rt|http.+?", "", content)
电子邮件:
content = re.sub(r"([A-z0-9._%+-]+@[A-z0-9.-]+\.[Az]{2,4}
", "", content)
将所有内容标记为列表中的单个值
删除所有不必要的 unicode 字符后,我们需要通过标记来从内容中创建一个列表。
这是一个使用 Python 的示例
word_tokens = word_tokenize ( content )
处理停用词
在语言中,有相当多的词汇是不能增加意义的,而且大多数都是语言语法。因此,处理停用词的任务是通过减少此类单词来进一步减少计算机的混乱。
以下是使用 NLTK 的示例,NLTK 是 Python 中最流行的软件包之一
nltk . download ( 'stopwords' )
nltk . download ( 'punkt' )
nltk . download ( 'wordnet' )
nltk . data . path . append ( 'nltk_data/corpora/stopwords' )
nltk . data . path . append ( 'nltk_data/tokenizers/punkt' )
nltk . data . path . append ( 'nltk_data/corpora/wordnet' )
stopwords123 = set ( stopwords . words ( 'english' ))
如果您有兴趣使用NLTK构建功能以及部署在云端的App,但您可能不确定如何部署NLTK数据源,请在文末按照以下格式订阅我们。
最后但并非最不重要的一点是,我们可以编写一段代码来从我们刚刚在上面标记的列表中删除所有停用词。而在列表中,它只保留了核心价值信息和内容。
词形还原
在人类语言中,它有过去时、现在时和将来时。此外,它还有第一人称、第二人称和第三人称角度来表达意思。因此,词形还原是一种处理此问题的方法,目的是消除不必要的单词或拼写错误。
lemmatizer = WordNetLemmatizer ()
for lemmatizedContent in content :
lemmatizer . lemmatize ( lemmatizedContent )
用于语义处理的词性标记
为了将大量内容的 POS 总数制成表格,我们必须根据语义目的对单词进行标记和分组。在人类语言中,我们有不同类型的单词,例如名词、动词、形容词、副词等。此外,它可能是同一个单词,但在语音中有所不同。
因此,我们需要词性标注来区分语音语义和目的。是为了让机器理解这个目的,以免混淆。
使用 Pandas、Numpy 和 Scikit Learn 进行数据预处理
有关此主题的更多详细信息,请参阅我之前发布的文章
机器学习中 NLP 文本清理的完整 Python 脚本(包括如何处理 Web App 或 DApp 中的 NLTK 数据文件或部署在云上的函数)
如果您对机器学习准备中的 NLP 文本清理的完整 python 脚本感兴趣,请通过添加消息“NLP Text Clean + NLTK 数据部署 + 完整脚本和抓取 API 免费令牌”来订阅我们的新闻通讯。当最新的应用程序脚本上线时,我们会向您发送脚本。
我希望您喜欢阅读机器学习准备中 NLP 文本清理终极指南。如果您这样做了,请通过执行下列操作之一来支持我们,因为这总是对我们的频道有所帮助。
- 通过 PayPal ( paypal.me/Easy2digital ) 支持并捐赠我们的频道
- 订阅我的频道并打开通知铃Easy2Digital Youtube 频道。
- 关注并喜欢我的页面Easy2Digital Facebook 页面
- 使用主题标签 #easy2digital 在您的社交网络上分享文章
- 您订阅我们的每周通讯即可接收 Easy2Digital 最新文章、视频和折扣代码
- 通过 Patreon 订阅我们的月度会员即可享受独家优惠 ( www.patreon.com/louisludigital )