RHK*_*-S8 2 python regex awk sed
我有一个文本文件,每行包含推文,需要针对机器学习格式进行更改.我使用python和基本的unix文本操作(正则表达式)实现了很多我的字符串操作,并且我开始使用sed,grep和pythons .re函数....这个下一个问题然而对我来说是心灵冒犯,并且想知道是否任何人都可以帮助我.我尝试了一些谷歌搜索,但没有运气:(
我总是从伪代码开始,使我更容易,这就是我想要的......" 替换-token1-或-token2-或-token3-或-token4-与整数'1',替换所有其他单词/代币整数'0' "
让我说我需要成为'1'的单词/代币列表如下:
我的推文看起来像这样:
新程序/功能的输出将是:
注1:注意'酷'有'!' 在它背后,它也应该被包括在内,虽然我总是可以首先删除文件中的所有标点符号,以使其更容易
注2:所有推文都是小写的,我已经有了一个将所有行改为小写的函数
有没有人知道如何使用unix正则表达式(如sed,grep,awk)甚至如何在python中执行此操作?顺便说一句,这不是家庭作业,我正在研究情绪分析程序,我正在尝试一下.
感谢名单!:)
from string import punctuation as pnc
tokens = {':)', 'cool', 'happy', 'fun'}
tweets = ['this has been a fun day :)', 'i find python cool! it makes me happy']
for tweet in tweets:
s = [(word in tokens or word.strip(pnc) in tokens) for word in tweet.split()]
print(' '.join('1' if t else '0' for t in s))
Run Code Online (Sandbox Code Playgroud)
输出:
0 0 0 0 1 0 1
0 0 0 1 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
将or在4号线有没有处理:),由@EOL的建议.
仍然存在无法正确处理的情况,例如cool :), I like it.问题是要求所固有的.
| 归档时间: |
|
| 查看次数: |
291 次 |
| 最近记录: |