Language agnostic 词结构的机器学习

Language agnostic 词结构的机器学习,language-agnostic,machine-learning,linguistics,Language Agnostic,Machine Learning,Linguistics,我正在开发一个系统,该系统可以根据各种用户输入(例如音节模板或修改的巴科斯-诺尔形式)创建合成的狂热词。然而,一种新的模式是机器学习。在这里,用户没有明确定义任何规则,而是粘贴一些文本,系统将学习给定单词的结构并创建类似的单词 我目前的天真方法是创建一个字母邻域概率表(包括单词“字母”的特殊结尾),并通过字母对扫描输入(使用空格和标点符号作为单词边界)进行填充。创建一个单词意味着查找每个字母跟在当前字母后面的概率,并根据概率随机选择一个字母,追加并重复,直到遇到单词的结尾 但我正在寻找(可能?)

我正在开发一个系统,该系统可以根据各种用户输入(例如音节模板或修改的巴科斯-诺尔形式)创建合成的狂热词。然而,一种新的模式是机器学习。在这里,用户没有明确定义任何规则,而是粘贴一些文本,系统将学习给定单词的结构并创建类似的单词

我目前的天真方法是创建一个字母邻域概率表(包括单词“字母”的特殊结尾),并通过字母对扫描输入(使用空格和标点符号作为单词边界)进行填充。创建一个单词意味着查找每个字母跟在当前字母后面的概率,并根据概率随机选择一个字母,追加并重复,直到遇到单词的结尾

但我正在寻找(可能?)提供更好结果的更复杂的方法。我对机器学习知之甚少,因此我很欣赏指向主题、技术或算法的指针。

我认为对于独立的单词(尤其是名称),一个简单的马尔可夫链系统(在谈到使用字母对时,您似乎会描述)可以非常好地执行。给它输入一个词典,然后给它一个种子,根据它学到的知识生成一个新名字。您可能需要调整马尔可夫链的前缀长度,以获得听起来很好的结果(正如在对您的问题的评论中指出的,两个字母比一个字母要好得多)


有一次,我在精灵和兽人的名字词典中尝试过这个方法,得到了非常满意的结果。

一个小问题:在语言中,如果你生成单词序列(另一个问题)或字母序列(你要求的),那么通常最好在考虑最后两个单词/字母的情况下生成一个新单词/字母(而不仅仅是一个)。它仍然涉及相同的算法。额外的单词/字母不会产生明显更好的结果。