Api 如何用小写字母来构建短句?

Api 如何用小写字母来构建短句?,api,nlp,linguistics,Api,Nlp,Linguistics,我正在寻找一种方法来编写一个程序,创建一个简短的德语句子与限制字母集。这些句子可以是无意义的,但在语法上应该是正确的。以下示例仅包含字母“aeilmnost”: “安东尼娅是蒂娜·伊姆·塔尔。” “Tamina malt mit lila Tinte Enten” “Tina nimmt alle Tomaten麻省理工” 为了完成这项任务,我需要一本字典,如(可在的答案中找到)。以编程方式创建文本的研究领域是。在NLG维基上,我发现了一个大的。我从列表中选择了两个,这可能是合适的: -一

我正在寻找一种方法来编写一个程序,创建一个简短的德语句子与限制字母集。这些句子可以是无意义的,但在语法上应该是正确的。以下示例仅包含字母“aeilmnost”:

  • “安东尼娅是蒂娜·伊姆·塔尔。”
  • “Tamina malt mit lila Tinte Enten”
  • “Tina nimmt alle Tomaten麻省理工”
为了完成这项任务,我需要一本字典,如(可在的答案中找到)。以编程方式创建文本的研究领域是。在NLG维基上,我发现了一个大的。我从列表中选择了两个,这可能是合适的:

  • -一个Java API,它还具有
  • -来自不来梅大学的多语种一代
您是否曾与NLG图书馆合作,并对使用哪一个图书馆构建字母集限制的短句有一些建议?
你能推荐一篇关于这个主题的论文吗?

语法正确是一个相当模糊的领域,因为语法并不像人们想象的那样严格定义。不过,这里真正需要的是一个
词性标记器
,以及一个马尔可夫链

特别是马尔可夫链说,给定一个特定的状态(例如第一个单词),就有一定的机会进入另一个状态(下一个单词)。从scracth编写它们相对容易,但我有一个python的要点,如果您需要一个示例,它将展示它们是如何工作的

一旦你知道了这一点,我建议你使用一种基于词性的马尔可夫链,结合检查单词是否是从你想要的字符集构造的。一般来说,该算法会如下所示:

  • 随机选取第一个单词,检查它是否完全由所需的字符集构成
  • 使用马尔可夫链预测下一个单词
  • 检查该单词是否是适当的词性,以及是否符合所需的字符集
  • 如果不是,预测另一个词,直到它成为事实
  • 如果是,则重复从2开始到完成

  • 希望这就是你要找的。如果您还有任何问题,请告诉我。

    正如斯莱特·泰拉诺斯(Slater Tyranus)所说,马尔可夫链肯定是这项任务的基础。我将建议一种更为繁重的方法。这是相当多的工作,但可能会给出更好的结果方面的语法正确性

    基于PCFG解析树的语言模型:语言模型通过为一系列单词分配概率来工作。然而,它需要训练数据才能首先构建。在您的情况下,培训过程应该忽略包含有限集合之外字母的单词

    虽然从理论上讲,基于解析树的语言模型更有可能达到您的目的,但有一个警告:由于您具有基于字母的限制,数据稀疏性肯定会让您大吃一惊。退避技术(例如)可能会有所帮助,但它本质上取决于您是否能够在足够的数据上进行培训


    就可用的解析器而言,斯坦福NLP小组提供了一个基于Negra语料库的德语解析器,如前所述。

    这是我第一次研究这个主题,谢谢你的帮助。@ChristianAmmer很高兴能提供帮助!如果这解决了你的问题,别忘了标记为接受。谢谢你的回答和替代方法。首先,我同意斯莱特的答案,这似乎更容易实现。我自己也会这样做:-)毕竟,奥卡姆的剃刀也适用于算法方法,不是吗?谢谢你纠正我回答中的名字。