C# 英语自然语句的算法

C# 英语自然语句的算法,c#,.net,nlp,C#,.net,Nlp,我正在构建一个执行句子检查的应用程序。你知道有没有能够识别句子及其逻辑并正确组织句子的DLL?比如把一个句子中的单词变成一个正确的句子 如果没有,也许你可以推荐我可以研究的搜索词。这是一个非常复杂的主题。它叫 正在进行研究的计算语言学或自然语言处理 以下是一些让您开始学习的链接: 我想你不可能只下载一个dll,然后让我流动:)像SharpNLP和一些java应用程序这样的NLP(自然语言处理)应用程序很少。 少数环节 有一些东西叫做语言模型和n-gram。我会很快解释它们是什么。

我正在构建一个执行句子检查的应用程序。你知道有没有能够识别句子及其逻辑并正确组织句子的DLL?比如把一个句子中的单词变成一个正确的句子


如果没有,也许你可以推荐我可以研究的搜索词。

这是一个非常复杂的主题。它叫 正在进行研究的计算语言学或自然语言处理

以下是一些让您开始学习的链接:

我想你不可能只下载一个dll,然后让我流动:)

像SharpNLP和一些java应用程序这样的NLP(自然语言处理)应用程序很少。 少数环节


  • 有一些东西叫做语言模型和n-gram。我会很快解释它们是什么。 假设你有大量正确的英语句子。让我们选择其中一个:

    敏捷的棕色狐狸跳过了懒狗。现在让我们看看其中的所有单词对(称为bigrams):
    (快速,快速)
    (快速,棕色)
    (棕色,狐狸)
    (狐狸,跳跃)
    等等。。。 有了大量的句子,我们就有了大量的复句。我们现在取唯一的,并计算它们的频率(我们在正确的句子中看到它的次数)。 我们现在有,比如说
    ('the',quick)-500

    ('quick',brown)-53

    具有频率的双字模被称为语言模型。它向你展示了某个词的组合是多么常见

    因此,你可以建立你的单词的所有可能的句子,并在考虑语言模型的情况下计算每个句子的权重。一个最有分量的句子将是你们所需要的

    在哪里可以使用Bigram及其频率?嗯。
    你不仅可以使用一对单词,还可以使用三元组等等。它可以让你建立更多类似人类的句子。

    这是一个很难解决的问题。“自然语言处理”是您正在寻找的搜索词。但正如我所说:这是一个非常棘手的问题。为什么不添加“而且它是javascript的”:)附议。另外,请查看一个免费的自然语言处理在线课程,这些课程涵盖了许多典型问题。