ram*_*daz 1 python parsing nlp text-parsing
如何从段落中解析句子短语.
例如,从这段经文
柯南道尔说,福尔摩斯的角色受到约瑟夫贝尔博士的启发,多伊尔曾在爱丁堡皇家医院担任职员.与霍姆斯一样,贝尔因从最小的观察中得出大量结论而受到关注.[1] 迈克尔·哈里森在1971年的一篇关于艾莉丽女王神秘杂志的文章中指出,这个角色的灵感来自于温德尔·谢勒尔(Wendell Scherer),他是一起谋杀案中的"咨询侦探",据称1882年在英格兰引起了大量的报纸关注.
我们需要生成像Conan Doyle,Holmes,Joseph Bell博士,Wendell Scherr等的东西.
如果可能的话,我更喜欢Pythonic解决方案
这种处理可能非常棘手.这个简单的代码几乎是正确的:
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)
要包括"约瑟夫贝尔博士",你需要对字符串中的句号保持正确,这允许在"爱丁堡皇家医院.像霍姆斯一样".
我有类似的问题:分句.