apicultur.io

En apicultur.io son accesibles otro conjunto de servicios diferente:

>>> from apicultur import Apicultur
>>> apiio = Apicultur('access_token', cfg_data='apicultur.io')
>>> apiio.list_services()
  • EnglishToPhone: dada una palabra escrita en inglés devuelve la escritura de dicha palabra en phonenglish.
>>> apiio.english_to_phone(word='book')
{'response': [{'phonenglish': 'buk', 'ingles': 'BOOK'}]}
  • PhoneToEnglish: devuelve la escritura en inglés tradicional de una palabra escrita en phonenglish.
>>> apiio.phone_to_english(word='buk')
{'response': [{'phonenglish': 'buk', 'ingles': 'BOOK'}]}
  • AleatoriasNivel: esta API devuelve 12 palabras (sustantivos) en español según el nivel de frecuencia.
>>> apiio.aleatorias_nivel(frecuencia=2)
{'response': [{'lema': 'retroactividad'}, {'lema': 'papado'}, ..., {'lema': 'rotación'}]}
  • FreelingPOSTagger: etiquetador sintáctico y lematizador, dado un texto en español devuelve el lema y la función gramatical de cada palabra. La desambiguación morfosintáctica se realiza a través del contexto.
>>> r = apiio.pos_tagger_es(texto="Entre el dolor y la nada elegí el dolor.")
>>> pprint(r)
[{'lemas': [{'categoria': 'SPS00', 'lema': 'entre'}], 'palabra': 'Entre'},
{'lemas': [{'categoria': 'DA0MS0', 'lema': 'el'}], 'palabra': 'el'},
{'lemas': [{'categoria': 'NCMS000', 'lema': 'dolor'}], 'palabra': 'dolor'},
{'lemas': [{'categoria': 'CC', 'lema': 'y'}], 'palabra': 'y'},
{'lemas': [{'categoria': 'DA0FS0', 'lema': 'el'}], 'palabra': 'la'},
{'lemas': [{'categoria': 'PI0CS000', 'lema': 'nada'}], 'palabra': 'nada'},
{'lemas': [{'categoria': 'VMIS1S0', 'lema': 'elegir'}], 'palabra': 'elegí'},
{'lemas': [{'categoria': 'DA0MS0', 'lema': 'el'}], 'palabra': 'el'},
{'lemas': [{'categoria': 'NCMS000', 'lema': 'dolor'}], 'palabra': 'dolor'},
{'lemas': [{'categoria': 'Fp', 'lema': '.'}], 'palabra': '.'}]
  • FreelingNER: reconocimiento de entidades. Devuelve todas las entidades con nombre propio (lugares, personas, organizaciones, instituciones, etc,..) que aparecen en un texto en español.
>>> apiio.ner_es(texto=u"Ana sabe un secreto que no sabe nadie.")
[{'entidades': [{'lema': 'ana', 'categoria': 'NP00000'}], 'palabra': 'Ana'}]
  • FreelingNumerical: extractor de cantidades, fechas y monedas. Devuelve los valores que aparecen en un texto en español. Identifica expresiones escritas como número y expresiones en palabras.
>>> apiio.quantities_es(texto=u"Los dos perros se comieron 25 salchichas.")
[{'entidades': [{'lema': '2', 'categoria': 'numero'}], 'expresion': 'dos'}, {'entidades': [{'lema': '25', 'categoria': 'numero'}], 'expresion': '25'}]
  • FreelingParser: Chunking & full parsing API (Spanish): This API returns the constituents (phrases) of a given sentence. It also provides its internal structure and components.
>>> r = apiio.parse_es(texto=u"Los dos perros se comieron 25 salchichas.")
>>> pprint(r)
[{'level': 0, 'parent': 'ROOT', 'tag': 'S'},
 {'level': 1, 'parent': 'S', 'tag': 'sn'},
 {'level': 2, 'parent': 'sn', 'tag': 'espec-mp'},
 {'level': 3, 'parent': 'espec-mp', 'tag': 'grup-complex-spec-mp'},
 {'level': 4, 'parent': 'grup-complex-spec-mp', 'tag': 'j-mp'},
 {'lemma': 'el', 'level': 5, 'parent': 'j-mp', 'tag': 'DA0MP0', 'text': 'Los
 {'level': 4, 'parent': 'grup-complex-spec-mp', 'tag': 'num-mp'},
 {'lemma': '2', 'level': 5, 'parent': 'num-mp', 'tag': 'Z', 'text': 'dos'},
 {'level': 2, 'parent': 'sn', 'tag': 'grup-nom-mp'},
 {'level': 3, 'parent': 'grup-nom-mp', 'tag': 'n-mp'},
 {'lemma': 'perro',
  'level': 4,
  'parent': 'n-mp',
  'tag': 'NCMP000',
  'text': 'perros'},
 {'level': 1, 'parent': 'S', 'tag': 'grup-verb'},
 {'level': 2, 'parent': 'grup-verb', 'tag': 'morfema-verbal'},
 {'lemma': 'se',
  'level': 3,
  'parent': 'morfema-verbal',
  'tag': 'P00CN000',
  'text': 'se'},
 {'level': 2, 'parent': 'grup-verb', 'tag': 'grup-verb'},
 {'level': 3, 'parent': 'grup-verb', 'tag': 'verb'},
 {'lemma': 'comer',
  'level': 4,
  'parent': 'verb',
  'tag': 'VMIS3P0',
  'text': 'comieron'},
 {'level': 1, 'parent': 'S', 'tag': 'sn'},
 {'level': 2, 'parent': 'sn', 'tag': 'numero-nopart'},
 {'lemma': '25',
  'level': 3,
  'parent': 'numero-nopart',
  'tag': 'Z',
  'text': '25'},
 {'level': 2, 'parent': 'sn', 'tag': 'grup-nom-fp'},
 {'level': 3, 'parent': 'grup-nom-fp', 'tag': 'n-fp'},
 {'lemma': 'salchicha',
  'level': 4,
  'parent': 'n-fp',
  'tag': 'NCFP000',
  'text': 'salchichas'},
 {'level': 1, 'parent': 'S', 'tag': 'F-term'},
 {'lemma': '.', 'level': 2, 'parent': 'F-term', 'tag': 'Fp', 'text': '.'}]
  • FreelingSemanticTagger: Semantic tagger & POS tagger & Lemmatizer API (Spanish): Given a text in Spanish, the API provides the lemma, part of speech tag and semantic code from Wordnet for every word in the text.
>>> r = apiio.semantic_tagger_es(texto=u"Los dos perros se comieron 25 salchichas.")
>>> pprint(r)
[{'lemas': [{'categoria': 'DA0MP0', 'lema': 'el'}],
  'palabra': 'Los',
  'synsets': ['']},
 {'lemas': [{'categoria': 'Z', 'lema': '2'}],
  'palabra': 'dos',
  'synsets': ['']},
 {'lemas': [{'categoria': 'NCMP000', 'lema': 'perro'}],
  'palabra': 'perros',
  'synsets': ['02084071-n', '10539715-n']},
 {'lemas': [{'categoria': 'P00CN000', 'lema': 'se'}],
  'palabra': 'se',
  'synsets': ['']},
 {'lemas': [{'categoria': 'VMIS3P0', 'lema': 'comer'}],
  'palabra': 'comieron',
  'synsets': ['01166351-v', '01168468-v', '01185304-v']},
 {'lemas': [{'categoria': 'Z', 'lema': '25'}],
  'palabra': '25',
  'synsets': ['']},
 {'lemas': [{'categoria': 'NCFP000', 'lema': 'salchicha'}],
  'palabra': 'salchichas',
  'synsets': ['07675627-n']},
 {'lemas': [{'categoria': 'Fp', 'lema': '.'}],
  'palabra': '.',
  'synsets': ['']}]
  • FreelingSentenceSplitter: Sentence splitter API (Spanish): This API splits a given text into sentences taking into account Spanish rules for punctuation marks.
>>> apiio.sentence_splitter_es(texto=u"¿Qué es poesía? ¿Y tú me lo preguntas? Poesía... eres tú.")
[{'oracion': '¿ Qué es poesía ?'}, {'oracion': '¿ Y tú me lo preguntas ?'}, {'oracion': 'Poesía ... eres tú .'}]
  • FreelingSyntaxAnalysis: Syntax analysis API (Spanish): This API returns the syntax analysis (chunks, phrases and dependency relations between components) of a given sentence.
>>> r = apiio.syntax_analysis_es(texto=u"¿Qué es poesía? ¿Y tú me lo preguntas? Poesía... eres tú.")
>>> pprint(r)
[{'label': 'grup-verb',
  'lemma': 'ser',
  'parent': None,
  'rel': 'top',
  'tag': 'VSIP3S0',
  'text': 'es'},
 {'label': 'F-no-c',
  'lemma': '¿',
  'parent': 'top',
  'rel': 'term',
  'tag': 'Fia',
  'text': '¿'},
 {'label': 'sn',
  'lemma': 'qué',
  'parent': 'top',
  'rel': 'subj',
  'tag': 'PT0CN000',
  'text': 'Qué'},
 {'label': 'sn',
  'lemma': 'poesía',
  'parent': 'top',
  'rel': 'att',
  'tag': 'NCFS000',
  'text': 'poesía'},
 {'label': 'F-term',
  'lemma': '?',
  'parent': 'top',
  'rel': 'term',
  'tag': 'Fit',
  'text': '?'},
 {'label': 'F-no-c',
  'lemma': '¿',
  'parent': None,
  'rel': 'top',
  'tag': 'Fia',
  'text': '¿'},
 {'label': 'coor-n',
  'lemma': 'y',
  'parent': 'top',
  'rel': 'modnorule',
  'tag': 'CC',
  'text': 'Y'},
 {'label': 'sn',
  'lemma': 'tú',
  'parent': 'modnorule',
  'rel': 'co-n',
  'tag': 'PP2CSN00',
  'text': 'tú'},
 {'label': 'patons',
  'lemma': 'me',
  'parent': 'top',
  'rel': 'modnorule',
  'tag': 'PP1CS000',
  'text': 'me'},
 {'label': 'patons',
  'lemma': 'lo',
  'parent': 'top',
  'rel': 'modnorule',
  'tag': 'PP3CNA00',
  'text': 'lo'},
 {'label': 'sn',
  'lemma': 'pregunta',
  'parent': 'top',
  'rel': 'modnorule',
  'tag': 'NCFP000',
  'text': 'preguntas'},
 {'label': 'F-term',
  'lemma': '?',
  'parent': 'modnorule',
  'rel': 'term',
  'tag': 'Fit',
  'text': '?'},
 {'label': 'grup-verb',
  'lemma': 'ser',
  'parent': None,
  'rel': 'top',
  'tag': 'VSIP2S0',
  'text': 'eres'},
 {'label': 'sn',
  'lemma': 'poesía',
  'parent': 'top',
  'rel': 'subj',
  'tag': 'NP00000',
  'text': 'Poesía'},
 {'label': 'F-no-c',
  'lemma': '...',
  'parent': 'subj',
  'rel': 'modnomatch',
  'tag': 'Fs',
  'text': '...'},
 {'label': 'sn',
  'lemma': 'tú',
  'parent': 'top',
  'rel': 'att',
  'tag': 'PP2CSN00',
  'text': 'tú'},
 {'label': 'F-term',
  'lemma': '.',
  'parent': 'top',
  'rel': 'term',
  'tag': 'Fp',
  'text': '.'}]
  • FreelingTokenizer: Tokenizer API: This API divides a given text in Spanish into of words.
>>> r = apiio.tokenize_es(texto=u"¿Qué es poesía? ¿Y tú me lo preguntas? Poesía... eres tú.")
>>> pprint(r)
[{'oracion': ['¿', 'Qué', 'es', 'poesía', '?']},
 {'oracion': ['¿', 'Y', 'tú', 'me', 'lo', 'preguntas', '?']},
 {'oracion': ['Poesía', '...', 'eres', 'tú', '.']}]
  • TransitiveVerb: Spanish verb conjugator API: Given a verb in infinitive, the API provides information concerning its transitive status. 1-Never, 2-Depends on meaning, 3-Always.
>>> apiio.transitive_verb(infinitivo=u"Querer"))
{'response': [{'pronominal': 1}]}
>>> apiio.transitive_verb(infinitivo=u"Correr"))
{'response': [{'pronominal': 2}]}