How to Split a Paragraph into Sentences

前端 未结 3 564
天命终不由人
天命终不由人 2020-12-12 01:08

I\'ve been trying to use:

$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\',$str         


        
相关标签:
3条回答
  • 2020-12-12 01:53

    hmmm maybe try something like $sentences = preg_split('/.*?[?.!]+\s+/', $string);

    0 讨论(0)
  • 2020-12-12 02:05

    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.

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

    0 讨论(0)
  • 2020-12-12 02:07

    This is almost impossible since your example clearly indicates that punctuation characters that can be used in e.g. Dr., U.S.A etc, make it impossible to know where a sentence starts/ends.

    You have to search the following characters to decide if a new sentence follows (starts after) the punctuation chars you are mentioning.

    0 讨论(0)
提交回复
热议问题