Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串标记转换为整数_Python_Python 3.x_Nltk_Gensim_Word2vec - Fatal编程技术网

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))