华宇拼音输入法论坛

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 20108|回复: 20
打印 上一主题 下一主题

【程序试用】命令行音节解析程序-2012.03.01更新

[复制链接]
跳转到指定楼层
1
发表于 2012-1-21 04:57:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 krsun 于 2012-3-1 18:01 编辑

完成了一个简单的命令行音节解析程序,请大家帮忙测试一下。

使用方法:
1.解压压缩包至任意文件夹。
2.进入PyParse中点击PyParse.exe运行程序。
3.以全拼或者简拼的方式输入拼音,输入完成后按回车键。
4.程序列出解析出的全部音节,以及解析出的符合用户输入拼音的词条数。
5.程序等待用户继续输入其他的测试拼音串。如果希望退出,关闭窗口即可。

附个程序的截图;




2012.01.26更新
加入控制完整解析或者部分解析的选项。
输入y+回车进入完整解析模式(不会解析出简拼,只解析完整拼音以及零声母拼音)



输入n+回车进入部分解析模式(解析中包含所有规则允许的拼音,包括所有的简拼)




2012.01.29更新
修改了一些BUG
没有功能的变化

2012.01.30更新
程序运行以后所进行的解析结果全部记录在pinyinParse.txt文件中
程序下次运行的时候将先清空pinyinParse.txt文件,然后记录本次解析结果。

2012.02.25更新
修改了一些BUG
对程序代码进行重构

2012.03.01更新
继续重构代码

PyParse.zip

343.58 KB, 下载次数: 960

2
 楼主| 发表于 2012-1-21 09:58:41 | 只看该作者
发现没有安装MinGW的机器不能正确运行
添加了需要的库文件
3
发表于 2012-1-21 11:19:42 | 只看该作者
4
 楼主| 发表于 2012-1-26 23:46:43 | 只看该作者
程序更新了,请继续试用。
5
 楼主| 发表于 2012-1-29 18:48:09 | 只看该作者
修改了BUG,顶一下。
6
发表于 2012-1-30 07:16:02 | 只看该作者
我在试用。测试了一些要试用隔音符号的音节,结果还不错,还没有发现问题。例如,开启y后,键入piao
结果:
pi'a'o
pi'ao
piao

第一个稍有疑问,像pi  a  o  能有什么词产生呢。。

[ 本帖最后由 古陶瓦 于 2012-1-30 07:45 编辑 ]
7
发表于 2012-1-30 07:47:01 | 只看该作者
试着测试一下下面的音节,看看结果怎么样?

ana○anai○anan○anang○anao○ane○anen○anga○angai○angan○angang○angao○ange○angen○angou○ao○bana○banai○banan○banang○banao○bane○banen○banga○bangai○bangan○bangang○bangao○bange○bangen○bangou○bao○benga○bengai○bengan○bengang○bengao○benge○bengen○bengou○bian○biao○bie○bina○binai○binan○binang○binao○bine○binen○binga○bingai○bingan○bingang○bingao○binge○bingen○bingou○cana○canai○canan○canang○canao○cane○canen○canga○cangai○cangan○cangang○cangao○cange○cangen○cangou○cao○cena○cenai○cenan○cenang○cenao○cene○cenen○cenga○cengai○cengan○cengang○cengao○cenge○cengen○cengou○chana○chanai○chanan○chanang○chanao○chane○chanen○changa○changai○changan○changang○changao○change○changen○changou○chao○chena○chenai○chenan○chenang○chenao○chene○chenen○chenga○chengai○chengan○chengang○chengao○chenge○chengen○chengou○chuai○chuan○chuang○chuanga○chuangai○chuangan○chuangang○chuangao○chuange○chuangen○chuangou○chuna○chunai○chunan○chunang○chunao○chune○chunen○chuo○cuan○cuna○cunai○cunan○cunang○cunao○cune○cunen○cuo○dana○danai○danan○danang○danao○dane○danen○danga○dangai○dangan○dangang○dangao○dange○dangen○dangou○dao○dia○dian○diana○dianai○dianan○dianang○dianao○diane○dianen○diao○die○duan○duna○dunai○dunan○dunang○dunao○dune○dunen○duo○ena○enai○enan○enang○enao○ene○enen○eran○erang○erao○ere○eren○erou○fana○fanai○fanan○fanang○fanao○fane○fanen○fanga○fangai○fangan○fangang○fangao○fange○fangen○fangou○fenga○fengai○fengan○fengang○fengao○fenge○fengen○fengou○gana○ganai○ganan○ganang○ganao○gane○ganen○ganga○gangai○gangan○gangang○gangao○gange○gangen○gangou○gao○gena○genai○genan○genang○genao○gene○genen○genga○gengai○gengan○gengang○gengao○genge○gengen○gengou○gua○guai○guan○guana○guanai○guanan○guanang○guanao○guane○guanen○guang○guanga○guangai○guangan○guangang○guangao○guange○guangen○guangou○guao○guna○gunai○gunan○gunang○gunao○gune○gunen○guo○hana○hanai○hanan○hanang○hanao○hane○hanen○hanga○hangai○hangan○hangang○hangao○hange○hangen○hangou○hao○hena○henai○henan○henang○henao○hene○henen○henga○hengai○hengan○hengang○hengao○henge○hengen○hengou○hua○huai○huan○huana○huanai○huanan○huanang○huanao○huane○huanen○huang○huanga○huangai○huangan○huangang○huangao○huange○huangen○huangou○huao○huna○hunai○hunan○hunang○hunao○hune○hunen○huo○jia○jian○jiana○jianai○jianan○jianang○jianao○jiane○jianen○jiang○jianga○jiangai○jiangan○jiangang○jiangao○jiange○jiangen○jiangou○jiao○jie○jina○jinai○jinan○jinang○jinao○jine○jinen○jinga○jingai○jingan○jingang○jingao○jinge○jingen○jingou○juan○jue○juna○junai○junan○junang○junao○june○junen○kana○kanai○kanan○kanang○kanao○kane○kanen○kanga○kangai○kangan○kangang○kangao○kange○kangen○kangou○kao○kena○kenai○kenan○kenang○kenao○kene○kenen○kenga○kengai○kengan○kengang○kengao○kenge○kengen○kengou○kua○kuai○kuan○kuana○kuanai○kuanan○kuanang○kuanao○kuane○kuanen○kuang○kuanga○kuangai○kuangan○kuangang○kuangao○kuange○kuangen○kuangou○kuao○kuna○kunai○kunan○kunang○kunao○kune○kunen○kuo○lana○lanai○lanan○lanang○lanao○lane○lanen○langa○langai○langan○langang○langao○lange○langen○langou○lao○lia○lian○liana○lianai○lianan○lianang○lianao○liane○lianen○liang○lianga○liangai○liangan○liangang○liangao○liange○liangen○liangou○liao○lie○lina○linai○linan○linang○linao○line○linen○linga○lingai○lingan○lingang○lingao○linge○lingen○lingou○luan○lue○luna○lunai○lunan○lunang○lunao○lune○lunen○luo○mana○manai○manan○manang○manao○mane○manen○manga○mangai○mangan○mangang○mangao○mange○mangen○mangou○mao○mena○menai○menan○menang○menao○mene○menen○menga○mengai○mengan○mengang○mengao○menge○mengen○mengou○mian○miao○mie○mina○minai○minan○minang○minao○mine○minen○minga○mingai○mingan○mingang○mingao○minge○mingen○mingou○nana○nanai○nanan○nanang○nanao○nane○nanen○nanga○nangai○nangan○nangang○nangao○nange○nangen○nangou○nao○nena○nenai○nenan○nenang○nenao○nene○nenen○nenga○nengai○nengan○nengang○nengao○nenge○nengen○nengou○nian○niang○nianga○niangai○niangan○niangang○niangao○niange○niangen○niangou○niao○nie○nina○ninai○ninan○ninang○ninao○nine○ninen○ninga○ningai○ningan○ningang○ningao○ninge○ningen○ningou○nuan○nue○nuo○pana○panai○panan○panang○panao○pane○panen○panga○pangai○pangan○pangang○pangao○pange○pangen○pangou○pao○penga○pengai○pengan○pengang○pengao○penge○pengen○pengou○pian○piao○pie○pina○pinai○pinan○pinang○pinao○pine○pinen○pinga○pingai○pingan○pingang○pingao○pinge○pingen○pingou○qia○qian○qiana○qianai○qianan○qianang○qianao○qiane○qianen○qiang○qianga○qiangai○qiangan○qiangang○qiangao○qiange○qiangen○qiangou○qiao○qie○qina○qinai○qinan○qinang○qinao○qine○qinen○qinga○qingai○qingan○qingang○qingao○qinge○qingen○qingou○quan○que○quna○qunai○qunan○qunang○qunao○qune○qunen○ranga○rangai○rangan○rangang○rangao○range○rangen○rangou○rena○renai○renan○renang○renao○rene○renen○renga○rengai○rengan○rengang○rengao○renge○rengen○rengou○ruan○runa○runai○runan○runang○runao○rune○runen○ruo○sana○sanai○sanan○sanang○sanao○sane○sanen○sanga○sangai○sangan○sangang○sangao○sange○sangen○sangou○sao○sena○senai○senan○senang○senao○sene○senen○senga○sengai○sengan○sengang○sengao○senge○sengen○sengou○shana○shanai○shanan○shanang○shanao○shane○shanen○shanga○shangai○shangan○shangang○shangao○shange○shangen○shangou○shao○shena○shenai○shenan○shenang○shenao○shene○shenen○shenga○shengai○shengan○shengang○shengao○shenge○shengen○shengou○shua○shuai○shuan○shuana○shuanai○shuanan○shuanang○shuanao○shuane○shuanen○shuang○shuanga○shuangai○shuangan○shuangang○shuangao○shuange○shuangen○shuangou○shuao○shuna○shunai○shunan○shunang○shunao○shune○shunen○shuo○suan○suna○sunai○sunan○sunang○sunao○sune○sunen○suo○tana○tanai○tanan○tanang○tanao○tane○tanen○tanga○tangai○tangan○tangang○tangao○tange○tangen○tangou○tao○tian○tiao○tie○tuan○tuna○tunai○tunan○tunang○tunao○tune○tunen○tuo○wana○wanai○wanan○wanang○wanao○wane○wanen○wanga○wangai○wangan○wangang○wangao○wange○wangen○wangou○wenga○wengai○wengan○wengang○wengao○wenge○wengen○wengou○xia○xian○xiana○xianai○xianan○xianang○xianao○xiane○xianen○xiang○xianga○xiangai○xiangan○xiangang○xiangao○xiange○xiangen○xiangou○xiao○xie○xina○xinai○xinan○xinang○xinao○xine○xinen○xinga○xingai○xingan○xingang○xingao○xinge○xingen○xingou○xuan○xue○xuna○xunai○xunan○xunang○xunao○xune○xunen○yana○yanai○yanan○yanang○yanao○yane○yanen○yanga○yangai○yangan○yangang○yangao○yange○yangen○yangou○yao○yina○yinai○yinan○yinang○yinao○yine○yinen○yinga○yingai○yingan○yingang○yingao○yinge○yingen○yingou○yuan○yue○yuna○yunai○yunan○yunang○yunao○yune○yunen○zana○zanai○zanan○zanang○zanao○zane○zanen○zanga○zangai○zangan○zangang○zangao○zange○zangen○zangou○zao○zena○zenai○zenan○zenang○zenao○zene○zenen○zenga○zengai○zengan○zengang○zengao○zenge○zengen○zengou○zhana○zhanai○zhanan○zhanang○zhanao○zhane○zhanen○zhanga○zhangai○zhangan○zhangang○zhangao○zhange○zhangen○zhangou○zhao○zhena○zhenai○zhenan○zhenang○zhenao○zhene○zhenen○zhenga○zhengai○zhengan○zhengang○zhengao○zhenge○zhengen○zhengou○zhua○zhuai○zhuan○zhuana○zhuanai○zhuanan○zhuanang○zhuanao○zhuane○zhuanen○zhuang○zhuanga○zhuangai○zhuangan○zhuangang○zhuangao○zhuange○zhuangen○zhuangou○zhuao○zhuna○zhunai○zhunan○zhunang○zhunao○zhune○zhunen○zhuo○zuan○zuna○zunai○zunan○zunang○zunao○zune○zunen○zuo○


[ 本帖最后由 古陶瓦 于 2012-1-30 07:49 编辑 ]
8
 楼主| 发表于 2012-1-30 22:28:08 | 只看该作者
原帖由 古陶瓦 于 2012-1-30 07:16 发表
我在试用。测试了一些要试用隔音符号的音节,结果还不错,还没有发现问题。例如,开启y后,键入piao
结果:
pi'a'o
pi'ao
piao

第一个稍有疑问,像pi  a  o  能有什么词产生呢。。

我的想法是输出全部符合拼音规则的解析,因为在音节解析中不可能确切地知道某个组合是否有实际意义。
如果词库中有符合这个组合的词条,那这个组合就有意义。如果用户用到了这个组合来组词,那也有意义。但是如果用户用到了这个组合,输入法却不能出用户希望的词,那就是解析不够全面了。
9
发表于 2012-1-30 22:54:27 | 只看该作者
原帖由 krsun 于 2012-1-30 22:28 发表

我的想法是输出全部符合拼音规则的解析,因为在音节解析中不可能确切地知道某个组合是否有实际意义。
如果词库中有符合这个组合的词条,那这个组合就有意义。如果用户用到了这个组合来组词,那也有意义。但是如果 ...


理解你的用意了,那程序做得还是不错的。不过,这样以来似乎无用的音节也不少。
10
 楼主| 发表于 2012-1-30 23:52:16 | 只看该作者
我的理解是解析的程序尽量找出全部符合规则的组合,然后再与词库中的编码比对,符合的就显示在候选中。这样不会遗漏词库中已有的词条。多出的负担就是多比较了一些无用的词条,但是全部词条的总数也不是很多,感觉应该是不会对系统造成很大负担。词库的编码如果做了较好的索引,可能许多情况下也不必全部扫描。这样系统的负担就更小了。
11
 楼主| 发表于 2012-1-31 00:00:46 | 只看该作者
继续更新
解析结果记录在文件中,便于查看。
12
 楼主| 发表于 2012-2-25 02:10:50 | 只看该作者
继续更新
13
 楼主| 发表于 2012-3-1 17:58:39 | 只看该作者
继续更新
14
发表于 2012-3-5 12:37:02 | 只看该作者
支持一下
15
 楼主| 发表于 2012-9-1 22:22:26 | 只看该作者
顶一下
16
 楼主| 发表于 2012-9-11 22:44:38 | 只看该作者
顶顶更健康^_^
17
发表于 2012-9-11 22:49:26 | 只看该作者
回krsun版:

已经下载了, 若不会用,再请教!
18
发表于 2012-9-11 23:14:33 | 只看该作者
回krsun版:

摆弄了多时都不行。

在我的系统中,只开启了两款输入法:加加和紫光。

运行“PyParse.exe”,打开命令行窗口后——

切换到加加时,焦点能落到命令行窗口,也能输入。

可切换到紫光时,在桌面不显示紫光浮标(控制板),焦点也不能落到命令行窗口,不显示光标,只能输入英文字母。
19
 楼主| 发表于 2012-9-12 00:40:15 | 只看该作者
这个不能结合输入法,只是演示对输入的拼音串的解析。
进入程序后,如果输入y回车,就表示按照完整拼音解析拼音串,如果输入的是n回车,就表示按照混拼解析拼音串。然后就输入拼音串,输入完成后按回车。此时就会将解析结果显示出来。显示所有符合的结果。
如果还是不知道如何用,就按照我的第二个截图,操作一遍。
20
发表于 2012-9-12 00:58:41 | 只看该作者
本帖最后由 wangyanhan 于 2012-9-12 01:02 编辑

回复 19# krsun

1、输入n,回车。显示如下图:


2、输入“jint”。显示如下图:


3、回车。显示如下图:


完全没有您在一楼的那种效果出来。
21
 楼主| 发表于 2012-9-12 10:32:54 | 只看该作者
不要把拼音输入法切换出来,直接输入拼音串。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|华宇拼音输入法网站  

GMT+8, 2025-12-24 22:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表