Introduction d'activités appliquant Python

J'enseigne la programmation à l'école. Dans mon séminaire, je travaille sur des thèmes liés à l'IA (liés à l'intelligence artificielle) en utilisant Python.   ------------------- ・ Notes sur les outils et bibliothèques (format PDF 40 pages: 502 Ko) Mis à jour le 29 septembre 2018 Outils mentionnés: MeCab, CaboCha, JUMAN, KNP,              Open JTalk, Julius, OpenSSL Bibliothèques référencées: GMP, MPFR Environnement de traitement mentionné: Visual Studio, MSYS / MinGW Modules mentionnés: mecab-python, PySwip ------------------- ・ Texte du prologue Nous prévoyons d'en faire un moteur d'inférence back-end pour les programmes Python. -------------------   Le texte pour apprendre Python est basé sur ceci. → J'ai fait un texte en Python   (2017/07/11) Nous travaillons à la mise en place d'une "fonction de dialogue qui permet d'utiliser correctement le japonais". Donc, tout d'abord, je me prépare à utiliser MeCab et Open JTalk à partir de Python.   Le prochain objectif est de réaliser une fonction interactive qui peut convertir des phrases en formules de logique de prédicat du premier ordre (FOL) et échanger du japonais «significatif». (Le type qui a une connexion avant et après le dialogue correctement) Par conséquent, je souhaite créer un lien avec Prolog, j'ai donc besoin d'une fonction pour appeler la fonction SWI-Prolog depuis Python. Cependant, le module PySwip ne fonctionne pas bien, et il semble plus rapide de créer la fonction de coopération par vous-même ...   D'ailleurs, la position d'activité de mon séminaire est «architecture cognitive» et «AGI». De nos jours, il semble y avoir une tendance selon laquelle "AI" signifie "réseau neuronal profond", mais dans notre séminaire, le traitement du NN profond est toujours en avance.   Il semble que la voix de "l'erreur de temps" volera, mais étonnamment la partie simple est importante.   Sous Python, il existe de merveilleux modules tels que l'analyse de données et le traitement mathématique. Vous pouvez également utiliser des moteurs de traitement du langage naturel et d'inférence.   Pourquoi ne cherchons-nous pas tous à réaliser «l'intelligence artificielle japonaise polyvalente»?

Supplément / rapport

[Rapport] Comprendre le langage naturel (NLU) (2018/12/25)

Dans la recherche de fin d'études de cette année, il y a des étudiants qui travaillent sur le thème de la compréhension du langage naturel (NLU). J'ai créé Publier le module du programme et le document. Présent à la 81e Convention nationale de la société de traitement de l'information.

[Rapport] Calcul à grande échelle (27/02/2018)

Ceci est l'un des livrables de la recherche de fin d'études de cette année et est un film agrandi du décor de Mandelbrot. Téléchargé sur YouTube C'est un film qui se développe jusqu'à 10 ^ 260 fois et se compose de 8 855 images. Il faut environ 3 minutes pour générer une image. Par conséquent, si vous générez un film sur une seule machine, ce sera une "opération continue pendant 18 jours", mais si vous divisez, distribuez et intégrez des tâches sur plusieurs machines Il a été achevé en environ 6 heures. Je n'ai utilisé aucune nouvelle technologie, mais j'ai créé un système avec des étudiants pour distribuer et exécuter des programmes de génération de trames écrits en C ++ en Python. En bref, RJE (Remote Job Entry) pour le grid computing a été improvisé en Python. Je l'ai fait avec 3 étudiants en arts libéraux + moi-même. (Présent à la conférence)

[Rapport] Formule ⇔ Japonais (27/02/2018)

C'est également le résultat de la recherche de fin d'études de cette année. Nous visons un système qui résout les problèmes mathématiques en japonais, mais cette fois, nous implémentons une fonction qui "lit correctement les formules mathématiques en japonais". Le moteur de traitement mathématique est Sympy de Python, la copie conforme est TeX et la lecture est Open JTalk. L'étape suivante consiste à développer une fonction qui répondra lorsque vous transmettez la demande en japonais, mais après avoir saisi le japonais, effectuez une analyse morphologique (à l'aide de MeCab) et en faites une expression logique de prédicat et transmettez-la à Prolog. Je le fais. C'est bien que Python puisse tout connecter. Ça va être amusant. ● Lire à voix haute formule 01: ajout simple ● Lire à voix haute formule 02: intégration indéfinie ● Lisez à voix haute la formule 03: Sum ● Lire à voix haute formule 04: cas compliqué ● Lecture des formules mathématiques 05: analyse morphologique japonaise Je l'ai fait avec un étudiant en arts libéraux + moi-même. (Présent à la conférence)

[À propos de python_ai_note.pdf]

-------------- Supplément Ajout d'informations sur les outils d'analyse morphologique et d'analyse syntaxique japonais (CaboCha, JUMAN, KNP). Il semble que ceux-ci peuvent être utilisés pour convertir en "phrase japonaise -> expression logique de prédicat".   -------------- Supplément Pour ceux qui utilisent le système de traitement du langage C / C ++, nous avons publié la méthode d'introduction et l'utilisation simple de Microsoft Visual Studio, MSYS / MinGW.   Comme d'habitude, lorsque la visualisation de "Mandelbrot set" a été utilisée comme référence, le résultat était que VC était 16% plus rapide que GCC (MinGW64). (Les deux compilateurs optimisés avec l'option O2) → Programme source   Ce programme crée une image sur un tableau et l'exporte en SVG. Pour être honnête, si la configuration des pixels n'est pas assez petite (environ 128x128), le SVG généré ne peut pas être affiché sur le navigateur Web, mais c'est aussi une comparaison de la vitesse d'écriture lors de l'écriture d'énormes données SVG dans un fichier. La sortie vers un fichier était plus rapide avec GCC (environ deux fois).   -------------- Supplément Ajout de l'utilisation de base de mecab-python et PySwip. PySwip fonctionne enfin correctement.   -------------- Supplément Ajout d'une description de la fonction qui libère la zone de stockage d'un objet pour GMP / MPFR.   -------------- Supplément Ajout d'une introduction (introduction et méthode de démonstration) sur l'utilisation du programme de reconnaissance vocale Julius.   Puisque la reconnaissance vocale est profonde, je pense que vous pouvez apprendre beaucoup en vous entraînant à utiliser Julus. Après avoir appris les bases du traitement vocal à l'école, je pense que c'est une bonne idée de s'entraîner à utiliser Julius.   Cliquez ici pour un lien vers les exemples de données vocales pour la reconnaissance vocale cités dans le texte: snd01.wav snd02.wav   -------------- Supplément Un petit ajout à l'explication de GMP.   -------------- Supplément Ajout d'une description de l'utilisation de base de la bibliothèque de calcul numérique à précision arbitraire GMP et MPFR. Puisqu'il y a des étudiants qui effectuent des simulations de haute précision de systèmes dynamiques complexes, j'ai décrit comment les utiliser. L'arithmétique de haute précision peut être effectuée même avec un système de traitement mathématique, mais il y a des cas où il est préférable d'écrire en C / C ++ en raison de la quantité de calcul et de la vitesse de calcul, nous l'avons donc utilisé comme matériau à cette fin.   -------------- Supplément Ajout d'informations sur l'utilisation d'Open JTalk. Nous avons publié un exemple de programme qui lit les phrases japonaises en lisant le fichier au format WAV créé avec PyAudio après avoir exécuté la commande Open JTalk avec le module de sous-processus.   -------------- Supplément Ajout d'informations sur l'utilisation d'OpenSSL.   Notes sur les outils et bibliothèques   Il y a eu des critiques de la part des étudiants, et il a dit: "C'est dommage de faire de l'IA le titre même si nous n'avons pas encore créé de fonctions de type IA!" Le titre a donc été corrigé ...


écrit par Katsunori Nakamura

Recommended Posts

Introduction d'activités appliquant Python
Introduction de Python
Introduction du package de dessin python pygal
Enregistrement de l'introduction de Python pour les nouveaux arrivants
Théorie générale de la relativité en Python: Introduction
Introduction de PyGMT
Introduction facile de la reconnaissance vocale avec Python
Les bases de Python ①
Bases de python ①
Copie de python
Introduction facile de la série python3 et d'OpenCV3
[Introduction au Data Scientist] Bases de Python ♬
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
[Introduction à Udemy Python3 + Application] 19. Copie de la liste
Introduction de la bibliothèque d'imagerie Python (PIL) à l'aide de HomeBrew
Matériel de conférence Python de l'Université de Kyoto: Introduction des colonnes
[Introduction à Python] Utilisation de base des expressions lambda
[Python] Opération d'énumération
Liste des modules python
Introduction de trac (Windows + trac 1.0.10)
Unification de l'environnement Python
Copie des préférences python
Principes de base du grattage Python
[python] comportement d'argmax
Utilisation des locaux Python ()
Introduction du wrapper Virtualenv
le zen de Python
Introduction au langage Python
Introduction à OpenCV (python) - (2)
Installation de Python 3.3 rc1
Cours de base Python (Introduction)
# 4 [python] Bases des fonctions
Connaissance de base de Python
Anecdotes sobres de python3
Résumé des arguments Python
Guide du débutant Python (Introduction)
Bases de python: sortie
Installation de matplotlib (Python 3.3.2)
Application de Python 3 vars
Divers traitements de Python
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
[Introduction à Udemy Python3 + Application] 53. Dictionnaire des arguments de mots-clés
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
[Introduction à Udemy Python3 + Application] 52. Tapple d'arguments positionnels
Explication sur l'erreur NoReverseMatch dans "python django super introduction"
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
[Python] Utilisation correcte de la carte
Vers la retraite de Python2
Introduction à Python Django (2) Win
résumé lié à l'opération de fichier python
Résumé des opérations de liste Python3
Python - Démarrage rapide de la journalisation
Recommandation de la bibliothèque binpacking de python
[Introduction à cx_Oracle] Présentation de cx_Oracle
Mise à jour automatique du module Python
Python - Vérifiez le type de valeurs
[Python] L'origine du nom de la fonction python