torchtext.data.utils

get_tokenizer(トークナイザー、言語='en')

機能: トークナイザーを使用して文を分割します。

パラメータ:

  • トークナイザー: トークナイザー名。

    渡された場合None、機能的には同等でありsimple_space_split()句読点は分割されません

    に渡された場合"basic_english"、文字は小文字に変換されてスペースで分割され、句読点は分割されます

    に渡された場合可调用函数、それが呼び出され、対応する結果が返されます。

    で渡されると分词库名称、対応する結果が返され、シソーラスには spacy、moses、toktok、revotk、subword などが含まれます。

  • 言語: 言語名、デフォルトは です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']

おすすめ

転載: blog.csdn.net/qq_42464569/article/details/120791006