python - 对包含 B 或 I 标签的连续单词进行分组
问题描述
我有数据外观:
[[('Natural', 'JJ', 'B'), ('language', 'NN', 'I'), ('processing', 'NN', 'I'), ('is', 'VBZ', 'O'), ('one', 'CD', 'O'), ('of', 'IN', 'O'), ('the', 'DT', 'O'), ('important', 'JJ', 'O'), ('branch', 'NN', 'O'), ('of', 'IN', 'O'), ('CS', 'NNP', 'B'), ('.', '.', 'I')] ... ...]]
我想对带有标签 B 或 I 的连续单词进行分组,并忽略带有“O”标签的单词。
输出关键字应如下所示:
自然 语言 处理, CS , 机器 学习, 深度 学习
我做了如下代码:
data=[[('Natural', 'JJ', 'B'), ('language', 'NN', 'I'), ('processing', 'NN', 'I'), ('is', 'VBZ', 'O'), ('one', 'CD', 'O'), ('of', 'IN', 'O'), ('the', 'DT', 'O'), ('important', 'JJ', 'O'), ('branch', 'NN', 'O'), ('of', 'IN', 'O'), ('CS', 'NNP', 'B'), ('.', '.', 'I')],
[('Machine', 'NN', 'B'), ('learning', 'NN', 'I'), (',', ',', 'I'), ('deep', 'JJ', 'I'), ('learning', 'NN', 'I'), ('are', 'VBP', 'O'), ('heavily', 'RB', 'O'), ('used', 'VBN', 'O'), ('in', 'IN', 'O'), ('natural', 'JJ', 'B'), ('language', 'NN', 'I'), ('processing', 'NN', 'I'), ('.', '.', 'I')],
[('It', 'PRP', 'O'), ('is', 'VBZ', 'O'), ('too', 'RB', 'O'), ('cool', 'JJ', 'O'), ('.', '.', 'O')]]
Key_words = []
index = 0
for sen in data:
for i in range(len(sen)):
while index < len(sen):
我不知道下一步该做什么。有人可以帮帮我吗?
谢谢
解决方案
希望这可以帮助。
remove_o = list(filter(lambda x: x[2] in ['I', 'B'], data))
words = [item[0] for item in remove_o]
reuslt = ' '.join(words)
推荐阅读
- jpa - 具有嵌入式 Id 和 m:n 关系对象的 Spring 数据存储库
- python - 在 2 个日期 Pandas 之间插入重复的行数据
- robotframework - POST 请求 PNG 图像返回不正确的 mimetype
- python - 如何使用gridFS将数据保存在mongoDB中
- c# - 无法使用 LINQ 解析 XML 文件中的属性
- hdfs - 如何为 ha-hdfs 中的两个名称节点提供集群 ID
- netlogo - Netlogo:如何让乌龟检查半径中的变量
- javascript - 使用麦克风意外结束输入
- javascript - 从 javascript 执行 javascript
- go - http: 多余的响应。WriteHeader 调用 StatusOK