skywind3000 / ECDICT

Free English to Chinese Dictionary Database
MIT License
5.89k stars 1.04k forks source link

词典里exchange的一些错误 #44

Closed chenjiasheng closed 5 years ago

chenjiasheng commented 5 years ago

非常感谢作者!

我的脚本发现一些exchange相关的错误,大概100多条,主要是:

oov exchange,可能原因 1、词典错误,例如action是名词不该有actioning等变形 2、单词的某种变形与某个缩略语相同导致的。例如aid的复数aids与AIDS(艾滋)相同。

case-sensitive exchange 3、首字母大小写混乱导致的

bad exchange 4、exchange里某项只列了key没有列出value,例如bath的进行时:s:baths/3:baths/i:/p:bathed/d:bathed

warning: case-sensitive exchange. word=aboriginal, exchange=s:aboriginals error: oov exchange. word=action, exchange=i:actioning error: oov exchange. word=action, exchange=p:actioned error: oov exchange. word=ad, exchange=s:ads error: oov exchange. word=aid, exchange=s:aids error: oov exchange. word=aid, exchange=3:aids error: oov exchange. word=aim, exchange=s:aims error: oov exchange. word=aim, exchange=3:aims warning: case-sensitive exchange. word=amalgamate, exchange=d:amalgamated warning: case-sensitive exchange. word=amalgamate, exchange=p:amalgamated warning: case-sensitive exchange. word=American, exchange=s:americans warning: case-sensitive exchange. word=Arabian, exchange=s:arabians warning: case-sensitive exchange. word=are, exchange=s:ares warning: case-sensitive exchange. word=aria, exchange=s:arias error: oov exchange. word=armored, exchange=0:armore warning: case-sensitive exchange. word=bacchanal, exchange=s:bacchanals error: bad exchange. word=bath, exchange=i: error: oov exchange. word=bedclothes, exchange=0:bedclothe warning: case-sensitive exchange. word=bishop, exchange=s:bishops warning: case-sensitive exchange. word=bower, exchange=s:bowers warning: case-sensitive exchange. word=bower, exchange=3:bowers warning: case-sensitive exchange. word=bower, exchange=f:bowers warning: case-sensitive exchange. word=brook, exchange=i:brooking warning: case-sensitive exchange. word=brown, exchange=s:browns warning: case-sensitive exchange. word=brown, exchange=i:browning warning: case-sensitive exchange. word=brown, exchange=3:browns warning: case-sensitive exchange. word=Buddhist, exchange=s:buddhists warning: case-sensitive exchange. word=burrow, exchange=s:burrows warning: case-sensitive exchange. word=burrow, exchange=3:burrows warning: case-sensitive exchange. word=Byzantine, exchange=s:byzantines warning: case-sensitive exchange. word=Canadian, exchange=s:canadians error: bad exchange. word=can, exchange=i: error: bad exchange. word=can, exchange=d: warning: case-sensitive exchange. word=catholic, exchange=s:catholics warning: case-sensitive exchange. word=chamber, exchange=s:chambers warning: case-sensitive exchange. word=chamber, exchange=3:chambers warning: case-sensitive exchange. word=Christmas, exchange=f:Christmases warning: case-sensitive exchange. word=clement, exchange=s:clements warning: case-sensitive exchange. word=Conservative, exchange=s:conservatives warning: case-sensitive exchange. word=cozen, exchange=3:cozens error: oov exchange. word=crossbones, exchange=0:crossbone warning: case-sensitive exchange. word=Cuban, exchange=s:cubans error: oov exchange. word=deforest, exchange=0:defore warning: case-sensitive exchange. word=dive, exchange=3:dives warning: case-sensitive exchange. word=dive, exchange=s:dives warning: case-sensitive exchange. word=down, exchange=i:downing warning: case-sensitive exchange. word=Easter, exchange=s:easters error: oov exchange. word=evenhanded, exchange=0:evenhand warning: case-sensitive exchange. word=eve, exchange=s:eves error: oov exchange. word=frank, exchange=3:franks warning: case-sensitive exchange. word=French, exchange=f:Frenches warning: case-sensitive exchange. word=Friday, exchange=s:fridays warning: case-sensitive exchange. word=gibbon, exchange=s:gibbons warning: case-sensitive exchange. word=gold, exchange=i:golding warning: case-sensitive exchange. word=Greek, exchange=s:greeks warning: case-sensitive exchange. word=grove, exchange=s:groves warning: case-sensitive exchange. word=hall, exchange=i:halling warning: case-sensitive exchange. word=hawk, exchange=i:hawking warning: case-sensitive exchange. word=headteacher, exchange=s:headteachers warning: case-sensitive exchange. word=helm, exchange=s:helms warning: case-sensitive exchange. word=higher, exchange=s:highers warning: case-sensitive exchange. word=hilly, exchange=r:hillier error: oov exchange. word=hip, exchange=s:hips error: bad exchange. word=hyphen, exchange=i: error: bad exchange. word=hyphen, exchange=d: warning: case-sensitive exchange. word=Iceland, exchange=s:icelands error: oov exchange. word=international, exchange=s:internationals error: oov exchange. word=labored, exchange=0:labore warning: case-sensitive exchange. word=lady, exchange=s:ladies warning: case-sensitive exchange. word=lance, exchange=i:lancing warning: case-sensitive exchange. word=Latin, exchange=s:latins warning: case-sensitive exchange. word=mall, exchange=i:malling warning: case-sensitive exchange. word=mar, exchange=3:mars warning: case-sensitive exchange. word=Marxism, exchange=s:marxisms warning: case-sensitive exchange. word=Marxist, exchange=s:marxists warning: case-sensitive exchange. word=meadow, exchange=s:meadows error: bad exchange. word=matter, exchange=i: warning: case-sensitive exchange. word=mesh, exchange=p:meshed warning: case-sensitive exchange. word=mesh, exchange=d:meshed warning: case-sensitive exchange. word=Mexican, exchange=s:mexicans warning: case-sensitive exchange. word=mire, exchange=d:mired warning: case-sensitive exchange. word=mire, exchange=p:mired warning: case-sensitive exchange. word=Monday, exchange=s:mondays error: oov exchange. word=motley, exchange=b:motlier error: oov exchange. word=motley, exchange=z:motliest error: oov exchange. word=motley, exchange=f:motleys error: oov exchange. word=neighboring, exchange=0:neighbore warning: case-sensitive exchange. word=nut, exchange=i:nutting error: oov exchange. word=odometer, exchange=0:odomete warning: case-sensitive exchange. word=onion, exchange=s:onions warning: case-sensitive exchange. word=penance, exchange=s:penances error: oov exchange. word=pet, exchange=s:pets error: oov exchange. word=pet, exchange=3:pets warning: case-sensitive exchange. word=polished, exchange=0:polish warning: case-sensitive exchange. word=pope, exchange=s:popes error: oov exchange. word=pot, exchange=s:pots error: oov exchange. word=pot, exchange=3:pots warning: case-sensitive exchange. word=potter, exchange=s:potters warning: case-sensitive exchange. word=potter, exchange=3:potters warning: case-sensitive exchange. word=provisional, exchange=s:provisionals error: oov exchange. word=purple, exchange=z:purplest warning: case-sensitive exchange. word=regent, exchange=s:regents warning: case-sensitive exchange. word=republican, exchange=s:republicans error: oov exchange. word=replete, exchange=b:more replete error: oov exchange. word=replete, exchange=z:most replete error: bad exchange. word=reproof, exchange=d: warning: case-sensitive exchange. word=rocket, exchange=s:rockets warning: case-sensitive exchange. word=rocket, exchange=3:rockets warning: case-sensitive exchange. word=rowdy, exchange=s:rowdies error: oov exchange. word=rim, exchange=s:rims error: oov exchange. word=rim, exchange=3:rims warning: case-sensitive exchange. word=Saturday, exchange=s:saturdays warning: case-sensitive exchange. word=scotsman, exchange=s:scotsmen warning: case-sensitive exchange. word=Scottish, exchange=s:scottish warning: case-sensitive exchange. word=Scottish, exchange=0:scottish warning: case-sensitive exchange. word=seller, exchange=s:sellers warning: case-sensitive exchange. word=shepherd, exchange=s:shepherds warning: case-sensitive exchange. word=shepherd, exchange=3:shepherds error: bad exchange. word=sick, exchange=i: error: bad exchange. word=sick, exchange=p: error: bad exchange. word=sick, exchange=d: error: oov exchange. word=ski, exchange=d:ski'd warning: case-sensitive exchange. word=Soviet, exchange=s:soviets warning: case-sensitive exchange. word=spear, exchange=s:spears warning: case-sensitive exchange. word=spear, exchange=3:spears warning: case-sensitive exchange. word=staple, exchange=s:staples warning: case-sensitive exchange. word=staple, exchange=3:staples warning: case-sensitive exchange. word=state, exchange=s:states warning: case-sensitive exchange. word=state, exchange=3:states warning: case-sensitive exchange. word=summer, exchange=s:summers warning: case-sensitive exchange. word=summer, exchange=3:summers warning: case-sensitive exchange. word=Sunday, exchange=s:sundays warning: case-sensitive exchange. word=synoptic, exchange=s:synoptics warning: case-sensitive exchange. word=tar, exchange=i:tarring warning: case-sensitive exchange. word=Thursday, exchange=s:thursdays warning: case-sensitive exchange. word=transformer, exchange=s:transformers warning: case-sensitive exchange. word=Trident, exchange=s:tridents error: oov exchange. word=trip, exchange=s:trips error: oov exchange. word=trip, exchange=3:trips error: oov exchange. word=trumpeter, exchange=0:trumpete warning: case-sensitive exchange. word=Tuesday, exchange=s:tuesdays warning: case-sensitive exchange. word=twin, exchange=s:twins warning: case-sensitive exchange. word=twin, exchange=3:twins error: oov exchange. word=unblemished, exchange=0:unblemish error: oov exchange. word=unexpected, exchange=0:unexpect error: oov exchange. word=ungrudging, exchange=0:ungrudge error: oov exchange. word=unnoticed, exchange=0:unnotice error: oov exchange. word=unstinting, exchange=0:unstint error: oov exchange. word=unthreatening, exchange=0:unthreaten error: oov exchange. word=up, exchange=s:ups error: oov exchange. word=upbraid, exchange=0:upbray error: oov exchange. word=vine, exchange=s:vines warning: case-sensitive exchange. word=vicar, exchange=s:vicars warning: case-sensitive exchange. word=walkman, exchange=s:walkmans warning: case-sensitive exchange. word=ware, exchange=i:waring warning: case-sensitive exchange. word=Wednesday, exchange=s:wednesdays warning: case-sensitive exchange. word=wilt, exchange=3:wilts warning: case-sensitive exchange. word=winter, exchange=s:winters warning: case-sensitive exchange. word=winter, exchange=3:winters error: bad exchange. word=worst, exchange=i: error: bad exchange. word=worst, exchange=p:

skywind3000 commented 5 years ago

欢迎 PR。

chenjiasheng commented 5 years ago

对于上面列出的第1和4条,确实是词典错误的,我今天会提交一个PR。

但是,对于大小写造成的两类问题,我只在我本地修改,以免引入问题: 1、exchange应该改成首字母大写的。 修改方法:修改exchange字段为首字母大写。 例如:Frenchman词条exchange字段,从s:frenchmen修改s:Frenchmen。但是当前词典exchange字段全部都是纯小写的,修改为大写之后会不会有其他问题? 2、exchange与另一个全大写的abbr忽略大小写之后相同。 修改方法:增加一个独立词条。例如对于aid,新增词条"aids",解释为aid的复数。但是当前词典结构貌似不支持这种case-insensitive的多词条。

chenjiasheng commented 5 years ago

@skywind3000 另: exchange里类型为'f:'的变体是什么意思?貌似跟's:'始终是一样的。 总共有380个带'f:'字段的词条,这些'f:'字段是不是应该都删除掉?

chenjiasheng commented 5 years ago

@skywind3000 公司proxy问题用不了git clone/git push

额外修正了很多音标, 只能待proxy弄好了一并提交

我先关单了