【发布时间】:2013-05-21 06:32:38
【问题描述】:
我有一个文本文件,其中每行包含推文,需要针对机器学习格式进行更改。我使用 python 和基本的 unix 文本操作(正则表达式)来实现我的很多字符串操作,并且我开始掌握 sed、grep 和 pythons .re 函数的窍门....然而,下一个问题对我来说是令人兴奋的,并且想知道是否任何人都可以帮助我。我已经尝试了一些谷歌搜索,但没有运气:(
我总是从伪代码开始,以使我更容易,这就是我想要的...... "用整数 '1' 替换 -token1- OR -token2- OR -token3- OR -token4-,用整数 '0' 替换所有其他词/标记 "
假设我需要变为“1”的单词/标记列表如下:
- :)
- 酷
- 开心
- 有趣
我的推文是这样的:
- 这是有趣的一天 :)
- 我觉得 python 很酷!这让我很开心
新程序/功能的输出将是:
- 0 0 0 0 1 0 1
- 0 0 0 1 0 0 0 1
注意 1:注意 'cool' 有一个 '!'在它后面,它也应该包含在内,尽管我总是可以先删除文件中的所有标点符号,以使其更容易
注意2:所有的推文都是小写的,我已经有一个函数可以把所有的行都变成小写
有谁知道如何使用 unix 正则表达式(例如 sed、grep、awk)或什至如何在 python 中做到这一点?顺便说一句,这不是家庭作业,我正在做一个情绪分析程序并且正在做一些实验。
谢谢! :)
【问题讨论】:
-
你想要那些零和一吗?字符串还是整数数组?您不想根据单词的数量和某些单词/标记的相对强度来计算总数吗?
-
我认为示例不一致。 “
cool!”不在列表中(但“cool”在)。应该对感叹号进行特殊处理(例如,忽略)吗?对此有何规定?