在我们的组织内,我们获得了一些任务/迷你竞赛,我们获得了一系列单词(水的品牌)。目标是切换这些单词的字母,并以句子结束。因为列表不是太短(大约10个单词,大多数甚至不是很短的单词),我想我想研究解决这个问题的解决方案。
我确实有技术背景,但我不是一个全面的程序员,更不用说有足够的洞察力来创建这么大的算法。
最大的收获将是单词的匹配以及语法。我找到了一个单词列表,但我不相信这个单词包含不同形式的动词。我将研究发现更多这些,但我希望有一种替代方案可以使用某种现有的语法引擎或API。 问题:这需要在DUTCH中完成,而不是用英语。
句子的实际形成(如单词的顺序)不太重要。如果输出是一个忽略单词顺序的“句子”列表,我可以过滤那些没有任何意义的手动,然后交换单词以使其有意义。
如果拥有合适技能的人能够指出我正确的方向,或者以另一种方式帮助我,我将不胜感激。
让那些braincells工作:-) 此致
答案 0 :(得分:0)
有一个在线anagram finder可以与荷兰语here一起使用。它们允许的最大输入长度为35个字符(取决于服务器负载),但是您可以联系它们并通过甜言蜜语/贿赂它们来在较长的输入集上运行问题。
答案 1 :(得分:0)
如果我理解这一点,你似乎在这里有两个问题。
首先,你需要取出所有的单词,尝试每个单词中所有可能的字母排列,并从中构建一个新的单词列表。
其次,您需要尝试从新的单词列表中创建有效短语的所有可能方法。
第一个问题是可行的。我认为即使这样做也没有任何优化仍然没关系,认为可能需要一点时间来计算(请记住,即使只是一个7个字母的单词,也会有~5000个可能的排列,但肯定其中绝大多数会这样做不会导致有效的话)。您需要访问字典的副本(只是单词,而不是定义),并且您可能希望将其存储在trie或至少一个hashset中以便快速访问,因为您需要快速检查每个排列是否存在这是一个有效的词。
第二个问题是IMO不是真的在公园散步。你会得到一个我认为相当大的单词列表。然后:
我在想,也许会有某种方法来“欺骗”这些困难问题,弄清楚语义,甚至可能生成短语,只是使用谷歌搜索来帮助你找出短语。如同,使用自动填充和自动更正功能来确定您的短语是否有效。我可以看到一些方法就这样......
总而言之,我认为你有一个成倍增长的问题(所有可能的字母组合 - >所有可能的结果词组合)并需要相当多的智能过滤来删除所有无效的条目并保留它从太大了。这绝对是可以做到的,但确实需要相当多的工作。
我很想听到其他的想法虽然:)