Je n'ai pas pu trouver le même phénomène alors que je pensais qu'il se manifesterait si je cherchais. Alors mémo mémo. L'environnement PC est windows10.
#d'accord,*,*,*,*,*
Sumomo Fusesa-fu,*,*,*,*,*
Qu'est-ce que okke! Qu'est-ce que Fusesa!
Je l'ai introduit dans un tel environnement. J'utilise juste mecab via github.
Obtenez le Mecab construit à 64 bits à partir de la page suivante https://github.com/ikegami-yukino/mecab/releases
Entrez les dictionnaires SHIFT-JIS et UTF-8 pour référence sur la page suivante. Utilisation de MeCab avec Python et R-Windows 10-64bit
Compilez NEologd en SHIFT-JIS et UTF-8 en vous référant à la page suivante. Pour utiliser NEologd pour le dictionnaire RMeCab sous Windows 10 (sans Linux)
Après avoir effectué une analyse morphologique et réduit aux "noms, verbes, adjectifs" pour supprimer les mots inutiles ... ** Je ne pense pas qu'Igeta soit une nomenclature! ** ** (Les mots sont extraits pour vérification)
Après tout, je voulais que vous reconnaissiez le symbole qui est une nomenclature comme un symbole.
Après enquête, il semble que le symbole soit reconnu comme une connexion étrange dans le cadre de Mecab en premier lieu. On dit que le dictionnaire doit être converti, alors convertissons le dictionnaire en se référant à la page suivante. Référence: Ajouter une entrée au dictionnaire MeCab sous Windows
dic\ipadic\unk.def
dic\ipadic-UTF8\unk.def
Modifiez la 9ème ligne des deux dictionnaires ci-dessus comme ci-dessous.
(Si vous n'utilisez pas à la fois R et Python, je pense que c'est seulement ipadic
)
Selon l'emplacement d'enregistrement, l'écrasement est interdit, donc lors de l'édition, copiez-le également sur le bureau.
SYMBOL,1283,1283,17585,symbole,Général,*,*,*,*,*
↓
SYMBOL,1283,1283,17585,symbole,Général,*,*,*,*,*
Après cela, démarrez l'invite de commande en tant qu'administrateur. (Notez qu'une erreur d'autorisation se produira à une invite de commande normale) Accédez au dossier avec les modifications ci-dessus et exécutez respectivement les commandes suivantes.
# dic\Exécuter sur ipadic
..\..\bin\mecab-dict-index -f shift-jis
# dic\ipadic-Exécuter avec UTF8
..\..\bin\mecab-dict-index -f utf-8
Ensuite, démarrez mecab à partir de l'invite de commande et entrez "#sumomo" ...
** Qu'est-ce que okke! Qu'est-ce que Fusesa! ** **
Il semble que les personnages soient brouillés, mais c'est un type que je n'ai pas vu beaucoup. Si les caractères UTF sont déformés, c'est une marque de fin en losange.
J'ai cherché sur un site appelé testeur brouillé qui a intentionnellement créé des caractères brouillés ... ** Ce gars! !! ** **
En d'autres termes, il semble que l'encodage ne fonctionne pas. Alors fais ça!
# dic\Exécuter sur ipadic
..\..\bin\mecab-dict-index -f euc-jp -f shift-jis
Allez "# Sumomo" ** Doushite …… **
Cela ne fonctionnait pas même si je rentrais dans le dictionnaire et réessayais. De cette façon, entrez dans le labyrinthe. Si vous pensez positivement, ce n'est pas "Fusesa", donc le dictionnaire fonctionne, cependant ...
# dic\Exécuter sur ipadic
..\..\bin\mecab-dict-index -f shift-jis -f euc-jp
Alors, "# Sumomo"
** Cette! !! !! ** ** Ça s'est bien passé.
Il semble que vous ayez mal compris car les arguments lors de la création d'un dictionnaire avec NEOlogd étaient dans l'ordre "-f Code de caractère original du dictionnaire -f Code de caractère du dictionnaire créé"? …… En premier lieu, je n'ai pas compris les détails des arguments même lorsque j'ai regardé la page officielle.
En d'autres termes, je pensais qu'une commande comme "mecab-dict-index -f code de caractère du dictionnaire à créer -f code de caractère du dictionnaire original" était la bonne réponse. Meibi.
Il semble que mecab fonctionne correctement sur l'invite de commande, mais UTF-8 est déjà affiché. À l'exception de SHIFT-JIS, les caractères doivent être tronqués à l'invite de commande, de sorte que le dictionnaire que vous souhaitez convertir en spécifiant UTF-8 est SHIFT-JIS.
Le dictionnaire doit également être UTF-8 pour pouvoir l'utiliser avec python, donc reconstruisez la version UTF en vous référant à ce qui suit. Référence: Comment insérer le dictionnaire NEologd relativement facilement dans le dictionnaire Windows-System
Avec un logiciel appelé EmEditor
Enregistrer en spécifiant tout l'encodage → Code de caractère: utf-8 (avec bom) → Code de saut de ligne: lf uniquement
Convertissez CSV à la fois comme.
Puis exécutez la commande suivante
# dic\ipadic-Exécuter avec UTF8
mecab-dict-index -f utf-8 -t utf-8
Vous devriez maintenant avoir un dictionnaire UTF-8. Réécrivez temporairement mecabrc ci-dessous ...
;6ème ligne
dicdir = $(rcpath)\..\dic\ipadic-UTF8
;8ème ligne
userdic = C:\Program Files (x86)\MeCab\dic\NEologd\NEologd.20200521-u.dic
mecab -d
Vérifiez le code de caractère avec.
C'est bon.
De python ... Je ne peux pas faire ça ...? Une petite vérification requise.
C'est juste un désordre. Au début, je voulais utiliser mecab avec R, donc j'ai fait les mêmes contre-mesures contre les changements dans le dictionnaire téléchargé depuis site officiel de mecab. A cette époque, les personnages n'étaient pas déformés. ...... Je sens pourquoi. Ma mémoire est ambiguë. Je ne sais pas car je n'ai pas vérifié si 32 bits et 64 bits sont liés.
Si vous essayez d'utiliser mecab déposé sur le site officiel ci-dessus, vous obtiendrez une erreur du type "32 bits!" En python et il sera dispersé, il est donc plus sûr de mettre celui construit en 64 bits.