标签: stemming

阻止的逆过程

我使用lucene雪球分析仪进行干预.结果不是有意义的话.我提到了这个问题.

其中一个解决方案是使用一个数据库,该数据库包含单词的词干版本与单词的一个稳定版本之间的映射.(无论社区的基础是什么(社区/或其他一些词),从社区到社区的例子)

我想知道是否有一个执行这样功能的数据库.

java similarity stemming porter-stemmer

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

什么是最好的"交钥匙"词干算法?

对于我正在研究的项目,我需要一个很好的词干算法.有人建议我看看Porter Stemmer.当我查看Porter stemmer上的页面时,我发现现在已经弃用了它,而选择了"Snowball"限制器.

我需要一个好的词干,但我真的不能花很多时间来实现(或优化)我自己的.什么是最好的"现成的",免费提供的干扰器?是否有合理价格的非自由阀杆?或者,Snowball阻尼器是我最好的选择吗?

comparison stemming

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

SQL Server与MySQL:CONTAINS(*,'FORMSOF(THESAURUS,word)')

我很震惊.

我花了3-4天时间搞清楚如何在SQL Server中实现词干(和同义词搜索)时,我在SQL Server中看到的查询非常简单:

Select * from tab where CONTAINS(*,'FORMSOF(THESAURUS,word)')
Run Code Online (Sandbox Code Playgroud)

可能在MySql上有没有这样的东西?

mysql sql-server full-text-search stemming thesaurus

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

如何在Solr中配置词干?

我添加到索尔索引:"美国".当我搜索"美国"时,没有结果.

如何配置schema.xml以获得结果?

目前的配置:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
            <analyzer type="index">
                <tokenizer class="solr.WhitespaceTokenizerFactory" />
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
                <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
                <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
                <filter class="solr.PorterStemFilterFactory"/>
            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.WhitespaceTokenizerFactory" />
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
                <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
                <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
                <filter class="solr.PorterStemFilterFactory"/> …
Run Code Online (Sandbox Code Playgroud)

solr stemming

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

Snowball Stemmer只是最后一个词

我想使用R中的tm包来阻止纯文本文档语料库中的文档.当我将SnowballStemmer函数应用于语料库的所有文档时,只会阻止每个文档的最后一个单词.

library(tm)
library(Snowball)
library(RWeka)
library(rJava)
path <- c("C:/path/to/diretory")
corp <- Corpus(DirSource(path),
               readerControl = list(reader = readPlain, language = "en_US",
                                    load = TRUE))
tm_map(corp,SnowballStemmer) #stemDocument has the same problem
Run Code Online (Sandbox Code Playgroud)

我认为这与文档被读入语料库的方式有关.用一些简单的例子说明这一点:

> vec<-c("running runner runs","happyness happies")
> stemDocument(vec) 
   [1] "running runner run" "happyness happi" 

> vec2<-c("running","runner","runs","happyness","happies")
> stemDocument(vec2)
   [1] "run"    "runner" "run"    "happy"  "happi" <- 

> corp<-Corpus(VectorSource(vec))
> corp<-tm_map(corp, stemDocument)
> inspect(corp)
   A corpus with 2 text documents

   The metadata consists of 2 tag-value pairs and a data frame
   Available tags are: …
Run Code Online (Sandbox Code Playgroud)

r stemming tm

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

希伯来语有一个好的词干吗?

我正在寻找希伯来语的好词干-使用Google我一无所获...

HebMorph网站上说:

Stem and Lemma originally have different meanings, but for Semitic languages they seem to be used interchangeably.

这是否意味着出于NLP目的,我可以使用引理代替词干?牢记:Stemmers are much simpler, smaller and usually faster then lemmatizers, and for many applications their results are good enough. Using a lemmatizer for that is a waste of resources.

谢谢。

nlp stemming hebrew lemmatization

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

用apache lucene进行词形还原

我正在使用apache lucene开发一个文本分析项目.我需要对一些文本进行引理(将单词转换为规范形式).我已经编写了代码来制作词干.使用它,我能够转换下面的句子

词干是这个词的一部分,即使在形态上变化时也不会改变; 引理是这个词的基本形式.例如,从"产生",引理是"产生",但干是"产生 - ".这是因为有生产这样的词

即使形态学变形引理基础形式单词例子来自产品引理产品干产品因为字产品

不过,我需要的话基本形式:例如,而不是为例,产生的替代produc,等等.

我正在使用lucene,因为它有多种语言的分析器(我至少需要英语和俄语).我知道斯坦福NLP图书馆,但它没有俄语支持.

那么有没有办法对几种语言进行词形还原,就像我使用lucene一样?

我的代码的简化版本负责阻止:

//Using apache tika to identify the language
LanguageIdentifier identifier = new LanguageIdentifier(text);
//getting analyzer according to the language (eg, EnglishAnalyzer for 'en')
Analyzer analyzer = getAnalyzer(identifier.getLanguage());
TokenStream stream = analyzer.tokenStream("field", text);
stream.reset();
while (stream.incrementToken()) {
    String stem = stream.getAttribute(CharTermAttribute.class).toString();
    // doing something with the stem
    System.out.print(stem+ " ");
}
stream.end();
stream.close();
Run Code Online (Sandbox Code Playgroud)

更新:我发现这个几乎可以满足我的需求(英语和俄语)并使用apache lucene(尽管以自己的方式),它绝对值得探索.

java lucene nlp stemming lemmatization

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

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

我正在用 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万
查看次数

如何优化 R 中词干提取和拼写检查的性能?

我有大约 140 万个文档,每个文档的平均字符数为(中位数:250 和平均值:470)。

我想在对它们进行分类之前执行拼写检查和词干提取。

模拟文件:

sentence <- "We aree drivng as fast as we drove yestrday or evven fastter zysxzw" %>%
    rep(times = 6) %>%
    paste(collapse = " ")

nchar(sentence)
[1] 407 
Run Code Online (Sandbox Code Playgroud)

函数首先执行拼写检查,然后进行词干提取

library(hunspell)
library(magrittr)

spellAndStem <- function(sent, language = "en_US"){
  words <- sentence %>%
    strsplit(split = " ") %>%
    unlist

  # spelling
  correct <- hunspell_check(
        words = words, 
        dict = dictionary(language)
  )

  words[!correct] %<>%
    hunspell_suggest(dict = language) %>%
    sapply(FUN = "[", 1)

  # stemming
  words %>%
    hunspell_stem(dict = …
Run Code Online (Sandbox Code Playgroud)

spell-checking r stemming

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

keras-tokenizer 是否执行词形还原和词干提取的任务?

keras tokenizer 是否提供词干提取和词形还原等功能?如果是的话,那么它是如何完成的呢?需要直观的理解。另外,text_to_sequence这有什么作用?

nlp stemming tokenize lemmatization keras

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