Skip to main content

Annotated Sentence Processing Library

Project description

This resource allows for matching of Turkish words or expressions with their corresponding entries within the Turkish dictionary, the Turkish PropBank TRopBank, morphological analysis, named entity recognition, word senses from Turkish WordNet KeNet, shallow parsing, and universal dependency relation.

    ## Data Format
    
    The structure of a sample annotated word is as follows:
    
    	{turkish=Gelir}
    	{morphologicalAnalysis=gelir+NOUN+A3SG+PNON+NOM}
    	{metaMorphemes=gelir}
    	{semantics=TUR10-0289950}
    	{namedEntity=NONE}
    	{propbank=ARG0$TUR10-0798130}
    	{shallowParse=ÖZNE}
    	{universalDependency=10$NSUBJ}
    
    As is self-explanatory, 'turkish' tag shows the original Turkish word; 'morphologicalAnalysis' tag shows the correct morphological parse of that word; 'semantics' tag shows the ID of the correct sense of that word; 'namedEntity' tag shows the named entity tag of that word; 'shallowParse' tag shows the semantic role of that word; 'universalDependency' tag shows the index of the head word and the universal dependency for this word; 'propbank' tag shows the semantic role of that word for the verb synset id (frame id in the frame file) which is also given in that tag.
    
    Video Lectures
    ============
    
    [<img src="https://github.com/StarlangSoftware/AnnotatedSentence/blob/master/video1.jpg" width="50%">](https://youtu.be/FtoCdIELkG8)[<img src="https://github.com/StarlangSoftware/AnnotatedSentence/blob/master/video2.jpg" width="50%">](https://youtu.be/jHxZ2aMimoQ)
    
    For Developers
    ============
    
    You can also see [Python](https://github.com/starlangsoftware/AnnotatedSentence-Py), [Java](https://github.com/starlangsoftware/AnnotatedSentence), [C++](https://github.com/starlangsoftware/AnnotatedSentence-CPP), [C](https://github.com/starlangsoftware/AnnotatedSentence-C), [Swift](https://github.com/starlangsoftware/AnnotatedSentence-Swift), [Js](https://github.com/starlangsoftware/AnnotatedSentence-Js), or [C#](https://github.com/starlangsoftware/AnnotatedSentence-CS) repository.
    
    ## Requirements
    
    * [Python 3.7 or higher](#python)
    * [Git](#git)
    
    ### Python 
    
    To check if you have a compatible version of Python installed, use the following command:
    
        python -V
        
    You can find the latest version of Python [here](https://www.python.org/downloads/).
    
    ### Git
    
    Install the [latest version of Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
    
    ## Pip Install
    
    	pip3 install NlpToolkit-AnnotatedSentence-Cy
    	
    ## Download Code
    
    In order to work on code, create a fork from GitHub page. 
    Use Git for cloning the code to your local or below line for Ubuntu:
    
    	git clone <your-fork-git-link>
    
    A directory called AnnotatedSentence will be created. Or you can use below link for exploring the code:
    
    	git clone https://github.com/starlangsoftware/AnnotatedSentence-Cy.git
    
    ## Open project with Pycharm IDE
    
    Steps for opening the cloned project:
    
    * Start IDE
    * Select **File | Open** from main menu
    * Choose `AnnotatedSentence-Cy` file
    * Select open as project option
    * Couple of seconds, dependencies will be downloaded. 
    
    Detailed Description
    ============
    
    + [AnnotatedCorpus](#annotatedcorpus)
    + [AnnotatedSentence](#annotatedsentence)
    + [AnnotatedWord](#annotatedword)
    
    ## AnnotatedCorpus
    
    To load the annotated corpus:
    
    	AnnotatedCorpus(self, folder: str, pattern: str = None)
    	a = AnnotatedCorpus("/Turkish-Phrase", ".train")
    	b = AnnotatedCorpus("/Turkish-Phrase")
    
    To access all the sentences in a AnnotatedCorpus:
    
    	for i in range(a.sentenceCount()):
    		annotatedSentence = a.getSentence(i)
    		....
    
    ## AnnotatedSentence
    
    Bir AnnotatedSentence'daki tüm kelimelere ulaşmak için de
    
    	for j in range(annotatedSentence.wordCount()):
    		annotatedWord = annotatedSentence.getWord(j)
    		...
    
    ## AnnotatedWord
    
    An annotated word is kept in AnnotatedWord class. To access the morphological analysis of 
    the annotated word:
    
    	getParse(self) -> MorphologicalParse
    
    Meaning of the annotated word:
    
    	getSemantic(self) -> str
    
    NER annotation of the annotated word:
    
    	getNamedEntityType(self) -> NamedEntityType
    
    Shallow parse tag of the annotated word (e.g., subject, indirect object):
    
    	getShallowParse(self) -> str
    
    Dependency annotation of the annotated word:
    
    	getUniversalDependency(self) -> UniversalDependencyRelation
    
    # Cite
    
    	@INPROCEEDINGS{8374369,
      	author={O. T. {Yıldız} and K. {Ak} and G. {Ercan} and O. {Topsakal} and C. {Asmazoğlu}},
      	booktitle={2018 2nd International Conference on Natural Language and Speech Processing (ICNLSP)}, 
      	title={A multilayer annotated corpus for Turkish}, 
      	year={2018},
      	volume={},
      	number={},
      	pages={1-6},
      	doi={10.1109/ICNLSP.2018.8374369}}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nlptoolkit_annotatedsentence_cy-1.0.25.tar.gz (404.4 kB view details)

Uploaded Source

File details

Details for the file nlptoolkit_annotatedsentence_cy-1.0.25.tar.gz.

File metadata

File hashes

Hashes for nlptoolkit_annotatedsentence_cy-1.0.25.tar.gz
Algorithm Hash digest
SHA256 6bc4fda8256bd8e2ad06f96d886b05e9eae0c49984199653b83838f4604088cb
MD5 3a7a30356680869050618767d158bdf5
BLAKE2b-256 8b9dbf41afa48670f4cd47fe5c7e8191f78554ffb314392ecf6f46f43c1f18a9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page