torchtext.data.utils

get_tokenizer(tokenizer, language=‘en’)

功能:使用分词器对句子进行分词。

参数:

  • tokenizer:分词器名称。

    如果传入None,功能相当于simple_space_split()不会分割标点符号

    如果传入"basic_english",则会将字母转为小写并按空格分割,会分割标点符号

    如果传入可调用函数,则会调用并返回相应结果。

    如果传入分词库名称,则会返回相应的结果,分词库有spacy、moses、toktok、revotk,subword等。

  • language:语言名称,默认为en

示例:

import torchtext
from torchtext.data.utils import get_tokenizer

# 传入None
tokenizer = get_tokenizer(None)
tokens = tokenizer("You can,\t\tnow\n\ninstall TorchText using pip!!!")
print(tokens)

# 传入"basic_english"
tokenizer = get_tokenizer("basic_english")
tokens = tokenizer("You can,\t\tnow\n\ninstall TorchText using pip!!!")
print(tokens)

# 传入可调用函数
def mySplit(text:str):
    return text.split(" ")

tokenizer = get_tokenizer(mySplit)
tokens = tokenizer("You can,\t\tnow\n\ninstall TorchText using pip!!!")
print(tokens)

# 传入分词库名称
tokenizer = get_tokenizer("moses")
tokens = tokenizer("You can,\t\tnow\n\ninstall TorchText using pip!!!")
print(tokens)

示例结果:

['You', 'can,', 'now', 'install', 'TorchText', 'using', 'pip!!!']
['you', 'can', ',', 'now', 'install', 'torchtext', 'using', 'pip', '!', '!', '!']
['You', 'can,\t\tnow\n\ninstall', 'TorchText', 'using', 'pip!!!']
['You', 'can', ',', 'now', 'install', 'TorchText', 'using', 'pip', '!', '!', '!']

ngarms_iterator(token_list, ngrams)

功能:生成ngram词袋分词。

参数:

  • token_list:分词结果列表。
  • ngrams:词袋大小

示例:

import torchtext
from torchtext.data.utils import get_tokenizer, ngrams_iterator

tokenizer = get_tokenizer("basic_english")
tokens = tokenizer("You can\t\tnow")

list(ngrams_iterator(tokens, 3))

示例结果:

['you', 'can', 'now', 'you can', 'can now', 'you can now']
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值