首页 > 其他分享 >LangSegment:多语言(97种语言)的混合文本自动分词工具

LangSegment:多语言(97种语言)的混合文本自动分词工具

时间:2024-05-07 14:45:10浏览次数:26  
标签:语言 text 标签 文本 LangSegment 分词 97

项目简介

它是一个强大的多语言(97种语言)的混合文本自动分词工具。[中日英韩:已测试]
主要用途:它非常适合各种 TTS 语音合成项目,多语种混合文本的前端推理,和预处理后端训练。
LangSegment:多语言%2897种语言%29的混合文本自动分词工具-0
它基于 py3langid 的扩展实现(>=python3.6)。
LangSegment It is a multi-lingual (97 languages) text content automatic recognition and segmentation tool.
The main purposes are: front-end for various TTS (Text-to-Speech) synthesis projects, preprocessing of multilingual text mixing for both training and inference.

Implementation based on py3langid,See LICENSE file for more info.
https://github.com/adbar/py3langid

功能:将文章或句子里的例如(中/英/日/韩),按不同语言自动识别分词,使文本更适合AI处理。
本代码专为各种 TTS 项目的前端文本多语种混合标注区分,多语言混合训练和推理而编写。

完全可控:支持

  • (1)自动分词:“韩语中的오빠读什么呢?あなたの体育の先生は誰ですか? 此次带来了四款iPhone 15系列机型”
  • (2)手动分词:“你的名字叫佐々木?吗?”

语言标签:支持

分词语言标签:它和html类似,它需要成对出现 内容 或者 内容
本处理结果主要针对(中文=zh , 日文=ja , 英文=en , 韩语=ko), 实际上可支持多达 97 种不同的语言混合处理。

安装方法:Install (推荐使用官方源)

# 首次安装:官方源(推荐)
pip3 install LangSegment -i  https://pypi.org/simple
# 后续版本升级或更新:
pip3 install LangSegment -i  https://pypi.org/simple --upgrade


# 或者,国内镜像(国内镜像同步慢几天,可能会导致您无法极时获得最新版本!!!):
# pip3 install LangSegment -i https://pypi.mirrors.ustc.edu.cn/simple

使用示例:Example Input

示例中的句子,同时包含中日英韩4种语言,接下来将对它们按不同语种进行分词,以方便各种TTS项目进行语音合成。

# pip3 install LangSegment -i  https://pypi.org/simple
    import LangSegment


    # input text example 示例:
    text = "你的名字叫<ja>佐々木?<ja>吗?韩语中的오빠读什么呢?あなたの体育の先生は\
    誰ですか? 此次发布会带来了四款iPhone 15系列机型\
    和三款Apple Watch等一系列新品,这次的iPad Air采用了LCD屏幕" 


    # example
    langlist = LangSegment.getTexts(text)


    # output list : {'lang': 'zh', 'text': '...'}
    print("=================================")
    for line in langlist:
        print(line)
    print("=================================")

处理结果:Example Output

综上所述,“自动分词”已经极大的提高了我们的工作效率,但还是建议您对分词结果进行人工校对。
特别是中文与日文,存在大量汉字互用,这对自动分词是极具挑战性的,“分词纠错” 解决方案如下:

  • (1)自动分词纠错:在中文与日文句子之间,打上空格来辅助分词(自动上下文分词)。
  • (2)手动分词纠错:您可手动添加语言标签,,,等来辅助进行强制分词。

以下是语言标签分词详细示例:

# 手动分词标签的应用示例,例如针对中日汉字有重叠,而需要在 TTS 中混合发音的情况:
    # 分词标签内的文本将识别成日文ja内容,也可以写成<ja>内容</ja>
    text = "你的名字叫<ja>佐々木?<ja>"  
    # 或者:
    text = "你的名字叫<ja>佐々木?</ja>"  
    # 以上均能正确输出:
    # 处理成中文-- {'lang': 'zh', 'text': '你的名字叫'}
    # 处理成日文-- {'lang': 'ja', 'text': '佐々木?'}

自动分词能力目前主要针对中文(zh)/日文(ja)/英文(en)/韩文(ko),进行了特别优化。
它特别适合各种 TTS 前端文本多语种内容的混合分词(自动/手动),训练和推理使用。

# 手动分词标签规范:<语言标签>文本内容</语言标签>
    # ===========================================================================
    # 如需手动标注,标签需要成对出现,如:“<ja>佐々木<ja>”  或者  “<ja>佐々木</ja>”
    # 错误示范:“你的名字叫<ja>佐々木。” 此句子中出现的单个<ja>标签将被忽略,不会处理。
    # ===========================================================================

项目链接

https://github.com/juntaosun/LangSegment

标签:语言,text,标签,文本,LangSegment,分词,97
From: https://www.cnblogs.com/luckzack/p/18177292

相关文章

  • c语言编译系统工作原理
    c语言编译系统内部的工作原理程序生命周期概述一个程序的生命周期可以被分成四个部分:创建编译运行退出以一个简单的helloworld.c程序为例:#include<stdio.h>intmain(){ printf("helloworld!");return0;}编译的详细过程通过这条命令gcc-ohelloworldh......
  • 多语言实现 - 世界语言对应的简写
    准备多语言文件:messages_en.properties、messages_zh.propertiesLocalelocale=newLocale("en","US");//设置语言为英文,地区为美国ResourceBundlebundle=ResourceBundle.getBundle("messages",locale);Stringmessage=bundle.getString(......
  • GPT3:使用大型语言模型构建创新的自然语言处理产品(一)
    GPT3:使用大型语言模型构建创新的自然语言处理产品(一)原文:zh.annas-archive.org/md5/2e1cd03e3bd6ec89040bbe656cecdba9译者:飞龙协议:CCBY-NC-SA4.0前言GPT-3,或称为生成式预训练转换器3,是由OpenAI开发的基于转换器的大型语言模型。它由惊人的1750亿参数组成。任何人都......
  • GPT3:使用大型语言模型构建创新的自然语言处理产品(二)
    GPT3:使用大型语言模型构建创新的自然语言处理产品(二)原文:zh.annas-archive.org/md5/2e1cd03e3bd6ec89040bbe656cecdba9译者:飞龙协议:CCBY-NC-SA4.0第六章:挑战、争议和缺陷每一次技术革命都带来争议。在本节中,我们重点关注GPT-3的三个最具争议性的方面:AI偏见被编码到模型......
  • 数据分享|广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言实现
    全文链接:https://tecdat.cn/?p=36112原文出处:拓端数据部落公众号淋巴结疾病作为一类复杂的健康问题,其风险预测一直是临床和公共卫生领域的研究热点。随着统计学的进步和计算能力的提升,广义线性模型(GLM)成为了分析这类数据的有力工具。特别是当数据呈现比例特性时,beta二项分布作为......
  • Meta公司的Llama3大语言模型
    Github地址:https://github.com/meta-llama/llama3官方介绍:https://ai.meta.com/blog/meta-llama-3/官方项目主页:https://llama.meta.com/llama3/使用说明:https://llama.meta.com/docs/get-started/HuggingFace上的介绍:https://huggingface.co/blog/zh/llama3......
  • C语言常见错误
    C语言常见错误1、链式比较intmain(){inta=3;if(0<a<3)printf("%d\n",a);return0;}​ 在C语言中,条件表达式if(0<a<3)的写法并不会按预期的方式工作。这是因为C语言不支持链式比较(即,不支持a<b<c这样的表达式)。这样的表达式......
  • 《自动机理论、语言和计算导论》阅读笔记:p428-p525
    《自动机理论、语言和计算导论》学习第14天,p428-p525总结,总计98页。一、技术总结1.Kruskal'salgorithm(克鲁斯克尔算法)2.NP-CompleteProblemsp434,WesayLisNP-completeifthefollowingstatementsaretrueaboutL:(1)LisinNP。(2)ForeverylanguageL'......
  • 0506C语言练习:字符串A中删除字符串B中所有相同字母等
    字符串A中删除字符串B中所有相同字母(无论大小写)/***@func: 字符串A中删除字符串B中所有相同字母(无论大小写)*@date2024/05/06*@version1.0:版本*CopyRight(c)[email protected]*/voidrepeat(char*a,constchar*b){......
  • 苹果挖走大量谷歌人才,建立神秘人工智能实验室;李飞飞创业成立「空间智能」公司丨 RTE
     开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个......