Metadata-Version: 1.1
Name: textblob-de
Version: 0.2.7
Summary: German language support for TextBlob.
Home-page: https://github.com/markuskiller/textblob-de
Author: Markus Killer
Author-email: m.killer@langui.ch
License: 

Copyright 2014 Markus Killer

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


Description: ===========
        textblob-de
        ===========
        
        .. image:: https://badge.fury.io/py/textblob-de.png
            :target: http://badge.fury.io/py/textblob-de
            :alt: Latest version
        
        .. image:: https://travis-ci.org/markuskiller/textblob-de.png?branch=master
            :target: https://travis-ci.org/markuskiller/textblob-de
            :alt: Travis-CI
        
        .. image:: https://pypip.in/d/textblob-de/badge.png
            :target: https://crate.io/packages/textblob-de/
            :alt: Number of PyPI downloads
        
        
        German language support for `TextBlob <https://textblob.readthedocs.org/>`_ by Steven Loria.
        
        This python package is being developed as a ``TextBlob`` **Language Extension**.
        See `Extension Guidelines <https://textblob.readthedocs.org/en/dev/contributing.html>`_ for details.
        
        
        Features
        --------
        
        * All directly accessible ``textblob_de`` classes (e.g. ``Sentence()`` or ``Word()``) are initialized with default models for German
        * Properties or methods that do not yet work for German raise a ``NotImplementedError``
        * German sentence boundary detection and tokenization (``NLTKPunktTokenizer``)
        * Consistent use of specified tokenizer for all tools (``NLTKPunktTokenizer`` or ``PatternTokenizer``)
        * Part-of-speech tagging (``PatternTagger``) with keyword ``include_punc=True`` (defaults to ``False``)
        * Parsing (``PatternParser``) with all ``pattern`` keywords, plus ``pprint=True`` (defaults to ``False``)
        * Noun Phrase Extraction (``PatternParserNPExtractor``)
        * Lemmatization (``PatternParserLemmatizer``)
        * Polarity detection (``PatternAnalyzer``) - Still **EXPERIMENTAL**, does not yet have information on subjectivity
        * **NEW:** Full ``pattern.text.de`` API support on Python3
        * Supports Python 2 and 3
        * See `working features overview <http://langui.ch/nlp/python/textblob-de/>`_ for details
        
        
        Installing/Upgrading
        --------------------
        ::
        
            $ pip install -U textblob-de
            $ python -m textblob.download_corpora
            
        Or the latest development release (apparently this does not always work on Windows see 
        `issues #1744/5 <https://github.com/pypa/pip/pull/1745>`_ for details)::
        
            $ pip install -U git+https://github.com/markuskiller/textblob-de.git@dev
            $ python -m textblob.download_corpora
        
        
        .. note::
        
           ``TextBlob`` will be installed/upgraded automatically when running 
           ``pip install``. The second line (``python -m textblob.download_corpora``) 
           downloads/updates nltk corpora and language models used in ``TextBlob``.
        
        
        Usage
        -----
        
        
        .. code-block:: python
        
            >>> from textblob_de import TextBlobDE as TextBlob
            >>> text = '''Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. Geburtstag. 
            Ich muss unbedingt daran denken, Mehl, usw. für einen Kuchen einzukaufen. Aber leider 
            habe ich nur noch EUR 18.50 in meiner Brieftasche.'''
            >>> blob = TextBlob(text)
            >>> blob.sentences
            [Sentence("Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. Geburtstag."),
             Sentence("Ich muss unbedingt daran denken, Mehl, usw. für einen Kuchen einzukaufen."),
             Sentence("Aber leider habe ich nur noch EUR 18.50 in meiner Brieftasche.")]
            >>> blob.tokens
            WordList(['Heute', 'ist', 'der', '3.', 'Mai', ...]
            >>> blob.tags
            [('Heute', 'RB'), ('ist', 'VB'), ('der', 'DT'), ('3.', 'LS'), ('Mai', 'NN'), 
            ('2014', 'CD'), ...]
            # Default: Only noun_phrases that consist of two or more meaningful parts are displayed.
            # Not perfect, but a start (relies heavily on parser accuracy)
            >>> blob.noun_phrases
            WordList(['Mai 2014', 'Dr. Meier', 'seinen 43. Geburtstag', 'Kuchen einzukaufen', 
            'meiner Brieftasche'])
            
        
        .. code-block:: python
        
            >>> blob = TextBlob("Das Auto ist sehr schön.")
            >>> blob.parse()
            'Das/DT/B-NP/O Auto/NN/I-NP/O ist/VB/B-VP/O sehr/RB/B-ADJP/O schön/JJ/I-ADJP/O'
            >>> from textblob_de import PatternParser
            >>> blob = TextBlobDE(u"Das ist ein schönes Auto.", parser=PatternParser(pprint=True, lemmata=True))
            >>> blob.parse()
                  WORD   TAG    CHUNK   ROLE   ID     PNP    LEMMA   
                                                                     
                   Das   DT     -       -      -      -      das     
                   ist   VB     VP      -      -      -      sein    
                   ein   DT     NP      -      -      -      ein     
               schönes   JJ     NP ^    -      -      -      schön   
                  Auto   NN     NP ^    -      -      -      auto    
                     .   .      -       -      -      -      .       
            >>> from textblob_de import PatternTagger
            >>> blob = TextBlob(text, pos_tagger=PatternTagger(include_punc=True))
            [('Das', 'DT'), ('Auto', 'NN'), ('ist', 'VB'), ('sehr', 'RB'), ('schön', 'JJ'), ('.', '.')]
        
        
        .. code-block:: python
            
            >>> blob = TextBlob("Das Auto ist sehr schön.")
            >>> blob.sentiment
            Sentiment(polarity=1.0, subjectivity=0.0)
            >>> blob = TextBlob("Das ist ein hässliches Auto.")     
            >>> blob.sentiment
            Sentiment(polarity=-1.0, subjectivity=0.0)
        
        
        .. warning::
        
            **WORK IN PROGRESS:** The German polarity lexicon contains only uninflected
            forms and there are no subjectivity scores yet. As of version 0.2.3, lemmatized
            word forms are submitted to the ``PatternAnalyzer``, increasing the accuracy
            of polarity values. New in version 0.2.7: return type of ``.sentiment`` is now
            adapted to ``textblob`` main package (``:rtype: namedtuple``).
        
        
        .. code-block:: python
        
            >>> blob.words.lemmatize()
            WordList(['das', 'sein', 'ein', 'hässlich', 'Auto'])
            >>> from textblob_de.lemmatizers import PatternParserLemmatizer
            >>> _lemmatizer = PatternParserLemmatizer()
            >>> _lemmatizer.lemmatize("Das ist ein hässliches Auto.")
            [('das', 'DT'), ('sein', 'VB'), ('ein', 'DT'), ('hässlich', 'JJ'), ('Auto', 'NN')]
        
        
        .. note::
        
            Make sure that you use unicode strings on Python2 if your input contains
            non-ascii characters (e.g. ``word = u"schön"``).
        
        
        Access to ``pattern`` API in Python3
        ------------------------------------
        
        .. code-block:: python
        
            >>> from textblob_de.packages import pattern_de as pd
            >>> print(pd.attributive("neugierig", gender=pd.FEMALE, role=pd.INDIRECT, article="die"))
            neugierigen
            
        .. note::
        
           Alternatively, the path to ``textblob_de/ext`` can be added to the ``PYTHONPATH``, which allows
           the use of ``pattern.de`` in almost the same way as described in its 
           `Documentation <http://www.clips.ua.ac.be/pages/pattern-de>`_.
           The only difference is that you will have to prepend an underscore: 
           ``from _pattern.de import ...``. This is a precautionary measure in case the ``pattern``
           library gets native Python3 support in the future.
        
        
        Requirements
        ------------
        
        - Python >= 2.6 or >= 3.3
        
        TODO
        ----
        
        - **TextBlob Extension:** ``textblob-rftagger`` (wrapper class for ``RFTagger``)
        - **TextBlob Extension:** ``textblob-cmd`` (command-line wrapper for ``TextBlob``, basically TextBlob for files 
        - **TextBlob Extension:** ``textblob-stanfordparser`` (wrapper class for ``StanfordParser`` via NLTK)
        - **TextBlob Extension:** ``textblob-berkeleyparser`` (wrapper class for ``BerkeleyParser``)
        - **TextBlob Extension:** ``textblob-sent-align`` (sentence alignment for parallel TextBlobs)
        - **TextBlob Extension:** ``textblob-converters`` (various input and output conversions)
        - Additional PoS tagging options, e.g. NLTK tagging (``NLTKTagger``)
        - Improve noun phrase extraction (e.g. based on ``RFTagger`` output)
        - Improve sentiment analysis (find suitable subjectivity scores)
        - Improve functionality of ``Sentence()`` and ``Word()`` objects
        - Adapt more tests from ``textblob`` main package (esp. for ``TextBlobDE()`` in ``test_blob.py``)
        
        
        License
        -------
        
        MIT licensed. See the bundled ``LICENSE``  file for more details.
        
        
        Changelog
        ---------
        
        0.2.7 (13/08/2014)
        ++++++++++++++++++
        
        * Fixed `Issue #1 <https://github.com/markuskiller/textblob-de/issues/1>`_ lemmatization of strings containing a forward slash (``/``)
        * Enhancement `Issue #2 <https://github.com/markuskiller/textblob-de/issues/2>`_ use the same rtype as ``textblob`` for sentiment detection.
        * Fixed tokenization in ``PatternParserLemmatizer``
        
        0.2.6 (04/08/2014)
        ++++++++++++++++++
        
        * Fixed ``MANIFEST.in`` for package data in ``sdist``
        
        0.2.5 (04/08/2014)
        ++++++++++++++++++
        
        * ``sdist`` is non-functional as important files are missing due to a misconfiguration in ``MANIFEST.in`` - does not affect ``wheels``
        * Major internal refactoring (but no backwards-incompatible API changes) with the aim of restoring complete compatibility to original ``pattern>=2.6`` library on Python2
        * Separation of ``textblob`` and ``pattern`` code
        * On Python2 the vendorized version of ``pattern.text.de`` is only used, if original is not installed (same as ``nltk``)
        * Made ``pattern.de.pprint`` function and all parser keywords accessible to customise parser output
        * Access to complete ``pattern.text.de`` API on Python2 and Python3 ``from textblob_de.packages import pattern_de as pd``
        * ``tox`` passed on all major platforms (Win/Linux/OSX)
        
        0.2.3 (26/07/2014)
        ++++++++++++++++++
        
        * Lemmatizer: ``PatternParserLemmatizer()`` extracts lemmata from Parser output
        * Improved polarity analysis through look-up of lemmatised word forms
        
        0.2.2 (22/07/2014)
        ++++++++++++++++++
        
        * Option: Include punctuation in ``tags``/``pos_tags`` properties (``b = TextBlobDE(text, tagger=PatternTagger(include_punc=True))``)
        * Added ``BlobberDE()`` class initialized with German models
        * ``TextBlobDE()``, ``Sentence()``, ``WordList()`` and ``Word()`` classes are now all initialized with German models
        * Restored complete API compatibility with ``textblob.tokenizers`` module of ``textblob`` main package
        
        0.2.1 (20/07/2014)
        ++++++++++++++++++
        
        * Noun Phrase Extraction: ``PatternParserNPExtractor()`` extracts NPs from Parser output
        * Refactored the way ``TextBlobDE()`` passes on arguments and keyword arguments to individual tools
        * *Backwards-incompatible*: Deprecate ``parser_show_lemmata=True`` keyword in ``TextBlob()``. Use ``parser=PatternParser(lemmata=True)`` instead.
        
        0.2.0 (18/07/2014)
        ++++++++++++++++++
        
        * vastly improved tokenization (``NLTKPunktTokenizer`` and ``PatternTokenizer`` with tests)
        * consistent use of specified tokenizer for all tools
        * ``TextBlobDE`` with initialized default models for German
        * Parsing (``PatternParser``) plus ``test_parsers.py``
        * **EXPERIMENTAL** implementation of Polarity detection (``PatternAnalyzer``)
        * first attempt at extracting German Polarity clues into ``de-sentiment.xml``
        * tox tests passing for py26, py27, py33 and py34
        
        0.1.3 (09/07/2014)
        ++++++++++++++++++
        
        * First release on PyPI
        
        0.1.0 - 0.1.2 (09/07/2014)
        ++++++++++++++++++++++++++
        
        * First release on github
        * A number of experimental releases for testing purposes
        * Adapted version badges, tests & travis-ci config
        * Code adapted from sample extension `textblob-fr <https://github.com/sloria/textblob-fr>`_
        * Language specific linguistic resources copied from `pattern-de <https://github.com/clips/pattern/tree/master/pattern/text/de>`_
        
Keywords: textblob_de
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: German
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Text Processing
Classifier: Topic :: Text Processing :: Linguistic
