确定句子Python的时态

栏目: Python · 发布时间: 7年前

内容简介:您可以使用翻译自:https://stackoverflow.com/questions/30016904/determining-tense-of-a-sentence-python
关注其他几个帖子,[例如 Detect English verb tenses using NLTK , Identifying verb tenses in python , Python NLTK figure out tense

]我编写了以下代码来确定使用POS标记在 Python 中的句子时态:

from nltk import word_tokenize, pos_tag

def determine_tense_input(sentance):
    text = word_tokenize(sentance)
    tagged = pos_tag(text)

    tense = {}
    tense["future"] = len([word for word in tagged if word[1] == "MD"])
    tense["present"] = len([word for word in tagged if word[1] in ["VBP", "VBZ","VBG"]])
    tense["past"] = len([word for word in tagged if word[1] in ["VBD", "VBN"]]) 
    return(tense)

这将返回过去/现在/未来动词的使用值,我通常会将最大值作为最终的时态.准确性适度,但我想知道是否有更好的方法.

例如,现在是否有机会编写一个更专注于提取序列时态的包? [注意 – 3个堆叠溢出的帖子中有2个是4年,所以现在可能已经改变了].或者,我应该在nltk中使用不同的解析器来提高准确性吗?如果没有,希望上面的代码可以帮助别人!

您可以使用 Stanford Parser 获取句子的依赖关系解析.依赖关系解析的根将是定义句子的“主要”动词(我不太确定具体的语言术语是什么).然后,您可以使用此动词上的POS标签来查找其时态,并使用它.

翻译自:https://stackoverflow.com/questions/30016904/determining-tense-of-a-sentence-python


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C# 6.0本质论

C# 6.0本质论

[美] Mark Michaelis(马克·米凯利斯)、[美] Eric Lippert(埃里克·利珀特) / 周靖、庞燕 / 人民邮电出版社 / 2017-2-1 / 108

这是C#领域中一部广受好评的名作,作者用一种易于理解的方式详细介绍了C#语言的各个方面。全书共有21章和4个附录(其中哟2个附录从网上下载),介绍了C#语言的数据类型、操作符、方法、类、接口、异常处理等基本概念,深入讨论了泛型、迭代器、反射、线程和互操作性等高级主题,还介绍了LINQ技术,以及与其相关的扩展方法、分部方法、Lambda表达式、标准查询操作符和查询表达式等内容。每章开头的“思维导图”......一起来看看 《C# 6.0本质论》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具