hunspell | The most popular spellchecking library | Natural Language Processing library

 by   hunspell C++ Version: v1.7.2 License: LGPL-2.1

kandi X-RAY | hunspell Summary

kandi X-RAY | hunspell Summary

hunspell is a C++ library typically used in Artificial Intelligence, Natural Language Processing applications. hunspell has no bugs, it has no vulnerabilities, it has a Weak Copyleft License and it has medium support. You can download it from GitHub.

Hunspell is a free spell checker and morphological analyzer library and command-line tool, licensed under LGPL/GPL/MPL tri-license. Hunspell is used by LibreOffice office suite, free browsers, like Mozilla Firefox and Google Chrome, and other tools and OSes, like Linux distributions and macOS. It is also a command-line tool for Linux, Unix-like and other OSes. It is designed for quick and high quality spell checking and correcting for languages with word-level writing system, including languages with rich morphology, complex word compounding and character encoding. Hunspell interfaces: Ispell-like terminal interface using Curses library, Ispell pipe interface, C++/C APIs and shared library, also with existing language bindings for other programming languages. Hunspell's code base comes from OpenOffice.org's MySpell library, developed by Kevin Hendricks (originally a C++ reimplementation of spell checking and affixation of Geoff Kuenning's International Ispell from scratch, later extended with eg. n-gram suggestions), see and its README, CONTRIBUTORS and license.readme (here: license.myspell) files.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              hunspell has a medium active ecosystem.
              It has 1771 star(s) with 218 fork(s). There are 54 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 221 open issues and 454 have been closed. On average issues are closed in 615 days. There are 16 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of hunspell is v1.7.2

            kandi-Quality Quality

              hunspell has no bugs reported.

            kandi-Security Security

              hunspell has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              hunspell is licensed under the LGPL-2.1 License. This license is Weak Copyleft.
              Weak Copyleft licenses have some restrictions, but you can use them in commercial projects.

            kandi-Reuse Reuse

              hunspell releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of hunspell
            Get all kandi verified functions for this library.

            hunspell Key Features

            No Key Features are available at this moment for hunspell.

            hunspell Examples and Code Snippets

            No Code Snippets are available at this moment for hunspell.

            Community Discussions

            QUESTION

            Sort second column using linux command
            Asked 2021-May-30 at 18:37

            Is it possible to sort text horizontally? For e.g. I have this hunspell file that has all the English words followed by tags. (It may contain unicode text and millions of words)

            ...

            ANSWER

            Answered 2021-May-30 at 14:17

            This might work for you (GNU sed and sort):

            Source https://stackoverflow.com/questions/67750933

            QUESTION

            Unable to install hunspell on windows 10
            Asked 2021-Mar-21 at 09:55

            i am unable to install hunspell on windows 10 whenever i try to install it using pip it throws the following error.

            ...

            ANSWER

            Answered 2021-Mar-21 at 09:54

            QUESTION

            NodeJS: loading ES Modules and native addons in the same project
            Asked 2021-Mar-08 at 09:59

            Before the actual questions (see at the end), please let me show the steps that lead to that question through an example:

            Creating the project ...

            ANSWER

            Answered 2021-Mar-08 at 05:38

            After some ramblings trying to figure this out got to the root cause.

            When using node -r esm index.js, the esm package does already all the work for your (as noted in other answers), and therefore (not mentioned in other answers):

            • the package.json should be updated by removing "type:" "module" (as it creates unintended interactions between the native node ES Modules feature and the esm package you installed)

            Aside note: if you tried to use node ES Modules and then you try to switch to esm package, it is very easy to miss this point.

            Source https://stackoverflow.com/questions/66378682

            QUESTION

            Compile Virtual Keyboard for Qt WebAssembly
            Asked 2021-Mar-03 at 13:09

            I'm trying to compile the virtual keyboard project example from QtCreator in WebAssembly.

            To compile for wasm library have to be linked statically. According to the docs:

            Static builds

            The virtual keyboard can be built and linked statically against the application. This implies that Qt is also built statically (using the -static option in the configure command line).

            Static builds of the virtual keyboard are enabled by adding CONFIG+=static to the qmake command line and then rebuilding.

            Some third party modules used by the virtual keyboard are always built as shared libraries. These modules are Hunspell and Lipi Toolkit.

            Said so, I'm trying to compile with

            ...

            ANSWER

            Answered 2021-Mar-03 at 13:09

            You can use -s TOTAL_MEMORY=32MB compiler flag to preset a size at emcc link time. Related question: wasm-ld: error: initial memory too small, 18317952 bytes needed

            There is a default limit setting, set to: 16777216 https://github.com/emscripten-core/emscripten/blob/master/src/settings.js#L171

            Source https://stackoverflow.com/questions/66388835

            QUESTION

            Using a Windows DLL in Go with cgo
            Asked 2020-Dec-12 at 06:38

            I'm trying to use the hunspell library in a Go project on Windows.

            I have the compiled Windows DLL (x64) and the corresponding header file (which is written in C), but I can't link it to the Go program.

            What I've tried so far:

            ...

            ANSWER

            Answered 2020-Dec-12 at 06:38

            C.Hunspell_create() missing const char* affpath and const char* dpath parameters.

            Maybe you also missing some mingw-w64/msys2/cygwin deps packages on Windows. hunspellgo seem not tested on Windows. You needs a linux-like building system (such as mingw-w64/msys2/cygwin) to compile hunspell on Windows. See at https://github.com/hunspell/hunspell#compiling-on-windows . Golang with cgo support on Windows also need some gcc/g++ deps.

            Source https://stackoverflow.com/questions/65259409

            QUESTION

            Does index size impact document indexing speed, tips?
            Asked 2020-Oct-30 at 14:24

            I currently want to index 132 Million documents over at my ES services hosted in aws ec2, I was able to do 98 Million, during a week.

            I noticed that indexing speed progressively decreased as the index grew in size, its currently sitting at 44GB.

            I tried pausing the process, and resuming it from certain points, but the speed was definitely not consistent.

            Is there a relation between index size and document indexing speed?

            Would appreciate a tip on how to improve index speed in these case, if possible guys, thanks in advance.

            Cluster Settings

            ...

            ANSWER

            Answered 2020-Oct-30 at 08:35

            As @leandrojmp mentioned in the comment, you need to provide much more information for us to provide a specific recommendation, but for the general tip on improving the reindex(one-time) https://opster.com/blogs/improve-elasticsearch-reindex-performance/ and for ongoing indexing performance follow https://opster.com/blogs/improve-elasticsearch-indexing-rate/ .

            Also, you can run the free checkup tool that provides certain optimization which you can do in your cluster.

            Source https://stackoverflow.com/questions/64594822

            QUESTION

            Function to replace incorrectly spelled words with correctly spelled words in R?
            Asked 2020-Oct-09 at 10:08

            I've built a spell check function for a sample of 1000 rows to ensure its efficiency, using the 'hunspell' package and the Australian English dictionary. The spell-checker ignores abbreviations. My actual data has close to 2 million lines, I therefore need to convert the 'for' loops into the 'apply' family functions.

            I'm almost there I, but the last part isn't working. Below are the original for loop functions:

            ...

            ANSWER

            Answered 2020-Oct-09 at 10:08

            This will identify and replace incorrectly spelt words with the correct spelling. Note that it will ignore abbreviations as desired, and it assumes all words are separated by a space.

            Source https://stackoverflow.com/questions/62755026

            QUESTION

            visual studio 2019 packages.config
            Asked 2020-Jul-21 at 18:29

            I am using VS 2019 CE v 16.64 with Net Framework 4.8.03761
            I have two projects TestSql and Notebook TestSql was built first and the only package installed was System Data SQLite Core
            After a few updates to VS 2019 I built Notebook I only installed System Data SQLite Core and WeCantSpell.Hunspell

            When I look at the folder packages.config for Notebook I see the following packages installed and wanting Updates
            System Buffers
            System Memory
            System Numeric Vectors
            System Runtime CompileServices Unsafe
            Well if I did not install them just Uninstall them That is not working?

            The other issue is "If it ain't broke don't fix it" the TestSql project had the packages.config folder at the bottom in Solution Explore I did a Migrate from packages.config to PackageReference
            When I saw the phrase Benefits of using PackageReference I should have known this was perhaps a bad idea
            Link to Benefits

            So the questions are two
            How do I get my packages.config folder back where it was? (See Screen Shots)
            OR has my OCD clouded my sense of reality that Package References is really better design?
            How do I Uninstall the packages I did not install? YES I tried with Manage NuGet Packages

            ...

            ANSWER

            Answered 2020-Jul-21 at 18:29

            How do I get my packages.config folder back where it was?

            If you do not absolutely need packages.config, then do not go back. The PackageReference format offers lots of benefits that you do not want to miss in the long run, your link does not lie. It even solves your next problem.

            How do I Uninstall the packages I did not install?

            You simply don't, because it will break your library. A NuGet package represents a module or set of features consisting of artifacts like assemblies, content files or build scripts. Such a module may have dependencies that it requires to work, for example an SQLite library. Instead of creating one giant archive that contains all assemblies and files that are required, packages specify dependencies to other packages. This way, you can flexibly consolidate and update packages, especially if there are common dependencies of multiple packages, which also prevents having multiple copies of the same assemblies or files in different versions, which can become problematic.

            Let's look at the dependencies of the packages that you are using.

            • System.Data.SQLite.Core
              • No dependencies
            • WeCantSpell.Hunspell
              • System.Memory for .NET Framework >= 4.5

            [...] the only package installed was System Data SQLite Core

            This package does not have any dependencies, that is why there were not additional packages.

            [...] I only installed System Data SQLite Core and WeCantSpell.Hunspell

            If you look at the list above, the Hunspell package requires System.Memory, that explains why it is installed, too. Hunspell will not work without it, it depends on it. I hear you ask, where do the other packages come from then? Each package can have dependencies. Consequently a package can depend on a package that depends on other packages that... I think you get the idea. So let's take another look at dependencies for .NET Framework >= 4.6.1.

            • System.Memory
              • System.Buffers
              • System.Numerics.Vectors
              • System.Runtime.CompilerServices.Unsafe

            I think that these are all the dependencies that you were looking for. All these packages will be added to your packages.config and this is one good reason to migrate to PackageReference, because it handles transitive package references way better. Suppose you add one package A with a dependency to package B and that has a dependency to package C. Then A has a dependency to C. This is called a transitive dependency.

            The older packages.config will add all packages, while PackageReferece will only add A and is smart enough include the other packages, without explicitly adding them. In your example, the project file would only contain the references below.

            Source https://stackoverflow.com/questions/63019958

            QUESTION

            How and what does Firefox (Hunspell) do to clean text before spellchecking words?
            Asked 2020-Jun-19 at 17:30

            I am trying to clean text in the exact way that Firefox does before spell checking individual words for a Firefox extension I'm building (my addon uses nspell, a JavaScript implementation of Hunspell, since Firefox doesn't expose the Hunspell instance it uses via the extension API).

            I've looked at the Firefox gecko cloned codebase, i.e. in the mozSpellChecker.h file and other related files by searching for "spellcheck" but I cannot seem to find out how they are cleaning text.

            Reverse engineering it has been a major PITA, I have this so far:

            ...

            ANSWER

            Answered 2020-Jun-19 at 17:30

            I believe you want the functions in mozInlineSpellWordUtil.cpp.

            From the header:

            Source https://stackoverflow.com/questions/62290285

            QUESTION

            Spell checking in PyQtWebEngine
            Asked 2020-May-24 at 17:38

            I am writing a program which is mainly in python but some interactive features are done through a web-app that talks to flask. It would be nice to have the web-app inside the python program so I am looking at using PyQtWebEngine.

            This works surprisingly well except that I cannot get spell checking to work. I have run

            ...

            ANSWER

            Answered 2020-May-24 at 17:38

            Assuming that the .bdic are valid then I have established the path of the dictionaries through the environment variable QTWEBENGINE_DICTIONARIES_PATH, for example I have translated the official example into python with the following structure:

            Source https://stackoverflow.com/questions/61987930

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install hunspell

            You can download it from GitHub.

            Support

            features and dictionary format:.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/hunspell/hunspell.git

          • CLI

            gh repo clone hunspell/hunspell

          • sshUrl

            git@github.com:hunspell/hunspell.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Natural Language Processing Libraries

            transformers

            by huggingface

            funNLP

            by fighting41love

            bert

            by google-research

            jieba

            by fxsjy

            Python

            by geekcomputers

            Try Top Libraries by hunspell

            hyphen

            by hunspellC

            mythes

            by hunspellC++

            hunspell.github.io

            by hunspellCSS