概要
英語の音節数を計算するツールです。
nltkのcmudict(カーネギーメロン大学が作成した発音辞書)をベースとして、非収録語にもある程度対応できるアルゴリズムを採用しています。
セットアップ
pip install count-syllable
アンインストール
pip uninstall count-syllable nltk
使用方法
from count_syllable import count_syllable
data = count_syllable("anyone")
print(data)
アルゴリズム(前方後方一致法)
前方単語ブロック、後方単語ブロック、中間単語ブロックに分けて考える。
(1)単語がcmudictに存在するか参照しあればその音節数を前方単語ブロックの音節数とする、なければ後方文字を一文字削減して再度参照し、2文字以下になるまで繰り返す
(2)2文字以下になった場合は、母音の数を計算し、前方単語ブロックの音節数とする
(3)前方単語ブロックを除いた単語がcmudictに存在するか参照しあればその音節数を後方単語ブロックの音節数とする、なければ前方文字を一文字削減して再度参照し、2文字以下になるまで繰り返す
(4)2文字以下になった場合は、母音の数を計算し、後方単語ブロックの音節数とする
(5)前方単語ブロック、後方単語ブロックを除いた単語について、母音の数を計算し、中間単語ブロックの音節数とする
(6)2文字以下になった単語をまとめて、二重母音の数を計算する
(7)前方単語ブロック、後方単語ブロック、中間単語ブロックの音節数を加算し、二重母音の数を減算して、単語の音節数を求める
How Many Syllablesを用いたデータセットとの比較評価実験の結果、cmudictベースのものは71.2+α%の精度、HMS音節数データセットを用いると94.6+α%の精度になることが分かっている。 ただし、 HMS音節数データセットは著作権の問題があるため、無償で利用するのは難しいと考える。
関連ツール、関連サイト
Sylco: https://github.com/eaydin/sylco
独自アルゴリズムで英語の音節数を計算するツール。 ライセンスが非記載のため、利用用途は限られるが、アルゴリズムは参考になる。
How Many Syllables: https://www.howmanysyllables.com
5つの手法を用いて英語の音節数を計算するサイト。
詳細な使用アルゴリズムは不明だが、多くの英単語に対応している。
論文
- 赤木信也:変数置き換えモデルを用いた英日両文に適用可能なリーダビリティ判定ツールの開発と公開
- 情報処理学会研究報告,2025,NL-264,No.8,pp.1-10,2025-06-29
- https://jglobal.jst.go.jp/detail?JGLOBAL_ID=202502284060321622
- 赤木信也:英語音節数データセットの作成に関する一考察
- 情報処理学会第88回全国大会
- https://www.ipsj.or.jp/event/taikai/88/
ライセンス
- count-syllable
- Python Software Foundation License
- Copyright (C) 2024 Shinya Akagi
- nltk
- Apache License 2.0
- Copyright (C) 2001-2023 NLTK Project
- cmudict
- BSD License
- Copyright (C) 1998 Carnegie Mellon University
Metadata
Release files for count-syllable 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| count_syllable-0.2.0.tar.gz | 3.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| count_syllable-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 kB
Release files / count_syllable-0.2.0.tar.gz
| Download URL | count_syllable-0.2.0.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
145cfd4e714db632b7c0bb915833dec129bec824e8ab0e7713a0b760de9693e8
|
|
BLAKE2b-256 checksum How to use checksums |
b3a92e8993484fb3c46bf6f48c63114575419612d452d0894b289a640d277d2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.15
|
Release files / count_syllable-0.2.0-py3-none-any.whl
| Download URL | count_syllable-0.2.0-py3-none-any.whl |
|---|---|
| Size | 3.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
246c3347da9da01e97efa21ccffed52dded340ef2eceb21f574d1591e4a52777
|
|
BLAKE2b-256 checksum How to use checksums |
65ccba15b6e0cad592a7a1c873893224fe95b748ea38ecaa4848ee3166fedf92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.15
|
Security for count-syllable 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.