我如何解析文章中的句子格短语。
例如从这段话
柯南道尔说,福尔摩斯这个角色的灵感来自于约瑟夫贝尔医生,道尔曾在爱丁堡皇家医院为他当过职员。与福尔摩斯一样,贝尔以从最小的观察中得出重要结论而著称。 [1] Michael Harrison 在 1971 年发表在 Ellery Queen's Mystery Magazine 上的一篇文章中指出,这个角色的灵感来自 Wendell Scherer,他是一起谋杀案的“咨询侦探”,据称 1882 年在英国受到了报纸的广泛关注。
我们需要生成柯南道尔、福尔摩斯、约瑟夫贝尔博士、温德尔谢尔等人。
如果可能,我更喜欢 Pythonic 解决方案
最佳答案
这种处理可能非常棘手。这个简单的代码几乎可以做正确的事情:
for s in re.finditer(r"([A-Z][a-z]+[. ]+)+([A-Z][a-z]+)?", text):
print s.group(0)
产生:
Conan Doyle
Holmes
Dr. Joseph Bell
Doyle
Edinburgh Royal Infirmary. Like Holmes
Bell
Michael Harrison
Ellery Queen
Mystery Magazine
Wendell Scherer
England
要包含“Dr. Joseph Bell”,您需要确定字符串中的句点,它允许出现在“Edinburgh Royal Infirmary. Like Holmes”中。
我遇到了类似的问题:Separating Sentences .
关于python - 如何从一段或一堆段落中找到标题大写短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343479/