iT邦幫忙

0

TF-IDF資料呈現

不明 2022-10-04 23:25:41801 瀏覽
  • 分享至 

  • xImage

大家好,小弟目前再寫碩士論文,程式上遇到一點小麻希望大家能幫幫忙。
目前在做文字探勘詞頻的部分,使用TF-IDF來計算詞頻,計算出來,但卻不好分類,還請大家幫幫忙。
目前將文字斷詞斷句後呈現如下(僅列出6筆資料):

all=[['停工', '停工'], ['受影響', '停工', '停工', '停工', '停工'], ['出現問題', '打包', '狀況', '缺乏', '措手不及', '隔離', '隨意', '爆出'], ['不實', '虛偽', '違反', '罰鍰', '檢舉'], ['不能勝任', '抗議', '裁員', '裁撤', '解僱'], ['不當', '申訴', '歧視', '涉及', '解僱']]

參考https://clay-atlas.com/blog/2020/08/01/nlp-%E6%96%87%E5%AD%97%E6%8E%A2%E5%8B%98%E4%B8%AD%E7%9A%84-tf-idf-%E6%8A%80%E8%A1%93/的作法

得出的結果如下
https://ithelp.ithome.com.tw/upload/images/20221004/20153516f1jHQXbX7Y.png

但希望能呈現出

result=[{'停工': 0.780869}, {'受影響': 1, '停工': 0.624695}, {'出現問題': 1, '打包': 1, '狀況': 1, '缺乏': 1, '措手不及': 1, '隔離': 1, '隨意': 1, '爆出': 1}, {'不實': 1, '虛偽': 1, '違反': 1, '罰鍰': 1, '檢舉': 1}, {'不能勝任': 1, '抗議': 1, '裁員': 1, '裁撤': 1, '解僱':  0.707107}, {'不當': 1, '申訴': 1, '歧視': 1, '涉及': 1, '解僱': 0.707107}]

請問有什麼方法可以解決嗎?因為資料有接近三千筆QQ
因為我剛學python,有冒犯的地方請大家見諒

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
phes11434
iT邦新手 2 級 ‧ 2022-10-05 09:43:12
最佳解答

提供本人的解法

x=pd.DataFrame(results).transpose()
x1=x.to_dict()
for k in list(x1.keys()):
    for j in list(x1[k].keys()):
        if x1[k][j] == 0:
            del x1[k][j]
print(x1)
不明 檢舉

謝謝您的回覆,想再請問如何計算相加的值

[0.780869, 1.624695, 8, 5, 4.707107, 4.707107]

呈現這樣的結果

phes11434 iT邦新手 2 級 ‧ 2022-10-05 17:15:27 檢舉
xx= []
for i in range(len(x1)):
    xx.append(sum(x1[i].values()))
不明 檢舉

真的很感謝您的幫忙!!!

我要發表回答

立即登入回答