自然語言處理黃金九步法,葵花寶典,請珍藏心間
目錄
需求分析:問題定義
1.文本分類任務
2.序列標注任務
3.文本生成任務
4.文本理解任務
5.信息抽取任務
6.文本匹配任務
7.多模態任務
一、數據獲取
1、發現可用數據集
2、常用的數據集
3、哪里去尋找數據集
4、數據集成
5、生成數據
6、網絡爬蟲
7、數據標注
二、數據探索(Exploratory Data Analysis,EDA)
三、數據清理與預處理
四、分割數據集
五、特征工程
六、建模
七、評估
八、推理
任務的工時占比
需求分析:問題定義
問題定義決定了整個項目的成敗
1.文本分類任務
Text Classification Text Categorization TC
? 1.情感分析應用場景
-
? 情感分析廣泛應用于電商領域,通過分析用戶評論幫助企業了解產品口碑。在社交媒體上,情感? ?分析可監測品牌聲譽,為品牌策略調整提供數據支持。
? ? 2.主題分析應用場景
-
? 通過主題分類管理海量文檔,提供查詢效率
2.序列標注任務
-
? 命名實體識別NER
3.文本生成任務
Nature Language Generation NLG
-
? 文本生成代碼
-
? 機器翻譯
-
? ?自動摘要
4.文本理解任務
Natural Language Understanding NLU
- 閱讀理解
- 自然語言推理任務 NLI
5.信息抽取任務
Information Extraction IE
- 關系抽取
- 事件抽取
6.文本匹配任務
text matching
- 語義相似度計算
7.多模態任務
- 圖像描述生成
一、數據獲取
人工智能是一門數據驅動的科學,數據決定我們能把這件事做的多好!
1、發現可用數據集
- 尋找已有的數據集
- 使用 benchmark 數據集來快速評估我們的想法
- 使用多個小型或者中型數據集去進行超參的調整
- 對于深度學習的模型使用超大規模的數據
- 使用 benchmark 數據集來快速評估我們的想法
- 收集新數據
2、常用的數據集
根據不同任務,常用的數據集如下
3、哪里去尋找數據集
https://datasetsearch.research.google.com/
The latest in Machine Learning | Papers With Code
Open Data on AWS
Kaggle: Your Machine Learning and Data Science Community
4、數據集成
- 把多個數據源的數據結合到一個數據存儲中
- 生成數據一般分散的存儲在不同的數據表中
- 比如:一張表存儲房屋數據,一張表存儲銷售記錄,一張表列出中介
- Join 數據表
5、生成數據
- GAN
- 數據增強
6、網絡爬蟲
7、數據標注
- 使用數據標注平臺標注數據
label-studiohttps://github.com/heartexlabs/label-studio
- 眾包團隊推薦:
- 數據堂DATATANG
- 龍貓數據
- 科樂園
- MagicData
二、數據探索(Exploratory Data Analysis,EDA)
獲取數據后,我們需要持續了解數據
工具:Python (Pandas, Matplotlib, Seaborn)
- 文本統計
- 停用詞分析
- 詞頻分析
- Ngram分析
- 主題分析
- 情感分析
- NER分析
- 詞性探索
- 文本復雜度分析
三、數據清理與預處理
了解數據后我們要清理掉沒用的數據,修正不好的數據,補充不夠的數據,構建高質量數據集
- 去除換行 清除html標簽? 清除鏈接 清除空格 去停用詞
四、分割數據集
分割方法:獨立分割、時間分割、交叉驗證、蜂窩交叉驗證
五、特征工程
六、建模
- 選擇合適的模型對數據進行建模
- 選擇模型后,要把數據格式處理成模型要求的格式
- 分詞
- 標準化