gpt4 book ai didi

php - 将从文本文件中提取句子的正则表达式

转载 作者:可可西里 更新时间:2023-11-01 13:19:44 27 4
gpt4 key购买 nike

我需要一个正则表达式来从文本文件中提取句子。示例文本:

例如,考虑 2004 年底发生的亚洲海啸灾难。对 Google 新闻 (http://news.google.com) 的查询返回了 80,000 多篇关于该事件的在线新闻文章一个月(2005年1月17日至2月17日)。先生的信息卡哈纳。

这是我的代码:

$re = '/(?<=[.!?]|[.!?][\'"])\s+/';
$sentences = preg_split($re, $text, -1, PREG_SPLIT_NO_EMPTY);

但是最后一句还是把information by mr.Kahana.分开了如何解决?谢谢:)

最佳答案

你不能用正则表达式做到这一点

英语作为一种语言不符合适当的格式规则。因此,正则表达式不适合实现您正在寻找的目的。您真正需要的是类似自然语言处理器的东西。

除非这对您的程序至关重要,否则我建议您改为确定以下事项:

  • 可接受的错误程度是多少?您所做的任何事情都不会是完美的。但如果它有效 80% 可以吗? 90%? 99%?这对您/您的客户有多重要?
  • 文本从何而来?例如,教科书的编写方式很可能与人们的 Twitter 提要不同。您可以根据您在实际使用的文本中看到的内容进行研究并做出异常(exception)处理。
  • 我要对文本做什么?如果您只是为关键字之类的内容编制索引,那么正确地拆分句子并不重要(同样重要)。这一切都是关于调整程序以获得针对此特定目的的适当输出。

我的建议是通过反复试验来尽可能降低错误率。在大量文本上运行您的程序,并不断添加异常,直到获得可接受的错误率。但是,如果您需要大约几十条规则,您可能只想重新考虑这个问题。

简而言之,PHP 和正则表达式并不适用于此,因为英语很时髦。因此,要么忍受添加异常以获得更小(更)的错误率,要么完全重新考虑这一点。

关于php - 将从文本文件中提取句子的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888778/

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