相关疑难解决方法(0)

我如何做词干或词形还原?

我已经尝试过PorterStemmer和Snowball,但两个都不能用于所有单词,缺少一些非常常见的单词.

我的测试词是:" 猫跑仙人掌仙人掌仙人掌社区社区 ",两者都不到一半.

也可以看看:

nlp stemming lemmatization

109
推荐指数
8
解决办法
13万
查看次数

词汇化与词干化之间的真正区别是什么?

我什么时候使用?

另外...... NLTK的词形还原取决于词性?如果它是不是更准确?

python nlp nltk lemmatization

108
推荐指数
8
解决办法
6万
查看次数

在动词/名词/形容词形式之间转换单词

我想要一个python库函数,它可以翻译/转换不同的语音部分.有时它应该输出多个单词(例如"编码器"和"代码"都是动词"代码"中的名词,一个是主题,另一个是对象)

# :: String => List of String
print verbify('writer') # => ['write']
print nounize('written') # => ['writer']
print adjectivate('write') # => ['written']
Run Code Online (Sandbox Code Playgroud)

我主要关心动词<=>名词,我想写的笔记程序.即我可以写"咖啡因拮抗A1"或"咖啡因是A1拮抗剂"和一些NLP,它可以发现它们的意思相同.(我知道这并不容易,并且它将需要NLP解析并且不仅仅是标记,但我想破解原型).

类似的问题... 将形容词和副词转换为名词形式 (这个答案仅限于根POS.我想在POS之间进行.)

ps称为语言学转换http://en.wikipedia.org/wiki/Conversion_%28linguistics%29

python nlp nltk wordnet

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

在NLTK中阻止非结构化文本

我尝试了正则表达式,但我得到了数百个不相关的令牌.我只对"玩"词干感兴趣.这是我正在使用的代码:

import nltk
from nltk.book import *
f = open('tupac_original.txt', 'rU')
text = f.read()
text1 = text.split()
tup = nltk.Text(text1)
lowtup = [w.lower() for w in tup if w.isalpha()]
import sys, re
tupclean = [w for w in lowtup if not w in nltk.corpus.stopwords.words('english')]
from nltk import stem
tupstem = stem.RegexpStemmer('az$|as$|a$')
[tupstem.stem(i) for i in tupclean] 
Run Code Online (Sandbox Code Playgroud)

以上结果是;

['like', 'ed', 'young', 'black', 'like'...]
Run Code Online (Sandbox Code Playgroud)

我正在尝试清理.txt文件(全部小写,删除停用词等),将一个单词的多个拼写规范化为一个并执行频率dist/count.我知道该怎么做FreqDist,但有任何关于堵塞的问题的建议吗?

text-analysis tokenize nltk lemmatization

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

我应该同时执行词形还原和词干提取吗?

我正在用 Python 编写一个文本分类系统。这就是我正在做的标准化每个标记的事情:

lem, stem = WordNetLemmatizer(), PorterStemmer()
for doc in corpus:
    for word in doc:
        lemma = stem.stem(lem.lemmatize(word))
Run Code Online (Sandbox Code Playgroud)

我不想仅仅进行词形还原的原因是因为我注意到它WordNetLemmatizer没有处理一些常见的词形变化。例如,对于副词来说,lem.lemmatize('walking')returns walking

同时进行词干提取和词形还原是否明智?还是多余的?研究人员通常会选择其中之一,而不是两者都做?

python nlp machine-learning stemming nltk

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

Python nltk 词干分析器永远不会删除前缀

我正在尝试预处理单词以删除诸如“un”和“re”之类的常见前缀,但是 nltk 的所有常见词干分析器似乎都完全忽略了前缀:

from nltk.stem import PorterStemmer, SnowballStemmer, LancasterStemmer

PorterStemmer().stem('unhappy')
# u'unhappi'

SnowballStemmer('english').stem('unhappy')
# u'unhappi'

LancasterStemmer().stem('unhappy')
# 'unhappy'

PorterStemmer().stem('reactivate')
# u'reactiv'

SnowballStemmer('english').stem('reactivate')
# u'reactiv'

LancasterStemmer().stem('reactivate')
# 'react'
Run Code Online (Sandbox Code Playgroud)

删除常见前缀和后缀不是词干分析器工作的一部分吗?是否有另一个词干分析器可以可靠地做到这一点?

python nlp stemming porter-stemmer nltk

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

波特 油炸的去梗

为什么波特词干算法在线

http://text-processing.com/demo/stem/

friedfri而不是fry

我记不起ied英语中任何以过去时结尾且主格形式以 结尾的单词i

这是一个错误吗?

nlp stemming porter-stemmer nltk

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

使用Wordnet Lemmatizer获取词根

我需要找到一个与关键字提取器的所有相关单词匹配的公共词根。

如何使用python nltk lemmatizer将单词转换为相同的词根?

  • 例如:
    1. 概括,概括->概括
    2. 最佳,优化->优化(也许)
    3. 配置,配置,配置->配置

python nltk lemmatizer在使用Speech(pos)标签参数的一部分时为“ generalized”和“ generalizing”给出“ generalize”,而不是为“ generalization”。

有没有办法做到这一点?

python nlp nltk wordnet lemmatization

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

为什么在词干后懦弱变成了懦夫?

我注意到在应用 Porter 词干(来自 NLTK 库)后,我得到了奇怪的词干,例如"cowardli""contrari"。对我来说,它们根本不像茎。

没关系吗?难道是我哪里弄错了?

这是我的代码:

string = string.lower()
tokenized = nltk.tokenize.regexp_tokenize(string,"[a-z]+")
filtered = [w for w in tokenized if w not in nltk.corpus.stopwords.words("english")]


stemmer = nltk.stem.porter.PorterStemmer()
stemmed = []
for w in filtered:
    stemmed.append(stemmer.stem(w))
Run Code Online (Sandbox Code Playgroud)

这是我用于处理http://pastebin.com/XUMNCYAU的文本(Dostoevsky 的“罪与罚”一书的开头)。

nlp stemming nltk

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

NLTK Lemmatizer,提取有意义的词

目前,我将创建一个基于机器学习的自动映射类别的代码。

在那之前我会做自然语言处理。

有几个单词列表。

      sent ='The laughs you two heard were triggered 
             by memories of his own high j-flying 
             moist moisture moisturize moisturizing '.lower().split()
Run Code Online (Sandbox Code Playgroud)

我做了以下代码。我参考了这个网址。NLTK:词形还原器和 pos_tag

from nltk.tag import pos_tag
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
def lemmatize_all(sentence):
    wnl = WordNetLemmatizer()
    for word, tag in pos_tag(word_tokenize(sentence)):
        if tag.startswith("NN"):
            yield wnl.lemmatize(word, pos='n')
        elif tag.startswith('VB'):
            yield wnl.lemmatize(word, pos='v')
        elif tag.startswith('JJ'):
            yield wnl.lemmatize(word, pos='a')



words = ' '.join(lemmatize_all(' '.join(sent)))
Run Code Online (Sandbox Code Playgroud)

结果值如下所示。

laugh heard be trigger memory own high j-flying moist moisture moisturize …
Run Code Online (Sandbox Code Playgroud)

nlp nltk lemmatization python-3.x

0
推荐指数
1
解决办法
2313
查看次数