语言学特征集代数

features的Python项目详细描述


Latest PyPI VersionLicenseSupported Python VersionsFormatReadthedocs

TravisCodecov

features是python中feature set代数的一个简单实现。

语言分析常用的二元或私有特征集 指不同的语言对象组:例如 phonemes具有一些语音特征,如[-consonantal, +high] 或者一组词素出现在特定的人/数字的上下文中 像[-participant, GROUP]这样的组合。通常,这些特性应用于 只有部分组合有效,而其他组合有效 不可能(即引用无对象)–例如[+high, +low],或 [-participant, +speaker]

有了这个包,这样的功能系统可以用一个简单的偶然事件来定义 表定义(特征矩阵)并存储在 简单的明文配置文件。每个功能系统可以 按其名称加载了,并提供了自己的FeatureSet子类 根据 对给定的定义(相容性、蕴涵性、交集性、统一性, 等等)。

功能在可能的功能之间创建完整的晶格结构 每个功能系统的集合,并允许您导航和可视化它们 关系使用Graphviz graph layout software

安装

这个包在python 2.7和3.5+下运行,使用pip安装:

$ pip install features

这还将安装来自pypi的concepts包,提供该包所基于的Formal Concept Analysis(fca)算法。

快速启动

按名称加载预定义的功能系统 六向人/数字区分,参见捆绑包中的定义 config.inisource repository中。

>>>importfeatures>>>fs=features.FeatureSystem('plural')>>>print(fs.context)# doctest: +ELLIPSIS<Contextobjectmapping6objectsto10properties[3011c283]at0x...>|+1|-1|+2|-2|+3|-3|+sg|+pl|-sg|-pl|1s|X|||X||X|X|||X|1p|X|||X||X||X|X||2s||X|X|||X|X|||X|2p||X|X|||X||X|X||3s||X||X|X||X|||X|3p||X||X|X|||X|X||

从字符串或字符串序列创建功能集。使用功能字符串 解析,获取字符串序列以及 它们的规范顺序(定义顺序):

>>>fs('+1 +sg'),fs(['+2','+2','+sg']),fs(['+sg','+3'])(FeatureSet('+1 +sg'),FeatureSet('+2 +sg'),FeatureSet('+3 +sg'))>>>fs('SG1').concept.intent('+1','-2','-3','+sg','-pl')>>>fs('1').string,fs('1').string_maximal,fs('1').string_extent('+1','+1 -2 -3','1s 1p')

使用feature代数:交集(join)、并集/统一(meet), 设置包含(扩展/包含)。进行功能集比较 (logical connectives)。

>>>fs('+1 +sg')%fs('+2 +sg')FeatureSet('-3 +sg')>>>fs('-3')^fs('+1')^fs('-pl')FeatureSet('+1 +sg')>>>fs('+3')>fs('-1')andfs('+pl')<fs('+2 -sg')True>>>fs('+1').incompatible_with(fs('+3'))andfs('+sg').complement_of(fs('+pl'))True

导航已创建的all有效的latticeHasse graph)包含 功能集

>>>fs('+1').upper_neighbors,fs('+1').lower_neighbors([FeatureSet('-3'),FeatureSet('-2')],[FeatureSet('+1 +sg'),FeatureSet('+1 +pl')])>>>fs('+1').upset()[FeatureSet('+1'),FeatureSet('-3'),FeatureSet('-2'),FeatureSet('')]>>>forfinfs:# doctest: +ELLIPSIS...print('[%s] <-> {%s}'%(f.string_maximal,f.string_extent))[+1-1+2-2+3-3+sg+pl-sg-pl]<->{}[+1-2-3+sg-pl]<->{1s}...[-1]<->{2s2p3s3p}[]<->{1s1p2s2p3s3p}

有关如何定义、加载和使用自己的功能系统,请参见the docs

另请参见

许可证

特性分布在MIT license下。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
amazon web services Java AWS s3:如何使用Md5预签名url设置和上载内容   twitter使用java从推文中排除一些单词   如何在GUI java中添加延迟时间   java程序,如何使用Outputstream发送两次消息   java为什么是javax。在将Yasson与JSONB一起使用时,Glassfish中的json需要作为依赖项吗?   如何从dist文件夹中读取文件   java如何获取与模式匹配的文件列表   java如何使用Intent从Android应用程序发送彩信?   java限制对Spring的依赖,同时又不丧失框架的功能   java是否将捕获异常报告给Firebase/Fabric等?   用jdbcjava实现mysql分页   给定URI的java注释检索   java是序列化/反序列化公共枚举的简单方法?   java如何使用jMockit模拟本机方法