Um novo analisador morfológico que considera a plausibilidade semântica das sequências de palavras usando um modelo de linguagem de rede neural recorrente (RNNLM). A versão 2 tem melhor precisão e muito (> 250x) a velocidade de análise melhorada que o Juman ++ original.
sudo apt install libprotobuf-dev protobuf-compilerLeia este documento para derivadas do CentOS e RHEL ou alternativas que não são de cápsulas.
Baixe o pacote de lançamentos
IMPORTANTE : O download deve ser de cerca de 300 MB. Se não for, você provavelmente baixou um instantâneo de origem que não contém um modelo.
$ 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 > IMPORTANTE : Somente a distribuição do pacote contém um modelo pré -terenciada e pode ser usada para análise. A versão Git atual não é compatível com os modelos de 2.0-RC1 e 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
Use --help para ver mais opções.
O Juman ++ pode lidar com apenas texto codificado UTF-8 como uma entrada. Linhas começando com # serão interpretadas como comentários.
Um conjunto de scripts para o modelo jumandico de treinamento está disponível neste repositório. É possível modificar o dicionário do sistema para adicionar outras entradas ao modelo treinado.
ATENÇÃO : Você precisa ter acesso a Mainichi Shinbun para o ano de 1995 para poder usar o Kyoto Univeristy Corpus para treinamento.
Você pode brincar em nossa demonstração da web, que exibe um subconjunto de toda a rede. A demonstração ainda usa V1, mas será atualizada para V2 em breve.
Você pode ver frases nas quais duas configurações de feixe diferentes produzem análises diferentes. Um binário src/jumandic/jpp_jumandic_pathdiff (origem) (em relação a uma raiz de compilação) faz isso. A única coisa específica jumandica aqui é o uso da inferência do modelo linear gerado por código.
Use o binário como jpp_jumandic_pathdiff <model> <input> > <output> .
As saídas estariam no formato de anotação parcial, com resultados de feixe completo sendo as tags reais e os resultados do feixe aparado sendo escritos como comentários.
Exemplo:
# 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:基本連用形
ます
Também temos uma ferramenta de anotação parcial. Consulte https://github.com/eiennohito/nlp-tools-demo para obter detalhes.
Para obter o melhor desempenho, você precisa construir com conjuntos de instruções estendidas. Se você planeja usar apenas o juman ++ localmente, especifique -DCMAKE_CXX_FLAGS="-march=native" .
Funciona melhor no Intel Haswell e nos processadores mais recentes (devido às extensões do conjunto de instruções FMA e BMI).
Juman ++ é uma ferramenta geral. Não depende do idioma jumandico ou japonês (embora existam alguma funcionalidade específica de japonês). Consulte este projeto de tutorial que mostra como implementar algo semelhante a uma entrada de texto T9 para o caso quando não há limites de palavras no texto de entrada.
Sobre o próprio modelo: análise morfológica para idiomas não segmentados usando o modelo de linguagem de rede neural recorrente . Hajime Morita, Daisuke Kawahara, Sadao Kurohashi. EMNLP 2015 Link, Bibtex.
Melhorias V2: Juman ++ V2: um analisador morfológico prático e moderno . Arseny Tolmachev e Kurohashi Sadao. Os procedimentos da vigésima quarta reunião anual da Associação para Processamento de Linguagem Natural. Março de 2018, Okkaama, Japão. (pdf, slides)
Oficina de análise morfológica em slides ANLP2018: 形態素解析システム Juman ++. 河原 大輔, Arseny Tolmachev. (em japonês) slides.
Juman ++: um kit de ferramentas de análise morfológica para Scriptio continua. Arseny Tolmachev, Daisuke Kawahara e Sadao Kurohashi. EMNLP 2018, Bruxelas. pdf, pôster, bibtex.
Projeto e estrutura do kit de ferramentas do analisador morfológico juman ++. Arseny Tolmachev, Daisuke Kawahara, Sadao Kurohashi. Journal of Natural Language Processing, (Paper, Bibtex).
Se você usar o Juman ++ V1 em ambiente acadêmico, cite o primeiro trabalho (EMNLP2015). Se você usar o Juman ++ V2, cite os primeiros e os quartos (EMNLP2018).
A lista de todas as bibliotecas usadas pelo Juman ++ está aqui.
Esta é uma filial para a reescrita Juman ++. A versão original vive no ramo Legacy.