"""
31.verbe
Extrayez toutes les formes de surface du verbe.
[[{'surface': '', 'base': '*', 'pos': 'BOS/EOS', 'pos1': '*'},
{'surface': 'un', 'base': 'un', 'pos': 'nom', 'pos1': 'nombre'},
{'surface': '', 'base': '*', 'pos': 'BOS/EOS', 'pos1': '*'}],
[{'surface': '', 'base': '*', 'pos': 'BOS/EOS', 'pos1': '*'},
{'surface': 'je', 'base': 'je', 'pos': 'nom', 'pos1': '代nom'},
{'surface': 'Est', 'base': 'Est', 'pos': 'Particule', 'pos1': '係Particule'},
{'surface': 'Chat', 'base': 'Chat', 'pos': 'nom', 'pos1': 'Général'},
{'surface': 'alors', 'base': 'Est', 'pos': 'Verbe auxiliaire', 'pos1': '*'},
{'surface': 'y a-t-il', 'base': 'y a-t-il', 'pos': 'Verbe auxiliaire', 'pos1': '*'},
{'surface': '。', 'base': '。', 'pos': 'symbole', 'pos1': 'Phrase'},
{'surface': '', 'base': '*', 'pos': 'BOS/EOS', 'pos1': '*'}],
"""
import itertools
from typing import List
import utils
def get_verb(sentence: List[dict]) -> List:
result = []
for word in sentence:
if word["pos"] == "verbe":
result.append(word["surface"])
return result
data = utils.read_json("30_neko_mecab.json")
verbs = [get_verb(sentence) for sentence in data if get_verb(sentence)]
# [['Née', 'Tsuka'], ['Shi', 'Pleurs', 'Shi', 'Est'], ['début', 'Vous voyez'], ['Ecoutez'], ['Capture', 'Bouilli', 'Manger']]
flat = list(itertools.chain(*verbs))
# ['Née', 'Tsuka', 'Shi', 'Pleurs', 'Shi']
Recommended Posts