Cette fois, j'aimerais écrire un endroit où j'ai appris lorsque j'étudiais le traitement du langage naturel sur un site appelé Kikagaku où je peux en apprendre davantage sur le Deep Learning gratuitement.
・ MacOS ・ Python3.6 (anaconda) ・ VSCode
[Illustration! Explication approfondie de l'utilisation de Python Beautiful Soup! (sélectionner, trouver, trouver tout, installation, grattage, etc.)](https://ai-inter1.com/beautifulsoup_1/#:~:text=Beautiful%20Soup(%E3%83%93%E3%83%A5%E3) % 83% BC% E3% 83% 86% E3% 82% A3% E3% 83% 95% E3% 83% AB% E3% 83% BB% E3% 82% B9% E3% 83% BC% E3% 83 % 97),% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0% E7% 94 % A8% E3% 81% AE% E3% 83% A9% E3% 82% A4% E3% 83% 96% E3% 83% A9% E3% 83% AA% E3% 81% A7% E3% 81% 99 % E3% 80% 82 & text = Python% E3% 81% A7% E3% 81% AF% E3% 80% 81Beautiful% 20Soup% E3% 82% 92,% E3% 81% 99% E3% 82% 8B% E3% 81% 93% E3% 81% A8% E3% 81% 8C% E3% 81% A7% E3% 81% 8D% E3% 81% BE% E3% 81% 99% E3% 80% 82) [Python] Conversion de casse des chaînes de caractères (fonction inférieure, supérieure) Référentiel cloné (https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/cloning-a-repository) Comparaison des analyseurs morphologiques fin 2019 Préparation de l'environnement pour l'utilisation de MeCab sur Mac Analyse morphologique avec MeCab sur Mac Paramètres d'utilisation de JUMAN ++ dans l'environnement pyenv de Python sur mac J'ai essayé l'analyse morphologique avec pyknp (JUMANN ++) Exécution de Human ++ avec Python
Tout d'abord, ravi de vous rencontrer, beau groupe.
En fait, il s'agit d'une bibliothèque qui ne peut extraire que les informations nécessaires de l'instruction htmlm. Par exemple, je pense que les phrases HTML sur le net sont entourées de div '' et de
h1 ''. Cependant, ces balises gênent l'analyse des phrases, il est donc beau de n'obtenir que les informations sans elles.
Il existe une fonction inférieure et une fonction supérieure, qui sont respectivement une fonction pour rendre ** inférieur ** et une fonction pour rendre ** supérieur **.
J'ai installé «MeCab» et «Human ++» car ils étaient bons pour l'analyse morphologique. MeCab est probablement le meilleur en termes de vitesse, et si vous ne voulez que de la précision, Human ++ semble être le meilleur. L'installation de Mecab était assez simple.
$ brew install mecab
$ brew install mecab-ipadic
$ pip install mecab-python3
$ git clone url
Pour l'URL après git clone, collez l'URL copiée depuis Github Repository.
import MeCab
m = MeCab.Tagger('-d/usr/local/lib/mecab/dic/mecab-ipadic-neologd')
text = '<html>Apprentissage profond à partir de zéro</html>'
print(m.parse(text))
MeCab sera écrit comme ceci.
Au fait, dans les parenthèses de Tagger ()
Peut être spécifié.
Juman ++ avait également besoin d'une installation pyknp
pour être utilisable avec python.
$ brew install jumanpp
$ pip install pyknp
Ceci termine l'installation de «Juman ++» et «Pyknp». Ensuite, j'écrirai sur la façon d'écrire Human ++ sur Python.
from pyknp.juman.juman import Juman
juman = Juman()
result = juman.analysis("Gouvernement des étrangers")
for mrph in result.mrph_list():
print(mrph.midasi, mrph.yomi)
Juman ++ est écrit sur Python comme ceci. J'utilise Juman ++, mais il semble que ce soit correct de le laisser comme Juman
lors de l'écriture de code.
En plus de midasi et yomi dans la partie impression, vous pouvez également ajouter mrph.genkei, mrph.hinsi, mrph.bunrui, mrph.katuyou1, mrph.katuyou2, mrph.imis, mrph.repname
.
J'ai utilisé «split», qui est une fonction qui peut être extraite mot par mot. Au début, je pensais que c'était une fonction spécialisée pour le traitement du langage naturel, mais c'était généralement une fonction python. ** split génère des phrases séparées par mot. ** **
Cependant, si seul le fractionnement est utilisé, la marge après la virgule est affichée telle quelle, donc la fonction appelée strip
est utilisée car elle n'a pas l'air très bien.
En utilisant cela, il est possible de sortir avec les marges supprimées.
Cette fois, il a fallu beaucoup de temps pour analyser la morphologie. Cependant, je pensais que c'était désormais des connaissances nécessaires pour le traitement du langage naturel, donc je pense qu'il était bon d'apprendre avec soin.
Recommended Posts