"""
32.Prototype de verbe
Extraire toutes les formes originales 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[str, str]:
result = []
for word in sentence:
if word["pos"] == "verbe":
result.append(word["base"])
return result
data = utils.read_json("30_neko_mecab.json")
verbs = [get_verb(sentence) for sentence in data if get_verb(sentence)]
# [['Être né', 'Tsukuri'], ['Faire', 'cri', 'Faire', 'Est'], ['début', 'à voir'], ['Ecoutez'], ['Capturer', 'Ébullition', 'Manger']]
flat = list(itertools.chain(*verbs))
# ['Être né', 'Tsukuri', 'Faire', 'cri', 'Faire']
Recommended Posts