zoukankan      html  css  js  c++  java
  • 什么是词干化处理

    词干化处理:

    在NLP中,我们对一句话或一个文档分词之后,一般要进行词干化处理。词干化处理就是把一些名词的复数去掉,动词的不同时态去掉等等类似的处理。

    对于切词得到的英文单词要进行词干化处理,主要包括将名词的复数变为单数和将动词的其他形态变为基本形态。对动词的词干化可以使用 Porter 算法[5]。

    举个例子说明:用的python中的    from nltk.stem.snowball import SnowballStemmer

    def tokenize_and_stem(self,text):
            # first tokenize by sentence, then by word to ensure that punctuation is caught as it's own token
            tokens = [word for sent in nltk.sent_tokenize(text) for word in nltk.word_tokenize(sent)]
            print tokens
            filtered_tokens = []
            # filter out any tokens not containing letters (e.g., numeric tokens, raw punctuation)
            for token in tokens:
                if re.search('[a-zA-Z]', token):
                    filtered_tokens.append(token)
            stems = [stemmer.stem(t) for t in filtered_tokens]
            print stems

    结果:

    ['hello', ',', 'what', 'are', 'you', 'doing', 'now', ',', 'i', 'want', 'to', 'go', 'to', 'school', ',', 'by', 'some', 'fruits']
    [u'hello', u'what', u'are', u'you', u'do', u'now', 'i', u'want', 'to', 'go', 'to', u'school', 'by', u'some', u'fruit']

    从上面对比可以看出:doing——>do fruits——>fruit 逗号也去掉了

  • 相关阅读:
    C# 多线程并发锁模式-总结
    C# 7 out variables, tuples & other new features
    AngleSharp 的Dom 选择器
    Html Agility Pack
    javascript判断是否按回车键
    VSTS 免费代码git/tfs托管体验-使用代码云托管
    NPOI 中的公式列的值的获取
    topshelf 开发windows 服务资料
    vue之指令
    hash和md5
  • 原文地址:https://www.cnblogs.com/lovychen/p/5760939.html
Copyright © 2011-2022 走看看