如何将段落拆分为句子

2021-12-28 00:00:00 regex split text-segmentation php

我一直在尝试使用:

$string="The Dr. is here!!! I am glad I'm in the U.S.A. for the Dr. quality is great!!!!!!";
preg_match_all('~.*?[?.!]~s',$string,$sentences);
print_r($sentences);

但它不适用于 Dr., U.S.A. 等

But it doesn't work on Dr., U.S.A., etc.

大家有更好的建议吗?

推荐答案

没有任何简单的解决方案.您需要在应用程序中进行一些自然语言处理 (NLP) 并识别每个句子.有一种叫做 OpenNLP 的东西,它是一个基于 JAVA 的 NLP 解析器工具.或者 Stanford NLP 解析器 Ruby.你可以为 php 找到类似的东西.

there is not any simple solution for that. you need do some natural language processing(NLP) in your application and recognize each sentence. there is something call OpenNLP, it's a JAVA-based NLP parser tool. Or Stanford NLP parser in Ruby. you can find something like that for php.

这里 我在 PHP 中找到了一组用于自然语言处理的类.

here I found a set of classes for natural language processing in PHP.

相关文章