zoukankan      html  css  js  c++  java
  • python PyEnchant(检查拼写)

    一。PyEnchant(检查拼写)

    1.安装:

    使用pip直接安装:
        pip3 install pyenchant
    
    在Linux服务器中部署安装问题及解决方案:
    以上命令安装如果失败,检查本机是否有enchant组件,没有执行命令安装:
    sudo yum install enchant
    
    安装常用英语字典命令,来支持pyenchant的正常使用
    sudo yum install aspell-en
    sudo yum install enchant-aspell

    2.基础用法:

    PyEnchant中最主要的就是Dict对象,我们可以使用它来检查单词的拼写是否正确,同时还可以对拼写错误的单词提供几个可能的正确拼写。

    PyEnchant附带一些字典(en_GB,en_US,de_DE,fr_FR),但如果你想要更多语言,可以使用任何OpenOffice字典

    >>> import enchant
    >>> d = enchant.Dict("en_US")
    >>> d.check("Hello")
    True
    >>> d.check("Helo")
    False
    >>> d.suggest("Helo")
    ['He lo', 'He-lo', 'Hello', 'Helot', 'Help', 'Halo', 'Hell', 'Held', 'Helm', 'Hero', "He'll"]
    >>>

    2.1.创建Dict对象可以使用如下方式:

    方法描述:
    d = enchant.Dict(language)                     #使用指定语言创建Dict对象
    d = enchant.request_dict(language)             #使用指定语言创建Dict对象
    d = enchant.request_pwl_dict(filename)         #只用本地文件中的词汇创建Dict对象
    d = enchant.DictWithPWL(language, filename)    #将内置某语言以及本地文件中的词汇合并来创建Dict对象
    注意上述方法中用到了本地文件filename,文件中每一行只存放一个单词。

    2.2.enchant模块还提供了如下几个关于语言的方法:

    方法描述:
    enchant.dict_exits(language)    #查看当前enchant模块是否支持某种语言
    enchant.list_languages()        #查看当前enchant模块支持的所有语

    2.3.Dict对象有如下方法与属性方便用户使用:

    方法or属性描述:
    d = enchant.Dict(language)    #指定语言创建一个Dict对象
    d.tag                         #当前Dict使用的语言
    d.check(word)                 #检查word的拼写是否正确
    d.suggest(word)               #对拼写错误的word提供几个正确拼写的单词
    >>> import enchant
    >>> d = enchant.Dict("en_US")
    >>> d.tag
    'en_US'
    >>> d.check("Hello")
    True
    >>> d.check("Helo")
    False
    >>> d.suggest("helo")
    ['hole', 'hello', 'helot', 'halo', 'hero', 'hell', 'held', 'helm', 'help', 'he lo']
    >>> enchant.dict_exists("aa")
    False
    >>> enchant.dict_exists("en_US")
    True
    >>> enchant.list_languages()
    ['de_DE', 'en_AU', 'en_GB', 'en_US', 'fr_FR']
    方法演示

    3.检查一段文本中的拼写

    这里使用enchant.checker中的SpellChecker类来解决对一整段文本中的单词进行拼写检查

    >>> from enchant.checker import SpellChecker
    >>> chkr = SpellChecker("en_US")
    >>> chkr.set_text("This is sme sample txt with erors.")
    >>> for err in chkr:
    ...     print "ERROR", err.word
    ...
    ERROR sme
    ERROR txt
    ERROR erors

    4.英语分词器

    将英语文本进行分词,返回结果格式(word, pos),其中pos是word在整个文本中出现的位置

    >>> from enchant.tokenize import get_tokenizer
    >>> tknzr = get_tokenizer("en_US")
    >>> [w for w in tknzr("this is some simple text.")]
    [('this', 0), ('is', 5), ('some', 8), ('simple', 13), ('text', 20)]
  • 相关阅读:
    python爬虫实战(八)--------知乎
    python爬虫实战(七)--------伯乐在线文章(模版)
    python分布式爬虫打造搜索引擎--------scrapy实现
    VS2010与SVN
    ASP.net 自定义控件GridView
    Asp.net Ajax提供PageMethods调用
    JSON串行化
    JOSN反串行化
    WebRequestManager对象的使用
    WebRequest调用
  • 原文地址:https://www.cnblogs.com/iamjianghao/p/10881428.html
Copyright © 2011-2022 走看看