亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶詞干的詞頻

帶詞干的詞頻

大話西游666 2023-08-03 16:41:29
我有一個問題,如何獲得我認為具有相似含義的單詞的總和,所以我想算作同一個單詞。例如,我有這個數據集:    Word    Frequency0   game    520551   laura   249532   luke    211333   story   207394   dog     170545   like    127927   character   88459   play    842011  characters  808112  people  793316  good    649618  10      630919  gameplay619522  revenge 592225  bad     533126  end     502727  feel    483328  killed  477931  kill    454533  graphics437234  time    427235  cat     424444  great   346645  ending  3379...50  love    305951  never   296552  new     296353  killing 2955這是一個包含兩列的數據集:一列包含單詞,另一列包含單詞在文檔中出現的頻率。我需要將以下內容視為相同的詞:殺,殺,殺;性格和性格;結束,結束。我認為這應該可以通過使用 portstemmer 輕松完成。但是,我還需要將它們的頻率計算為總和。所以,舉例來說,28  killed  477931  kill    454553  killing 2955應該31 kill 12279不幸的是,我無法應用早期的詞干提取,因為我收到的數據集如上所示。您能給我一些關于如何獲得這筆錢的建議嗎?
查看完整描述

1 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

您可以使用nltk(df作為您共享的輸入數據框):


from nltk.stem import PorterStemmer 

from nltk.tokenize import word_tokenize 


ps = PorterStemmer() 

df["Stem"] = df["Word"].apply(ps.stem)

res = df.groupby("Stem")["Frequency"].sum()

輸出(對于您分享的作品):


Stem

10           6309

bad          5331

cat          4244

charact     16926

dog         17054

end          8406

feel         4833

game        52055

gameplay     6195

good         6496

graphic      4372

great        3466

kill        12279

laura       24953

like        12792

love         3059

luke        21133

never        2965

new          2963

peopl        7933

play         8420

reveng       5922

stori       20739

time         4272

Name: Frequency, dtype: int64


查看完整回答
反對 回復 2023-08-03
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號