Python 将字符串标记转换为整数
我试图把句子的符号转换成整数。但它给了我浮动Python 将字符串标记转换为整数,python,python-3.x,nltk,gensim,word2vec,Python,Python 3.x,Nltk,Gensim,Word2vec,我试图把句子的符号转换成整数。但它给了我浮动 from nltk.tokenize import word_tokenize from gensim.models import Word2Vec sometext = "hello how are you doing?" tokens = word_tokenize(sometext) model = Word2Vec([tokens], min_count=1, size=1) 当我这样做的时候 print(model["hello"])
from nltk.tokenize import word_tokenize
from gensim.models import Word2Vec
sometext = "hello how are you doing?"
tokens = word_tokenize(sometext)
model = Word2Vec([tokens], min_count=1, size=1)
当我这样做的时候
print(model["hello"])
它给了我
[-0.3843384]
我希望这是一个正整数 没有必要为此使用
Word2Vec
。Word2Vec的要点是将单词映射到多维、“密集”向量,其中包含许多浮点坐标
虽然Word2Vec
碰巧会扫描您的训练语料库中的所有唯一单词,并在其内部数据结构中为每个唯一单词指定一个整数位置,但您通常不会创建一个只有一个维度的模型(size=1
),也不会要求模型提供单词的整数槽(内部实现细节)
如果您只需要一个(字符串单词)->(int-id)映射,那么gensim类字典可以做到这一点。见:
现在,如果使用Word2Vec
确实有一些合理的理由,比如需要多维向量来获得更大的词汇表,并在大量不同的文本上进行训练,那么您真正需要的是知道它的单词内部整数槽,您可以通过内部wv
属性的vocab
字典访问这些内容:
print(model.wv.vocab['hello'].index)
没有必要为此使用Word2Vec
。Word2Vec
的要点是将单词映射到多维、“密集”向量,其中包含许多浮点坐标
虽然Word2Vec
碰巧会扫描您的训练语料库中的所有唯一单词,并在其内部数据结构中为每个唯一单词指定一个整数位置,但您通常不会创建一个只有一个维度的模型(size=1
),也不会要求模型提供单词的整数槽(内部实现细节)
如果您只需要一个(字符串单词)->(int-id)映射,那么gensim类字典可以做到这一点。见:
现在,如果使用Word2Vec
确实有一些合理的理由,比如需要多维向量来获得更大的词汇表,并在大量不同的文本上进行训练,那么您真正需要的是知道它的单词内部整数槽,您可以通过内部wv
属性的vocab
字典访问这些内容:
print(model.wv.vocab['hello'].index)
您可以使用gensim corpora.Dictionary为令牌创建字典和ID
from gensim import corpora
dictionary = corpora.Dictionary([tokens])
print(dictionary)
Dictionary(6 unique tokens: ['?', 'are', 'doing', 'hello', 'how']...)
token2id
print(dictionary.token2id)
{'?': 0, 'are': 1, 'doing': 2, 'hello': 3, 'how': 4, 'you': 5}
dictionary.token2id['hello']
3
您可以使用gensim corpora.Dictionary为令牌创建字典和ID
from gensim import corpora
dictionary = corpora.Dictionary([tokens])
print(dictionary)
Dictionary(6 unique tokens: ['?', 'are', 'doing', 'hello', 'how']...)
token2id
print(dictionary.token2id)
{'?': 0, 'are': 1, 'doing': 2, 'hello': 3, 'how': 4, 'you': 5}
dictionary.token2id['hello']
3
如果添加abs(负整数)
,会怎么样?例如,x=-1
,然后打印(abs(x))
如果添加abs(负整数)
?例如x=-1
,然后打印(abs(x))