Rik*_*ard 6 nlp word2vec tensorflow word-embedding
如果我有一个要矢量化的文本字符串,我应该如何处理其中的数字?或者,如果我向神经网络提供数字和单词,我如何将数字保存为数字?
我打算制作一本关于我所有单词的字典(如此处所示).在这种情况下,所有字符串都将成为数字数组.我该如何处理数字字符?如何输出不将单词索引与数字字符混合的向量?
将数字转换为字符串会削弱我为网络提供的信息吗?
与@user1735003 展开讨论 - 让我们考虑两种表示数字的方式:
无论如何,第二个会改变上下文吗?为了验证它,我们可以使用 找到两个表示的相似性word2vec
。如果他们有相似的背景,分数会很高。
例如,
1
和one
具有0.17的相似性得分,2
和two
具有的相似性得分0.23
。它们似乎表明它们使用方式的上下文完全不同。
通过将数字视为另一个词,您并没有改变上下文,但是通过对这些数字进行任何其他转换,您不能保证它会更好。因此,最好保持原样并将其视为另一个词。
注意:word-2-vec
和glove
都是通过将数字视为字符串来训练的(案例 1)。
您提供的链接表明,a 产生的所有内容.split(' ')
都已索引 - 单词,还有数字,可能是笑脸,aso。(我仍然会照顾标点符号)。除非您对数据或问题有更多的先验知识,否则您可以从那里开始。
编辑
从字面上使用您的字符串及其代码的示例:
corpus = {'my car number 3'}
dictionary = {}
i = 1
for tweet in corpus:
for word in tweet.split(" "):
if word not in dictionary: dictionary[word] = i
i += 1
print(dictionary)
# {'my': 1, '3': 4, 'car': 2, 'number': 3}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2342 次 |
最近记录: |