[Jouons avec Python] Viser la génération automatique de phrases ~ Lisez .txt et faites-en une unité de phrase ~

introduction

C'est la deuxième fois que vous visez la génération automatique de phrases. La dernière fois, j'ai fait une analyse morphologique pour examiner la structure des phrases. Cette fois, je vais lire .txt et le diviser en phrases une par une.

Lire des phrases

Préparez les données de texte créées à l'avance avec un bloc-notes ou autre. Faites attention à la méthode d'encodage. (Dans l'exemple, il s'agit de «utf-8».) Lisons et affichons le texte.

import re
a = open('test.txt', 'r', encoding = "utf-8") 
original_text = a.read()
print(original_text) #Afficher le texte

Je me sens comme cela. 2020-02-11.png

Organiser les données textuelles

Ensuite, organisez les données de texte. Selon la manière dont vous rédigez le texte original, vous devrez faire vos propres ajustements. Le code est pour mes données texte. (Par exemple, dans le cas de frigana tel que "texte", il doit être supprimé.)

first_sentence = '"Explication de Python."'
last_sentence = 'Le reptile Nishiki Snake, qui signifie le mot anglais Python, est utilisé comme mascotte et icône du langage Python.'
#Organisez les données textuelles.
_, text = original_text.split(first_sentence)
text, _ = text.split(last_sentence)
text = first_sentence + text + last_sentence

text = text.replace('!', '。') #!! Quoi? À. Changer en. Faites attention aux angles pleins et demi
text = text.replace('?', '。')
text = text.replace('(', '').replace(')', '') #Effacer ().
text = text.replace('\r', '').replace('\n', '') #Affiché avec des sauts de ligne dans les données texte\Supprimer n
text = re.sub('[、「」?]', '', text) 
sentences = text.split('。') #.. Divisez les phrases en phrases avec
print('nombre de mots:', len(sentences))
sentences[:10] #Afficher 10 phrases

C'est ce que j'ai pu faire 2020-02-11 (1).png

C'est tout pour ce code. Vous avez maintenant une liste phrase par phrase! J'ai l'intention de mettre cela en une phrase grâce à une analyse morphologique.

Bavarder

Je suis personnellement tombé sur certains d'entre eux, je vais donc les présenter.

--Erreur sans encodage = 'utf-8'. «Je ne peux pas saisir les caractéristiques des données textuelles»! 'Les phrases ne sont pas séparées

Est-ce un tel endroit? Cela a pris du temps parce que je ne l'ai pas remarqué même si c'était relativement facile. Après avoir réfléchi à ce qu'il faut faire avec les exemples de phrases de l'article, il est devenu sûr (explication de Python par Wikipedia).

Recommended Posts

[Jouons avec Python] Viser la génération automatique de phrases ~ Lisez .txt et faites-en une unité de phrase ~
[Jouons avec Python] Viser la génération automatique de phrases ~ Achèvement de la génération automatique de phrases ~
Fractal pour faire et jouer avec Python
[Python3] Génération automatique de texte avec janome et markovify
[Jouons avec Python] Créer un livre de comptes de ménage
[Pour jouer] Essayez de faire de Yuma un robot LINE (Python)
Lire le fichier json avec Python, le formater et générer le json
Associez Python Enum à une fonction pour la rendre appelable
[Jouons avec Python] Traitement d'image en monochrome et points
Jouons avec Excel avec Python [Débutant]
Faisons un graphe avec python! !!
2.Faites un arbre de décision à partir de 0 avec Python et comprenez-le (2. Bases du programme Python)
Lire le fichier Python # .txt pour Python super débutant super débutant avec travail .py
Créons un modèle de reconnaissance d'image avec vos propres données et jouons!
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (4. Structure des données)
Faisons un jeu de shiritori avec Python
Lisons le fichier RINEX avec Python ①
Faisons la voix lentement avec Python
[Python] Rendons matplotlib compatible avec le japonais
Lire Python csv et exporter vers txt
[Python] Lire des images avec OpenCV (pour les débutants)
Créez un framework Web avec Python! (1)
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Jouons avec Python Receive et enregistrez / affichez le texte du formulaire de saisie
Essayons l'analyse! Chapitre 8: Environnement d'analyse pour Windows créé avec Python et Eclipse (PyDev)