gpt4 book ai didi

c# - 使用正则表达式的 n-gram

转载 作者:行者123 更新时间:2023-11-30 18:09:54 24 4
gpt4 key购买 nike

我正在研究一个增强和替代通信 (AAC) 程序。我当前的目标是存储输入/口语文本的历史记录并搜索常用短语片段或单词 n-gram。我目前使用的是基于 lzw 压缩算法的实现,如 CodeProject - N-gram and Fast Pattern Extraction Algorithm 中所述。 .这种方法虽然产生了 n-grams 并没有按需要运行。

例如,我多次进入“翻山越林”。我想要的输出是整个短语“越过山脉,穿过树林”。使用我当前的实现,短语被分解为三元组,并且在每个重复条目上添加一个单词。所以在第一次进入时,我得到了“翻山越岭”。关于第二个词条“翻山越岭”等

假设我们有以下文本:

this is a test
this is another test
this is also a test
the test of the emergency broadcasting system interrupted my favorite song

我的目标是,如果接下来输入“这是对紧急广播系统的测试”,我可以在正则表达式中使用它来返回“这是一个测试”和“对紧急广播系统的测试”。这是可以通过正则表达式实现的还是我走错了路?感谢您的帮助。

最佳答案

尽管 Matching parts of a string when the string contains part of a regex pattern 中显示的技术,但我一直无法找到一种方法来单独使用正则表达式来完成我需要的操作。接近。

我最终结合使用了我的初始系统和一些正则表达式,如下所示。

flow chart http://www.alsmatters.org/files/phraseextractor.png

这在大约 30 秒内解析了第一次总统辩论的记录(大约 16,500 个单词),这对于我来说是相当快的。

关于c# - 使用正则表达式的 n-gram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2128904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com