NLP Task1 賽題理解

2021-10-08 09:19:06 字數 1361 閱讀 9710

import pandas as pd

train_df = pd.read_csv(r'…\nlp\原始資料\train_set.csv'

, sep=

'\t'

, nrows=

100,encoding =

'gb2312'

)train_df.head(

)

可以看到,訓練集資料基本形式為:

本次需要對匿名字元進行建模,進而完成文字分類的過程。由於文字資料是一種典型的非結構化資料,因此可能涉及到特徵提取和分類模型兩個部分。

直接使用tf-idf對文字提取特徵,並使用分類器進行分類。在分類器的選擇上,可以使用svm、lr、或者xgboost。

tf(term frequency)代表這個詞在該篇文章出現的頻率,idf(inverse document frequency)代表這個詞在整個資料集中的低頻程度。通過tf-idf計算詞表裡每個詞在單篇文章的關鍵程度。乙個詞,出現在該篇文章次數多,出現在整個資料集次數少,就表示這個詞語能夠更加突出該篇文章的語義。

通過scikit-learn內建的tfidfvectorizer,把文章的文字轉化為所有詞語在該篇文章關鍵程度的集合,即向量化。

fasttext是入門款的詞向量,利用facebook提供的fasttext工具,可以快速構建出分類器。

使用n-grams和整個單詞來代表單詞。我們知道在word2vec方法中我們基於word-level的模型來得到每乙個單詞的embedding,但是對於含有許多oov單詞的文字庫word2vec的效果並不好。由此很容易聯想到,如果將subword的思想融入到word2vec中是不是會產生更好的效果呢?

fasttext embeddings是乙個word2vec like embedding。用where舉例, 它把單詞表示成了:

"where = , 「這樣的形式. 注意這裡的」<>"符號是表達了開始和結束.

這樣就可以有效地解決oov的問題, 並且速度依然很快

fasttext是乙個能用淺層網路取得和深度網路相媲美的精度,並且分類速度極快的演算法。按照作者的說法「在標準的多核cpu上,能夠訓練10億詞級別語料庫的詞向量在10分鐘之內,能夠分類有著30萬多類別的50多萬句子在1分鐘之內」。但是它也有自己的使用條件,它適合類別特別多的分類問題,如果類別比較少,容易過擬合。

wordvec是高階款的詞向量,並通過構建深度學習分類完成分類。深度學習分類的網路結構可以選擇textcnn、textrnn或者bilstm。

bert是高配款的詞向量,具有強大的建模學習能力。

零基礎入門NLP Task01賽題理解

評測標準 解題思路 背景 乙個有點c 基礎對nlp還沒有概念的大二學生 理解賽題背景與賽題資料 賽題資料為新聞文字,並按照字元級別進行匿名處理。匿名處理的資料我還是第一次接觸這個概念,網上搜尋了下這個概念,懂了一點點意思 慢慢了解 計算公式本來一點都看不懂的,但是看了大佬的理解nlp訓練1 賽題理解...

Task1 賽題理解

賽題是cv入門級賽題,通過街景字元識別來熟悉cv建模思路和競賽流程。目標為識別街景中的字元。資料集樣本展示如下 評價指標如下 主要考慮兩種思路 傳統cv思路 先將影象二值化處理,然後做傾斜校正,根據投影做字元切割,根據0 9的字元的特徵點與標準字元匹配來進行識別 深度學習思路 本題本質上是分類問題,...

Task1 賽題理解

鏈結 賽題資料由以下幾個部分構成 訓練集20w條樣本,測試集a包括5w條樣本,測試集b包括5w條樣本。為了預防選手人工標註測試集的情況,我們將比賽資料的文字按照字元級別進行了匿名處理。在資料集中標籤的對應的關係如下 評價標準為類別f1 score的均值,選手提交結果與實際測試集的類別進行對比,結果越...