Un nouvel analyseur morphologique qui considère la plausibilité sémantique des séquences de mots en utilisant un modèle de langage de réseau neuronal récurrent (RNNLM). La version 2 a une meilleure précision et une grande précision (> 250x) amélioration de la vitesse d'analyse que le Juman ++ d'origine.
sudo apt install libprotobuf-dev protobuf-compilerLisez ce document pour les dérivés CentOS et RHEL ou les alternatives non-Crake.
Téléchargez le package à partir des versions
IMPORTANT : Le téléchargement doit être d'environ 300 Mo. Si ce n'est pas le cas, vous avez probablement téléchargé un instantané source qui ne contient pas de modèle.
$ tar xf jumanpp- < version > .tar.xz # decompress the package
$ cd jumanpp- < version > # move into the directory
$ mkdir bld # make a subdirectory for build
$ cd bld
$ cmake ..
-DCMAKE_BUILD_TYPE=Release # you want to do this for performance
-DCMAKE_INSTALL_PREFIX= < prefix > # where to install Juman++
$ make install -j < parallelism > Important : seule la distribution du package contient un modèle pré-entraîné et peut être utilisée pour l'analyse. La version GIT actuelle n'est pas compatible avec les modèles de 2.0-RC1 et 2.0-RC2.
$ mkdir cmake-build-dir # CMake does not support in-source builds
$ cd cmake-build-dir
$ cmake ..
$ make # -j % echo "魅力がたっぷりと詰まっている" | jumanpp
魅力 みりょく 魅力 名詞 6 普通名詞 1 * 0 * 0 "代表表記:魅力/みりょく カテゴリ:抽象物"
が が が 助詞 9 格助詞 1 * 0 * 0 NIL
たっぷり たっぷり たっぷり 副詞 8 * 0 * 0 * 0 "自動認識"
と と と 助詞 9 格助詞 1 * 0 * 0 NIL
詰まって つまって 詰まる 動詞 2 * 0 子音動詞ラ行 10 タ系連用テ形 14 "代表表記:詰まる/つまる ドメイン:料理・食事 自他動詞:他:詰める/つめる"
いる いる いる 接尾辞 14 動詞性接尾辞 7 母音動詞 1 基本形 2 "代表表記:いる/いる"
EOS
usage: jumanpp [options]
-s, --specifics lattice format output (unsigned int [=5])
--beam <int> set local beam width used in analysis (unsigned int [=5])
-v, --version print version
-h, --help print this message
--model <file> specify a model location
Utiliser --help pour voir plus d'options.
Juman ++ ne peut gérer que le texte codé UTF-8 comme entrée. Les lignes commençant par # seront interprétées comme des commentaires.
Un ensemble de scripts pour la formation du modèle jumandique est disponible dans ce référentiel. Il est possible de modifier le dictionnaire système pour ajouter d'autres entrées au modèle formé.
ATTENTION : Vous devez avoir accès à Mainichi Shinbun pour l'année 1995 pour pouvoir utiliser Kyoto Univeristy Corpus pour la formation.
Vous pouvez jouer autour de notre démo Web qui affiche un sous-ensemble de l'ensemble du réseau. La démo utilise toujours V1 mais elle sera bientôt mise à jour vers V2.
Vous pouvez voir des phrases dans lesquelles deux configurations de faisceaux différentes produisent des analyses différentes. Un src/jumandic/jpp_jumandic_pathdiff binaire (source) (par rapport à une racine de compilation) le fait. La seule chose spécifique à la jumandique ici est l'utilisation de l'inférence du modèle linéaire généré par le code.
Utilisez le binaire comme jpp_jumandic_pathdiff <model> <input> > <output> .
Les sorties seraient dans le format d'annotation partielle avec un faisceau complet des résultats étant les étiquettes réelles et les résultats de faisceau coupés en cours de commentaires.
Exemple:
# scores: -0.602687 -1.20004
# 子がい pos:名詞 subpos:普通名詞 <------- trimmed beam result
# S-ID:w201007-0080605751-6 COUNT:2
熊本選抜にはマリノス、アントラーズのユースに行く
子 pos:名詞 subpos:普通名詞 <------- full beam result
が pos:助詞 subpos:格助詞
い baseform:いる conjtype:母音動詞 pos:動詞 conjform:基本連用形
ます
Nous avons également un outil d'annotation partiel. Veuillez consulter https://github.com/eiennohito/nlp-tools-demo pour plus de détails.
Pour obtenir les meilleures performances, vous devez construire avec des ensembles d'instructions prolongés. Si vous prévoyez d'utiliser Juman ++ uniquement localement, spécifiez -DCMAKE_CXX_FLAGS="-march=native" .
Fonctionne mieux sur Intel Haswell et les processeurs plus récents (en raison des extensions de jeu d'instructions FMA et BMI).
Juman ++ est un outil général. Cela ne dépend pas de la langue jumandique ou du japonais (bien qu'il existe des fonctionnalités spécifiques au Japon). Voir ce projet de didacticiel qui montre comment implémenter un quelque chose de similaire à une entrée de texte T9 pour le cas lorsqu'il n'y a pas de limites de mot dans le texte d'entrée.
À propos du modèle lui-même: analyse morphologique pour les langues non segmentées à l'aide du modèle de langage de réseau neuronal récurrent . Hajime Morita, Daisuke Kawahara, Sadao Kurohashi. Lien EMNLP 2015, Bibtex.
Amélioration V2: Juman ++ V2: un analyseur morphologique pratique et moderne . Arseny Tolmachev et Kurohashi Sadao. La procédure de la vingt-quatrième réunion annuelle de l'Association pour le traitement du langage naturel. Mars 2018, Okayama, Japon. (PDF, diapositives)
Atelier d'analyse morphologique dans les diapositives de l'ANLP2018: 形態素解析システム Juman ++. 河原 大輔, Arseny Tolmachev. (en japonais) diapositives.
Juman ++: une boîte à outils d'analyse morphologique pour Scriptio Continua. Arseny Tolmachev, Daisuke Kawahara et Sadao Kurohashi. EMNLP 2018, Bruxelles. PDF, affiche, bibtex.
Conception et structure de la boîte à outils de l'analyseur morphologique Juman ++. Arseny Tolmachev, Daisuke Kawahara, Sadao Kurohashi. Journal of Natural Language Processing, (papier, bibtex).
Si vous utilisez Juman ++ V1 en milieu académique, veuillez citer le premier travail (EMNLP2015). Si vous utilisez Juman ++ V2, veuillez citer les premiers et les quatrième articles (EMNLP2018).
La liste de toutes les bibliothèques utilisées par Juman ++ est ici.
Ceci est une branche pour la réécriture Juman ++. La version originale vit dans la branche héritée.