SwiftSyllables
用 Swift 编写的轻量级音节计数器。
背景
音节计数没有简单的算法解决方法,因此此框架结合了字典查找和一些启发式方法,分两步进行
(1) Python 的 自然语言工具包 包含了广泛的语料库,用于语言处理。Python NLTK 充分利用了 CMU 发音词典,其中包含超过 100,000 个单词的发音转写。如果在发音词典中找到该词,则使用第一个有效的发音来查找音节数。
(2) 如果在发音词典中没有找到该词,SwiftSyllables 将默认使用启发式解决方案。我们采用了 Emre Aydin 的音节计数启发式算法 的简单实现。
音节计数的当前最稳健的算法解决方案是 Frank Liang 的 斯坦福博士论文,目前未计划为此框架实现该算法。
需求
使用 Swift 5.0,在 Xcode 11+ 上运行。
安装
SwiftSyllables可通过CocoaPods获取。要安装,只需将以下行添加到Podfile中
pod "SwiftSyllables"
示例
SwiftSyllables目前有一个简单的API,可以用于从字符串中获取音节数量
open class func getSyllables(_ string: String) -> Int
只需导入框架并调用getSyllables
方法。
import SwiftSyllables
...
var syllables : Int = SwiftSyllables.getSyllables(string)
要运行示例项目,请首先从Example目录中克隆存储库,然后运行pod install
。
作者
- 薇薇安·丘 - [email protected]
许可
SwiftSyllables遵照MIT许可。请参阅LICENSE文件以获取更多信息。
鸣谢
- Python的自然语言处理工具包
- CMU发音词典
- Emre Aydin的启发式音节计数算法
- Brandon Wood的文章"使用Python和NLTK从公共Twitter流中查找俳句"