我正在构建一个进行句子检查的应用程序。您知道有没有可以识别句子及其逻辑并正确组织句子的 DLL?就像把句子中的单词变成正确的句子。
如果它不可用,也许你可以建议我可以研究的搜索词。
最佳答案
有些东西叫做语言模型和 n-gram。我会尽快解释它们是什么。 假设你有一大堆正确的英语句子。让我们选择其中之一:
敏捷的棕色狐狸跳过懒惰的狗
。现在让我们看看其中的所有单词对(称为双字母组):
(the, quick)
, (quick, brown)
, (brown, fox)
, (fox, jumps)
> 等等...
拥有大量的句子,我们将拥有大量的双字母组。我们现在采用独特的并计算它们的频率(我们在正确的句子中看到它的次数)。
我们现在有,比方说
('the', quick) - 500
('快速', 棕色) - 53
具有频率的双字母组称为语言模型。它向您展示了特定单词组合的常见程度。
因此,您可以构建单词的所有可能句子,并在考虑语言模型的情况下计算每个句子的权重。一个具有最大权重的句子将是您所需要的。
在哪里获取二元组及其频率?嗯,google has it . 您不仅可以使用一对单词,还可以使用三元组等等。它将使您能够构建更像人类的句子。
关于c# - 英语自然句的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9941961/