自然语言处理 one-hot编码

one-hot编码的优劣势:

优势:操作简单,容易理解.
劣势:完全割裂了词与词之间的联系,而且在大语料集下,每个向量的长度过大,占据大量内存.

import torch
from pyhanlp import *
from sklearn.preprocessing import OneHotEncoder
import numpy as np

content = "虽然原始的食材便具有食物原始的风情,云初还是认为," \
          "最美味的食物还是需要经过分割,烹调,处置,最后端上桌的食物才是最符合大唐人肠胃的食物。"
words = HanLP.segment(content)

key = []
for i in words:
    key.append(i.word)
print(key)
print(np.array(key).reshape(-1, 1))

enc = OneHotEncoder()
enc.fit(np.array(key).reshape(-1, 1))
print(enc.transform([['虽然']]).toarray())
print(enc.categories_)
print(enc.inverse_transform([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
                              0, 0, 0, 0, 0]]))

['虽然', '原始', '的', '食材', '便', '具有', '食物', '原始', '的', '风情', ',', '云初', '还是', '认为', ',', '最', '美味', '的', '食物', '还是', '需要', '经过', '分割', ',', '烹调', ',', '处置', ',', '最后', '端', '上桌', '的', '食物', '才', '是', '最', '符合', '大唐', '人', '肠胃', '的', '食物', '。']
[['虽然']
 ['原始']
 ['的']
 ['食材']
 ['便']
 ['具有']
 ['食物']
 ['原始']
 ['的']
 ['风情']
 [',']
 ['云初']
 ['还是']
 ['认为']
 [',']
 ['最']
 ['美味']
 ['的']
 ['食物']
 ['还是']
 ['需要']
 ['经过']
 ['分割']
 [',']
 ['烹调']
 [',']
 ['处置']
 [',']
 ['最后']
 ['端']
 ['上桌']
 ['的']
 ['食物']
 ['才']
 ['是']
 ['最']
 ['符合']
 ['大唐']
 ['人']
 ['肠胃']
 ['的']
 ['食物']
 ['。']]
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.
  0. 0. 0. 0. 0.]]
[array(['。', '上桌', '云初', '人', '便', '具有', '分割', '原始', '处置', '大唐', '才', '是',
       '最', '最后', '烹调', '的', '端', '符合', '经过', '美味', '肠胃', '虽然', '认为',
       '还是', '需要', '风情', '食材', '食物', ','], dtype='<U2')]
[['虽然']]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<编程路上>

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值