精华内容
下载资源
问答
  • 常见分词工具总结
    千次阅读
    2017-07-23 15:18:40

    由于中文不像英文那样具有天然的分隔符,所以一般情况下,中文自然语言处理的第一步就是要对语料进行分词处理,下面就总结以下我用过的一些常见的中文分词工具。


    1.Stanford NLP

    使用斯坦福大学的分词器,下载地址http://nlp.stanford.edu/software/segmenter.shtml

    在工程里配置好之后,需要加载Properties文件,Properties文件是一些参数设置。

    接下来让我们看一个示例:

    package com.sectong.application;
    
        import java.util.List;
    
        import edu.stanford.nlp.ling.CoreAnnotations;
        import edu.stanford.nlp.ling.CoreAnnotations.NamedEntityTagAnnotation;
        import edu.stanford.nlp.ling.CoreAnnotations.PartOfSpeechAnnotation;
        import edu.stanford.nlp.ling.CoreAnnotations.TextAnnotation;
        import edu.stanford.nlp.ling.CoreLabel;
        import edu.stanford.nlp.pipeline.Annotation;
        import edu.stanford.nlp.pipeline.StanfordCoreNLP;
        import edu.stanford.nlp.util.CoreMap;
    
        public class CoreNLPSegment {
    
            public static void main(String[] args) {
    
                // 载入自定义的Properties文件
                StanfordCoreNLP pipeline = new StanfordCoreNLP("CoreNLP-chinese.properties");
    
                // 用一些文本来初始化一个注释。文本是构造函数的参数。
                Annotation annotation;
                annotation = new Annotation("我爱北京天安门,天安门上太阳升。");
    
                // 运行所有选定的代码在本文
                pipeline.annotate(annotation);
    
                // 从注释中获取CoreMap List,并取第0个值
                List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class);
                CoreMap sentence = sentences.get(0);
    
                // 从CoreMap中取出CoreLabel List,逐一打印出来
                List<CoreLabel> tokens = sentence.get(CoreAnnotations.TokensAnnotation.class);
                System.out.println("字/词" + "\t " + "词性" + "\t " + "实体标记");
                System.out.println("-----------------------------");
                for (CoreLabel token : tokens) {
                    String word = token.getString(TextAnnotation.class);
                    String pos = token.getString(PartOfSpeechAnnotation.class);
                    String ner = token.getString(NamedEntityTagAnnotation.class);
                    System.out.println(word + "\t " + pos + "\t " + ner);
                }
    
            }
    
        }
    运行结果:

    字/词  词性  实体标记
        -----------------------------
        我爱   VV  O
        北京   NR  MISC
        天安门  NR  MISC
        ,    PU  O
        天安门  NR  O
        上    LC  O
        太阳   NN  O
        升    VV  O
        。    PU  O


    2.中科院计算所ICTCLAS

    ICTClAS分词系统是由中科院计算所的张华平、刘群所开发的一套获得广泛好评的分词系统,难能可贵的是该版的Free版开放了源代码,为我们很多初学者提供了宝贵的学习材料。

    官网:http://ictclas.nlpir.org/newsdownloads?DocId=354

    语言和平台:
    ICTCLAS全部采用 C/C++ 编写,支持 Linux 、 FreeBSD 及 Windows 系列操作系统,支持 C/C++ 、 C# 、 Delphi、 Java 等主流的开发语言。

    主要功能:
    中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典;支持繁体中文;支持GBK 、 UTF-8 、 UTF-7 、 UNICODE 等多种编码格式。

    ICTCLAS比较烦人的一点就是每隔一段时间就要更新一下证书,好像是一个月更新一次,这点挺麻烦的,如果你使用了ICTCLAS进行中文分词发现突然报错了,那很可能就是证书过期导致的,更新之后就又可以正常使用了。


    3.Ansj

    项目网址:https://github.com/ansjsun/ansj_seg

    ansj分词是ICTCLAS的真正java实现.分词效果速度都超过开源版的ICTCLAS中文分词。支持中文分词,人名识别,词性标注,用户自定义词典等
    增加了对lucene的支持.如果不想编译文件可以直接到 https://github.com/ansjsun/mvn-repo/tree/gh-pages/org/ansj这里下载jar包!
    这是一个ictclas的java实现.基本上重写了所有的数据结构和算法.词典是用的开源版的ictclas所提供的.并且进行了部分的人工优化


    4.HanLP

    官方文档地址:http://hanlp.linrunsoft.com/doc/_build/html/index.html

    GitHub地址:https://github.com/hankcs/HanLP

    也可以下载jar包直接在Java工程里使用。

    HanLP是我经常使用的一个中文分词工具,个人觉得还挺好用的。

    使用前首先要配置好配置文件,可以在配置文件中添加自己的词典,停用词表等

    示例配置文件:

    #本配置文件中的路径的根目录,根目录+其他路径=绝对路径
    #Windows用户请注意,路径分隔符统一使用/
    root=E:/JavaProjects/HanLP/
    #核心词典路径
    CoreDictionaryPath=data/dictionary/CoreNatureDictionary.txt
    #2元语法词典路径
    BiGramDictionaryPath=data/dictionary/CoreNatureDictionary.ngram.txt
    #停用词词典路径
    CoreStopWordDictionaryPath=data/dictionary/stopwords.txt
    #同义词词典路径
    CoreSynonymDictionaryDictionaryPath=data/dictionary/synonym/CoreSynonym.txt
    #人名词典路径
    PersonDictionaryPath=data/dictionary/person/nr.txt
    #人名词典转移矩阵路径
    PersonDictionaryTrPath=data/dictionary/person/nr.tr.txt
    #繁简词典路径
    TraditionalChineseDictionaryPath=data/dictionary/tc/TraditionalChinese.txt
    #自定义词典路径,用;隔开多个自定义词典,空格开头表示在同一个目录,使用“文件名 词性”形式则表示这个词典的词性默认是该词性。优先级递减。
    #另外data/dictionary/custom/CustomDictionary.txt是个高质量的词库,请不要删除
    CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns;data/dictionary/person/nrf.txt nrf


    调用分词器进行分词也很容易:

    System.out.println(HanLP.segment("你好,欢迎使用HanLP!"));

    输出:

    [你好/vl, ,/w, 欢迎/v, 使用/v, HanLP/nx, !/w]


    5.jieba

    "结巴"中文分词:做最好的Python中文分词组件

    Feature

    支持三种分词模式:

    精确模式,试图将句子最精确地切开,适合文本分析;

    全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

    搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

    支持繁体分词

    支持自定义词典

    jieba分词是个Python组件,安装和使用都十分方便,特别是现在好多机器学习和深度学习都是使用Python语言进行处理的,所以jieba分词可以与这些机器学习和深度学习框架完美契合。

    具体安装直接搜索即可。

    这里来看一下分词示例:

    #encoding=utf-8
    import jieba
    
    seg_list = jieba.cut("我来到北京清华大学",cut_all=True)
    print "Full Mode:", "/ ".join(seg_list) #全模式
    
    seg_list = jieba.cut("我来到北京清华大学",cut_all=False)
    print "Default Mode:", "/ ".join(seg_list) #精确模式
    
    seg_list = jieba.cut("他来到了网易杭研大厦") #默认是精确模式
    print ", ".join(seg_list)
    
    seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") #搜索引擎模式
    print ", ".join(seg_list)

    输出:

    【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
    
    【精确模式】: 我/ 来到/ 北京/ 清华大学
    
    【新词识别】:他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)
    
    【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造

    6.Jcseg

    官网:http://code.google.com/p/jcseg/

    jcseg是使用Java开发的一个中文分词器,使用mmseg算法实现。
    (1).目前最高版本:jcseg1.9.0。兼容最高版本lucene-4.x和最高版本solr-4.x
    (2).mmseg四种过滤算法,分词准确率达到了98.41%。
    (3).支持自定义词库。在lexicon文件夹下,可以随便添加/删除/更改词库和词库内容,并且对词库进行了分类。如何给jcseg添加词库/新词。
    (4).中英文同义词追加/同义词匹配 + 中文词条拼音追加.词库整合了《现代汉语词典》和cc-cedict辞典中的词条,并且依据cc-cedict词典为词条标上了拼音,依据《中华同义词词 典》为词条标上了同义词(尚未完成)。更改jcseg.properties配置文档可以在分词的时候加入拼音和同义词到分词结果中。jcseg新版词库
    (5).中文数字和中文分数识别,例如:"一百五十个人都来了,四十分之一的人。"中的"一百五十"和"四十分之一"。并且jcseg会自动将其转换为阿拉伯数字加入到分词结果中。如:150, 1/40。
    (6).支持中英混合词和英中混合词的识别(维护词库可以识别任何一种组合)。例如:B超, x射线, 卡拉ok, 奇都ktv, 哆啦a梦。
    (7).更好的英文支持,电子邮件,网址,小数,分数,百分数,字母和标点组合词(例如C++, c#)的识别。(这个对购物网址来说很重要)。
    (8).支持阿拉伯数字/小数/中文数字基本单字单位的识别,例如2012年,1.75米,38.6℃,五折,并且jcseg会将其转换为“5折”加入分词结果中。
    (9).智能圆角半角, 英文大小写转换。
    (10).特殊字母识别:例如:Ⅰ,Ⅱ
    (11).特殊数字识别:例如:①,⑩
    (12).配对标点内容提取:例如:最好的Java书《java编程思想》,‘畅想杯黑客技术大赛’,被《,‘,“,『标点标记的内容。(1.6.8版开始支持)。
    (13).智能中文人名识别。中文人名识别正确率达94%以上。(可以维护lex-lname.lex,lex-dname-1.lex,lex-dname-2.lex来提高准确率),(引入规则和词性后会达到98%以上的识别正确率)。
    (14).自动中英文停止词过滤功能(需要在jcseg.properties中开启该选项,lex-stopwords.lex为停止词词库)。
    (15).词库更新自动加载功能, 开启一个守护线程随时检测词库的更新并且加载。
    (16).自动词性标注。
    (17).jcseg.properties----- jcseg配置文件 如何配置jcseg


    7.FudanNLP

    官网:http://code.google.com/p/fudannlp/

    FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。本工具包及其包含数据集使用LGPL3.0许可证。开发语言为Java。功能包括中文分词等,不需要字典支持。
    功能:
    信息检索: 文本分类 新闻聚类
    中文处理: 中文分词 词性标注 实体名识别 关键词抽取 依存句法分析 时间短语识别
    结构化学习: 在线学习 层次分类 聚类 精确推理

    更多相关内容
  • 初中常见的动词的过去式和过去分词汇总表
  • 动词的过去式,及动词现在分词变形规则.pdf
  • 过去分词现在分词作非谓语

    千次阅读 2021-11-04 22:10:01
    过去分词,就是一种动词形式,有规则的情况下,过去分词和过去式一样,都是在词尾加 “ed”,当然也有很多不规则的情况,比如: See 的过去式是 saw,过去分词是 seen Go 的过去式是 went,过去分词是 gone 过去...


    过去分词作非谓语

    定义

    过去分词,就是一种动词形式,有规则的情况下,过去分词和过去式一样,都是在词尾加 “ed”,当然也有很多不规则的情况,比如:
    See 的过去式是 saw,过去分词是 seen
    Go 的过去式是 went,过去分词是 gone

        过去分词也可以和动词不定式和动名词一样作非谓语动词。

        过去分词作非谓语的时候一般表示完成的或被动的意义,只有一种形式。过去分词也可以带宾语或受状语修饰,过去分词和它的宾语或状语构成过去分词短语。

        不过,“过去分词或过去分词短语” 没有 “动词不定式短语” 和 “动名词短语” 的作用那么强大,一般来说,过去分词和过去分词短语在句中只能作定语,表语,宾补或状语。也就是说,过去分词和过去分词短语是不能作主语和宾语的。

        过去分词短语和动词不定式短语以及动名词短语一样重要。过去分词和它的宾语或状语构成过去分词短语。不过,过去分词特殊一点,过去分词很少跟宾语构成短语,大部分跟状语,同时跟宾语和状语的情况也少。因为过去分词短语一般表被动的意义,而宾语就是动作的承受者。就像在被动语态中,动作的承受者已经变成主语了,过去分词也是表示被动的含义,所以就没有宾语了。当然,如果过去分词是双宾动词或者可以加宾补的特定及物动词,那么就有宾语,不过这是少数情况。

        首先过去分词短语,必须由及物动词构成,因为过去分词短语必须含有被动意义。

    1. 及物动词的过去分词 + 状语(可以是时间,地点或方式状语)
    • Killed last night
    • Killed in the hotel last night
    • Baked yesterday
    • Loved by a rich man
    • Looked after every day
    1. 双宾动词的过去分词 + 宾语 + 状语(少数情况)
    • Given a book last night 昨晚被人给一本书
    • Taught English every day 每天被人教英语
    1. 特定的及物动词的过去分词 + 名词作补语 + [状语] (少数情况)
    • Called Nick

    • Named Nick

    • Written three years ago
      “written” 是过去分词,“three years ago” 是时间状语。

    • Made in China
      “made” 是过去分词"in China" 是地点状语。

    • eaten by me

    • called Jack

    • given more time

    过去分词短语里面的过去分词必须是及物动词。

    过去分词和过去分词短语的作用

    1. 作定语

    1)过去分词作前置定语

    单独一个过去分词作前置定语,这个时候,其实过去分词已经相当于形容词的作用了。不过意思还是动词的意思,表示完成或被动的意义。大部分 “过去分词 + 名词” 已经是习惯用语了。比如:

    Developed country 发达国家(已经被发展了的国家,表示完成和被动的意义)

    Frozen food 冷冻事物(已经冰冻过的食物,表示完成和被动的意义)

    smoked fish/pork 熏鱼/肉 (已经被熏过的鱼或肉,表示完成和被动的意义)

    faded flowers 凋谢的花(已经谢了的花,表示完成的意义,虽然 fade 是不及物动词,但是单独的一个过去分词,不要求一定是及物动词,只有过去分词短语才要求一定是及物动词)

    Boiled water 开水

    There are many fallen leaves on the ground.

    注意:单独一个不及物动词,只能表示完成意义,不能表示被动意义。

    单个过去分词与名词或副词构成复合形容词时,也作前置定语。如:

    This is a state-owned copration. 这是一个国有企业。
    This is an English-spoken country. 这是一个说英语的国家。
    That is a newly-built building. 那是一栋新建的大楼。
    Advertising is a highly-developed industry. 广告业是一个高速发展的行业。

    2)过去分词短语作后置定语

    过去分词短语必须放在被修饰的名词后面作后置定语。而且被修饰的名词和过去分词的动作之间含有被动的关系,所以使用时,要注意逻辑问题。

    被过去分词短语修饰的名词,一般需要加定冠词 the,即:The 名词 + 过去分词短语。
    过去分词短语作后置定语,必须先修饰一个名词,然后再拿这个名词来作主语,宾语,表语甚至介词宾语造句。

    • The food cooked by Nick is very delicious. (被修饰的名词 “food” 跟过去分词短语之间有被动关系,也就是 “food” 被 “Nick” 做的)
    • I like the food cooked by Nick.
    • This is the food cooked by Nick.
    • The man called Nick is my teacher.
    • The girl killed in Germany is Chinese.
    • This is a book written by a peasant.
    • A man called Jack came to see you this morning.
    • The gift given by her boyfriend is very beautiful.

    2. 作表语

    只有单独一个过去分词才可以作表语。过去分词短语是不能作表语的,因为会变成被动语态。

    其实,单独一个过去分词作表语要求非常严格。首先,这些过去分词其实相当于一个形容词,完全可以把这些过去分词当作形容词看待,或者理解成是由过去分词构成的形容词。这些相当于形容词的过去分词是固定的,不是随便一个过去分词都可以当作形容词看待的。

    下面是常用的相当于形容词,并且能作表语的过去分词:

    delighted 欣喜的disappointed 失望的discourage 气馁的drunk 醉的
    amused 好玩的astonished 惊讶的hurt 受伤的,痛心的interested 感兴趣的
    crowded 拥挤的tired 累的satisfied 满意的pleased 高兴的
    worried 感到担心的excited 兴奋的married 已婚的puzzled 迷惑的
    upset 心烦的confused 迷惑的gone 离开的done 完成的

    这些当形容词的过去分词作表语的时候,主要一般是表示人的词语,或者表示有生命的词语,一般不能用表示无生命的词语作主语(除非特殊情况):

    主语(表示人或有生命的词语)+ be + 特定的过去分词 + 状语

    比如:

    • I am confused.
    • She is upset.
    • We are suprised.
    • She is gone.
    • I was drunk last night.
    • She is excited.
    • He looked very excited.
    • The teacher is very disappointed.
    • The street is very crowded.
    • The door remained locked.
    • It is done.

    3. 作宾补

    宾补:补充说明宾语的情况的词语就叫宾补。只有特定的及物动词后面才有宾补,而且具体什么词语能作宾补要求也很严格,比如:

    Make 这个及物动词后面可以跟宾补,但是一般是形容词,名词和省 to 的动词不定式短语作宾补,比如:

    I make you happy.
    I made you a rich man.
    I make him do homework every day.

    Call 一般只能跟名词作宾补,比如:

    I call him Nick.

    Keep 和 put 可以跟副词和介词短语作宾补,比如:

    I keep my money in my pocket.
    I put my book here.

    很多及物动词还可以跟动词不定时短语作宾补,比如:

    I force you to do homework every day.
    She invited us to attend her party.

    在英语里面,单独一个过去分词或过去分词短语也可以作宾补,但是只能在 see,hear,notice,watch,keep,feel,get,have,find,make 等动词后面作宾补。而且宾语和宾补是被动的关系。比如:

    1. I often hear the song sung in English. 我经常听到这首歌被用英语唱。(宾语 song 和宾补 sung in English 是被动的关系,即,歌被用英语唱)
    2. He is going to have his hair cut. (宾语 hair 和 宾补 cut 是被动关系,即,头发被剪)
    3. She found the door closed. (宾语 door 和 宾补 closed 是被动关系,即,门被关)
    4. I make English grammer understood easily. (宾语 English grammer 和宾补 understood easily 是被动关系,即,英语语法被容易理解。)
    5. Do I make myself understood?
    6. I often see him hit by his wife.
    7. We saw him killed in the street.
    8. We made him misunderstood by the girl.
    9. We notice the pens in the office taken.
    10. We found all of his chickens stolen.

    另外,Have,get,make 这三个动词,都有中文 “使,让” 的意思,而且都可以跟过去分词或过去分词短语作宾补。

    首先,Have 表示 “让,使” 的意义比较弱。相当于 Make 跟 get 的中间意义。
    第二,Make 表示 “让,使” 的时候带有一点强迫性,而且主动性,主观性比较强。
    比如:Do I make myself understood? 你们明白我了吗? 这句话本身就强调 “我自己强迫自己被别人理解”,带有主动性和主观性,还有点强迫自己的意义。
    第三,Get 强调客观性,有时表示 “无意中让某人或某物被…” 比如:
    He nearly got me killed.
    The picture got him caught by police.

    4. 作状语

    过去分词短语可以作状语,修饰谓语,说明动作发生的背景或情况。过去分词短语作状语的时候也强调被动关系,而且多数放在句首,少数情况放在句尾或者中间。单独一个过去分词在少数情况下也可以作状语,不过是少数情况。其实,过去分词短语作状语相当于一个省略了主语的状语。比如:

    1)相当于原因状语从句

    • Inspired by her example, we worked harder. 在她的榜样的鼓舞下,我们更努力工作。
      “Inspired by her example” 相当于原因状语从句 “as we were inspired by her example”,表示 “由于我们受到了她的榜样的鼓舞” 的意思。通过原因状语从句,我们可以知道,其实主语 “we” 和 过去分词短语 “Inspired by her example” 是被动的关系。也可以理解为:过去分词短语的逻辑主语和句子是一样的。

    • The kids fell asleep soon, exhausted by the journey. 由于旅途劳累,孩子们很快就睡着了。
      “exhausted by the journey” 相当于原因状语从句 “for the kids were exhausted by the journey”,表示 “由于孩子们被旅途弄得精疲力尽” 的意思。主语 “the kids” 和过去分词短语 “exhausted by the journey” 是被动关系。

    • Deeply moved, he thanked me again and again. 他深受感动,一次又一次感谢我。
      as he was deeply moved, he thanked me again and again.

    实际上,就是省略了原因状语从句的连接词,主语和助动词。

    首先,先写一个含有被动语态的原因状语从句,然后原因状语从句的主语和复合句的主语一致,比如:

    Because he was praised by his teacher, he was very happy.

    这里,原因状语从句用了被动句,而且从句的主语和复合句的主语都是 he。那么,其实就可以用过去分词短语作原因状语从句,避免重复啰嗦,直接把连接词 because, 还有主语 he 和被动语态的助动词 was 去掉,这样就变成过去分词短语作状语了,比如:

    Because I am trusted by my students, I am happy = trusted by my students, I am happy.
    Because she is encouraged by her father, she works harder = encouraged by her father, she works harder.

    2)伴随状语

    • The professor came in, followed by a group of students. 教授走进来,后面跟着一群学生。
      主语 “the professor” 和过去分词短语 “followed by a group of students” 也是被动关系,表示 “教授被一群学生跟着” 的意思。

    • My daughter went out to go shopping, accompanied by her classmate.

    过去分词短语作伴随状语,相当于一个并列句。

    3)相当于时间状语从句

    • Seen from the hill, the park looks very beautiful.
      “Seen from the hill” 相当于时间状语从句 “when the park is seen from the hill”

    • Once published, my book will be popular.
      “Once published” 相当于时间状语从句 “once my is published”.

    写一个过去分词短语作时间状语的句子,先写一个含有时间状语从句的复合句,注意从句用被动语态,而且从句的主语和复合句的主语一致,再把时间状语从句的连接词,主语和助动词去掉,就可以变成过去分词短语作时间状语了,比如:

    When I am given a chance, I will be famous.
    Given a chance, I will be famous.

    4)表示假设的情况,相当于条件状语从句

    Given more time, we could do it better.

    “Given more time” 相当于条件状语从句 “if we given more time”,表示 “如果我们被多给点时间”,主语 “we” 和过去分词短语 “Given more time” 是被动关系

    5)相当于一个让步状语从句

    Beaten by the opposite team, the players were not discouraged and practised even harder.

    “Beaten by the opposite team” 相当于让步状语从句 “Though the players were beaten by the opposite team”。

    注意:过去分词短语作状语的时候,它的逻辑主语必须跟句子的主语一致。不过,有时候,也像动词不定式一样,有自己独立的逻辑主语,这种情况称为独立主格。

    现在分词作非谓语

    定义

    现在分词也可以作非谓语,可以带宾语或受状语修饰,现在分词和宾语或状语构成现在分词短语。动名词也是由 “动词原型+ing” 构成的,并且也是非谓语,也就是说,现在分词作非谓语的时候,其实跟动名词一样的,现在分词短语也就是动名词短语,在这里完全可以把现在分词当动名词,或者当动名词的延伸用法。它们的区别很小。

    用法

    现在分词或现在分词短语在句中可以作定语,表语,宾补或状语,其实也理解为动名词或动名词短语还有学完的作用:作定语,表语(单独一个动名词),宾补和状语。

    1. 作定语

    1)一个单独现在分词作前置定语,相当于形容词的作用。实际上,“现在分词+名词” 已经变成一种复合名词了。如:

    Coming week 下周
    running water 自来水
    Working people 劳动人民
    swimming pool 游泳

    2)现在分词短语作定语的时候要作后置定语,放在被修饰的名词后面,相当于一个定语从句的作用。

    现在分词短语作后置定语的时候有两种情况:

    第一:表示正在进行或当时正在进行的动作,这个时候,现在分词短语多数修饰表示人的名词,比如:

    • The girl eating an apple is beautiful.
    • Did you see the girl chatting with your brother?
    • The girl standing there is my sister.
    • The people dancing in the park are old women.
    • The student reading English loudly in the park is strong.
    • She likes the student reading English loudly.
    • She is the girl sitting next to you at the moment.
    • Did you see the ear running fast just now?

    第二:表示经常性,习惯性的动作或者现在的状态。这个时候,可以修饰表示人的名词也可以修饰其他的名词,比如:

    • We live in a room facing the south.
    • The man repairing bikes beside the road every day is his father.
    • The student finishing homework quickly every time is clever.

    2. 作表语

    现在分词短语作表语就是动名词短语作表语。一个单独的现在分词作表语和过去分词作表语一样,都是相当于一个形容词。也不是所有的现在分词都可以相当于形容词的作用,充当表语。一般都是固定的。常见的相当于形容词作用的现在分词有:

    Exciting(令人兴奋的),interesting(有趣的),disappointing(令人失望的),discouraging(令人气馁的),encouraging(鼓舞人心的),puzzling(令人迷惑的),missing(不见的,缺少的),surprising(令人震惊的),confusing(令人迷惑的),amusing(有趣的),charming(迷人的,有魅力的),astonishing(令人惊讶的),shocking(令人震惊的),Tiring(累人的,令人疲倦的)

    这些现在分词作表语的时候多数表示主语的特征,而且主语通常是没有生命的名词,一般不能用有生命的名词作主语(用过去分词),因为不符合逻辑。

    • The work is tiring. 这个工作很累人。
      一般不能说 she is tiring,也不能说:The work is tired. 可以说:she is tired.

    • The news is surprising.

    • The book is interesting.

    • The story sounds interesting.

    • The news was disappointing.

    • The basketball match was so exciting.

    • The book is encouraging.

    但是有少数例外情况,有些现在分词作表语的时候,主语也可以是有生命的名词,如:

    She is so charming.

    3. 作宾补

    现在分词或者现在分词短语可以在 see,hear,notice,watch,keep,feel,get,have,find 等动词后面作宾补。现在分词或者现在分词短语表示正在发生或进行的动作,其含义相当于进行时态(现在进行时态和过去进行时态),如:

    • I felt my house shaking a few months ago.
    • They kept me waiting for so long.
    • I saw people coming and going.
    • We heard him singing in the bathroom.
    • I can watch her playing in the yard through our window.

    另外,动词不定式短语和现在分词短语作宾补的时候,都属于非谓语动词短语,其实意思都一样。那么,它们作宾补的时候有什么区别?

    区别1:动词不定式短语作宾补的情况比现在分词短语作宾补的情况多很多,因为很多特定的及物动词,都可以跟动词不定式短语作宾补,能跟现在分词短语作宾补的只是少数。而且还有些及物动词要省 to 的动词不定式短语作宾补,比如 “make” 这个动词。

    • I make my child do housework every day.
    • I want you to buy a book for me.
    • I want you to do homework carefully.
    • I wish you to be a doctor.
    • I invited you to come to my party.

    区别2:现在分词短语作宾补特别强调正在进行的动作,动词不定式短语作宾补没有这个意义,只是强调一般的动作或状态。比如:

    • I saw you (to) go out with a girl last night.
    • I saw you eating an apple last night. (看见的时候,宾语 you 正在吃苹果)

    另外,动词不定式短语可以用 “to be + 表语” 的格式作宾补,而现在分词短语,不能用 “being + 表语” 的格式作宾补,因为现在分词短语作宾补动作正在进行,不强调状态。

    There be 句型里面的主语后面可以跟一个动名词短语,过去分词或动词不定式作主语补足语。

    动名词短语就是现在分词短语,所以现在分词短语可以出现在 there be 结构,即:

    There be + 主语 + 现在分词或现在分词短语 + 状语

    这个时候,强调 “什么地方,有什么人或动物正在做某事”。比如:

    • There is man smoking in the park.
    • There was a man running past my house last night. 昨晚有一个人在我家旁边跑过。
    • There are ten sheep eating grass on the hill.

    There be + 主语 + 过去分词或过去分词短语作主语补足语,强调被动意义,比如:

    There be + 主语 + 过去分词或过去分词短语 + 状语

    • There was a man caught here last night. 昨晚有一个人被抓了。
    • There were many trees stolen last week.

    There be 结构出现动词不定式或动词不定式短语作主语补足语,强调一般情况,经常的或将来的情况,比如:

    There be + 主语 + 动词不定式短语 + 状语

    • There will be many people to come to Guangxi next year.
    • There are many people to learn English in our website every year.

    4. 作状语

    现在分词短语可以作状语,大部分情况下,放在开头,然后加逗号,有时也可以放在句尾,跟过去分词短语作状语一样,现在分词短语作状语也相当于某个状语从句。如:

    1)相当于原因状语从句

    • Being ill, he didn’t go to school today. 由于生病了,他今天没有来上学。

    现在分词短语 “being ill” 相当于一个原因状语从句 “as he was ill”,表示 “因为他生病了” 的意思,我们可以看出,现在分词短语 “being ill” 的逻辑主语,就是主语 “he”,也就是现在分词短语作状语时,逻辑主语和主语是一致的。

    • Seeing nobody at home, I just left.

    “seeing nobody at home” 相当于一个原因状语从句 “as I saw nobody at home”

    • Not knowing her cellphone number, I couldn’t call her.

    “now knowing her cellphone number” 相当于一个原因状语从句 “because I didn’t know her cellphone number”

    其实,现在分词短语作状语跟过去分词作状语一样,都相当于一个状语从句,只是省略了连接词和从句的主语。当然,过去分词短语作状语表示被动意义,现在分词短语作状语表示主动意义。过去分词短语作状语的造句方法也适用于现在分词短语作状语造句。

    首先,先写一个 “含有原因状语从句” 的复合句,注意,从句的主语和复合句的主语一致,比如:

    Because she was busy just now, she didn’t answer your phone.

    接下来,把原因状语从句的连接词 because 和从句的主语 she 去掉,然后将 was busy just now 变成现在分词,也就是把系动词 was 变成 being:

    Being busy just now, she didn’t answer your phone.

    2)相当于 when 引导的时间状语从句

    • Hearing the good news, he was very excited.

    “Hearing the good news” 相当于时间状语从句 “when he heard the good news”

    • Walking in the street, I saw a student of mine.

    “walking in the street” 相当于 “while I was walking in the street”

    • Opening the door, I found nobody in

    “opening the door” 相当于 “when I opened the door”

    如果现在分词的动作和谓语的动作是同时发生的,常在现在分词前面加 when 或 while,比如:

    Be careful when crossing the road
    When going to school, I met my teacher.
    While waiting for the bus, I had a long talk with Tom.

    如果现在分词的动作完成后,谓语的动作才发生,现在分词用完成格式。比如:

    Having finished his work, Jack went home (after he finished his work)

    3)相当于伴随状语(现在分词短语的逻辑主语还是和主语一致)

    • He sat at the table reading a novel.
    • Laughing and talking, they went into the classroom.
    • Please fill in this form, giving your name, address and Id card number.

    4)表示结果(现在分词短语的逻辑主语还是和主语一致)

    Her mother died in 1950, leaving her with three younger brothers and sisters.

    5)相当于条件状语从句

    Turning to the right, you will find the bathroom.
    “turning to the right” 相当于 “if you turn to the right”

    Working hard, you will succeed.
    “working hard” 相当于 “if you work hard”.

    注意,跟过去分词短语作状语一样,现在分词的逻辑主语必须跟句子的主语一致。不过,有时候,也想动词不定式一样,有自己独立的逻辑主语。这种情况称为独立主格。

    展开全文
  • 常见的中文分词器和使用 在上一章介绍了几种默认的分词器的规则和使用,有兴趣的可以参考一下 elasticSearch核心概念的介绍(五):分词器的介绍和使用 在这一章我们介绍常见的中文分词器 为什么要使用中文分词器...

    常见的中文分词器和使用

    在上一章介绍了几种默认的分词器的规则和使用,有兴趣的可以参考一下
    elasticSearch核心概念的介绍(五):分词器的介绍和使用
    在这一章我们介绍常见的中文分词器

    为什么要使用中文分词器,我们可以简单来试一下。

    • 请求

      curl -X POST "http://172.25.45.150:9200/_analyze" -H 'Content-Type:application/json' -d '
      {
          "analyzer":"standard",
          "text":"火箭明年总冠军"
      }
      '
      
    • 响应

      {
          "tokens": [
              {
                  "token": "火",
                  "start_offset": 0,
                  "end_offset": 1,
                  "type": "<IDEOGRAPHIC>",
                  "position": 0
              },
              {
                  "token": "箭",
                  "start_offset": 1,
                  "end_offset": 2,
                  "type": "<IDEOGRAPHIC>",
                  "position": 1
              },
              {
                  "token": "明",
                  "start_offset": 2,
                  "end_offset": 3,
                  "type": "<IDEOGRAPHIC>",
                  "position": 2
              },
              {
                  "token": "年",
                  "start_offset": 3,
                  "end_offset": 4,
                  "type": "<IDEOGRAPHIC>",
                  "position": 3
              },
              {
                  "token": "总",
                  "start_offset": 4,
                  "end_offset": 5,
                  "type": "<IDEOGRAPHIC>",
                  "position": 4
              },
              {
                  "token": "冠",
                  "start_offset": 5,
                  "end_offset": 6,
                  "type": "<IDEOGRAPHIC>",
                  "position": 5
              },
              {
                  "token": "军",
                  "start_offset": 6,
                  "end_offset": 7,
                  "type": "<IDEOGRAPHIC>",
                  "position": 6
              }
          ]
      }
      

      可以看到把每一个中文都进行了分词,我们通常希望它能够以词语等规则进行分词,所以这显然不是我们想要的结果

    常见的分词器

    • smartCN : 一个简单的中文或英文混合文本的分词器(这里不做使用,因为用的比较少)
    • IK分词器 更智能更友好的中文分词器

    这里我的es是通过docker去安装的,因此有需要的朋友可以参考

    Docker安装Elasticsearch和Kibana

    版本为7.4.2

    安装ik分词器

    • 下载 Release v7.4.2 · medcl/elasticsearch-analysis-ik · GitHub尽量保持一致的tag

    • 进入挂载目录

      cd /mydata/elasticsearch/plugins
      
    • 创建目录

      mkdir ik
      
    • 上传ik.zip

    • 解压

      unzip ./elasticsearch-analysis-ik-7.4.2.zip
      
    • 删除压缩包

      rm -rf ./elasticsearch-analysis-ik-7.4.2.zip
      
    • 重启es

      docker restart elasticsearch
      

    使用ik分词器

    • 请求
    curl -X POST http://172.25.45.150:9200/_analyze -H 'Content-Type' -d '
    	{
        "analyzer":"ik_max_word",
        "text":"火箭明年总冠军"
    }
    '
    
    • 响应
    {
        "tokens": [
            {
                "token": "火箭",
                "start_offset": 0,
                "end_offset": 2,
                "type": "CN_WORD",
                "position": 0
            },
            {
                "token": "明年",
                "start_offset": 2,
                "end_offset": 4,
                "type": "CN_WORD",
                "position": 1
            },
            {
                "token": "总冠军",
                "start_offset": 4,
                "end_offset": 7,
                "type": "CN_WORD",
                "position": 2
            },
            {
                "token": "冠军",
                "start_offset": 5,
                "end_offset": 7,
                "type": "CN_WORD",
                "position": 3
            }
        ]
    }
    

    这就我们就能看到ik分词后的效果,达到了我们想要的效果。

    展开全文
  • 汇总自《中文停用词表》、《哈工大停用词表》、《百度停用词表》、《四川大学机器智能实验室停用词表》以及《中文停用词词库》经过汇总去重后得到的停用词库。仅供分享学习。
  • 常见的中文分词方法

    千次阅读 2018-08-28 19:53:32
    常见的中文分词方法 1.基于规则的方法(字符串匹配、机械分词) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;定义:按照一定规则将待分析的汉字串与词典中的词条进行匹配,找到则切分,否则不予...

    常见的中文分词方法

    1.基于规则的方法(字符串匹配、机械分词)


        定义:按照一定规则将待分析的汉字串与词典中的词条进行匹配,找到则切分,否则不予切分。按照匹配切分的方式,主要有正向最大匹配方法、逆向最大匹配方法和双向最大匹配三种方法。

    1.1正向最大匹配方法


        正向最大匹配方法(Maximum Match Method, MM法):假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理。如此进行下去,直到匹配成功,即切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字字串进行匹配处理,直到文档被扫描完为止。
    例如:待分析文本为:我们在野生动物。假设词典中最长词长度为7。则从前往后取词7-1:
    第1次:“我们在野生动物”,扫描7字词典,无
    第2次:“我们在野生动”,扫描6字词典,无
    。。。。

    第6次:“我们”,扫描2字词典,有
    扫描中止,输出第1个词为“我们”,去除第1个词后开始第2轮扫描,即:

    第2轮扫描:
    第1次:“在野生动物园玩”,扫描7字词典,无
    第2次:“在野生动物园”,扫描6字词典,无
    。。。。

    第6次:“在野”,扫描2字词典,有
    依次类推,直到扫描终止。

    1.2逆向最大匹配方法


        逆向最大匹配方法(Reverse Maximum Match Method, RMM法):其基本原理与MM发相同,不同的是切分的方向与MM发相反。相对于正向匹配,该方法可以适当提高精确度,即RMM法比MM法误差要小。
    举个例子:待分析文本为:我们在野生动物。假设词典中最长词长度为7。则从后往前取词7-1:
    第1轮扫描:“在野生动物园玩”
    第1次:“在野生动物园玩”,扫描7字词典,无
    第2次:“野生动物园玩”,扫描6字词典,无
    。。。。
    第7次:“玩”,扫描1字词典,有
    扫描中止,输出“玩”,单字字典词加1,开始第2轮扫描
    第2轮扫描:“们在野生动物园”
    第1次:“们在野生动物园”,扫描7字词典,无
    第2次:“在野生动物园”,扫描6字词典,无
    第3次:“野生动物园”,扫描5字词典,有
    扫描中止,输出“野生动物园”,开始第3轮扫描
    …..
    第4轮扫描:“我们”
    第1次:“我们”,扫描2字词典,有
    扫描中止,输出“我们”,整体扫描结束。
    逆向最大匹配法,最终切分结果为:“我们/在/野生动物园/玩”

    1.3双向最大匹配方法


        正向最大匹配法和逆向最大匹配法,都有其局限性,我举得例子是正向最大匹配法局限性的例子,逆向也同样存在(如:长春药店,逆向切分为“长/春药店”),因此有人又提出了双向最大匹配法,双向最大匹配法。即,两种算法都切一遍,然后根据大颗粒度词越多越好,非词典词和单字词越少越好的原则,选取其中一种分词结果输出。
    如:“我们在野生动物园玩”
    正向最大匹配法,最终切分结果为:“我们/在野/生动/物/园/玩”,其中,两字词3个,单字字典词为2,非词典词为1。

    逆向最大匹配法,最终切分结果为:“我们/在/野生动物园/玩”,其中,五字词1个,两字词1个,单字字典词为2,非词典词为0。
    非字典词:正向(1)>逆向(0)(越少越好)

    单字字典词:正向(2)=逆向(2)(越少越好)

    总词数:正向(6)>逆向(4)(越少越好)
    因此最终输出为逆向结果。

    2.基于统计的方法词


        其主要思想是,在上下文中,相邻的字同时出现的次数越多,就越可能构成一个词。因此,字与字相邻出现的概率能较好的反应词的可信度。其步骤一般分为:
    (1)建立统计语言模型。
    (2)对句子进行单词划分,然后对划分结构进行概率计算,获得概率最大的分词方式。

    2.1 N-gram模型(N元模型)

        模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积 。

    P(t)=p(w1)p(w2|w1)p(w3|w1w2)...p(wn|w1w2...wn1) P ( t ) = p ( w 1 ) p ( w 2 | w 1 ) p ( w 3 | w 1 w 2 ) . . . p ( w n | w 1 w 2 . . . w n − 1 )

    其中t为一个句子,由词 w1,w2...wn w 1 , w 2 . . . w n 组成。
    当n=1时称为一元模型。此时存在参数空间过大和数据系数严重的问题。此时,我们引入马尔科夫假设:一个词的出现仅仅依赖于它前面出现有限的一个或者几个词。当n=2时,一个词的出现仅依赖与他前面的一个词,这种模型称为二元模型(bigram)。此时,

    P(t)=p(w1)p(w2|w1)p(w3|w2)...p(wn|wn1) P ( t ) = p ( w 1 ) p ( w 2 | w 1 ) p ( w 3 | w 2 ) . . . p ( w n | w n − 1 )

    2.2 HMM模型

        隐马尔科夫模型是将分词作为字在字符串中的序列标注任务来实现的。其基本思路是:每个字在构造一个特定的词语时都占据一个确定的构词位置,目前每个字最多只有四个构词位置。

    展开全文
  • ik中文分词词库30万中文分词词库(含电商) ik中文分词词库30万中文分词词库(含电商)
  • 中文分词常见方法

    万次阅读 2019-07-24 10:25:33
    中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块。不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词分词效果将直接影响词性、句法树等模块...
  • 常见的三种分词工具

    千次阅读 2019-05-18 21:31:42
    常见的三种分词工具 这节课主要讲了三种常见分词工具: jieba分词 ltp分词 ir分词 一、 分词的概念: 中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字...
  • 财经常用词词库大全,用于中文分词,非常全。学习分词、自然语义分析的必备词库。适用于市面绝大部分主流的自然语言处理工具包。
  • 常见中文分词列举

    2020-08-26 10:45:57
    基于ICTCLAS 3.0 共享版,分词精度98.45%。可以采用HTTP方式调用借口。 网址: http://blog.s135.com/httpcws_v100/ 2、 SCWS – 简易中文分词系统 采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、...
  • 在使用bert_wwm的时候 要基于句子的分词 结巴的分词是 有一些的问题的因为不是针对某一领域的 所以要制作某一领域内的词表。 先来一个示例: import jieba print("|".join(jieba.lcut("滴滴代驾不靠谱,在司机端...
  • 人民日报1998年1月份的语料库,加入了词性标注,北京大学开发,中文分词统计的好资料 人民日报1998年1月份的语料库,加入了词性标注,北京大学开发,中文分词统计的好资料
  • Lucene常见分词

    2016-01-25 14:08:50
    刚上班第一个任务就是将db查询改为Lucene查询,之前也没有接触过Lucene,也是慢慢自学Lucene,Lucene大概的意思就是将...下面介绍的是Lucene中常见的几种分词。 public class Lucene分词 { private static String
  • Lucene.Net+盘古分词是一个常见的中文信息检索组合。但是随着盘古分词停止更新,与Lucene.Net3.0无法兼容。为了使得大家少走弯路,本人利用Lucene.Net2.9+盘古分词2.3搭建了一个Demo,里面包含了两个模块的源码,方便...
  • 几种常见分词

    千次阅读 2014-07-17 17:28:51
    paoding :Lucene中文分词“庖丁解牛” Paoding Analysis imdict :imdict智能词典所采用的智能中文分词程序 mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器 ik :采用了特有的“正向迭代最...
  • 初中主要英语单词过去式和过去分词(16667).pdf
  • 中文最全停用词表
  • 列举了当前常用的中文分词器及其地址链接,不用再进行网络查找,直接可以进行使用。
  • 下面来进行比较下系统默认分词器和常用的中文分词器之间的区别。 系统默认分词器: 1、standard 分词器 https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-standard-analyzer.html 如何...
  • 文章目录分词机制分词API1、直接指定测试(指定分词器)2、针对索引的字段进行分词测试(利用该字段的分词器)3.自定义分词分词是指将文本转换成一系列单词(term or token)的过程,也可以叫做文本分析,在es...
  • 因为要做毕业设计,可能需要相关知识,所以在此总结一下常见的中文分词系统。1)HTTPCWS – 基于HTTP协议的开源中文分词系统张宴的作品,基于ICTCLAS 3.0 共享版,分词精度98.45%。可以采用HTTP方式调用借口。2)SCWS ...
  • smartCN 一个简单的中文或中英文混合文本的分词器IK分词器 更智能更友好的中文分词器 smartCn安装,进入es安装目录的bin文件下,运行如下命令,之后要重启elasticsearch sh elasticsearch-plugin install analysis-...
  • 本文内容为考研英语 常见不规则动词过去式/过去分词,单词源文件已经上传到我的资源中,有需要的可以去看看, 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以去 我的...
  • 中文分词就是将一句话分解成一个词一个词,英文中可以用空格来做,而中文需要用一些技术来处理。三类分词算法:1. 基于字符串匹配:将汉字串与词典中的词进行匹配,如果在词典中找到某个字符串,则识别出一个词。...
  • 中文分词一直都是中文自然语言处理领域的基础...其中最为常见的是最大匹配算法 (Maximum Matching,以下简称MM算法) 。MM算法有三种:一种正向最大匹配,一种逆向最大匹配和双向匹配。本程序实现了正向最大匹配算法。
  • 常见动词的过去式和过去分词

    万次阅读 2018-08-12 23:44:04
         beat的过去式和过去分词为:beat和beaten  
  • 利用jieba分词进行文本的处理这里面是jieba分词所需要的词典和停用词

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,697
精华内容 9,878
关键字:

常见现在分词