我有一个1000个左右的数组,下面是一些例子:
wickedweather
liquidweather
driveourtrucks
gocompact
slimprojector
Run Code Online (Sandbox Code Playgroud)
我希望能够将这些分成各自的词,如:
wicked weather
liquid weather
drive our trucks
go compact
slim projector
Run Code Online (Sandbox Code Playgroud)
我希望有一个正则表达式,我可以做到这一点.但是,既然没有边界可以停下来,也没有任何我可以关键的大写,我想,有些类型的字典引用可能是必要的吗?
我想它可以手工完成,但为什么 - 什么时候可以用代码完成!=)但这让我很难过.有任何想法吗?
是否有一个好的库可以从组合字符串中检测和拆分单词?
例:
"cdimage" -> ["cd", "image"]
"filesaveas" -> ["file", "save", "as"]
Run Code Online (Sandbox Code Playgroud) 将数据库列名拆分为等效的英文文本以生成数据字典.英语词典是从公司文档,维基和电子邮件的语料库中创建的.dictionary(lexicon.csv)是一个包含单词和概率的CSV文件.因此,有人写"治疗师"这个词(在电子邮件或维基页面上)的次数越多,"治疗师名称"分裂为"治疗师名称"的可能性就越大,而不是其他东西.(词典可能甚至不包括强奸犯这个词.)
遇到以下问题时:
dependentrelationship::end depend ent dependent relationship
end=0.86
ent=0.001
dependent=0.8
relationship=0.9
Run Code Online (Sandbox Code Playgroud)
存在以下可能的解决方
dependentrelationship::dependent relationship
dependentrelationship::dep end ent relationship
dependentrelationship::depend ent relationship
Run Code Online (Sandbox Code Playgroud)
词典包含与它们的相对概率的话(基于字频): ,dependent 0.8,end 0.86,relationship 0.9,depend 0.3和ent 0.001.
消除dep end ent relationship因为dep不在词典中的解决方案(即75%的单词使用),而其他两个解决方案覆盖了词典中100%的单词.在剩余的解决方案中,概率dependent relationship为0.72,而depend ent relationship为0.00027.因此,我们可以选择dependent relationship正确的解决方案.