词形还原:就是去掉单词的词缀,提取单词的主干部分(原型),比如:

  • 复数变单数
  • 分词变原型
  • 形容词/副词比较级变原型

相关工具

  • NLTK
    实现:python
    安装:pip install nltk
    项目路径:https://github.com/nltk/nltk
    测试:
from nltk.stem import WordNetLemmatizer

wnl = WordNetLemmatizer()
# 单复数变原型
print(wnl.lemmatize('cats', 'n'))
  • LemmaGen
    实现:C++, C++.Net, Python, and, C#.Net
    项目路径:https://github.com/oroszgy/pylemmagen
    测试:
#include "sl_lemmatizer.h"
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv)
{
	if (argc < 3)
	{
		printf("usage: %s <language file.bin> <word>\r\n", argv[0]);
		return 1;
	}

    if (lem_load_language_library(argv[1]) != STATUS_OK)
    {
    	fprintf(stderr, "[ERROR] Failed to open language library file!\r\n");
    	return -1;
    }

    char* word = lem_lemmatize_word_alloc(argv[2]);
    printf("%s", word);
    free(word);

    return 0;
}

相关研究

<< 持续更新

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐