多语言通用罗马化转换工具
uroman是一款多语言通用罗马化工具,可将各种文字系统转换为标准拉丁字母。支持希腊语、印地语、乌尔都语和中文等多种语言,不仅进行字符替换,还能处理上下文和语言特定规则。提供Python和Perl版本,可通过命令行或Python库使用,适用于文本处理和语言分析任务。
uroman是一个通用罗马化转写器。它可以将任何文字系统的文本转换为标准拉丁字母。<br> 例如(希腊语):Νεπάλ → Nepal<br> 例如(印地语):नेपाल → nepaal<br> 例如(乌尔都语):نیپال → nypal<br> 例如(中文):三万一 → 31000
最新Python版本:1.3.1.1(2024年6月27日发布)<br>
最后一个Perl版本:1.2.8(2021年4月23日发布)<br>
作者:Ulf Hermjakob,南加州大学信息科学研究所
快速链接(本文档内):uroman命令行界面,导入uroman,旧版Perl版本,更新历史,可逆性,局限性
python3 -m pip install uroman
<a name="cli"></a>
python3 -m uroman "Игорь Стравинский" python3 -m uroman Игорь -l ukr python3 -m uroman Ντέιβις Καπ -l ell python3 -m uroman "\u03C0\u03B9" -d python3 -m uroman -l hin -i mini-test/hin.txt python3 -m uroman -l fas -i mini-test/fas.txt -o mini-test/fas-rom.jsonl -f edges python3 -m uroman < mini-test/multi-script.txt > mini-test/multi-script.uroman.txt python3 -m uroman -h
<b>注意:</b>对单个字符串使用_uroman_命令行界面可能对简单测试有用,但在大规模使用时效率低下,因为每次都需要加载数据资源。对整个文件进行罗马化或在Python内部使用_uroman_(如下所示)会更有效率。<br> <b>注意:</b>_mini-test_目录包含在本版本中。使用命令 <code>python3 -m uroman x --verbose</code> 可以找到它。 您可以将输出的mini-test/multi-script.uroman.txt与参考输出mini-test/multi-script.uroman-ref.txt进行比较。
<a name="package"></a>
import uroman as ur uroman = ur.Uroman() # 加载uroman数据(大约需要一秒左右) print(uroman.romanize_string('Игорь Стравинский')) print(uroman.romanize_string('Игорь', lcode='ukr')) uroman.romanize_file(input_filename='mini-test/multi-script.txt', output_filename='mini-test/multi-script.uroman.jsonl', rom_format=ur.RomFormat.LATTICE)
uroman = ur.Uroman(data_dir)
这个构造方法加载不同语言罗马化所需的数据。 这个构造方法调用可能需要大约一秒(实际时间)来加载所有罗马化数据,但对于多次后续罗马化调用来说,只需要执行一次。
<table> <tr><td>data_dir</td><td>数据目录(可选,默认:标准uroman数据目录)</td></tr> </table> <hr>uroman.romanize_string(s, lcode, rom_format)
这个方法接受一个字符串<i>s</i>,并根据<i>rom_format</i>返回其罗马化形式:一个字符串(默认)或一个边缘列表。
<table> <tr><td>s</td><td>要被罗马化的字符串,例如 "ایران"</td></tr> <tr><td>lcode</td><td>语言代码,可选,3个字母的代码,如英语的'eng'(ISO-639-3)</td></tr> <tr><td>rom_format</td><td>输出格式选项: <ul> <li> ur.RomFormat.STR (最佳字符串,默认,输出格式:字符串) <li> ur.RomFormat.EDGES (最佳边界,包含偏移信息,输出格式:JSONL) <li> ur.RomFormat.ALTS (包含替代边界的格子,输出格式:JSONL) <li> ur.RomFormat.LATTICE (包含替代和被取代边界的格子,输出格式:JSONL) </ul> </table> <hr>uroman.romanize_file(input_filename, output_filename, lcode)
此方法将文件 <i>input_filename</i> 罗马化到 <i>output_filename</i>。
<table> <tr><td>input_filename</td><td>默认:标准输入 (当input_filename值为 <i>None</i> 时)</td></tr> <tr><td width="200">output_filename</td><td>默认:标准输出 (当output_filename值为 <i>None</i> 时)</td></tr> <tr><td>lcode</td><td>语言代码(可选),3个字母的代码,如英语的'eng'(ISO-639-3)</td></tr> </table><a name="old_perl_version"></a>
<sup>GitHub上包含旧版Perl版本,但PyPI上不包含。</sup>
$ uroman.pl [-l <lang-code>] [--chart] [--no-cache] < STDIN 其中可选的 <lang-code> 是3个字母的语言代码,例如 ara, bel, bul, deu, ell, eng, fas, grc, ell, eng, heb, kaz, kir, lav, lit, mkd, mkd2, oss, pnt, pus, rus, srp, srp2, tur, uig, ukr, yid。 --chart 指定图表输出(JSON格式)以表示替代的罗马化。 --no-cache 禁用缓存。
<sup>注:目录 text 和 test 位于GitHub上 uroman 的根目录下。</sup>
uroman.pl < text/zho.txt uroman.pl -l tur < text/tur.txt uroman.pl -l heb --chart < text/heb.txt uroman.pl < test/multi-script.txt > test/multi-script.uroman-perl.txt
将输入识别为阿拉伯语、白俄罗斯语、保加利亚语、英语、德语、古希腊语、现代希腊语、本都希腊语、希伯来语、哈萨克语、吉尔吉斯语、拉脱维亚语、立陶宛语、马其顿语、奥塞梯语、波斯语、俄语、塞尔维亚语、土耳其语、乌克兰语、维吾尔语或意第绪语将改善这些语言的罗马化,因为这些语言中的一些字母与使用相同文字的其他语言(阿拉伯语与波斯语、俄语与乌克兰语、希伯来语与意第绪语)具有不同的音值。 此版本对其他语言无影响。
Ulf Hermjakob, Jonathan May, and Kevin Knight. 2018. Out-of-the-box universal romanization tool uroman. In Proceedings of the 56th Annual Meeting of Association for Computational Linguistics, Demo Track. ACL-2018 Best Demo Paper Award. ACL文集中的论文 | 海报 | BibTex
<a name="change_history"></a>
版本1.3.1的变更
版本1.2.8的变更
版本1.2.7的变更
版本1.2.6的变更
版本1.2.5的变更
版本1.2.4的变更
版本1.2的变更
1.1版本的变更(重大升级)
1.0版本的变更(重大升级)
0.7版本的变更(小升级)
0.6版本的变更(小升级)
0.5版本的变更(小升级)
0.4版本的变更(小升级)
0.3版本的新特性
<a name="reversibility"></a>
<a name="limitations"></a>
该工具的早期版本部分基于国家情报总监办公室(ODNI)和情报高级研究计划活动(IARPA)通过合同#FA8650-17-C-9116提供的支持,以及空军研究实验室(AFRL)根据协议编号FA8750-19-1-1000赞助的研究。本文所含观点和结论均为作者个人意见,不应被解释为必然代表ODNI、IARPA、空军实验室、DARPA或美国政府的官方政策,无论明示或暗示。美国政府有权复制和分发本文内容用于政府用途,即使其中包含任何版权声明。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号