L'analyse morphologique est l'une des méthodes de traitement du langage naturel également utilisées dans les moteurs de recherche. Elle décompose une phrase / phrase en «unités minimales (= mots) qui ont un sens». Il est utilisé pour juger du contenu des phrases et des phrases.
Site de référence
MeCab est un moteur d'analyse morphologique open source développé dans le cadre du projet d'unité commune de recherche de la Graduate School of Informatics, Kyoto University-Nippon Telegraph and Telephone Corporation, Research Institute for Communication Science. La politique de base est une conception à usage général qui ne dépend pas de la langue, du dictionnaire ou du corpus. Les champs aléatoires conditionnels (CRF) sont utilisés pour estimer les paramètres. Il fonctionne également plus rapidement que ChaSen, Juman et KAKASI en moyenne. À propos, Mekabu est un favori de l'auteur.
-Design universel indépendant du dictionnaire et du corpus -Haute précision d'analyse basée sur le champ de probabilité conditionnelle (CRF) -Plus rapide que ChaSen et KAKASI -Adopte Double-Array, qui est une structure TRIE à grande vitesse, pour l'algorithme de recherche de dictionnaire / la structure de données. -Bibliothèque réentrante -Diverses liaisons de langage de script (perl / ruby / python / java / C #)
mecab | chasen | juman | kakasi | |
---|---|---|---|---|
Modèle d'analyse | bi-modèle de Markov gramme | Modèle de Markov à longueur variable | bi-modèle de Markov gramme | Match le plus long |
Modèle d'apprentissage | CRF (Modèle de discrimination) | HMM (Modèle de génération) | ||
Algorithme de recherche de dictionnaire | Double Array | Double Array | Arbre de Patricia | Hash? |
Algorithme de recherche de solution | Viterbi | Viterbi | Viterbi | Définitive? |
Implémentation de la table concaténée | Tableau 2D | automate | Tableau 2D? | Pas de table de connexion? |
Hiérarchie des mots de partie | Pièces multicouches illimitées | Pièces multicouches illimitées | Fixe en 2 étapes | Pas de concept de paroles de partie? |
Traitement de texte inconnu | Type de caractère(La définition de l'action peut être modifiée) | Type de caractère(Non modifiable) | Type de caractère(Non modifiable) | |
Analyse des contraintes | Possible | 2.4.0でPossible | 不Possible | 不Possible |
N-meilleure solution | Possible | 不Possible | 不Possible | 不Possible |
neologd
$ echo "Brillance Instagram" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Nom digne d'Instagram,Nomenclature propriétaire,Général,*,*,*,Brillance Instagram,Insta fly,Insta fly
EOS
$ echo "Brillance Instagram" | mecab
Insta substantif,Général,*,*,*,*,*
Shine substantif,Général,*,*,*,*,Éclat,Mouches,Mouches
EOS
$ echo "Sérieusement" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Sérieusement substantif,Nomenclature propriétaire,Général,*,*,*,Sérieusement,Sérieusement,Sérieusement
EOS
$ echo "Sérieusement" | mecab
Substantif sérieux,Racine du verbe adjectif,*,*,*,*,sérieusement,Vraiment,Vraiment
卍 non,Général,*,*,*,*,卍,Manji,Manji
EOS
$ echo "Tapiru" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Tapi substantif,Nomenclature propriétaire,Général,*,*,*,Tapi,Tapi,Tapi
Verbe auxiliaire,*,*,*,Langue littéraire,Connexion Word,Ri,Le,Le
EOS
$ echo "Tapiru" | mecab
Tapi substantif,Général,*,*,*,*,*
Verbe auxiliaire,*,*,*,Langue littéraire,Forme basique,Ru,Le,Le
EOS
$ echo "Agemizawa" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Agemizawa substantif,Nomenclature propriétaire,Général,*,*,*,Agemizawa,Agemizawa,Agemizawa
EOS
$ echo "Agemizawa" | mecab
Raise Verbe,Indépendance,*,*,Un pas,Type continu,Donner,Âge,Âge
Verbe mi,Non indépendant,*,*,Un pas,Type continu,Vue,Mi,Mi
Zawa substantif,Nomenclature propriétaire,Organisation,*,*,*,*
EOS
$ echo "Pêche Azamaru" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Azamaru Fisheries Nominal,Nomenclature propriétaire,Général,*,*,*,Pêche Azamaru,Azamaru Suisan,Azamaru Suisan
EOS
$ echo "Pêche Azamaru" | mecab
Aza substantif,Général,*,*,*,*,Aza,Aza,Aza
Préfixe Maru,Plusieurs connexions,*,*,*,*,Maru,Maru,Maru
Nomenclature des pêches,Général,*,*,*,*,Pêche,Suisan,Suisan
EOS
$ echo "Instagram" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Nomenclature Instagram,Nomenclature propriétaire,Général,*,*,*,Instagram,Instagram,Instagram
EOS
$ echo "Instagram" | mecab
Nomenclature Instagram,Nomenclature propriétaire,Organisation,*,*,*,*
EOS
$ echo "Kemio" | mecab
Assistant Ke,Aide finale,*,*,*,*,Ke,Ke,Ke
Verbe mi,Indépendance,*,*,Un pas,Type continu,Vue,Mi,Mi
O verbe,Non indépendant,*,*,Cinq étapes, La ligne,Connexion Word spéciale 2,Oru,Oh,Oh
EOS
$ echo "Kemio" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Kemio substantif,Nomenclature propriétaire,Nom d'une personne,Général,*,*,Kemio,Chimio,Chimio
EOS
mecab.py
import MeCab
t = MeCab.Tagger ('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')#mecab-ipadic-NEologd
t = MeCab.Tagger ("-Ochasen")#Guy standard
text = 'Texte que vous souhaitez analyser'
t.parse('')#Empêcher les chaînes d'être GC
m = t.parseToNode(text)
while m:
if m.feature.split(',')[0] == 'nom':
print(m.surface)
result
Nomenclature AWS,Nomenclature propriétaire,Général,*,*,*,AWS,Services Web Amazon,Services Web Amazon
Nomenclature célèbre,Racine du verbe adjectif,*,*,*,*,Célèbre,Yumei,Yumei
Nomenclature des services,Changer de connexion,*,*,*,*,un service,un service,un service
Amazon substantif,Nomenclature propriétaire,Général,*,*,*,Amazon,Amazone,Amazone
Substantif élastique,Nomenclature propriétaire,Général,*,*,*,Elastic,Élastique,Élastique
Calculer substantif,Général,*,*,*,*,*
Nuage substantif,Général,*,*,*,*,*
C'est l'un des modèles graphiques probabilistes représentés par des graphes non orientés et c'est un modèle discriminant. L'étiquetage des séries vise à recevoir une chaîne de données (par exemple, une chaîne de mots) en entrée et à étiqueter les données individuelles en sortie. Par exemple, il y a un problème de donner des informations de paroles de partie à une chaîne de mots (entrée: «I / ha / run» ⇒ sortie: «nom / assistant / verbe»). Est fait.
Le CRF pour résoudre l'étiquetage de séquence est appelé le CRF à chaîne linéaire.
Site de référence: [Explication technique] CRF (Conditional Random Fields)
Recommended Posts