- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想在 python 中使用 wordnet lemmatizer,我了解到默认的 pos 标记是 NOUN,并且它不会为动词输出正确的 lemma,除非 pos 标记明确指定为 VERB。
我的问题是,为了准确地执行上述词形还原,最好的方法是什么?
我使用 nltk.pos_tag
进行了 pos 标记,但在将树库 pos 标签与 wordnet 兼容的 pos 标签集成时我迷失了。请帮忙
from nltk.stem.wordnet import WordNetLemmatizer
lmtzr = WordNetLemmatizer()
tagged = nltk.pos_tag(tokens)
我得到了 NN,JJ,VB,RB 中的输出标签。如何将这些更改为 wordnet 兼容标签?
我还必须用标记的语料库训练 nltk.pos_tag()
还是可以直接在我的数据上使用它来评估?
最佳答案
首先,你可以直接使用nltk.pos_tag()
而不用训练它。该函数将从文件中加载预训练的标记器。可以看到文件名与 nltk.tag._POS_TAGGER
:
nltk.tag._POS_TAGGER
>>> 'taggers/maxent_treebank_pos_tagger/english.pickle'
因为它是使用 Treebank 语料库训练的,所以它还使用 Treebank tag set .
以下函数会将树库标签映射到 WordNet 词性名称:
from nltk.corpus import wordnet
def get_wordnet_pos(treebank_tag):
if treebank_tag.startswith('J'):
return wordnet.ADJ
elif treebank_tag.startswith('V'):
return wordnet.VERB
elif treebank_tag.startswith('N'):
return wordnet.NOUN
elif treebank_tag.startswith('R'):
return wordnet.ADV
else:
return ''
然后您可以将返回值与 lemmatizer 一起使用:
from nltk.stem.wordnet import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
lemmatizer.lemmatize('going', wordnet.VERB)
>>> 'go'
在将返回值传递给 Lemmatizer 之前检查它,因为空字符串会给出 KeyError
。
关于python - python中的wordnet词形还原和pos标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586721/
我计划使用 pos for .net 创建我自己的 POS 系统。 到目前为止,我从未创建过任何 POS 系统或为 .net 使用过 pos。我试图找到一些教程但没有成功,有人知道一些好的网站或书籍吗
阅读 pygame 教程 here ,你会发现这个例子:(箭头是我的) for o in objects: screen.blit(background, o.pos, o.pos) # Re
所以我一直在为蓝牙打印机编写 Android 应用程序一段时间,我意识到这实际上是 ESC/POS 标准:http://nicholas.piasecki.name/blog/wp-content/u
我设法在 上更改了 POS 收据模板/addons/point_of_sale/static/src/xml/pos.xml 其中位于: 但是如何更改 PosTicket 上的详细信息?
我有一个长度为 32 的字符数组,想从中取出某些字符。例如 111111000000000000000000111111 #include #include /* Creates a sub-s
Parsey McParseface输出的POS标签和Depedency标签在 tag-set 中给出和 label-set文件 here分别。 Syntaxnet自述文件概述了该模型是在 Penn
我正在尝试使用 Stanford POS-tagger,我想问一下是否可以解析(实际上只有 pos 标签就足够了)英文文本并以 conll 格式输出结果。有这样的选择吗? 我正在使用 Stanford
我有使用 NLTK 的平均感知器标记器进行词性标记的代码: from nltk.corpus import wordnet from nltk.stem import WordNetLemmatize
我正在尝试为 58mm POS 热敏打印机编写正确的 ESC/POS 命令。我尝试将此命令作为 ASCII 文本输入,并将其转换为 HEX,但在这两种情况下,打印机都只打印此代码,而不是收据输出。代码
我正在使用 spaCy 库进行 POS 标记,但是当我运行这段代码时,它会返回数字来代替 pos 标签: import spacy from spacy.lang.fr.examples import
我博客的标题显示标题后面有一张图片。我希望这张图片有自己的高度直到它变得大于50vh(用户视口(viewport)的 50%)。 但正常行为是图像从底部裁剪,我希望图像从顶部和底部裁剪(换句话说:我希
我正在阅读句子列表并使用 NLTK 的 Stanford 词性标注器标记每个单词。我得到这样的输出: wordnet_sense = [] for o in output: a = st.ta
我们正在尝试实现一个支持 COM 接口(interface)的 .NET 服务对象来模拟 POSPrinter,但仍然与旧技术兼容。 我们在下面的类中有我们的接口(interface)和类对象。 us
我有一个列表 list = ['about','above','account','address','after'] 我将其传递给 nltk pos 标签 函数,输出看起来像这样以列表的形式: [(
有谁知道为什么“深度”(vertShader) 不同于“gl_FragCoord.z”(从 opengl 渲染)?特别是随着 z 的减小,差异变得更大。 “深度”是否有可能在更高的 z 值下更精确?
假设我有一个 block 元素,例如 h2: Title 然后我给它一个背景色。背景将跨越 wrapper 的整个宽度(应该如此)。 如果我 float 它,或者 position: absolute
我提供了一个 fiddle : http://jsfiddle.net/dCYdw/ 这个例子很惨,但是问题也能看出来。 .levelFive 是问题所在。这应该在所有其他元素之前,因为它的 z-in
C++(STL): Request for member ‘push_back’ in ‘pos.std::vector::operator[](((std::vector::size_type)i)
以下 JavaScript 中包含云图像的元素的动画的逻辑错误到底是什么?我认为“pos”变量似乎在每次迭代中都偏离了方向,而且我无法弄清楚每次迭代时云图像的运动如何变得越来越疯狂。 //CSS: #
我正在尝试在RMarkdown文档中插入图形,但无法将其显示在正确的位置。下图显示了该问题:使用图标题时,该图显示在页面顶部而不是文档中相关段落的下面。 这是此最小工作示例的代码: --- title
我是一名优秀的程序员,十分优秀!