[PYTHON] Apprendre le latin dans le but d'écrire un programme d'analyse de phrases latines (partie 1)

salutation

Bonjour. Je m'appelle @naoya_t.

J'ai une relation et je participe à la fête de lecture latine pour débutants présidée par M. 7shi. Je fais un calendrier de l'Avent en latin, et je dis "programmation latine" J'étais heureux de vous laisser participer.

Peut-être que ce sentiment (calme) est susceptible d'apparaître plusieurs fois d'ici le 25 décembre, alors Je voudrais commencer légèrement pour le moment.

(Je suis en charge du 12/2, mais il est presque temps pour la côte ouest des États-Unis de changer. Je suis désolé.)

Je fabrique un tel outil. https://github.com/naoyat/latin

スクリーンショット 2013-12-03 15.08.53 12-03.png

Lorsque vous entrez une phrase latine, il devinera le formulaire d'utilisation ou recherchera le dictionnaire et le traduira d'une manière ou d'une autre en japonais. (Étant donné que les mots qui apparaissent dans le texte sont saisis manuellement dans le dictionnaire, les mots qui n'apparaissent pas dans le texte ne sont pas compris.)

Il a un léger accent anglais nord-américain, mais il a également la capacité de lire le texte à haute voix (avec des accents hauts et bas) [MacOSX uniquement]

Analyse des phrases latines

Par exemple, en anglais, quel est le sujet et quel est l'objet est exprimé dans l'ordre des mots (ou modèle de phrase), mais en latin, il s'exprime en changeant la nomenclature (ou les adjectifs, etc.). Et l'ordre des mots est relativement libre. De plus, l'utilisation des verbes est compliquée (par rapport à l'anglais, etc.), et comme le sujet est parfaitement compris par l'utilisation de verbes, le synonyme qui correspond au sujet ne peut pas être utilisé (sauf si nécessaire).

Comme vous le savez tous, "Cogito, ergo sum". ) Il n'est pas nécessaire de changer de sujet.

Par conséquent, afin de saisir le sens des phrases latines, il est nécessaire de comprendre non seulement la partie du mot qui apparaît, mais aussi l'utilisation des verbes et le changement dans le cas de la nomenclature.

Depuis l'automne, de nouveaux textes (faciles et faciles à comprendre) ont été adoptés par le groupe de lecture latine pour débutants, et les chances de chercher un dictionnaire et de réfléchir aux formes d'utilisation ont diminué, mais dans les textes que j'ai utilisés auparavant, l'utilisation des verbes et l'utilisation des verbes J'ai dû réfléchir aux changements dans le cas de la nomenclature et des adjectifs.

"Mémorisation du tableau d'utilisation"

Le latin étant utilisé depuis longtemps, j'ai décidé cette fois "d'apprendre le latin dans le but d'écrire un programme d'analyse de phrases latines".

Il existe de nombreux modèles, tels que l'utilisation de verbes et le changement de nomenclature (il existe des verbes irréguliers), qui est la partie la plus difficile de l'étude du latin.

Mais comme j'ai un PC, je veux écrire un programme et faire quelque chose à ce sujet. Au fait, il est difficile de rechercher le dictionnaire un par un, alors je veux faire quelque chose à ce sujet.

Les approches d'analyse de l'utilisation peuvent être largement divisées

(1) Devinez la forme originale et la forme d'utilisation à chaque fois à partir du changement de fin de la forme de mot (forme de surface) qui apparaît dans la phrase. (2) Recherchez tous les changements de forme de mot à l'avance, jetez-les dans la base de données et recherchez à partir de là.

Je pense qu'il y a deux directions comme celle-ci, mais cette fois j'irai avec l'approche de (2). En fait, je ne mets pas en place une base de données à l'extérieur, mais je la mets à chaque fois dans une table de hachage (ou dict).

Langue d'implémentation

En conclusion, j'utilise Python (2.7). Par méthode d'élimination de ma propre capacité linguistique.

Si vous ne pouvez pas écrire, vous pouvez écrire dans n'importe quelle langue, mais j'en ai assez d'être obligé de choisir une langue, donc c'est probablement un endroit sûr ici.

En fin de compte, je m'inquiétais pour Python, Gauche et JavaScript, mais j'ai écrit un petit traitement simple autour de l'utilisation des mots pour chacun, et j'ai pensé que Python serait plus facile à écrire ici, alors j'ai choisi Python.

Futurus persevero...

Il y a différentes choses que je veux écrire, mais j'en écrirai plus ultérieurement car je n'ai pas assez de temps et il y a plus d'espace derrière le calendrier.

Nous continuons à vous remercier.

Recommended Posts

Apprendre le latin dans le but d'écrire un programme d'analyse de phrases latines (partie 1)
L'histoire de l'exportation d'un programme
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
L'histoire selon laquelle le coût d'apprentissage de Python est faible
Programme pour rechercher la même image
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2
Créer un ensemble de données d'images à utiliser pour la formation
[Python] Un programme qui compte le nombre de vallées
Explication du concept d'analyse de régression à l'aide de python Partie 2
Techniques pour comprendre la base des décisions d'apprentissage en profondeur
Explication du concept d'analyse de régression à l'aide de Python Partie 1
[Python] Un programme qui compare les positions des kangourous.
L'histoire de la création d'un canal VIP dans le chatwork en interne
Éviter les pièges de l'utilisation d'un Mac (pour les utilisateurs Linux?)
Vérification des performances du prétraitement des données pour l'apprentissage automatique (données numériques) (partie 2)
J'ai écrit un programme de démonstration pour la transformation linéaire d'une matrice
J'ai fait une image ponctuelle de l'image d'Irasutoya. (partie 1)
J'ai fait une image ponctuelle de l'image d'Irasutoya. (partie 2)
Vérification des performances du prétraitement des données pour l'apprentissage automatique (données numériques) (partie 1)
Un débutant en Python a d'abord essayé une analyse rapide et facile des données météorologiques des 10 dernières années.
Mémorandum de l'outil de gestion de paquets Python ez_setup
Écrivons un programme de simulation simple pour le "problème de Monty Hall"
Envelopper (partie de) la bibliothèque AtCoder en Cython pour une utilisation en Python
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 2)
Etudier le web scraping dans le but d'extraire des données de Filmarks # 2
J'ai recherché une carte similaire de Hearthstone avec Deep Learning
L'histoire de la création d'un pilote standard pour db avec python.
Compter la partie concaténée maximale d'un graphe aléatoire avec NetworkX
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 1)
Résumé des pages utiles pour étudier le framework d'apprentissage profond Chainer
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
Créez un programme de jugement de compatibilité avec le module aléatoire de python.