網站首頁 編程語言 正文
前言
在搜集了很多文本語料之后,會開始漫長的數據清洗過程,通常要不斷迭代。
1. 問題描述
有些文本數據中,會包含一些特殊符號。
猜想可能是從某些富文本編輯器中直接粘貼到了網頁。
如果要清除這些特殊符號,就需要專門的工具。
2. 相關知識
Unicode標準把符號分為四大類,分別是:
縮寫 | 詳情 |
---|---|
[Sc] | Symbol, Currency |
[Sk] | Symbol, Modifier |
[Sm] | Symbol, Math |
[So] | Symbol, Other |
一般需要清理掉的符號會是So
類型的,但還是要根據自己的數據情況具體分析。
3. 解決方案
在數據清洗過程中遇到的符號可能包括:雜項符號、幾何形狀、箭頭、心形、星形、表情Emoji、貨幣符號等。
如果以上這些符號都要刪除,可以用下面的代碼。
text = "".join(ch for ch in text if unicodedata.category(ch)[0]!= 'S')
如果需要單獨去除某一類,或者希望知道某個符號所屬的具體類別,就需要到這個網站:
https://www.unicode.org/charts/charindex.html
查找對應的符號類型。
以箭頭符號為例。
先用Arrow搜索上面的網頁,找到純粹的箭頭項Arrows,對應的文檔是:https://www.unicode.org/charts/PDF/U2190.pdf
找到自己需要的箭頭,并查看對應的名字。
舉例:箭頭
RIGHTWARDS ARROW,然后用python
提供的unicodedata
標準庫,查找這個符號的類別。
unicodedata.lookup('RIGHTWARDS ARROW') '→' unicodedata.category('→') 'Sm'
這樣,就知道要查找的箭頭符號,屬于Sm類別(數學符號)。
舉例:黑色方塊
BLACK SQUARE ■ U+25A0
unicodedata.lookup('BLACK SQUARE') '■' unicodedata.category('■') 'So'
舉例:黑色心形
unicodedata.lookup('BLACK HEART SUIT') '?' unicodedata.category('?') 'So'
舉例:黑色星形
unicodedata.lookup('BLACK FOUR POINTED STAR') '?' unicodedata.category('?') 'So'
如果只需要去除雜項符號,可以用下面的python代碼。
text = "".join(ch for ch in text if unicodedata.category(ch) != 'So')
另一個有用的網址:
https://www.fileformat.info/info/unicode/category/index.htm
總結
原文鏈接:https://blog.csdn.net/m0_48742971/article/details/123117893
相關推薦
- 2022-08-16 hive數據倉庫新增字段方法_數據庫其它
- 2023-02-06 Golang泛型實現類型轉換的方法實例_Golang
- 2022-09-13 Android?Camera實現旋轉角度_Android
- 2022-04-04 微信登陸失敗Error: invalid code
- 2022-05-11 C++類繼承時的構造函數_C 語言
- 2022-07-30 Python開發時報TypeError:?‘int‘?object?is?not?iterable錯
- 2022-05-08 ASP.NET?MVC視圖尋址_實用技巧
- 2022-06-12 PostgreSQL聚合函數的分組排序使用示例_PostgreSQL
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支