问题标签 [lemmatization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5999 浏览

java - 用于词形还原的 Java 工具

我需要对英语进行词形还原,包括形容词:

例如墨西哥 --> 墨西哥

你能推荐任何工具,最好是Java。

我想强调我正在寻找词形还原,而不是词干。

0 投票
2 回答
2361 浏览

nlp - 英语词形还原数据库?

您是否知道任何足够大的 lemmatizer 数据库可以为以下示例词返回正确结果:

Wordnet 的形态分析器是不够的,因为它给出了以下不正确的结果:

0 投票
3 回答
3657 浏览

python - Nltk 中的 WordNetLemmatizer 可以词干吗?

我想用Wordnet. 是否wordnet具有词干提取功能?我将这个导入用于我的词干,但它没有按预期工作。

0 投票
4 回答
3704 浏览

php - 使用 wordnet 获取单词的引理

如何使用 Wordnet 获得给定单词的引理。我似乎无法在 wordnet 文档中找到我想要的东西。 http://wordnet.princeton.edu/wordnet/man/wn.1WN.html

例如,对于“books”这个词,我想得到“book”,ashes => ash,booking => book,apples => apple .... 等。

我想在命令行中使用 wordnet 来实现这一点,但我找不到准确的选项来检索这种情况。

一个 php 解决方案也会有很大帮助,因为我最初打算使用 wordnet php API,但他们网站上的当前 API 似乎无法正常工作。

0 投票
2 回答
3794 浏览

python - nltk lemmatizer 不知道如何处理美国人这个词

跑了以下:

两者都只是返回他们的论点。我希望美国人减少为美国人。有人知道如何做到这一点吗?

我假设我必须修改 lemmatizer 使用的任何内部字典。它是否正确?有人知道更好的方法吗?

谢谢!

0 投票
1 回答
868 浏览

java - 避免字典查找的高效 Lemmatizer

我想将'eat'之类的字符串转换为'eating','eats'。我搜索并找到了词形还原作为解决方案,但是我遇到的所有词形还原工具都使用词表或字典查找。是否有任何可以避免字典查找并提供高效率的词形还原器,可能是基于规则的词形还原器。是的,我不是在寻找“词干”。

0 投票
2 回答
929 浏览

java - 为单词词形还原和类似任务创建自己的规则的工具

我正在做很多自然语言处理,但要求有点不寻常。我经常得到类似于词形还原的任务——给定一个词(或只是一段文本),我需要找到一些模式并以某种方式转换这个词。例如,我可能需要纠正拼写错误,例如给定单词“eatin”,我需要将其转换为“eating”。或者我可能需要将单词“ahahaha”、“ahahahaha”等转换为“ahaha”等。

所以我正在寻找一些通用工具,允许为这种情况定义转换规则。规则可能如下所示:

那就是我需要能够在右侧使用从左侧捕获的模式。

我与完全不懂编程的语言学家一起工作,所以理想情况下,这个工具应该使用外部文件简单的规则语言

我在 Clojure 中做这个项目,所以理想情况下这个工具应该是一个 JVM 语言(Java、Scala、Clojure)的库,但其他语言或命令行工具也可以。

有几个非常酷的 NLP 项目,包括GATEStanford CoreNLPNLTK等,我并不是所有这些项目的专家,所以我可能会错过我需要的工具。如果是这样,请告诉我。

请注意,我正在使用多种语言并执行非常不同的任务,因此具体语言的具体词形还原器、词干分析器、拼写错误校正器等不符合我的需求——我真的需要更通用的工具。

UPD。看来我需要提供一些我需要的更多细节/示例。

基本上,我需要一个用某种正则表达式(类似于 Java 的String.replaceAll())替换文本的函数,但有可能在替换字符串中使用捕获的文本。例如,在现实世界的文本中,人们经常重复字符以强调特定的单词,例如,有人可能会写“This film is sooooo boooring...”。我需要能够仅用单个字符替换这些重复的“oooo”。所以可能会有这样的规则(语法类似于我在本文前面使用的):

也就是说,替换以某些字符 ( chars1) 开头、至少 3 个字符并可能以其他字符 ( chars2) 结尾的单词,但字符串相似,但只有一个 . 这里的关键是我们抓住规则的左侧并在右侧使用它。

0 投票
2 回答
1182 浏览

python - 构建词形还原器:速度优化

我正在用 python 构建一个词形还原器。由于我需要它实时运行/处理相当大量的数据,因此处理速度至关重要。数据:我有所有可能的后缀,这些后缀链接到它们可以组合的所有单词类型。此外,我还有与它们的 wordtype(s) 和 lemma(s) 相关联的引理形式。该程序将一个单词作为输入并输出其引理。word = lemmafrom + suffix

例如(注意:虽然示例是用英语给出的,但我并没有为英语构建词形还原器):

词语: 禁止

引理形式:禁止

后缀:ing

引理:禁止

我的解决方案:

我已将数据转换为(嵌套)字典:

1) 找到所有可能的后缀和它们所链接的单词类型。如果最长可能的后缀是 3 个字符,程序会尝试将 'ing'、'ng'、'n' 匹配到 suffixdict 中的键。如果键存在,则返回一个值(一组单词类型)。

2)对于每个匹配的后缀,从字典中搜索引理形式。如果 lemmaform 存在,则返回 wordtypes。

3) 最后,程序尝试与步骤 1) 和 2) 中产生的词型相交,如果相交成功,则返回该词的引理。

我的问题:从速度的角度来看,我的问题是否有更好的解决方案?(忽略在字典中保留常用词和引理的选项)帮助很大。

0 投票
1 回答
665 浏览

mysql - 将词形还原集成到 Sphinx

我有一个 MySQL 数据库,里面有几十万个文本文档,我需要对这些文本文件执行搜索。我决定使用 Sphinx 来实现搜索功能。但是,我需要用户能够找到所有不同形式的搜索词。我在 python 中编写了一个能够产生相当准确结果的 lemmatizer,我的问题是:如何将它与 Sphinx 集成?帮助很大。

编辑:由于还没有答案,我想补充一点,“这真的很难”或“它不能完成”之类的评论也将受到重视。如果我的想法有问题,很高兴知道:)

0 投票
5 回答
28432 浏览

python - Lemmatize 法语文本

我有一些法语文本,需要以某种方式处理。为此,我需要:

  • 首先,将文本标记为单词
  • 然后对这些词进行词形还原以避免多次处理同一个词根

据我所知,NLTK 中的 wordnet lemmatizer 仅适用于英语。当我给它“voudrais”等时,我想要一些可以返回“vouloir”的东西。由于撇号,我也无法正确标记。任何指针将不胜感激。:)