标签: pyenchant

寻找类似的单词

我正在尝试编写一个拼写检查模块.

它加载一个文本,从16 mb文件创建一个字典,然后检查遇到的单词是否与字典中的单词相似(类似=最多两个字符),如果是,则将其从字典更改为表单.

现在我正在使用Levenshtein距离算法,处理50个字的设置需要3分钟......

我很确定必须有更快的解决方案.Profiler告诉我,我的应用程序花费了超过80%的时间在Levenshtein Distance功能.

有没有更好的解决方案/算法?

这是我使用的算法版本的实现:

def levenshteinDistance(s1, s2):
    l_s1 = len(s1)
    l_s2 = len(s2)
    d = [[a for a in genM(x, l_s2 + 1)] for x in xrange(l_s1 + 1)]
    for i in xrange(1, l_s1 + 1):
        for j in xrange(1, l_s2 + 1):
            d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + decide_of_equality(s1[i - 1],s2[j - 1]))
    return d[l_s1][l_s2]
Run Code Online (Sandbox Code Playgroud)

python spell-checking edit-distance pyenchant

5
推荐指数
1
解决办法
1389
查看次数

pyenchant在Mac OS X上找不到字典文件

我在运行Lion的MacbookPro上安装pyenchant时遇到了麻烦.我用自制软件和点子来安装附魔和诡计

自制软件安装附魔

pip install pyenchant

我还下载了一个英文字典到以下文件夹:

/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/share/enchant/myspell

-rw-r--r--  1 mycomputer  admin      75 Jun  6 13:34 README.txt
-rw-rw-rw-@ 1 mycomputer  staff    1017 May  4  2007 README_en_US.txt
drwx------@ 2 mycomputer  staff      68 Jun  6 13:38 en_US
-rw-rw-rw-@ 1 mycomputer  staff    3045 May  4  2007 en_US.aff
-rw-rw-rw-@ 1 mycomputer  staff  696131 May  4  2007 en_US.dic
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用附魔时,我收到以下错误.

>>> import enchant
>>> d = enchant.Dict('en_US')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/__init__.py", line 502, in __init__
    self._switch_this(broker._request_dict_data(tag),broker)
  File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/__init__.py", …
Run Code Online (Sandbox Code Playgroud)

python install pyenchant

5
推荐指数
1
解决办法
4377
查看次数

如何使用PyEnchant自动更正文本并返回更正后的文本

import enchant
import wx
from enchant.checker import SpellChecker
from enchant.checker.wxSpellCheckerDialog import wxSpellCheckerDialog
from enchant.checker.CmdLineChecker import CmdLineChecker

a = "Ceci est un text avec beuacuop d'ereurs et pas snychro"
chkr = enchant.checker.SpellChecker("fr_FR")
chkr.set_text(a)
cmdln = CmdLineChecker()
cmdln.set_checker(chkr)
b = cmdln.run()
c = chkr.get_text()  # returns corrected text
print c
Run Code Online (Sandbox Code Playgroud)

如何在c不使用0手动的情况下返回更正的文本cmdlinechecker

程序应该运行包含未修正文本的字符串,更正它,并将其保存在变量中以导出到MySQL数据库中.

python spell-checking python-2.7 pyenchant

5
推荐指数
1
解决办法
4858
查看次数

Pyenchant-意大利语和西班牙语

我正在使用pyenchant软件包在Python中进行拼写检查。我能够成功使用英语,法语,德语语言进行操作。

另外,我想使用意大利语和西班牙语。我研究了附魔使用中可用的字典enchant.list_languages(),但我只得到了['de_DE', 'en_AU', 'en_GB', 'en_US', 'fr_FR']

我正在寻找如何使用附魔包装或任何其他包装/技术对意大利语和西班牙语进行拼写检查

谢谢。

python pyenchant

5
推荐指数
1
解决办法
1997
查看次数

跨越不同平台的附魔词典

附魔图书馆的不同结果(附魔1.6.6)

在MAC OSX 10.11.12(El Capitan)中:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.suggest("prfomnc")
['performance', 'prominence', 'preform', 'perform']
Run Code Online (Sandbox Code Playgroud)

在Linux Ubuntu 14.04 LTS中:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.suggest("prfomnc")
['princedom', 'preferment', 'preform']
Run Code Online (Sandbox Code Playgroud)

任何想法为什么我在NLTK中获得"建议"功能的不同结果和其他替代方案?


苹果系统

>>> enchant.list_dicts()
[('de_DE', <Enchant: Myspell Provider>), ('en_AU', <Enchant: Myspell Provider>), ('en_GB', <Enchant: Myspell Provider>), ('en_US', <Enchant: Myspell Provider>), ('fr_FR', <Enchant: Myspell Provider>)]
Run Code Online (Sandbox Code Playgroud)

Ubuntu的

>>> enchant.list_dicts()
[('en', <Enchant: Aspell Provider>), ('en_CA', <Enchant: Aspell Provider>), ('en_GB', <Enchant: Aspell Provider>), ('en_US', <Enchant: Aspell Provider>), ('en_ZA', <Enchant: Myspell …
Run Code Online (Sandbox Code Playgroud)

python nltk pyenchant enchant

5
推荐指数
1
解决办法
431
查看次数

Python:打印 pyenchant 字典的所有内容

hunspell我已经使用类型 .dic和文件加载了一本非英语词典.aff。我可以使用以下方法检查字典中的单词

d=enchant.Dict('my_lang')  
d.check('my_word')
Run Code Online (Sandbox Code Playgroud)

.dic文件包含所有基本形式,并且. aff文件包含所有词缀。我需要的是找到输入单词的基本形式。enchant.dict如果我可以打印出所有对象内容或在.dic 文件中取出一个单词并使用所有词缀来制作新单词列表,那么会有帮助。这是可能的还是我必须自己编写词缀规则?如果该check()函数已经做到了这一点,为什么它如此隐藏?

dictionary windows-7 python-2.7 pyenchant

5
推荐指数
0
解决办法
618
查看次数

pyenchant 代理只有 Hspell 提供程序 [&lt;Enchant: Hspell Provider&gt;],没有 Aspell 提供程序

我安装了pyenchant(Ubuntu 17.0,Spyder 3.2.4,Python 3.6.1 64bits)使用

pip install pyenchant
Run Code Online (Sandbox Code Playgroud)

当我执行

import enchant
b = enchant.Broker()
print(b.describe())
Run Code Online (Sandbox Code Playgroud)

我正进入(状态

[<Enchant: Hspell Provider>]
Run Code Online (Sandbox Code Playgroud)

我能够发现输出应该至少包含

[<Enchant: Ispell Provider>, <Enchant: Myspell Provider>, <Enchant: Aspell Provider>]
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,我的 pyenchant 创建了列表中只有一个希伯来语 (hspell) 提供程序的代理。我想使用“us_EN”字典,但可用字典的列表是 [] 如果我没有安装 hspell,或者在我安装 hspell 后是 ['he']。我的系统中确实安装了 aspell,我进行了三重检查。任何帮助将不胜感激。

ubuntu aspell python-3.x pyenchant

5
推荐指数
0
解决办法
147
查看次数

没有德语字典的PyEnchant

感谢Stackoverflow,我了解了pyenchant库。

我正在寻找通过附魔使用的德语词典“ de_DE”,但找不到。我在哪里可以得到它,应该将它放在哪个目录中以便pyenchant可以看到它?

我正在使用运行Ubuntu的Linux机器。

python dictionary pyenchant

4
推荐指数
1
解决办法
2126
查看次数

如何将字典添加到PyEnchant?

我为PyEnchant提供了许多语言的文件:en_US, en_AU, de_DE, fr_FR.现在我调用字典列表,只看到小集:'en', 'en_US', 'en_GB', 'en_CA'.我打电话:

items = enchant._broker.list_languages()
Run Code Online (Sandbox Code Playgroud)

如何加载Enchant其他langs?新文件?所以enchant.Dict()可以接受它.

python spell-checking pyenchant

4
推荐指数
1
解决办法
5824
查看次数

无法在OSX上安装pyenchant

我试图为附魔库(pyenchant)安装python绑定,根据自述文件,它应该像运行一样简单python setup.py install 但是当我尝试时,我得到这个错误:

OSError: [Errno 2] No such file or directory: './tools/pyenchant-bdist-osx-sources/build/lib'
Run Code Online (Sandbox Code Playgroud)

谁能告诉我该怎么做?我试过谷歌,但没有运气.

PS:我在serverfault上有同样的问题,因为我认为这是最适合它的地方,但是在那里几乎没有帮助,我现在正在这里尝试.

python macos pyenchant

3
推荐指数
1
解决办法
2951
查看次数

EC2附魔无法找到词典en_US

我正在尝试运行该命令d = enchant.Dict('en_US')但收到错误消息"enchant.errors.DictNotFoundError: Dictionary for language 'en_US' could not be found"

我运行命令sudo yum install aspell -en并尝试设置param路径"enchant.set_param("enchant.aspell.dictionary.path","/usr/lib64/aspell-0.60")"无济于事.

有什么建议?

python amazon-ec2 pyenchant

1
推荐指数
1
解决办法
2030
查看次数

'pyenchant'、CentOS(和 El Capitan)的问题

问题陈述

我在运行导入附魔库的 python 文件时遇到问题。我已经使用以下命令安装了 enchant 模块:

$ pip install -U pyenchant
> Requirement already up-to-date: pyenchant in /usr/lib/python3.4/site-packages
Run Code Online (Sandbox Code Playgroud)


我的 Python 环境

$ cat /etc/*-release
CentOS Linux release 7.2.1511 (Core)

$ cat ~/.zshrc
...
export PYTHONPATH=/usr/lib/python3.4/site-packages
alias py="python3"
alias pip="pip3"
...

$ py --version
Python 3.4.3

$ pip --version
pip 8.1.1 from /usr/lib/python3.4/site-packages (python 3.4)

$ echo $PYTHONPATH
/usr/lib/python3.4/site-packages

$ ls -al /usr/lib/python3.4/site-packages | grep enchant
drwxr-xr-x  5 root root 4096 13 apr 13:56 enchant
drwxr-xr-x  2 root root 4096 13 …
Run Code Online (Sandbox Code Playgroud)

python pip python-3.x pyenchant enchant

1
推荐指数
1
解决办法
2073
查看次数

用python和附魔进行拼写检查

我希望在我的PyQt4项目中有一个拼写检查功能,看起来pyenchant是做这件事的好选择.这是完美的工作.但我想制作自己的单词词典并用它们提供模块.有可能吗?

之后,如何在其他想要使用原始程序的计算机上轻松地使用这个新词典呢?我不想让用户安装一些奇怪的程序和字典来使用我的简单程序.

PS:我在Linux系统上.

python python-2.7 pyenchant

0
推荐指数
1
解决办法
3158
查看次数