c# - 英语自然句的算法

标签 c# .net nlp

我正在构建一个进行句子检查的应用程序。您知道有没有可以识别句子及其逻辑并正确组织句子的 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/

相关文章:

c# - .net 模拟未将正确的凭据传递给 SQL Server

c# 为什么当路径为 "C:"时,directoryInfo 将我带到应用程序文件夹?

C# 序列化嵌套的自定义类列表

c# - 开源即时通讯工具?

c# - 为所有 future 项目永久添加库

python-3.x - 如何将网页下载为 .mhtml

nlp - 如何编写 POS 正则表达式的 spacy 匹配器

c# - 使用 C# 将文件名封装在 app.config 文件中

encoding - 理论: "Lexical Encoding"

c# - 将文件从服务器复制到另一个