平均感知器序列标签

Apertag的Python项目详细描述


apertag:平均感知器标记器

apertag是一种基于平均感知器模型的序列标签。在 为了避免对您的序列数据类型做出假设 标签或功能的格式是标记器的输入 只是特征值集的序列。每组值 表示接收标记的观察。特征值可以是任何 python类型,只要它可以被散列,但是需要注意的是 这些值仅以二进制方式使用,即 它们存在于被标记或不被标记的项目的上下文中;性质。 对决策没有影响。

一个简单的示例演示np chunker:

>>>t=Tagger()>>>t.train([[['POS=DT','WRD=the'],['POS=NN','WRD=dog']]],[['NP-B','NP-I']])>>>t.tag([['POS=DT','WRD=the'],['POS=NN','WRD=dog']])['NP-B','NP-I']

所有这些自由都有一个重要的例外: 任何希望使用实际输出标签的功能都需要 通过将它们的值格式化为带有特殊 将由来自 标记期间的当前上下文。标记格式为“<;tn>;”,其中n 是标记相对于当前的负索引 位置。例如,如果您正在培训POS标记器,并且 具有查看当前单词和上一个单词的功能 输出标签,当前单词是“dog”,功能可以是 编码为“<;T1>;:dog”。标记器将使用其 将标签上下文预测为“dt:dog”(取决于 你的标签集和功能格式。

举例说明具有输出标签功能的pos标记器:

>>>t=Tagger()>>>t.train([[['POS -1:<T-1>','W:the'],['POS -1:<T-1>','W:dog']]],[['DT','NN']])>>>t.tag([['POS -1:<T-1>','W:the'],['POS -1:<T-1>','W:dog']])['DT','NN']

使用这种格式进行培训很可能是一个好主意,因为 好吧,即使你(希望)自己有输出标签 这一点,以确保功能在整个培训中是相同的 和标记。

如果您的任何功能都不需要输出标记,则可以 稍微提高性能(特别是对于非字符串特性) 通过设置expand_features=false。

我应该把我的专栏放在哪里?

标记器模块可以作为独立脚本运行,它将 作为制表符分隔列的良好旧文件输入,其中每一行是 由特征值组成的观察,后跟 最后一列。有关详细信息,请运行:

$ python apertag.py {train,tag} -h

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

推荐PyPI第三方库


热门话题
内部嵌套滚动视图的java Recyclerview?   返回空值的java MapPartitionFunction   java无法访问apache模块源代码中的系统定义的环境变量   java需要帮助确定用户输入的最大值和最小值   java检查文件是否存在,如果存在,则创建一个编号更高的新文件   针对许多不正确XML文档的XSD的XML验证在Java中不报告任何错误?   java有没有一种方法可以将json字符串甚至JSONObject发送给POSTMAN,而不在每个双引号前加斜杠?   java如何获得频域中两个音频信号的比率?   java 安卓 studio理解错误   java插入到部分填充的数组中   java使用流<String>创建流<CustomType>?   java开放式按键应用程序   java获取zxing生成的图像路径   使用shibboleth sso的java授权   java在运行时更改bean类名   javajooq如何从表中选择min'id'   java通过Eclipse web项目运行hadoop mapreduce字数   java同步方法与非同步方法同时执行   方法每次返回一个不同的加密字符数组   java获取ArrayList的每个元素中出现的特定字符的频率<String>