Text Preprocessing Method Using ML - Social media Example

文本预处理(text preprocess)总结 在任何机器学习任务中,清理(cleaning )或预处理(preprocessing)数据与模型构建同样重要,甚至更重要。当涉及文本等非结构化数据时,这个过程就更加重要。 阅读详情

Why we need to preprocess text?

在現實世界中取得的數據非常凌亂,因此在使用機器學習處理NLP問題前,首先需要將數據進行適當處理,才能過濾有效資料。

然而在文字預處理同時,也會做feature engineering,將一些重要的特徵保留下來,以便後續模型的訓練
 

General Text Preprocess

根據數據取得的平臺,處理的方式會有所不同。比如:twitter的tweets 會有@mention,#hashtag, URL…etc;Instagram有 #hashtag。另外,現今emoji、縮寫語和網路用語十分發達,這些文字與表情符號都需要經過一定程度的處理才能用來訓練模型。

基本上,一般文字預處理有以下幾個步驟:

  • remove punctuations/ emoji
  • remove numbers
  • lowercase
  • remove stopwords
  • stemming/ lemmatization
  • remove frequent and infrequent words
  • tokenization

以上是很簡略的敘述文字預處理,但就像我先前提過的不同的raw text會需要不同的處理方式才能更大地發揮數據的價值。在此以sentiment analysis - based on social media為例記錄下自己遇到的問題:

Emoji

😊😭😤😂emoji是一個重要的情感判定因素,因此remove all emojis 不是一個好方法,可以運用一些python package將其轉換為emoji description。(BTW 這是我在社群媒體上最常用的emoji: 😂,又哭又笑地是要逼死做sentiment analysis的人嗎哈哈哈)

Punctuations

在social media上,常有"what???" or "oh my god!!!"類似這種consequent punctuations出現的時候。通常會給人一種語氣加重/強調/驚訝的情感,因此remove all punctuations may not seem a good way. 另一個可能發生的問題是: hyphenated words. 例如: well-known, one-year-old,若將中間符號(-)移除,意義可能改變。在處理標點符號問題,因取決於文本分析問題的目的。

縮寫語/網路用語

以中文"爺青回"為例,進行分詞後變成:爺/青/回,三字單看無特殊意義,但實際上三字合在一起時,意思為:爺的青春回來了。以英文為例,像是"OMG","SOTY"也是一樣的。在這一類處理上,我目前想到的是透過一個dictionary來記錄所有縮寫語/網路用語,並透過mapping將其替換為日常用語。

Stop words/高頻詞&低頻詞

在一個句子中經常出現但並沒有帶出太多意義的詞,我們稱之為Stop words。在英文中常見的停用詞像是:a, is, the, not…etc. 在情感分析案例上,移除所有停用詞會是一個災難。舉個例子,“I am not happy to be with you"原意是負面的,但在移除全部停用詞後,整句只留下正面的"happy”。因此要視所解決的問題,和EDA之後了解所有Data,才決定停用詞的增減或去留。

而在高頻和低頻詞也是一樣的,建議將高頻和低頻詞移除,才能過濾出真實有效的數據。這裡可以使用TF-IDF model來做計算。

Conclusion

Text preprocessing(NLP in machine learning) 是一個需要花時間FEATURE ENGINEERING/FINE-TUNING的領域,如前言所提,文字真的太雜了XD。

*後記:這2年Deep learning興起,許多大規模的pre-trained models 像是 BERT, GPT-3在NLP上取得了相當大的進展。但我的hands-on experience相對較少,還得趕緊練功去!

损失函数与优化器:从「梯度是怎么被造出来的」到「梯度是怎么被用掉的」 本文揭示损失函数与优化器本质一体:优化器仅依赖损失产生的梯度,而损失决定梯度的方向、尺度与噪声特性。错误的损失选择(如分类用MSE)会导致梯度失衡,使优化器失效;不同损失(如Huber、Focal)通过调控梯度分布影响优化过程。实测表明,归约方式、标签结构与损失配对直接决定梯度行为,进而影响收敛性与泛化。核心观点:选对损失,才是让优化器“看得懂”的前提。 阅读详情

相关推荐

preprocess_text_jm

预处理文本Python包 某些链接:https:// some_link / 这个python包是由Jacek Malecki准备的。 安装 pip install git+ssh://git@https/jacmal/preprocess_text_jm.git pip install https://github.com/jacmal/preprocess_text_jm.git Google Colab安装 !git clone https://github.com/jacmal/preprocess_text_jm.git import sys sys.path.append('/content/preprocess_text_jm') import preprocess_text_jm 卸载 pip uninstall preprocess_text_jm

python文本预处理_在python中预处理文本

python文本预处理This post is the second of three sequential articles on steps to build a sentiment classifier. Following our exploratory text analysis in the first post, it’s time to preprocess our text da...

weixin_26750481的博客 2831

Plant Simulation 实战指南:从二次分配问题到优化布局设计

本文是一份Plant Simulation实战指南,详细讲解了如何利用该仿真软件解决工厂布局中的二次分配问题。通过从数据准备、模型搭建到集成遗传算法进行自动化优化的完整流程,帮助工程师在数字孪生环境中高效寻找最优设备布局方案,从而显著降低物流成本,提升生产效率。

i1j2k的博客 565

Python下的英文预处理

一 得到原始文本内容     def FileRead(self,filePath):         f = open(filePath)         raw=f.read()         return raw 二 去除停用词(nltk.word_tokenize)         tokens = nltk.word_tokenize(raw)         sto

caicai1617的专栏 2万+

TexGen模型导出ABAQUS inp文件时纱线材料属性缺失?5分钟快速修复指南

本文针对TexGen模型导出ABAQUS inp文件时纱线材料属性缺失的问题,提供了快速修复指南。通过手动编辑inp文件或使用Python脚本自动补全材料属性,帮助复合材料仿真工程师高效解决问题。文章还介绍了TexGen导出前的预防性设置和ABAQUS中的验证技巧,确保仿真分析的准确性。

qsc901234的博客 250

正交试验minitab

1.创建正交试验 2.根据自己的实验选择水平数和因子数,并选定一个正交表 3.得到正交表 4.填写实验结果 5.进行正交分析 点击结果,点击分析 6.得到分析结果 7.方差分析 选择响应变量与因子,点击确定 得到方差分析的结果 ...

a999999123的博客 1万+

AI驱动的产业变革:短视频、设计与服务业的落地实践与技术解析

AI技术正在重塑短视频、设计和服务业三大领域:在短视频行业,AI实现了从脚本生成到智能剪辑和精准推荐的全链路革新,如字节跳动的"创作大脑"系统可将脚本创作时间从3小时缩短至10分钟;在设计领域,AI工具如Canva的MagicMedia功能使非专业用户也能快速创建专业设计作品,将设计时间从60分钟降至5分钟;在服务业,AI客服系统如阿里云智能客服每天处理千万次咨询,解决率达85%。

zzywxc787的博客 1136

图形学基础|基于SDF的卡通阴影图

图形学基础|基于SDF的卡通阴影图 文章目录图形学基础|基于SDF的卡通阴影图一、前言二、SDF(Signed Distance Field)三、阴影图生成3.1 SDF生成3.2 插值参考博文 一、前言 回顾之前做的卡通渲染,角色面部阴影是靠一张阴影贴图实现的。 为了更好地控制角色的脸部阴影,通过计算脸部朝向与光照方向的夹角和一张单色的FaceMap来判断。 FaceMap的每个像素表示:该像素判断为阴影时候需要达到的夹角。 例如: 当方向光正对角色的时候,夹角为0°,对应的值为0,此时,FaceMap

【黑键】 1万+

从认识人工智能到理解机器学习:我的 AI 入门第一课

正式开始学习人工智能之前,我对 AI 的认识其实比较模糊:知道 ChatGPT、知道大模型,也知道现在很多岗位都在谈 AI,但如果有人问我“人工智能到底是什么”“机器是怎么学会识别一只猫的”,我未必能从头到尾讲清楚。上午的课程更偏向行业全景:人工智能的发展、研究方向、NLP、岗位分工、学习路线和 AI Coding 工具。下午的课程更偏向技术基础:机器学习的原理、有监督学习、深度学习、模型训练和评估方法。

chh563的博客 475

Ubuntu22.04系统安装及配置

下载Ubuntu22.04系统镜像(下载地址:链接:https://caiyun.139.com/m/i?提取码:fLRJ),结合rufus和系统镜像制作USB启动盘,在物理机服务器上通过USB启动盘进行安装;或通过Esxi虚拟化平台创建虚拟机,然后在虚拟机中使用系统镜像进行安装。

cheagoun的博客 8万+

低温ECR-MOCVD生长(002)GaN:椭偏仪测厚与电学性能

本研究用ECR-MOCVD在Si(111)和蓝宝石衬底上低温生长GaN薄膜,蓝宝石1.0SCCM、2h样品呈完全(002)择优取向,椭偏仪测厚32.81nm,迁移率10.42cm²/(V·s)。文章梳理了生长温度、TMGa流量与生长时间对结晶取向、膜厚、粗糙度、光学带隙和电学性能的影响。

Flexfilm_的博客 378

USB 网卡——RNDIS 控制消息流程

在其控制端点上获取控制消息时,设备必须在通信类接口的中断 IN 端点上返回通知,每当设备可以返回控制消息时,主机就会轮询该通知。需要注意的是,如果设备由于某种原因收到GET_ENCAPSULATED_RESPONSE,并且无法使用控制端点上的有效数据做出响应,则应返回设置为 0x00 的单字节数据包,而不是 stall 控制端点。下表中定义了此传输。收到 RESPONSE_AVAILABLE 通知后,主机使用下表中定义的GET_ENCAPSULATED_RESPONSE 传输从控制端点读取控制消息。

tyustli 372

机器学习基础|监督学习、标签、回归

网约车预估等待时长依赖监督学习中的回归任务。平台利用历史订单数据,以司机实际到达耗时为标签,通过上车点、时间、运力、路况等特征训练模型。模型不断优化预测值与真实耗时的误差,最终对新订单输出连续的预估等待时间,实现精准预测。

weixin_43971465的博客 261

把 ABAP ALE Change Pointers 讲透:从 CDHDR/CDPOS 到 BDCP2,再到 RBDMIDOC 的自动分发链路

摘要:SAP ALE Change Pointers机制在系统集成中实现业务变更与数据分发的解耦。它记录业务对象变更(如SAP主数据修改),但不立即发送,而是由后续分发逻辑决定发送时机和方式。该机制包含两层:Change Documents记录审计级变更明细,Change Pointers标记需分发的关键变更。配置核心包括全局开关、消息类型激活和字段选择。典型应用如零售价格条件变更自动推送至POS系统,通过BDCP2表存储待处理队列,由RBDMIDOC程序定时评估生成IDoc。运维需关注定期清理和性能优化,

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 209

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Hugging Face:成为机器学习界的“Github”

以下文章来源于OneFlow,作者OneFlow社区五年前,AI领域的知名研究者Andrej Karpathy发文称,传统人工编程属于“软件1.0”,“软件2

2601_96798011的博客 141

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

机器学习——混淆矩阵(待更新)

二元: true表示真实==预测,positive表示预测值=1.

m0_61175448的博客 166

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

机器学习必修课:经典算法与Python实战

《机器学习必修课:经典算法与Python实战》是一门系统性与实战性兼顾的课程,旨在帮助学习者从零基础掌握机器学习核心算法与Python编程应用。

2601_96797912的博客 157

AI 是怎样从数据中学习的?训练、验证、测试与推理

泛化能力(Generalization)指模型面对训练过程中没有见过的新数据时,仍然能够做出合理预测的能力。这是判断模型是否具有实际应用价值的重要标准。例如:一个用户流失预测模型,在历史数据上表现很好,但面对新上线的用户群体时,预测准确率明显下降。这可能说明模型学到的规律无法适应新的用户群体。泛化能力不仅取决于模型本身,也与训练数据是否具有代表性有关。训练数据只包含老用户,没有新用户。训练数据主要来自某个地区,实际业务却覆盖不同地区。过去的用户行为与当前用户行为已经发生变化。

dshizixu的博客 325

Spark06_MLlib机器学习

本文是《PySpark 从入门到实战》系列收官篇,带你用 Spark MLlib 走通机器学习全流程:从三要素与 7 步标准流程讲起,剖析 KNN、朴素贝叶斯、决策树三大算法原理,再以 KNN 手写、垃圾短信分类、决策树分类、逻辑回归鸢尾花(准确率 96.67%)、K-Means 聚类(轮廓系数 0.7345)五个案例落地,最后详解 TF-IDF 文本特征与余弦相似度。全文代码可直接运行,适合有 RDD 与 Spark SQL 基础的开发者快速上手。

2301_80420058的博客 466

AI小白入门|无监督学习到底是什么?

很多新手看完无监督学习的定义只会死记硬背。本文避开复杂公式,从真实业务场景切入,对比监督学习,讲清楚无监督学习的核心价值、适用场景、底层逻辑和容易踩坑的认知误区,帮你理解它在机器学习链路里的定位。

weixin_43971465的博客 193

机器学习01,KNN使用与简单数学原理

个人笔记

qq_59247073的博客 273

SVM支持向量机通俗解析:找到机器学习的“最优分界线”

一、爆款钩子:同样是画分界线,为何SVM能成为机器学习的“王者选手”?做机器学习的人,几乎都绕不开一个问题:如何给混乱的数据“分家”?有人用逻辑回归,有人用KNN,但有一个算法

2601_96798737的博客 138

机器学习03,端到端02

个人笔记

qq_59247073的博客 272

GaN 动态导通电阻测试专题:电流崩塌从哪来,测量窗口怎么选

但器件装到实际电路上跑一段时间,或者用双脉冲台架模拟开关工况再测导通压降,数值往往明显高于手册静态值,而且关断应力越强(母线电压越高、应力保持越久),抬升越明显;:使用钳位电压探头,把示波器通道的工作区间限制在低电压区(常见做法是钳位在 1.5V 附近的导通压降区),应力高压段由钳位电路吸收,导通段以高分辨率采样。台架搭建相对简单,是器件表征最常用的方案。双脉冲台的难点不在发脉冲,而在采样:漏源电压要从几百伏的应力电平瞬间跌落到毫伏至伏级的导通压降,示波器单一量程难以兼顾"扛住高压"和"分辨毫伏"。

Namisooft的博客 252

基于有效Token规模化的大模型预训练数据配方与工程体系研究——基于唐杰《高级机器学习》课程演讲

在此背景下,本文系统梳理GLM系列模型数据迭代轨迹,纠正数据墙认知偏差,分析天然数据与合成数据的互补机制,并完整构建支撑高质量Token挖掘的全链路数据工程体系,为大模型数据规模化建设提供理论与工程参考。早期小模型训练场景下,数据总量远大于算力可消化量,核心策略为择优筛选少量高质量数据。基于唐杰公开演讲核心观点、GLM数据迭代、数据墙、合成数据、清洗解析工具链、分层架构图、自研工程壁垒),完整重构成一篇结构严谨、逻辑连贯、标准期刊论文风格全文,预留精准图片插入位置,可直接定稿、查重、发表、结课提交。

interpromotion的博客 284
上一篇: 在AWS EC2安裝MongoDB Server
下一篇: Python爬蟲實戰項目 - QQ音樂韓國榜
彎彎廖
博客等级 码龄6年 0粉丝 15原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值