如何从一段或一段段落中找到标题案例短语

ram*_*daz 1 python parsing nlp text-parsing

如何从段落中解析句子短语.

例如,从这段经文

柯南道尔说,福尔摩斯的角色受到约瑟夫贝尔博士的启发,多伊尔曾在爱丁堡皇家医院担任职员.与霍姆斯一样,贝尔因从最小的观察中得出大量结论而受到关注.[1] 迈克尔·哈里森在1971年的一篇关于艾莉丽女王神秘杂志的文章中指出,这个角色的灵感来自于温德尔·谢勒尔(Wendell Scherer),他是一起谋杀案中的"咨询侦探",据称1882年在英格兰引起了大量的报纸关注.

我们需要生成像Conan Doyle,Holmes,Joseph Bell博士,Wendell Scherr等的东西.

如果可能的话,我更喜欢Pythonic解决方案

Ned*_*der 5

这种处理可能非常棘手.这个简单的代码几乎是正确的:

for s in re.finditer(r"([A-Z][a-z]+[. ]+)+([A-Z][a-z]+)?", text):
    print s.group(0)
Run Code Online (Sandbox Code Playgroud)

生产:

Conan Doyle
Holmes
Dr. Joseph Bell
Doyle
Edinburgh Royal Infirmary. Like Holmes
Bell
Michael Harrison
Ellery Queen
Mystery Magazine
Wendell Scherer
England
Run Code Online (Sandbox Code Playgroud)

要包括"约瑟夫贝尔博士",你需要对字符串中的句号保持正确,这允许在"爱丁堡皇家医院.像霍姆斯一样".

我有类似的问题:分句.

  • 请注意,在一般情况下修复"Like Holmes"错误实际上是一个非常困难的问题.对于OP,请进行研究句子分块和命名实体提取以获取更多信息,并查看nltk. (2认同)