[PYTHON] MeCab: ajouter de nouveaux mots au dictionnaire défini par l'utilisateur (Windows)

SAMPLE

Mon nom,Synonyme,Général,*,*,*,je,je,je
Mots auxiliaires,syndicat,*,*,*,*,de,Non,Non
Soeur substantif,Général,*,*,*,*,sœur,Ane,Ane
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Nomenclature Ryunosuke Akutagawa,Nom propre,Écrivain,*,*,*,Ryunosuke Akutagawa,Ryunosuke Akutagawa,Actagawa Ryunosuke
Mots auxiliaires,syndicat,*,*,*,*,de,Non,Non
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Bien complémentaire,Général,*,*,*,*,Souvent,Yoku,Yoku
Verbe de lecture,Indépendance,*,*,Cinq étapes, ligne Ma,Connexion continue,Lis,Jeune,Jeune
Auxiliaire,Assistant de connexion,*,*,*,*,alors,De,De
Le verbe qui est,Non indépendant,*,*,Un pas,Forme basique,Est,Il,Il
.. symbole,Phrase,*,*,*,*,。,。,。
 BOS/EOS,*,*,*,*,*,*,*,*

REFERENCE Comment ajouter du vocabulaire au dictionnaire MeCab [Windows 10, Ubuntu 18.04]

Ajouter un nouveau mot à un dictionnaire défini par l'utilisateur

Préparez un dictionnaire

Préparez un dictionnaire comme utf-8 dans le fichier csv. Répertoire: C: \ Users \ Username \ Desktop \ MeCabUserDic Nom de fichier: test_dic.csv

Ryunosuke Akutagawa,,,5543,nom,固有nom,Écrivain,*,*,*,Ryunosuke Akutagawa,Ryunosuke Akutagawa,Actagawa Ryunosuke
Osamu Dazai,,,5543,nom,固有nom,Écrivain,*,*,*,Osamu Dazai,Osamu,Dazaio Sam

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

L'ID de contexte gauche et l'ID de contexte droit sont les ID internes lorsque les mots correspondants sont comptés à partir de la gauche et de la droite, respectivement. Il semble que ce soit correct de le laisser vide car il est automatiquement attribué, mais j'ai eu une erreur (et des caractères déformés), alors j'ai attribué une valeur appropriée.

Donnez au coût le même score que les mots qui apparaissent avec une fréquence similaire. Plus le coût est bas, plus il est facile à détecter.

Compiler le dictionnaire utilisateur

Exécutez MeCab \ dic \ ipadic \ mecab-dict-index. Lorsque je l'exécute à une invite de commande normale, je reçois l'autorisation refusée. Lancez une invite de commande avec des privilèges d'administrateur avec la commande suivante.

powershell start-process cmd -verb runas

Créez un nouveau fichier dic basé sur le fichier csv préparé par la commande suivante.

mecab-dict-index -t utf-8 -t utf-8 -d "<Chemin du répertoire du dictionnaire MeCab>" -u <Chemin du répertoire pour créer un nouveau fichier dic> <Chemin du fichier csv du dictionnaire défini>

L'exemple de commande ci-dessus est ci-dessous.

mecab-dict-index -f utf-8 -t utf-8 -d "C:\Program Files\MeCab\dic\ipadic" -u C:\Users\yuri.kinoshita\Desktop\MeCabUserDic\test.dic C:\Users\yuri.kinoshita\Desktop\test_dic.csv

C'est le résultat de l'exécution. done!

reading C:\Users\yuri.kinoshita\Desktop\MeCabUserDic\test_dic.csv ... 2
emitting double-array: 100% |###########################################|

done!

HOW TO USE

import MeCab

mecab = MeCab.Tagger (r"-Ochasen -u C:\Users\yuri.kinoshita\Desktop\MeCabUserDic\test.dic")

text = "Ma sœur lit souvent le livre de Ryunosuke Akutagawa."
node = mecab.parseToNode(text)
while True:
	node = node.next
	if not node: break
	print(node.surface,node.feature)

Exemple d'exécution.

Mon nom,Synonyme,Général,*,*,*,je,je,je
Mots auxiliaires,syndicat,*,*,*,*,de,Non,Non
Soeur substantif,Général,*,*,*,*,sœur,Ane,Ane
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Nomenclature Ryunosuke Akutagawa,Nom propre,Écrivain,*,*,*,Ryunosuke Akutagawa,Ryunosuke Akutagawa,Actagawa Ryunosuke
Mots auxiliaires,syndicat,*,*,*,*,de,Non,Non
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Bien complémentaire,Général,*,*,*,*,Souvent,Yoku,Yoku
Verbe de lecture,Indépendance,*,*,Cinq étapes, ligne Ma,Connexion continue,Lis,Jeune,Jeune
Auxiliaire,Assistant de connexion,*,*,*,*,alors,De,De
Le verbe qui est,Non indépendant,*,*,Un pas,Forme basique,Est,Il,Il
.. symbole,Phrase,*,*,*,*,。,。,。
 BOS/EOS,*,*,*,*,*,*,*,*

Recommended Posts

MeCab: ajouter de nouveaux mots au dictionnaire défini par l'utilisateur (Windows)
Ajouter un dictionnaire à MeCab
Ajouter un dictionnaire utilisateur à MeCab
[Analyse morphologique] Comment ajouter un nouveau dictionnaire à Mecab
Ajouter des mots au dictionnaire utilisateur de MeCab sur Ubuntu pour une utilisation en Python
Ajouter Windows au menu de démarrage du système d'exploitation Linux
Comment ajouter Anaconda Powershell Prompt au terminal Windows?