Metadata-Version: 2.1
Name: shikaku
Version: 0.2.1
Summary: Toolbox for Japanese text.
Home-page: https://github.com/tueda/shikaku
License: MIT
Keywords: japanese,text-generation,markov-chain,word-cloud
Author: Takahiro Ueda
Author-email: t.ueda.od@juntendo.ac.jp
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Text Processing :: Linguistic
Requires-Dist: igraph (>=0.11.2,<0.12.0)
Requires-Dist: japanize-matplotlib (>=1.1.3,<2.0.0)
Requires-Dist: markovify (>=0.9.4,<0.10.0)
Requires-Dist: matplotlib (>=3.7.1,<4.0.0)
Requires-Dist: mecab-python3 (>=1.0.8,<2.0.0)
Requires-Dist: unidic-lite (>=1.0.8,<2.0.0)
Requires-Dist: wordcloud (>=1.9.2,<2.0.0)
Project-URL: Repository, https://github.com/tueda/shikaku
Description-Content-Type: text/markdown

# Shikaku (詩客)

[![Test](https://github.com/tueda/shikaku/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/tueda/shikaku/actions/workflows/test.yml?query=branch%3Amain)
[![PyPI version](https://badge.fury.io/py/shikaku.svg)](https://pypi.org/project/shikaku/)

Toolbox for Japanese text.

## Example

```python
from shikaku import load_aozorabunko, TextModel, WordCloud
import matplotlib.pyplot as plt

# Aozora Bunko, author_id = 35, work_id = 1567 ==> Run, Melos!
text = load_aozorabunko(35, 1567)

# Text generator using Markov chains.
model = TextModel()
model.fit(text)
result = model.generate()
print(result)

# Word cloud.
wc = WordCloud()
wc.fit(text)
result = wc.generate()
result.to_file("wc.png")

# Visualize Markov chains (preliminary).
model = TextModel(state_size=1)
model.fit("吾輩は猫である。名前はまだない。")
model.plot()
plt.savefig("model.png")
```

