自然語言處理實踐Task2

2021-10-08 10:21:25 字數 2964 閱讀 2581

# sep設定分割符

# nrows設定讀取的行數

train_df = pd.read_csv(

'./data/train_set.csv'

, sep=

'\t'

, nrows=

100)

train_df.head(

)

第一列label為新聞的類別,第二列text為新聞的字元。

計算句子的長度

train_df[

'text_len'

]= train_df[

'text'].

(lambda x:

len(x.split(

' ')))

train_df[

'text_len'

].describe(

)

結果:100個句子,平均長度為872.32,最長為7125,最短為64。

count     100.000000

mean 872.320000

std 923.138191

min 64.000000

25% 359.500000

50% 598.000000

75% 1058.000000

max 7125.000000

視覺化分析

計算每個類別的樣本數量

字元統計

# 統計每個字元的個數

from collections import counter

all_lines =

' '.join(

list

(train_df[

'text'])

)word_count = counter(all_lines.split(

' ')

)word_count =

sorted

(word_count.items(

), key=

lambda d:d[1]

, reverse=

true

)# 統計不同字元在句子**現的次數

train_df[

'text_unique'

]= train_df[

'text'].

(lambda x:

' '.join(

list

(set

(x.split(

' ')))

))all_lines =

' '.join(

list

(train_df[

'text_unique'])

)word_count = counter(all_lines.split(

" ")

)word_count =

sorted

(word_count.items(

), key=

lambda d:

int(d[1]

), reverse =

true

)

假設字元3750,字元900和字元648是句子的標點符號,請分析賽題每篇新聞平均由多少個句子構成?

import re

train_df[

'sentence_len'

]= train_df[

'text'].

(lambda x:

len(re.split(

'[3750 900 648]'

, x)))

train_df[

'sentence_len'

].describe(

)

統計每類新聞**現次數對多的字元。

from collections import counter

defhandle

(x):

all_lines =

' '.join(

list

(x['text'])

) word_count = counter(all_lines.split(

" ")

) word_count =

sorted

(word_count.items(

), key=

lambda d:

int(d[1]

), reverse =

true

)return word_count[0]

res = train_df.groupby(

'label').

(handle)

NLP 理論實踐 Task2

正向最大匹配法演算法流程 從前往後取詞,每次減乙個字,直至詞典命中或剩下1個單字。假設詞典中最長的單詞為 5 個,那麼最大匹配的起始子串字數也為 5 個 1 從左往右讀入子串,掃瞄字典,測試讀入的子串是否在字典中 2 如果存在,則從輸入中刪除掉該子串,重新按照規則取子串,重複 1 3 如果不存在於字...

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...

自然語言處理

前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...