标签: nlp

选区解析器和依赖解析器之间的区别

选区解析器依赖解析器之间有什么区别?这两者的用法有什么不同?

parsing nlp

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

如何用scikit学习多类案例的精确度,召回率,准确度和f1分数?

我正在处理情绪分析问题,数据看起来像这样:

label instances
    5    1190
    4     838
    3     239
    1     204
    2     127
Run Code Online (Sandbox Code Playgroud)

所以我的数据是不平衡的,因为1190 instances标有5.对于分类我使用scikit的SVC.问题是我不知道如何以正确的方式平衡我的数据,以便准确计算多类案例的精确度,召回率,准确度和f1分数.所以我尝试了以下方法:

第一:

    wclf = SVC(kernel='linear', C= 1, class_weight={1: 10})
    wclf.fit(X, y)
    weighted_prediction = wclf.predict(X_test)

print 'Accuracy:', accuracy_score(y_test, weighted_prediction)
print 'F1 score:', f1_score(y_test, weighted_prediction,average='weighted')
print 'Recall:', recall_score(y_test, weighted_prediction,
                              average='weighted')
print 'Precision:', precision_score(y_test, weighted_prediction,
                                    average='weighted')
print '\n clasification report:\n', classification_report(y_test, weighted_prediction)
print '\n confussion matrix:\n',confusion_matrix(y_test, weighted_prediction)
Run Code Online (Sandbox Code Playgroud)

第二:

auto_wclf = SVC(kernel='linear', C= 1, class_weight='auto')
auto_wclf.fit(X, y)
auto_weighted_prediction = auto_wclf.predict(X_test)

print 'Accuracy:', accuracy_score(y_test, auto_weighted_prediction)

print …
Run Code Online (Sandbox Code Playgroud)

python nlp artificial-intelligence machine-learning scikit-learn

99
推荐指数
4
解决办法
13万
查看次数

如何使用Genia Corpus训练斯坦福分析器?

我为Stanford Parser创建一个新模型有一些问题.

我还从斯坦福下载了最新版本:http: //nlp.stanford.edu/software/lex-parser.shtml

在这里,Genia Corpus有2种格式,xml和ptb(Penn Treebank).

Standford Parser可以用ptd文件训练; 然后我下载了Genia Corpus,因为我想使用生物医学文本:

http://categorizer.tmit.bme.hu/~illes/genia_ptb/ (链接不再可用) (genia_ptb.tar.gz)

然后,我有一个简短的Main类来获得一个生物医学句子的依赖表示:

    String treebankPath = "/stanford-parser-2012-05-22/genia_ptb/GENIA_treebank_v1/ptb";

    Treebank tr = op.tlpParams.diskTreebank();
    tr.loadPath(treebankPath);  
    LexicalizedParser lpc=LexicalizedParser.trainFromTreebank(tr,op);
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方法,但始终得到相同的结果.

我在最后一行有一个错误.这是我的输出:

Currently Fri Jun 01 15:02:57 CEST 2012
Options parameters:
useUnknownWordSignatures 2
smoothInUnknownsThreshold 100
smartMutation false
useUnicodeType false
unknownSuffixSize 1
unknownPrefixSize 1
flexiTag true
useSignatureForKnownSmoothing false
parserParams edu.stanford.nlp.parser.lexparser.EnglishTreebankParserParams
forceCNF false
doPCFG true
doDep false
freeDependencies false
directional true
genStop true
distance true
coarseDistance false
dcTags false
nPrune false
Train parameters: smooth=false …
Run Code Online (Sandbox Code Playgroud)

java nlp stanford-nlp

93
推荐指数
1
解决办法
4250
查看次数

如何正确地用"a"和"an"为单词添加前缀?

我有一个.NET应用程序,给定一个名词,我希望它正确地用"a"或"an"作为该单词的前缀.我该怎么办?

在您认为答案是简单地检查第一个字母是否是元音之前,请考虑以下短语:

  • 一个诚实的错误
  • 二手车

c# nlp linguistics

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

有一个很好的自然语言处理库

我需要在当前模块中实现一些NLP.我正在寻找一些可以帮助我的好图书馆.我遇到了'LingPipe',但无法完全遵循如何使用它.
基本上,我们需要实现一个功能,其中应用程序可以解释用简体中文输入的客户指令(交付说明).例如:

  • 将于明天中午12点起床
  • 请在6月10日之后发货
  • 请不要在星期三之前发送
  • 在订单中再添加10个XYZ单位

java nlp

90
推荐指数
3
解决办法
6万
查看次数

Stanford Parser和NLTK

是否可以在NLTK中使用Stanford Parser?(我不是在谈论斯坦福POS.)

python parsing nlp nltk stanford-nlp

89
推荐指数
8
解决办法
9万
查看次数

Python中Twitter的情感分析

我正在寻找文本情感分析(http://en.wikipedia.org/wiki/Sentiment_analysis)的开源实现,最好是在python中.是否有人熟悉我可以使用的这种开源实现?

我正在编写一个应用程序,在Twitter上搜索一些搜索词,比如"youtube",并计算"快乐"的推文与"悲伤"的推文.我正在使用Google的appengine,所以它在python中.我希望能够从twitter中对返回的搜索结果进行分类,我想在python中进行分类.到目前为止,我还没有找到这样的情绪分析器,特别是在python中.您熟悉我可以使用的这种开源实现吗?最好这已经是python,但如果没有,希望我可以将它翻译成python.

请注意,我正在分析的文本非常简短,它们是推文.理想情况下,此分类器针对此类短文本进行了优化.

顺便说一下,twitter确实支持搜索中的":)"和":("运算符,其目的就是为了做到这一点,但不幸的是,他们提供的分类并不是那么好,所以我想我可能会试一试.

谢谢!

BTW,早期的演示就在这里,我到目前为止的代码就在这里,我很乐意与任何感兴趣的开发人员一起开源.

python open-source nlp machine-learning sentiment-analysis

86
推荐指数
5
解决办法
5万
查看次数

使用NLTK创建新的语料库

我估计通常我的标题的答案是去阅读文档,但我浏览了NLTK书,但它没有给出答案.我是python的新手.

我有一堆.txt文件,我希望能够使用NLTK为语料库提供的语料库功能nltk_data.

我已经尝试PlaintextCorpusReader但是我无法进一步:

>>>import nltk
>>>from nltk.corpus import PlaintextCorpusReader
>>>corpus_root = './'
>>>newcorpus = PlaintextCorpusReader(corpus_root, '.*')
>>>newcorpus.words()
Run Code Online (Sandbox Code Playgroud)

如何newcorpus使用punkt 对句子进行分段?我尝试使用punkt函数,但punkt函数无法读取PlaintextCorpusReader类?

你能否告诉我如何将分段数据写入文本文件?

编辑: 这个问题有一次赏金,它现在有第二个赏金.请参阅赏金框中的文字.

python nlp corpus nltk

80
推荐指数
3
解决办法
7万
查看次数

NLTK使用的实际例子

我正在玩自然语言工具包(NLTK).

它的文档(BookHOWTO)非常笨重,示例有时略有提升.

NLTK的使用/应用是否有任何好的但基本的例子?我正在考虑像Stream Hacker博客上的NTLK文章.

python nlp nltk

76
推荐指数
3
解决办法
5万
查看次数

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