Skip to main content

NeXov Enables eXtensible Observation of Vertices

Project description

NeXov

"NeXov Enables eXtensible Observation of Vertices"

NeXovは、非常に高密度のマルコフ連鎖モデルの構築や生成、可視化、またそれをサポートするデータ処理をNetworkXで実現するツールです。

Install

OSごとに一部操作が異なります。

Windows

以下のサイトにあるインストーラーを実行します。

https://github.com/ikegami-yukino/mecab/releases/tag/v0.996.2 (MeCab)
https://graphviz.org/download/#windows (Graphviz)

Linux

以下のコマンドを実行します。

$ sudo apt update
$ sudo apt install -y mecab libmecab-dev mecab-ipadic-utf8 graphviz
$ sudo cp /etc/mecabrc /usr/local/etc/mecabrc

NEologd (推奨)

MeCabに固有名詞などを認識させるためのユーザー辞書です。これを使うだけでも精度はかなり上がるのでインストールをお勧めします。

Windows: https://qiita.com/xi_guisheng/items/40ee7da516de05e5894f
Linux: https://blog.forestberrypi.com/tools-services/linux/mecab-in-ubuntu/#toc7

NeXovのインストール (共通)

pipでNeXovをインストールできます。

$ pip install nexov

Usage

NeXovには以下のような機能があり、それぞれ対応するコマンドがあります。

Command Feature
tokenize テキストのトークン化
generate モデルの構築・生成...etc
visualize モデルの可視化
usage: nexov [-h] {tokenize,generate,visualize} ...

NeXov Enables eXtensible Observation of Vertices

positional arguments:
  {tokenize,generate,visualize}
    tokenize            テキストをトークンに分割
    generate            モデルまたはテキストを生成
    visualize           モデルを画像として可視化

options:
  -h, --help            show this help message and exit

tokenize

tokenizeは、自動でテキストをトークン化するコマンドです。

オプション

usage: nexov tokenize [-h] -i INPUT [-o OUTPUT] [--method {mecab,char}]

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        入力ファイル
  -o OUTPUT, --output OUTPUT
                        出力ファイル
  --method {mecab,char}
                        分割方法

$ cat input.txt
ぐっもーにん!
もにもに!
もーにん!!
もにもに!!!!
おはですー!!
おはですー!
おはようです!!!!!!
$ nexov tokenize -i input.txt -o tokens.txt
[+] Wrote tokenized data to tokens.txt
$ cat tokens.txt
ぐっも    !
も    !
も     !
も       !
お  です   !
お  です  !
おはよう です      

generate

generateは、モデルの構築と生成、またインポート・エクスポートも行うコマンドです。

オプション

usage: nexov generate [-h] -i INPUT [-s START] [-l LENGTH] [-e EXPORT] [-v VISUALIZE]

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        モデルまたはトークン済みデータファイル
  -s START, --start START
                        開始トークン
  -l LENGTH, --length LENGTH
                        最大生成トークン長 (デフォルト値は500)
  -e EXPORT, --export EXPORT
                        生成後のモデルをファイルにエクスポート
  -v VISUALIZE, --visualize VISUALIZE
                        生成と同時に可視化を実行(拡張子を除く出力ファイルパスを指定)

$ cat tokens.txt
ぐっも    !
も    !
も     !
も       !
お  です   !
お  です  !
おはよう です      !
$ nexov generate -i tokens.txt -s  -l 100
もにもにもにもーにもにん!おはです!おはですー!!!!もに!もにん!!もにん!おはですー!!!おはですー!!もー!おはようです!!!おはようです!!おはですーにもにもー!もに!!!!もにもーにん!!!おは です!!おはようですー!もにん!!

$ nexov generate -i tokens.txt -e model.json
[+] The model was exported to model.json
$ nexov generate -i model.json -s  -l 100
もーにん!おはですーにもにん!!!!おはですー!!!もにん!もにもにもー!もにん!!!!!もにもにん!!もーにもにん!!!!おはようですー!おはです!!!!!!おはようですーに!おはですーに!!!!おはよ うですー!もにもにもにん!おは

visualize

visualizeは、モデルを画像で可視化するコマンドです。

オプション

usage: nexov visualize [-h] -i INPUT -o OUTPUT [--font FONT]

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        モデルファイル
  -o OUTPUT, --output OUTPUT
                        出力ファイル(拡張子を除くファイル名を指定)
  --font FONT           使用するフォント

$ nexov visualize -i model.json -o output
[+] The model visualization was saved to output.png

output.png

Use in external code

外部コード内でNeXov.coregenerateメソッドを使用する際は、The node None is not in the digraph.エラーが発生するおそれがありますので、
必ずcurrent != Noneという条件分岐を含めてください。
(NeXov/cli.pyの65行目あたりを参考にするとわかりやすいと思います)

LICENSE

NeXovはMITライセンスで配布されています。

ただし、以下の外部ソフト・ライブラリを利用しています。これらはNeXovに含まれていませんが、別途インストールが必要です。

  • MeCab (形態素解析器) : BSD License
  • NEologd (日本語辞書) : Apache License 2.0
  • Graphviz (グラフ描画ツール) : Eclipse Public License 1.0
  • mecab-python3 (Pythonバインディング) : MIT License
  • networkx : BSD License
  • graphviz (Pythonラッパー) : MIT License
  • matplotlib : Matplotlib License (BSDスタイル)

それぞれのライセンス条件に従ってご利用ください。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nexov-1.1.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nexov-1.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file nexov-1.1.1.tar.gz.

File metadata

  • Download URL: nexov-1.1.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.5

File hashes

Hashes for nexov-1.1.1.tar.gz
Algorithm Hash digest
SHA256 73bec396a3b2d1ee22f516b7889141ca782fd2252a45786f158f8c219290d842
MD5 7ae9a971cd6d2d5caf8c2b6d11163b36
BLAKE2b-256 4cdc9576e8b3e76d6cdd23e99f30570aa8c843b94a1aa978bc74cb754280a093

See more details on using hashes here.

File details

Details for the file nexov-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: nexov-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.5

File hashes

Hashes for nexov-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 186e58226acc952d9d3cf69d0a1971e8accdebbaf8665bbac37892b114809b45
MD5 b48718aa1c574c211b997fce3ff4595d
BLAKE2b-256 3ae617a332c46b0b22a2feca83e07428e0423683264b7ab4527388398d96ba2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page