[PYTHON] Utilisez MeCab pour récupérer les lectures

J'étais accro à l'installation de python-mecab, donc je voulais juste faire ce que Pat avait lu, alors j'ai décidé d'appuyer sur la commande mecab.

mecab peut obtenir des lectures comme celle-ci (il ne peut être pris que s'il est dans le dictionnaire)

$ echo "Pomme" | mecab -Oyomi
Pomme

Donc, voici un script qui extrait le nom du modèle Django et le convertit en Yomigana.

yomigana.py


# -*- coding: utf-8 -*-

import os
import sys

import re
from subprocess import Popen, PIPE

import jcconv

from django.conf import settings

sys.path.append(os.path.abspath(os.path.dirname('.')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'hogehoge.settings'

from hogehoge.apps.fuga.models import Piyo

def get_yomigana(text):
    p1 = Popen(['echo', text], stdout=PIPE)
    p2 = Popen(['mecab', '-Oyomi'], stdin=p1.stdout, stdout=PIPE)
    p1.stdout.close()
    output = p2.communicate()[0]
    return re.sub(r'\n', '', output)

for piyo in Piyo.objects.all():
    yomigana = jcconv.kata2hira(jcconv.half2hira(get_yomigana(piyo.name )))

    print ','.join([str(user.id), piyo.name.encode('cp932'), yomigana.decode('utf8').encode('cp932')])

Le nom du projet est hogehoge. Je me suis référé au manuel suivant pour frapper des commandes externes.

Apparemment, os.system va être aboli (2.7)

Recommended Posts

Utilisez MeCab pour récupérer les lectures
Comment utiliser mecab, neologd-ipadic sur colab
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Flacon facile à utiliser
Utiliser mecab avec Python 3
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Raisons d'utiliser le journal
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Facile à utiliser SQLite3
Comment utiliser la liste []
Comment utiliser python-kabusapi
Python-Comment utiliser pyinstaller
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
Comment utiliser Qt Designer
Comment utiliser la recherche triée
[gensim] Comment utiliser Doc2Vec
python3: Comment utiliser la bouteille (2)
Comprendre comment utiliser django-filter
Comment utiliser le générateur
[Python] Comment utiliser la liste 1
Ajouter un dictionnaire à MeCab
Analyse QSM-Comment utiliser MEDI-
Comment utiliser FastAPI ③ OpenAPI
Utilisez MeCab pour traduire des phrases bâclées de manière "lente".
Comment utiliser Python Argparse
Comment utiliser IPython Notebook
Comment utiliser Pandas Rolling
[Note] Comment utiliser virtualenv
Comment utiliser les dictionnaires redis-py
Python: comment utiliser pydub
[Python] Comment utiliser checkio
Utiliser la liaison MeCab de Python natto-py
[Aller] Comment utiliser "... (3 périodes)"
Comment faire fonctionner GeoIp2 de Django