我有一组短字符串(平均长度<12)。 字符串主要是英语单词序列(名称,字典等)。 但是这两个词之间没有分隔符。我想将每个字符串分成单个单词。我试过谷歌,但没有找到任何东西。
有没有标准方法可以做到这一点?另外我在哪里可以获得字典,其中还包括人名,以及其他英语单词。
请注意:字符串可能不符合英语的语法规则。
字符串示例如下:
dontdisturb
ilovejane
iamagoodperson
答案 0 :(得分:1)
这是Twitter内容/主题标签的一个已知问题,尽管没有标准/普遍接受的解决方法。 (我还建议将主题更改为&#34; hashtag splitter&#34;如果这是你的问题,那么更多的人将能够找到它。)
我建议的算法是通常用于中文分词的算法(它有一个非常类似的问题)。这是一个想法:
1.尝试找到可以在字典中找到的所有子字符串,给它们最高分。
2.然后添加一些较低分数的英语启发式接受的序列。
3.最后输入剩下的单个字母或音节,得分最低。
4.使用Viterbi algorithm(或here)查找得分最高的字符串的最佳非重叠覆盖率。