这个问题在这里已经有了答案:
Best way to change words into numbers using specific word list
(3 个回答)
7年前关闭。
本周早些时候,我发布了一个关于如何将文件中的特定单词更改为数字的问题。作为我情绪分析工作的一部分。不幸的是,这对我来说不是正确的方法,我错误地解释了我的数据。所以我会用正确的方法重新问这个问题。
我有一个包含标记的特定单词列表,例如,即使它是 40 个单词,我也会使用 4 个单词。我需要使用列表将推文转换为 0 1 1 0 类型的格式。
我的列表如下(一个文本文件,每行 1 个单词):
我的示例推文:
输出应该是:
基本上每个数字都对应于 token 在列表中的位置。所以在 TWEET1 中,第一个 '1' 对应于列表中的位置一(即笑脸),第二个数字 '0' 对应于列表中的位置二(不开心的笑脸),因为在推文,它变成了“0”。第三个数字是'1',对应于列表中的第三位(快乐),因为它在推文中被发现......它变成了'1'......我希望我解释一下好。
我使用 python 编写了很多我的脚本/程序来操作在我的文件中找到的文本,所以我正在寻找一个 python 程序来为我做这件事。我对python很陌生,所以我希望有人能帮我写一个脚本来做到这一点。
我希望我解释得足够好,我自己花了一段时间才掌握这个概念。
谢谢 :)
更多信息:
0 1 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
编辑部分
下面给出的惊人答案不符合标准。它非常优雅地用数字替换单词。但不幸的是,这不是我需要的......
进一步的解释(它帮助我更好地理解它的方式)......
考虑一下:
TWEET1:“今天将是快乐的一天 :)”
我希望这能更好地解释它:)
注意:代码对应于单词列表,而不是推文中的单词。
请您参考如下方法:
这里:
wordlist = [':)', ':(', 'happy', 'sad']
tweets = ['I find python cool, it makes me happy :)', 'today is a sad day :(']
for tweet in tweets:
print(' '.join(['1' if word in tweet else '0' for word in wordlist]))
输出:
1 0 1 0
0 1 0 1
