标签: pos-tagger

POS标记和浅析析之间有什么区别?

我目前正在我的大学学习自然语言处理课程,但仍然对一些基本概念感到困惑.我从统计自然语言处理基础书中得到了POS标记的定义:

标记是用一个适当的词性标记(或标记)句子中每个单词的任务.我们决定每个单词是名词,动词,形容词还是其他.

但是我在书中找不到浅层解析的定义,因为它还将浅层解析描述为POS标记的一个实用程序.所以我开始在网上搜索,没有发现浅层解析的直接解释,但在维基百科:

浅解析(也是分块,"轻解析")是对句子的分析,其标识成分(名词组,动词,动词组等),但没有指定它们的内部结构,也没有指定它们在主句中的作用.

我坦率地看不出差别,但可能是因为我的英语或者只是我不理解简单的基本概念.任何人都可以解释浅层解析和POS标记之间的区别吗?浅层解析通常也称为浅层语义解析吗?

谢谢你.

nlp pos-tagger

45
推荐指数
2
解决办法
2万
查看次数

什么是NLTK POS tagger要我下载?

我刚开始使用词性标注器,我遇到了很多问题.

我用以下内容开始了POS标记:

import nltk
text=nltk.word_tokenize("We are going out.Just you and me.")
Run Code Online (Sandbox Code Playgroud)

当我想要打印时'text',会发生以下情况:

print nltk.pos_tag(text)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "F:\Python26\lib\site-packages\nltk\tag\__init__.py", line 63, in pos_tag
tagger = nltk.data.load(_POS_TAGGER)
File "F:\Python26\lib\site-packages\nltk\data.py", line 594, in load
resource_val = pickle.load(_open(resource_url))
File "F:\Python26\lib\site-packages\nltk\data.py", line 673, in _open
 return find(path).open()
 File "F:\Python26\lib\site-packages\nltk\data.py", line 455, in find
   raise LookupError(resource_not_found)`  
LookupError:
 Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not
 found.  Please use the NLTK Downloader to obtain the resource:

>>> nltk.download().

 Searched in:
    - …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk pos-tagger

29
推荐指数
3
解决办法
4万
查看次数

Python NLTK pos_tag没有返回正确的词性标签

有这个:

text = word_tokenize("The quick brown fox jumps over the lazy dog")
Run Code Online (Sandbox Code Playgroud)

并运行:

nltk.pos_tag(text)
Run Code Online (Sandbox Code Playgroud)

我明白了:

[('The', 'DT'), ('quick', 'NN'), ('brown', 'NN'), ('fox', 'NN'), ('jumps', 'NNS'), ('over', 'IN'), ('the', 'DT'), ('lazy', 'NN'), ('dog', 'NN')]
Run Code Online (Sandbox Code Playgroud)

这是不正确的.quick brown lazy句子中的标签应为:

('quick', 'JJ'), ('brown', 'JJ') , ('lazy', 'JJ')
Run Code Online (Sandbox Code Playgroud)

通过在线工具进行测试可以得到相同的结果; quick,brownfox应该是形容词不是名词.

python nlp machine-learning nltk pos-tagger

27
推荐指数
1
解决办法
1万
查看次数

如何在Java中使用OpenNLP?

我想要POStag一个英文句子并做一些处理.我想使用openNLP.我安装了它

当我执行命令

I:\Workshop\Programming\nlp\opennlp-tools-1.5.0-bin\opennlp-tools-1.5.0>java -jar opennlp-tools-1.5.0.jar POSTagger models\en-pos-maxent.bin < Text.txt
Run Code Online (Sandbox Code Playgroud)

它为Text.txt中的输入提供输出POSTagging

    Loading POS Tagger model ... done (4.009s)
My_PRP$ name_NN is_VBZ Shabab_NNP i_FW am_VBP 22_CD years_NNS old._.


Average: 66.7 sent/s
Total: 1 sent
Runtime: 0.015s
Run Code Online (Sandbox Code Playgroud)

我希望它安装得当吗?

现在我如何从java应用程序内部执行此操作?我已将openNLPtools,jwnl,maxent jar添加到项目中,但我如何调用POStagging?

java nlp pos-tagger opennlp

18
推荐指数
2
解决办法
3万
查看次数

NN VBD IN DT NNS RB在NLTK中意味着什么?

当我分块文本时,我在输出中得到了很多代码 NN, VBD, IN, DT, NNS, RB.是否有某个列表记录在哪里告诉我这些的含义?我试过谷歌搜索nltk chunk code nltk chunk grammar nltk chunk tokens.

但我无法找到任何解释这些代码含义的文档.

python nlp text-parsing nltk pos-tagger

18
推荐指数
2
解决办法
1万
查看次数

在C++中使用NLP的现有API?

是否存在现有的C++ NLP API?我发现的最接近的是CLucene,一个端口Lucene.但是,它似乎有点过时,文档远未完成.

理想情况下,这个/这些API将允许标记化,词干化和PoS标记.

c++ api nlp pos-tagger

14
推荐指数
2
解决办法
1万
查看次数

用于POS标记和Lemmatizer的多语言NLTK

最近我接触了NLP,我尝试使用NLTKTextBlob来分析文本.我想开发一个分析旅行者评论的应用程序,因此我必须管理很多用不同语言编写的文本.我需要做两个主要操作:POS标记和词形还原.我已经看到在NLTK中有可能为这样的句子标记化选择正确的语言:

tokenizer = nltk.data.load('tokenizers/punkt/PY3/italian.pickle')
Run Code Online (Sandbox Code Playgroud)

我还没有找到用不同语言设置POS Tagging和Lemmatizer语言的正确方法.如何为非英语文本(如意大利语,法语,西班牙语或德语)设置正确的语料库/词典?我也看到有可能导入"TreeBank"或"WordNet"模块,但我不明白我如何使用它们.否则,我在哪里可以找到各自的语料库?

你能给我一些建议或参考吗?请注意我不是NLTK的专家.

非常感谢.

python nlp nltk lemmatization pos-tagger

12
推荐指数
2
解决办法
7742
查看次数

Java使用中的Stanford POS标记

Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+FFFD, decimal: 65533)
Mar 9, 2011 1:22:06 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+FFFD, decimal: 65533)
Mar 9, …
Run Code Online (Sandbox Code Playgroud)

java pos-tagger stanford-nlp

11
推荐指数
1
解决办法
5836
查看次数

Scala中的POS标记

我尝试使用下面的斯坦福解析器在Scala中标记一个句子

val lp:LexicalizedParser = LexicalizedParser.loadModel("edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz");
lp.setOptionFlags("-maxLength", "50", "-retainTmpSubcategories")
val s = "I love to play"
val parse :Tree =  lp.apply(s)
val taggedWords = parse.taggedYield()
println(taggedWords)
Run Code Online (Sandbox Code Playgroud)

我的错误类型不匹配; 发现:java.lang.String required:java.util.List [_ <:edu.stanford.nlp.ling.HasWord]在行中的val解析:Tree = lp.apply(s)

我不知道这是否是正确的做法.在Scala中有没有其他简单的方法来标记句子?

nlp scala pos-tagger stanford-nlp

11
推荐指数
2
解决办法
2581
查看次数

在NLTK Python中使用Stanford POS Tagger时出错

我试图在NLTK中使用Stanford POS Tagger,但我无法运行此处给出的示例代码http://www.nltk.org/api/nltk.tag.html#module-nltk.tag.stanford

import nltk
from nltk.tag.stanford import POSTagger
st = POSTagger(r'english-bidirectional-distim.tagger',r'D:/stanford-postagger/stanford-postagger.jar')
st.tag('What is the airspeed of an unladen swallow?'.split())
Run Code Online (Sandbox Code Playgroud)

我已经添加了环境变量

CLASSPATH = D:/stanford-postagger/stanford-postagger.jar
STANFORD_MODELS =  D:/stanford-postagger/models/
Run Code Online (Sandbox Code Playgroud)

这是我不断得到的错误

Traceback(最近一次调用最后一次):

File "D:\pos_stanford.py", line 4, in <module>
    st = POSTagger(r'english-bidirectional-distim.tagger',
         r'D:/stanford-postagger/stanford-postagger.jar')  
... LookupError: NLTK was unable to find the english-bidirectional-distim.tagger file! Use software specific configuration paramaters or set the STANFORD_MODELS environment variable.
Run Code Online (Sandbox Code Playgroud)

一些论坛建议

File "C:\Python27\lib\site-packages\nltk\tag\stanford.py", line 45, in __init__
env_vars=('STANFORD_MODELS'), verbose=verbose)
Run Code Online (Sandbox Code Playgroud)

应该改变,以便有一个逗号

env_vars=('STANFORD_MODELS',), verbose=verbose)
Run Code Online (Sandbox Code Playgroud)

但它也没有解决问题.请帮我解决这个问题.

其他信息:我使用的是Windows 7 64位Python 2.7 32位NLTK 2.0

nltk pos-tagger stanford-nlp python-2.7

11
推荐指数
1
解决办法
8374
查看次数