精华内容
下载资源
问答
  • 常用多音字大全

    2021-01-21 05:04:12
    常用多音字大全(A部) 1. 阿①ā 阿罗汉阿姨②ē 阿附阿胶 2. 挨①āi 挨个挨近②ái 挨打挨说 3. 拗①ào 拗口②niǜ 执拗 常用多音字大全(B部) 1. 扒①bā 扒开扒拉②pá 扒
  • 使用JPinyin,可以实现汉字转换为拼音,并自动识别常用多音字,还支持简体转换为繁体,检查是否为简体,是否为繁体,是否为中文字符等功能,下面一段代码简单列举了下汉字转换拼音及简体转换繁体 package ...

    使用JPinyin,可以实现汉字转换为拼音,并自动识别常用多音字,还支持简体转换为繁体,检查是否为简体,是否为繁体,是否为中文字符等功能,下面一段代码简单列举了下汉字转换拼音及简体转换繁体

    package com.lovo.utils;
     
     
    import opensource.jpinyin.ChineseHelper;
    import opensource.jpinyin.PinyinFormat;
    import opensource.jpinyin.PinyinHelper;
     
    import org.springframework.stereotype.Component;
     
    @Component
    public class ChangeToPinYinJP {
     
        /**
         * 转换为有声调的拼音字符串
         * @param pinYinStr 汉字
         * @return 有声调的拼音字符串
         */
        public String changeToMarkPinYin(String pinYinStr){
     
            String tempStr = null;
     
            try 
            {
                tempStr =  PinyinHelper.convertToPinyinString(pinYinStr,  " ", PinyinFormat.WITH_TONE_MARK);
     
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            return tempStr;
     
        }
     
     
        /**
         * 转换为数字声调字符串
         * @param pinYinStr 需转换的汉字
         * @return 转换完成的拼音字符串
         */
        public String changeToNumberPinYin(String pinYinStr){
     
            String tempStr = null;
     
            try 
            {
                tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_NUMBER);
            } catch (Exception e) 
            {
                e.printStackTrace();
            }
     
            return tempStr;
     
        }
     
        /**
         * 转换为不带音调的拼音字符串
         * @param pinYinStr 需转换的汉字
         * @return 拼音字符串
         */
        public String changeToTonePinYin(String pinYinStr){
     
            String tempStr = null;
     
            try 
            {
                tempStr =  PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITHOUT_TONE);
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            return tempStr;
     
        }
     
        /**
         * 转换为每个汉字对应拼音首字母字符串
         * @param pinYinStr 需转换的汉字
         * @return 拼音字符串
         */
        public String changeToGetShortPinYin(String pinYinStr){
     
            String tempStr = null;
     
            try 
            {
                tempStr = PinyinHelper.getShortPinyin(pinYinStr);
            } catch (Exception e) 
            {
                e.printStackTrace();
            }
            return tempStr;
     
        }
     
        /**
         * 检查汉字是否为多音字
         * @param pinYinStr 需检查的汉字
         * @return true 多音字,false 不是多音字
         */
        public boolean checkPinYin(char pinYinStr){
     
            boolean check  = false;
            try
            {
                check = PinyinHelper.hasMultiPinyin(pinYinStr);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return check;
        }
     
        /**
         * 简体转换为繁体
         * @param pinYinStr
         * @return
         */
        public String changeToTraditional(String pinYinStr){
     
            String tempStr = null;
            try 
            {
                tempStr = ChineseHelper.convertToTraditionalChinese(pinYinStr);
            } catch (Exception e) 
            {
                e.printStackTrace();
            }
            return tempStr;
     
        }
     
        /**
         * 繁体转换为简体
         * @param pinYinSt
         * @return
         */
        public String changeToSimplified(String pinYinSt){
     
            String tempStr = null;
     
            try 
            {
                tempStr = ChineseHelper.convertToSimplifiedChinese(pinYinSt);
            } catch (Exception e) 
            {
                e.printStackTrace();
            }
     
            return tempStr;
     
        }
     
    //  public static void main(String[] args) {
    //      String str = "重慶 most input";
    //      ChangeToPinYinJP jp = new ChangeToPinYinJP();
    //      System.out.println(jp.changeToSimplified(str));
    //      System.out.println(jp.checkPinYin('重'));
    //  }
    }
    

    maven项目的pom.xml

    		<dependency>
    			<groupId>com.github.stuxuhai</groupId>
    			<artifactId>jpinyin</artifactId>
    			<version>1.1.8</version>
    		</dependency>
    

    转自:https://blog.csdn.net/moakun/article/details/80719859

    展开全文
  • 汉语随着时间的演变,因词义词性不同,出现了很多多音字,心田花开将会整理100多个常见多音字希望对考生有所帮助。 心田花开——100个常见多音字 父母都希望通过家庭教育让自己的孩子获得更多,相信通过...

    汉语随着时间的演变,因词义词性不同,出现了很多多音字,心田花开将会整理100多个常见多音字希望对考生有所帮助。
    心田花开——100个常见多音字
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    父母都希望通过家庭教育让自己的孩子获得更多,相信通过心田花开的分享,大家都有所启发。家庭教育是一个亲子成长的过程,每一位父母都需要不断提高,希望孩子快乐学习,快乐成长。

    展开全文
  • 多音字姓名拼音表.txt

    2019-08-01 11:21:23
    百家姓当中多音字的拼音表,用于通讯录名称排序使用。
  • C# 汉字转拼音 支持多音字

    热门讨论 2013-03-26 11:56:28
    C# 汉字转拼音 支持多音字
  • java 解决多音字

    2013-12-05 11:20:22
    PinyinHelper.convertToPinyinString(str,"",PinyinFormat.WITHOUT_TONE)输出拼音不包含声调 PinyinHelper.getShortPinyin(str) 获得简拼 PinyinHelper.convertToPinyinString(str,",",PinyinFormat.WITH_TONE_...
  • android多音字转拼音工具分装

    千次阅读 2018-04-12 11:09:57
    将项目中的多音字转拼音工具抽取出来了。具备资源小,算法简单的特色。 提供了一个多音字的字典,放在项目的assert文件夹中。 主要算法如下: public class CharacterParser { private static int[] pyvalue ...

    一.项目结构

    本项目分为两个部分,一部分是多音字资源文件,另外一部分是汉字转拼音以及算法部分。

    下载地址:https://download.csdn.net/download/MatrixMind/15468700

    二.内容截图

    在Android10平台建了一个测试多音字转拼音的demo。内容如下

    1.项目结构图

    2.多音字内容图,用户可以根据实际需求自己添加多音字本项目中搜录了常用的多音字可以应付大部分生活中的场景了。

    3.运行结果图

    实际运行结果如下:

     

    展开全文
  • java如何准确的读取多音字

    千次阅读 2014-12-02 18:41:21
    java如何准确的读取多音字 java准确读取多音字的方法,多音字的识别一直是一个问题,笔者结合了很多不同的读取方法,完成了这个扩展的帮助类。 首先,下载java读取拼音的jar(pinyin4j-2.5.0.jar)。 然后, ...
    java如何准确的读取多音字

    java准确读取多音字的方法,多音字的识别一直是一个问题,笔者结合了很多不同的读取方法,完成了这个扩展的帮助类。
    首先,下载java读取拼音的jar(pinyin4j-2.5.0.jar)。
    然后,
    package data.util;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import net.sourceforge.pinyin4j.PinyinHelper;
    import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
    import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
    import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
    import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
    import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
    
    public class PinyinUtilsPro {
    	private static Map<String, List<String>> pinyinMap = new HashMap<String, List<String>>();
    	
    	private static List<String> pinyin = new ArrayList<String>();
    	private static List<String> hpinyin = new ArrayList<String>();
    	
    	private static String regx = "(,| |\\[|\\])";// 正则表达式,匹配字符串用
    	
    	public static void main(String[] args) {
    		String str = "绿色中国银行长沙分行";
    		
    		convertChineseToPinyin(str);
    		String py = getPinyin();
    		System.out.println(str + " = " + py);
    		
    		String headP = getHeadPinyin();
    		System.out.println(headP);
    	}
    	
    	public static String getPinyin(){
    		return String.valueOf(pinyin).replaceAll(regx, "");
    	}
    	
    	public static String getHeadPinyin(){
    		return String.valueOf(hpinyin).replaceAll(regx, "");
    	}
    
    	/**
    	 * 汉字转拼音 最大匹配优先
    	 * 
    	 * @param chinese
    	 * @return
    	 */
    	public static void convertChineseToPinyin(String chinese) {
    		initPinyin();
    		HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    		defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
    		defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
    		defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
    
    		char[] arr = chinese.toCharArray();
    
    		for (int i = 0; i < arr.length; i++) {
    			char ch = arr[i];
    			if (ch > 128) { // 非ASCII码
    				// 取得当前汉字的所有全拼
    				try {
    					String[] results = PinyinHelper.toHanyuPinyinStringArray(
    							ch, defaultFormat);
    					if (results != null) { // 非中文
    						int len = results.length;
    						if (len == 1) { // 不是多音字
    							setValue(results[0]);
    						} else { // 多音字
    							// 合并同音不同声调(去重)
    							List<String> duoyinziPinyins= new ArrayList<String>();// 定义一个空的数组
    							for(int k=0;k<len;k++){
    								if(!duoyinziPinyins.contains(results[k])){
    									duoyinziPinyins.add(results[k]);
    								}
    							}
    							
    							if(duoyinziPinyins.size()==1){
    								setValue(duoyinziPinyins.get(0));// 如果新的集合长度是1,就取第一个
    							}else{// 
    								System.out.println("多音字:" + ch);
    								int length = chinese.length();
    								boolean flag = false;
    								for (int x = 0; x < duoyinziPinyins.size(); x++) {
    									String py = duoyinziPinyins.get(x);
    									
    									if (i + 3 <= length) { // 后向匹配2个汉字 大西洋
    										if(matchPinyins(py,chinese, i, i+3)){
    											flag = setValue(py);
    											break;
    										}
    									}
    	
    									if (i + 2 <= length) { // 后向匹配 1个汉字 大西
    										if(matchPinyins(py,chinese, i, i+2)){
    											flag = setValue(py);
    											break;
    										}
    									}
    	
    									if ((i - 2 >= 0) && (i + 1 <= length)) { // 前向匹配2个汉字
    										if(matchPinyins(py,chinese, i-2, i+1)){
    											flag = setValue(py);
    											break;
    										}
    									}
    	
    									if ((i - 1 >= 0) && (i + 1 <= length)) { // 前向匹配1个汉字
    																				// 固大
    										if(matchPinyins(py,chinese, i-1, i+1)){
    											flag = setValue(py);
    											break;
    										}
    									}
    	
    									if ((i - 1 >= 0) && (i + 2 <= length)) { // 前向1个,后向1个
    																				// 固大西
    										if(matchPinyins(py,chinese, i-1, i+2)){
    											flag = setValue(py);
    											break;
    										}
    									}
    								}
    	
    								if (!flag) { 
    									// 如果都没有找到,也就是常用读音
    									System.out.println("default = " + duoyinziPinyins.get(0));
    									setValue(duoyinziPinyins.get(0));
    								}
    							}
    						}
    					}
    				} catch (BadHanyuPinyinOutputFormatCombination e) {
    					e.printStackTrace();
    				}
    			} else {
    				setValue(String.valueOf(ch));
    			}
    		}
    	}
    	
    	// 截取词组,并匹配拼音表中的词组
    	private static boolean matchPinyins(String py,String chinese,int m,int n){
    		String s = chinese.substring(m,n);
    		List<String> cizus = pinyinMap.get(py);
    		if(cizus!=null&&cizus.contains(s)){
    			return true;
    		}
    		return false;
    	}
    
    	private static boolean setValue(String py) {
    		pinyin.add(py);
    		hpinyin.add(py.substring(0, 1));
    		return true;
    	}
    	
    	/**
    	 * 初始化 所有的多音字词组
    	 */
    	public static void initPinyin() {
    		// 读取多音字的全部拼音表;
    		InputStream file = PinyinUtilsPro.class.getResourceAsStream("/duoyinzi_dic.txt");
    		BufferedReader br = null;
    		String s = null;
    		try {
    			br = new BufferedReader(new InputStreamReader(file,"UTF-8"));
    			while ((s = br.readLine()) != null) {
    				if (s != null) {
    					String[] arr = s.split("#");
    					String pinyin = arr[0];
    					String chinese = arr[1];
    
    					if (chinese != null) {
    						String[] strs = chinese.split(" ");
    						//去空						
    						List<String> list = arr2List(strs);
    						pinyinMap.put(pinyin, list);
    					}
    				}
    			}
    		} catch (IOException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				br.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    
    	// 数组转换成集合,并且去掉空格
    	private static List<String> arr2List(String[] strs) {
    		if(strs!=null&&strs.length>0){
    			List<String> list = new ArrayList<String>();
    			for (int i = 0; i < strs.length; i++) {
    				if(!"".equals(strs[i].trim())){
    					list.add(strs[i].trim());
    				}
    			}
    			return list;
    		}else{
    			return null;
    		}
    	}
    }
    

    使用方法:
    再需要使用拼音的方法处,
    		PinyinUtilsPro.convertChineseToPinyin(s);
    		String itemHeadpell = PinyinUtilsPro.getHeadPinyin();
    		String itemAspell = PinyinUtilsPro.getPinyin();
    		sysDicItem.setItemSpell(itemHeadpell);
    		sysDicItem.setItemAspell(itemAspell);




    文件下载链接:http://download.csdn.net/detail/e_real/8217659
    展开全文
  • 来公司也有一段时间了,目前也开始被分配些任务了,第一个任务是关于给出多音字和其常见读音的任务,拿到任务时候是这样想到的最难易下手的地方是——什么叫常用,拿来几个例子,和同事一看,这明显是个开放的答案,...
  • 选取总字数达1200多万的各类网络文献为语料,采用多音字常用读音和多音字细化处理两种统计方式对语料的汉语拼音字母进行统计,通过对两种统计结果进行对比分析,得出多音字对汉字拼音字母统计影响很小这一结论.
  • thinkphp5整合系列之汉字转拼音完美支持多音字1.进入thinkphp5项目的根目录,用composer 安装扩展2.接下来需要做的事就是在控制器中引入 /vendor/overtrue/pinyin/src/Pinyin.php 文件里面的Pinyn这个类 项目需求,...
  • 语音朗读技术日益普及但多音字问题始终没有得到解决,虽然采用词组可以减少一些多音字识别的困难,但不能从根本上解决问题。在朗读中出现将字音读错实在使人不爽。所以大家都来集思广益,想出切实可行的解决方法,让...
  • 汉字转拼音 自适应多音字处理 姓名自动切分 目录 一. 概要 二. 适用场景 三.代码运行效果 四.代码的原理 1. 到此为止,你可能会产生两个疑问: 2. 解释第一个问题(汉字转拼音使用一个函数就可以,为什么我的...
  • 官方的pinyin4j虽然强大,能够支持音标转换,但硬伤在于不...然后估摸着一周左右的时间应该能够把常用多音字词库给整出来,于是就开干。从[url=http://xh.5156edu.com/][color=blue]在线新华字典[/color][/url]、[ur...
  • 多音字一直以来都是小学语文学习的难点,也是学生考试中最容易丢分的地方。《新华字典》中所列的多音字有600多个,个别字的读音有5个之多(如“和”字有hé、hè、hú、huò、huó五个音)。 先不说孩子,相信很多...
  • 选择了常见易错的33个多音字和24个多音词作为研究对象,构建了一个平均每个多音字(词)5 000句的语料库,并且提出了一种结合决策树和基于转换的错误驱动的学习(Transformation- Based error-driven Learning,TBL...
  • 该代码可以将汉字转全拼音。但是里面对多音字没有多加处理,但是都是常用音为主
  • * 取得给定汉字串的首字母串,即声母串 Title: ChineseCharToEn(含常用汉字,不常见汉字及多音字) * * @author: (le.qiao) * @e-mail: qiaolevip@gmail.com * @myblog: <a href="http://qiaolevip.iteye.com">...
  • 汉字转拼音类(多音字

    万次阅读 2016-10-20 10:23:00
    缘由:根据姓名创建账号,存在生僻字以及多音字 做法:自己根据网上信息自己写了类,词库可能不完整(有待补充) 其他不多说了,先上代码如下: using System; using System.Collections.Generic; using ...
  • 首先,下载多音字字典文件: 下载字典 import java . io . BufferedReader ; import java . io . File ; import java . io . FileInputStream ; import java . io . FileNotFoundException ; import ...
  • C#获得中文首字母和全拼(多音字除外),主要参考CSDN和网络例子,整理而得。
  • 论文名字:Polyphone Disambiguation for...基本思路:多音字的读音可以通过上下文确定,文中想引入不同级别的上下文即word-level embedding和sentence-level embedding实现多音字消歧。 表现最好的模型结构:一层Bi-LS
  • Android 联系人名字多音字的处理方法

    千次阅读 2013-11-15 15:54:19
    前言  欢迎大家我分享和推荐好用的代码段~~ 声明  欢迎转载,但请保留文章原始出处:  CSDN:http://www.csdn.net  雨季o莫忧离:... 正文   ...Android在处理多音字的时候使用的是HanziToPinyin.java这个类,
  • Java方面有PinYin4j开源项目获取汉字的拼音,但是对多音字处理的不好,自己研究了一下,终于给解决了。在这里跟大家分享一下!     工程目录结构如下   原理:将可能出现的多音字 词组
  • C#汉字转拼音(支持多音字

    千次阅读 2018-03-16 18:55:12
    第一篇,文章中作者的源码基本能满足汉字转拼音的需要,对于其他特殊的字符,也可以在进行添加补充,不足之处就是不支持多音字,由于需要支持多音字的查询,所以后面有查了下其他的文章,发现还没有现成的文章(也...
  • 汉语转拼音-----带音调和多音字识别 1、 背景 几年前就在网上看到过汉字转拼音的程序,大都就是按汉字的编码转换,单字对应的算法实现的。在网上搜索“汉字转拼音”的文章可以搜索到很多,基本都是同一个算法,...
  • 汉字转拼音,主要是多音字的处理

    千次阅读 2015-09-17 15:45:02
    * 初始化 所有的多音字词组 */ static { // 读取多音字的全部拼音表; InputStream file = LuochenPinyinUtils.class.getResourceAsStream("/duoyinzi_dic.txt"); BufferedReader br = null; String s = ...
  • 拼音输出格式可以定制,然而真正的把含有多音字、数字、字母的中文句子转成拼音得到所有的组合情况却有很大难度,我看过很多有关博客或者帖子,被广大网友视为它的短板和不足,很多网友哀声叹气不能真正得到所有组合...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,629
精华内容 62,651
关键字:

常见多音字