__ (Référence) __ Il existe deux types de modèles de récapitulation automatique de texte: * Récapitulation extractrive * et * Récapitulation abstraite *.
・ Article Qiita de @ Koreyou "Introduction de l'article: Synthèse neurale latente extractive des documents" ・ [[DL Round Reading] Résumé abstractif des publications Reddit avec des réseaux de mémoire à plusieurs niveaux](https://www.slideshare.net/DeepLearningJP2016/dlabstractive-summarization-of-reddit-posts-with-multilevel-memory-networks- 132350977)
Terminal
pip install spacy
pip install "https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz"
extract_words_by_entity_label
Python3
def extract_words_by_entity_label(text, label):
if label in ["PERSON", "NORP", "FAC", "ORG", "GPE", "LOC", "PRODUCT", "EVENT", "WORK_OF_ART", "LAW", "LANGUAGE", "DATE", "TIME", "PERCENT", "MONEY", "QUANTITY", "ORDINAL", "CARDINAL"]:
text = text.replace("\n", "")
doc = nlp(text)
words_list = [ent.text for ent in doc.ents if ent.label_ == label]
else:
print("Son étiquette de représentation unique n'existe pas.")
words_list = []
return words_list
__ Le site Web officiel * spaCy * suivant contient une liste de noms d'étiquettes * Entité * définis dans * spaCy * __
Type d'étiquette
PERSON People, including fictional.
NORP Nationalities or religious or political groups.
FAC Buildings, airports, highways, bridges, etc.
ORG Companies, agencies, institutions, etc.
GPE Countries, cities, states.
LOC Non-GPE locations, mountain ranges, bodies of water.
PRODUCT Objects, vehicles, foods, etc. (Not services.)
EVENT Named hurricanes, battles, wars, sports events, etc.
WORK_OF_ART Titles of books, songs, etc.
LAW Named documents made into laws.
LANGUAGE Any named language.
DATE Absolute or relative dates or periods.
TIME Times smaller than a day.
PERCENT Percentage, including ”%“.
MONEY Monetary values, including unit.
QUANTITY Measurements, as of weight or distance.
ORDINAL “first”, “second”, etc.
CARDINAL Numerals that do not fall under another type.
Le secrétaire Kato a souligné que le gouvernement et d'autres enregistreront les programmes de radio qui sont diffusés aux personnes enlevées en Corée du Nord et feront tout leur possible pour rentrer chez eux le plus tôt possible, en disant: "Enlacés avec votre famille. S'il vous plaît, continuez à avoir le sentiment fort que le jour viendra et survivra. "
Le 16, le secrétaire d'État Kato, qui est également ministre en charge de la question des enlèvements, a déclaré que le "Comité d'enquête sur les problèmes de disparition spécifiés", qui enquête sur les disparitions dites spécifiques qui ne peuvent exclure la possibilité d'être enlevé par le gouvernement et la Corée du Nord, se trouve en Corée du Nord. Nous avons enregistré une émission de radio qui est diffusée aux personnes enlevées au Japon.
À ce propos, le Secrétaire général Kato a déclaré: «La question des enlèvements est considérée comme la question la plus importante au sein du cabinet de Kan. J'ai rencontré ma famille avec le Premier ministre Kan et j'ai exprimé le désir sincère« d'obtenir des résultats à tout prix ». ".
Après cela, a-t-il déclaré, "Il n'y a aucun changement dans notre détermination à briser la coquille de la méfiance mutuelle, à effacer le passé malheureux et à normaliser les relations diplomatiques avec la Corée du Nord" et le gouvernement dans son ensemble vers le retour des personnes enlevées le plus tôt possible. J'ai souligné que je ferai de mon mieux.
R Et il a dit: "Gardez à l'esprit que le jour viendra sûrement où vous marcherez sur le sol de votre patrie et embrasserez votre famille qui attend votre retour chez vous.
Python3
>>> text = """Le secrétaire Kato a souligné que le gouvernement et d'autres enregistreront les programmes de radio qui sont diffusés aux personnes enlevées en Corée du Nord et feront tout leur possible pour rentrer chez eux le plus tôt possible, en disant: «Embrassez-vous avec votre famille. S'il vous plaît, continuez à avoir le sentiment fort que le jour viendra et survivra. "
Le 16, le secrétaire d'État Kato, qui est également ministre en charge de la question des enlèvements, a déclaré que le "Comité d'enquête sur les problèmes de disparition spécifiés", qui enquête sur les disparitions dites spécifiques qui ne peuvent exclure la possibilité d'être enlevé par le gouvernement et la Corée du Nord, se trouve en Corée du Nord. Nous avons enregistré une émission de radio qui est diffusée aux personnes enlevées au Japon.
À ce propos, le Secrétaire général Kato a déclaré: «La question des enlèvements est considérée comme la question la plus importante au sein du cabinet de Kan. J'ai rencontré ma famille avec le Premier ministre Kan et j'ai exprimé le désir sincère« d'obtenir des résultats à tout prix ». ".
Puis, "Brisez la coquille de la méfiance mutuelle. Ensuite," Brisez la coquille de la méfiance mutuelle. Puis "Brisez la coquille de la méfiance mutuelle. Puis" Brisez la coquille de la méfiance mutuelle. Puis "Brisez la coquille de la méfiance mutuelle." Brisez la coquille, puis "brisez la coquille de la méfiance mutuelle, puis" brisez la coquille de la méfiance mutuelle, puis "phase....Le 16, le secrétaire général Kato, qui est également ministre chargé de la question des enlèvements, a déclaré que le "Comité d'enquête sur les problèmes de disparition spécifiés", qui enquête sur les disparitions dites spécifiques qui ne peuvent être exclues par le gouvernement et la Corée du Nord, se trouve en Corée du Nord. Nous avons enregistré une émission de radio qui est diffusée aux personnes enlevées au Japon.
...À ce propos, le Secrétaire général Kato a déclaré: "La question des enlèvements est considérée comme la question la plus importante au sein du cabinet Kan. Nous avons rencontré la famille avec le Premier ministre Kan et avons partagé le désir sincère" d'obtenir des résultats à tout prix ". J'ai fait. "
...Puis, «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Gardez un fort sentiment de camaraderie, prenez bien soin de votre corps et survivez. J'ai appelé."""
>>>
>>> text = text.replace("\n", "")
>>> text
'Le secrétaire Kato a souligné que le gouvernement et d'autres enregistreront les programmes de radio qui sont diffusés aux personnes enlevées en Corée du Nord et feront tout leur possible pour rentrer chez eux le plus tôt possible, en disant: «Embrassez-vous avec votre famille. S'il vous plaît, continuez à avoir le sentiment fort que le jour viendra et survivra. " Le 16, le secrétaire d'État Kato, qui est également ministre en charge de la question des enlèvements, a déclaré que le "Comité d'enquête sur les problèmes de disparitions spécifiques", qui enquête sur les disparitions dites spécifiques qui ne peuvent être exclues par le gouvernement et la Corée du Nord. Nous avons enregistré une émission de radio qui est diffusée aux personnes enlevées au Japon. À ce propos, le Secrétaire général Kato a déclaré: «La question des enlèvements est considérée comme la question la plus importante au sein du cabinet Kan. J'ai rencontré ma famille avec le Premier ministre Kan et j'ai exprimé le désir sincère« d'obtenir des résultats de toute façon ». ". Puis, «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», «Briser la coquille de la méfiance mutuelle», Après avoir brisé la coquille, "Briser la coquille de la méfiance mutuelle", Briser la coquille de la méfiance mutuelle, "Gardez un fort sentiment de réciprocité, prenez bien soin de votre corps et survivez." J'ai fait.'
Python3
>>> import spacy
>>> from spacy.matcher import Matcher
>>> nlp = spacy.load('ja_ginza')
>>>
>>> tmp = ["Nom de l'étiquette: {label}mot: {word}".format(label=ent.label_, word= ent.text) for ent in doc.ents]
>>> tmp
['Nom de l'étiquette:Mot PERSONNE:Secrétaire d'État Kato', 'Nom de l'étiquette:Mot LOC:Corée du Nord', 'Nom de l'étiquette:Mot PERSONNE:Secrétaire d'État Kato', 'Nom de l'étiquette:DATE mot:16e', 'Nom de l'étiquette:Mot LOC:Corée du Nord', 'Nom de l'étiquette:Mot LOC:Corée du Nord', 'Nom de l'étiquette:Mot PERSONNE:Secrétaire d'État Kato', 'Nom de l'étiquette:Mot PERSONNE:Suga', 'Nom de l'étiquette:Mot PERSONNE:Suga']
>>>
>>> from pprint import pprint
>>> pprint(tmp)
['Nom de l'étiquette:Mot PERSONNE:Secrétaire d'État Kato',
'Nom de l'étiquette:Mot LOC:Corée du Nord',
'Nom de l'étiquette:Mot PERSONNE:Secrétaire d'État Kato',
'Nom de l'étiquette:DATE mot:16e',
'Nom de l'étiquette:Mot LOC:Corée du Nord',
'Nom de l'étiquette:Mot LOC:Corée du Nord',
'Nom de l'étiquette:Mot PERSONNE:Secrétaire d'État Kato',
'Nom de l'étiquette:Mot PERSONNE:Suga',
'Nom de l'étiquette:Mot PERSONNE:Suga']
>>>
Python3
>>> words_list = extract_words_by_entity_label(text, "aaa")
Son étiquette de représentation unique n'existe pas.
>>>
>>> print(words_list)
[]
>>>
>>> label = "LOC"
>>> words_list = extract_words_by_entity_label(text, label)
>>> print(words_list)
['Corée du Nord', 'Corée du Nord', 'Corée du Nord']
>>>
>>> for label in ["LOC", "DATE", "PERSON"]:
... print(label, " : ", extract_words_by_entity_label(text, label))
...
LOC : ['Corée du Nord', 'Corée du Nord', 'Corée du Nord']
DATE : ['16e']
PERSON : ['Secrétaire d'État Kato', 'Secrétaire d'État Kato', 'Secrétaire d'État Kato', 'Suga', 'Suga']
>>>
__ Il peut être bon d'extraire un mot avec un attribut d'objet spécifique (* Entité *) du texte cible, puis d'effectuer le traitement suivant. __
Recommended Posts