from nltk.tokenize import MWETokenizer
tokenizer = MWETokenizer([('a', 'little'), ('a', 'little', 'bit'), ('a', 'lot')])
tokenizer.add_mwe(('in', 'spite', 'of'))
tokenizer.tokenize('In a little or a little bit or a lot in spite of'.split())
>>> ['In', 'a_little', 'or', 'a_little_bit', 'or', 'a_lot', 'in_spite_of']
上面的代码片段在标记文本时处理多词。但是,在尝试将文本表示为向量空间时,这是否是必要的步骤?
对于我的特定问题,我有rig down
vs rig up
,lay down
vs pick up
,nipple down
vs nipple up
之类的单词,意味着完全不同的事情。
我正在尝试实现跳跃语法,CBOW,TF-IDF或共现矩阵。这些算法是否自动对多词表达式进行校正?还是我需要对一些重要的多词表达式进行硬编码?