Python Regex用于区分句子和章节文本
我有一篇有很多句子的课文。我有一个正则表达式,可以提取以句号、问号或感叹号结尾的句子。一个句子的结尾必须跟在下一个句子的开头(空格/制表符/新行和大写字母或数字)。我读取存储在数据中的字符串并调用正则表达式Python Regex用于区分句子和章节文本,python,regex,text-segmentation,Python,Regex,Text Segmentation,我有一篇有很多句子的课文。我有一个正则表达式,可以提取以句号、问号或感叹号结尾的句子。一个句子的结尾必须跟在下一个句子的开头(空格/制表符/新行和大写字母或数字)。我读取存储在数据中的字符串并调用正则表达式 basic_pat = re.compile(r"[(']?\w.+[)']?[?.!](?=\s+[A-Z\d])") result = basic_pat.findall(data) 如果我们不考虑缩写的情况,这个正则表达式似乎是有效的。 在课文中,我可能还有一些章节的课文没有以句号结
basic_pat = re.compile(r"[(']?\w.+[)']?[?.!](?=\s+[A-Z\d])")
result = basic_pat.findall(data)
如果我们不考虑缩写的情况,这个正则表达式似乎是有效的。
在课文中,我可能还有一些章节的课文没有以句号结尾。例如:
这是第一章这是第一句话。这是第二句,这是第三句。这是 第四次发送 我的问题是,是否可能有一个只读章节文本的正则表达式和一个读句子的正则表达式。这些章节是一行没有句号的松散文本。规则句可以包括几行。也就是说,句子中的文本也可以是无句号的。是否可以用正则表达式区分这两种情况(章节与句子) 有些人在遇到问题时会想:“我知道,我会用 现在他们有两个问题。 --杰米·扎温斯基 实际上,您应该使用两个正则表达式(现在有四个问题) 首先,通读并将文本分成交替的章节标题,而不是章节标题。然后检查每一章的标题,包括句子、段落和你拥有的东西 您将如何分解以下内容: 参观莱比锡,第一章:托马斯基尔霍夫街 巴赫博物馆位于托马斯教堂对面的托马斯基尔霍夫大街上。 范贝多芬没有一个 莱比锡任何地方的博物馆 处理自然语言是极其困难的。当上帝摧毁巴别塔时,他做了一件彻底的工作 有些人在遇到问题时会想:“我知道,我会用 现在他们有两个问题。 --杰米·扎温斯基 实际上,您应该使用两个正则表达式(现在有四个问题) 首先,通读并将文本分成交替的章节标题,而不是章节标题。然后检查每一章的标题,包括句子、段落和你拥有的东西 您将如何分解以下内容: 参观莱比锡,第一章:托马斯基尔霍夫街 巴赫博物馆位于托马斯教堂对面的托马斯基尔霍夫大街上。 范贝多芬没有一个 莱比锡任何地方的博物馆
处理自然语言是极其困难的。当上帝摧毁巴别塔时,他做了一件彻底的工作。你确实使用正则表达式;不同之处在于,您不仅使用正则表达式。你将不得不使用机器学习对可能的句子结尾进行建模,以将你的街道从你的圣徒中分离出来。此外,贝多芬名字中的“面包车”也是假的。查一查。格式良好的英语句子不允许以小写字母开头。然而,这并不能帮助您解析不符合该定义的内容。@tchrist——您的意思是,在维基百科上:?您确实使用正则表达式来实现这一点;不同之处在于,您不仅使用正则表达式。你将不得不使用机器学习对可能的句子结尾进行建模,以将你的街道从你的圣徒中分离出来。此外,贝多芬名字中的“面包车”也是假的。查一查。格式良好的英语句子不允许以小写字母开头。但是,这并不能帮助您解析不符合该定义的内容。@tchrist——您的意思是,在维基百科上:?不要忘记引号。不要忘记引号。