波斯语(波斯语)的简单字素到音素转换器
项目描述
简单的波斯语(波斯语)字素到音素转换器
pip install PersianG2p
它使用这个神经网络将波斯文本(带有阿拉伯符号)转换为音素文本。
波斯语的特点
- 阿拉伯符号
- 字符有不同的形式取决于在单词中的位置
- 元音a , e , o通常不写但发音;例如:
- سس 发音为sos但写为ss
- شش 发音为šeš但写成šš
- من 发音为man但写为mn
- سلام 发音为salām但写为 slām
- شما发音为šomā但写为šmā
- ممنون 发音为mamnun但写为 mmnun
- 相同的符号有不同的发音:在单词 مو 中,符号 و 发音为u,但在单词 میوه 中,这个符号在元音之后并发音为v;词 تو 代词to或tu取决于意思;符号 ه (hā-ye docešm) 在 نه 中发音为( e ),在آنها中发音为h
- 元音没有重叠
- 动词在句末
- 没有性
- 没有案例
- 形容词和定义附加在名词的末尾
这个怎么运作
有1867对像(波斯语单词,一个发音)的字典;use_large = True您还可以使用in 构造函数加载超过 48 000 个单词的字典。其中一些词(英文):水,那里,感觉,使用,人,扔,他,可以,高速公路,曾经,大厅,保证,生产,句子,帐户,上帝,自我,他们知道,美元,头脑,小说, 地震, 组织, 武器, 个人, 烈士, 必要性, 意见, 法语, 法律, 伦敦, 剥夺, 人, 研究, 来源, 水果, 他们采取, 系统, 光, 是, 和, 腿, 桥, 什么,做,做。
首先,在 --- tokenized之后,您的文本由hazm规范化。
- 如果令牌不是阿拉伯字母的符号,那么它什么也不做。
- 如果 token 是字典中的单词,那么它会从字典中选择发音。
- 否则发音将由神经网络预测。
如果 token 是字典中的一个单词,那么它的发音是像“this”这样的单词(符号之间的空格以及单词的结尾和开头)。如果这个词是继续,那么它就是预测的词。您可以通过设置禁用此选项secret = True。
“整洁”的说法
| 波斯符号 | 声音(整洁=假) | 声音(整洁=真) |
|---|---|---|
| Ë | 一个 | 一个 |
| Ë | 小号 | š |
| 带 | Z | ž |
| 带 | C | C |
| ء، ع | ? | ` |
与Epitran的比较
| 波斯语 | 外转录转化 | 波斯语G2p转换 | 预期的 |
|---|---|---|---|
| سلام | slɒm | 萨拉姆 | 萨拉姆 |
| 作文 | 嗯嗯 | 马农 | 马农 |
| 胡布 | xb | xab | xāb |
| 胡歌 | sɒhl | 萨赫勒 | 萨赫勒 |
| √ | jx | 亚克斯 | 亚克斯 |
| 游戏 | lɒɣr | 拉尔 | 拉尔 |
| پسته | 某事 | 害虫 | 害虫 |
| 推荐 | 微信 | 莫莱斯 | 莫莱斯 |
| سالها | sɒl hɒ | 萨莱哈 | 萨尔哈 |
| 游戏 | lzt | 拉兹特 | 莱扎特 |
| دژ | dʒ | 多兹 | 德兹 |
| 璎珞 | brf | 呕吐物 | 呕吐物 |
| خدا حافظ | xdɒ hɒfz | xodāhāfez | 索达哈菲兹 |
| دمپایی | dmپɒjj | 达巴依 | 达巴依 |
| 关注 | nʃstn | 内沙斯坦 | 内沙斯坦 |
| 近义词 | mtɒʔsfɒnh | motsafe`āne | 莫塔塞凡 |
安装
pip install PersianG2p
用法
from PersianG2p import Persian_g2p_converter
PersianG2Pconverter = Persian_g2p_converter()
# or
## PersianG2Pconverter = Persian_g2p_converter(use_large = True)
PersianG2Pconverter.transliterate('ما الان درحال بازی بودیم', tidy = False)
# ' m A a l A n darhAl b A z i b u d i m '
PersianG2Pconverter.transliterate('ما الان درحال بازی بودیم')
# ' m ā a l ā n darhāl b ā z i b u d i m '
Persian_g2p_converter().transliterate( "زان یار دلنوازم شکریست با شکایت", secret = True)
# 'zān yār delnavāzam šokrist bā šekāyat'
PersianG2Pconverter.transliterate('نه تنها یک کلمه')
# ' n o h t a n h ā y e k kalame'
#object() and object.transliterate() are equal if they have same arguments
PersianG2Pconverter('نه تنها یک کلمه', secret = True)
# 'noh tanhA yek kalame'
电报机器人@PersianG2Pbot
这个电报机器人使用 PersianG2P 包。写信给他检查结果。
你能做的更好吗
-
拟合更好的模型(使用另一个超参数或更大的字典)
-
将许多新词添加到字典中。如果你愿意,我会为此任务编写 Python/C# 脚本,甚至创建 Telegram 机器人
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
PersianG2p-0.3.2.tar.gz
(924.3 kB
查看哈希)
内置分布
PersianG2p-0.3.2-py3-none-any.whl
(928.1 kB
查看哈希)
关
PersianG2p -0.3.2.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7d2445d0c51d27dd4548cd4715ae659286fbd9f9de3c07a42ce19a87d5e8531e |
|
| MD5 | 24fe7157d8f8dcb33e7d3c593f87aa2d |
|
| 布莱克2-256 | f34e42ff1fdc16527cda0c93a85e9f9c5adb3fa5a48c4c4b28b43087723a162d |
关
PersianG2p -0.3.2-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 8df07a8b6d99ea714887ff27b1fc9a66f61a1476bc33def549147e84fe92f89a |
|
| MD5 | b1bdcb98b71f7759399949d86b1f2ac4 |
|
| 布莱克2-256 | 801202fc7652c3377a5ad1df5a18619c219f6b361b720070dc6dc5366a019efd |