python - 如何从一段或一堆段落中找到标题大写短语

标签 python parsing nlp text-parsing

我如何解析文章中的句子格短语。

例如从这段话

柯南道尔说,福尔摩斯这个角色的灵感来自于约瑟夫贝尔医生,道尔曾在爱丁堡皇家医院为他当过职员。与福尔摩斯一样,贝尔以从最小的观察中得出重要结论而著称。 [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/

相关文章:

python - Keras + tensorflow 给出错误 "no attribute ' control_flow_ops'”

c++ - Bison: what(): basic_string::_S_construct null 无效

mysql - Talend MySql String To MySql Date 用于存储和差异计算

java - 从 Java 或 .Net 调用时 PHP WebService 不工作

python - 如何从依赖解析器的输出制作一棵树?

machine-learning - 从一组文档中对标记句子进行分类的最佳方法

python - 如何标记 Python 中的收缩?

python - 当我使用 os.system() 在 Python 中打开一个 .py 文件时,它会立即自动关闭它。我该如何解决?

nlp - 缩写检测

python - pyenv:构建失败(Ubuntu 15.04 使用 python-build 20160509)