Récemment, j'ai commencé à analyser en utilisant python et MeCab dans mes recherches, mais j'ai eu du mal à ajouter des mots au dictionnaire utilisateur, alors je l'ai résumé pour moi-même.
Créez le dictionnaire sous forme de fichier csv. Le format du dictionnaire est Forme de surface, ID de contexte gauche, ID de contexte droit, coût, paroles de partie, sous-classification de paroles de partie 1, sous-classification de partie de partie 2, sous-classification de partie de partie 3, type d'utilisation, formulaire d'utilisation, prototype, lecture, prononciation Organisez dans l'ordre de.
vim add_term.csv
Congelé,,,1,nom,Général,*,*,*,*,Congelé,Anato Yukinojoou,Anato Yukino Jooh
Si vous laissez l'ID de contexte gauche et l'ID de contexte droit vides, ils seront saisis automatiquement. En outre, le coût indique la probabilité d'apparition du mot, et plus il est petit, plus il est susceptible d'apparaître. Il semble y avoir une méthode d'estimation des coûts, mais cette fois je la mets à 1. Les éléments inutiles sont OK avec "*".
Créez un dictionnaire utilisateur à partir du fichier csv créé. Pour créer un dictionnaire, utilisez le mecab-dict-index fourni avec MeCab lorsque vous l'avez installé.
#Création d'un répertoire de destination de sauvegarde du dictionnaire utilisateur
mkdir /usr/local/lib/mecab/dic/userdic
#Créer un dictionnaire
sudo /usr/lib/mecab/mecab-dict-index \
-d /usr/local/mecab/dic/ipadic \
-u /usr/local/lib/mecab/dic/userdic/add.dic \
-f utf-8 \
-t utf-8 \
add_term.csv
Les options sont: -d Répertoire contenant les dictionnaires système -u Où enregistrer le dictionnaire utilisateur -f csv Code de caractère du fichier -t Code de caractère du dictionnaire utilisateur fichier csv
exécutez mecab-dict-index avec le chemin complet. À ce stade également, spécifiez UTF-8 comme code de caractère.
reading add_term.csv ... 1
emitting double-array: 100% |###########################################|
done!
S'affiche, c'est réussi.
Ajoutez l'instruction suivante au fichier de paramètres.
sudo vim /etc/mecabrc
userdic = /usr/local/lib/mecab/dic/userdic/add.dic
Sur le site officiel /usr/local/lib/mecab/dic/ipadic/dicrc /usr/local/etc/mecabrc Il est écrit pour s'ajouter à l'un ou l'autre, mais cela n'a pas fonctionné dans mon environnement, et comme il y avait mecabrc à l'emplacement ci-dessus, je l'ai ajouté et cela a fonctionné correctement. Si vous souhaitez enregistrer plusieurs dictionnaires
userdic = AAA.dic,BBB.dic
Si oui, j'ai pu m'inscrire.
--Vérifier depuis la ligne de commande
#Avant l'ajout
mecab
Congelé
Ana substantif,Général,*,*,*,*,Anna,Anna,Anna
Et des mots auxiliaires,Assistants parallèles,*,*,*,*,Quand,À,À
Neige substantif,Général,*,*,*,*,neige,Neige,Neige
Mots auxiliaires,syndicat,*,*,*,*,de,Non,Non
Reine substantif,Général,*,*,*,*,Reine,Joou,Jooh
EOS
#Après l'addition
Congelé
Anna et la reine des neiges Noun,Général,*,*,*,*,Congelé,Anato Yukinojoou,Anato Yukino Jooh
EOS
--Utilisé avec MeCab de python
python3
>>> import MeCab
>>> m_t = MeCab.Tagger('-Ochasen \
-u /usr/local/lib/mecab/dic/userdic/add.dic')
>>> txt = 'Allons voir Anna et la reine des neiges.'
>>> print(m_t.parse(txt))
Allons voir Anna et la reine des neiges.
Si vous souhaitez l'utiliser avec le mecab-ipadic-neologd installé
python3
>>> import MeCab
>>> m_t = MeCab.Tagger('-Ochasen \
-d /usr/lib/mecab/dic/mecab-ipadic-neologd \
-u /usr/local/lib/mecab/dic/userdic/add.dic')
Si vous le modifiez, il sera lu en même temps.
Après quelques essais et erreurs, j'ai pu confirmer que cela fonctionne bien sur python. Je vous serais reconnaissant si vous pouviez signaler des erreurs.
Comment ajouter des mots Ajout de mots au dictionnaire utilisateur MeCab
Recommended Posts