Skip to main content

Count syllables in English

Project description

概要

英語の音節数を計算するツールです。
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つの手法を用いて英語の音節数を計算するサイト。
詳細な使用アルゴリズムは不明だが、多くの英単語に対応している。

論文

ライセンス

  • 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

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

count_syllable-0.2.0.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

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

count_syllable-0.2.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file count_syllable-0.2.0.tar.gz.

File metadata

  • Download URL: count_syllable-0.2.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.15

File hashes

Hashes for count_syllable-0.2.0.tar.gz
Algorithm Hash digest
SHA256 145cfd4e714db632b7c0bb915833dec129bec824e8ab0e7713a0b760de9693e8
MD5 7513a326ba67a336a7a52c0440afb493
BLAKE2b-256 b3a92e8993484fb3c46bf6f48c63114575419612d452d0894b289a640d277d2d

See more details on using hashes here.

File details

Details for the file count_syllable-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: count_syllable-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.15

File hashes

Hashes for count_syllable-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 246c3347da9da01e97efa21ccffed52dded340ef2eceb21f574d1591e4a52777
MD5 b20ce389fda20fb64005a3eaceeeede1
BLAKE2b-256 65ccba15b6e0cad592a7a1c873893224fe95b748ea38ecaa4848ee3166fedf92

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