gpt4 book ai didi

regex - 如何从输入中获取句子编号?

转载 作者:行者123 更新时间:2023-12-03 14:53:14 25 4
gpt4 key购买 nike

似乎很难检测文本中的句子边界。引号如.!?可以用于分隔句子,但不太准确,因为可能存在不明确的单词和引文,例如 U.S.A 或 Prof. 或 Dr. 我正在研究 Tperlregex 库和正则表达式食谱 Jan Goyvaerts但我不知道检测句子的表达式怎么写?

在delphi中使用Tperlregex的相对准确的表达是什么?

谢谢

最佳答案

首先,您可能需要得出自己对“句子”的定义,然后实现该定义。例如,怎么样:

He said: "It's OK!"

是一句话还是两句话?一般性的回答是无关紧要的。决定是否希望它将其解释为一个或两个句子,然后进行相应操作。

其次,我认为我不会为此使用正则表达式。相反,我会扫描每个字符并尝试检测序列。句点本身可能不足以界定句子,但句点后跟空格或回车符(或字符串结尾)可能可以。这可以立即让您清除 U.S.A(句点后面不跟空格)。

对于像 Prof. 和 Dr. 这样的常见缩写,创建一本字典可能是个好主意 - 也许可以由用户编辑,因为每种语言都有自己的一组常见缩写。

每种语言也有自己的一套标点符号规则,这可能会影响您解释标点符号的方式。例如,英语倾向于在括号内添加句点(像这样),而波兰语则相反(像这样)。同样的差异也适用于双引号、单引号(有些语言根本不使用它们,有时它们与撇号等无法区分)。您的规则很可能必须特定于语言,至少部分如此。

最后,您可能会近似人类界定句子的方式,但总会有一些情况会导致分析失败。例如,假设您有一本可以识别“Prof.”的字典。作为缩写,你打算做什么

Most people called him Professor Jones, but to me he was simply The Prof.

即使后面还有另一个以大写字母开头的句子,仍然无法帮助您知道句子的结尾,因为它也可能是

Most people called him Professor Jones, but to me he was simply Prof. Bill.

关于regex - 如何从输入中获取句子编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5733243/

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