def handle_callback_for_search_markdown(*params):
     self._callback_for_search_input_markdown.set_values(*params)
     actual_search_value = self._callback_for_search_input_markdown.get_actual_search_value(
     )
     if actual_search_value == '':
         return ''
     prefix_doc_dict = {
         'Original': self._salesman_spacy.nlp_sm(actual_search_value),
         'Modified': self._salesman_spacy.nlp(actual_search_value)
     }
     value_list_dict = {
         prefix:
         SalesmanSpacy.get_sorted_entity_label_values_for_doc(doc)
         for prefix, doc in prefix_doc_dict.items()
     }
     value_joined_list = [
         '**{}**: {}'.format(prefix, values)
         for prefix, values in value_list_dict.items()
     ]
     return '  \n'.join(value_joined_list)
Beispiel #2
0
 def __init__(self):
     self.sys_config = SystemConfiguration()
     self._url_search_q = 'https://www.tutti.ch/de/li/ganze-schweiz?q='
     self._spacy = SalesmanSpacy(load_sm=True)
"""
Description: This module is the manually starting point our Tutti Salesman application.
Author: Josef Sertl
Copyright: SERTL Analytics, https://sertl-analytics.com
Date: 2019-04-02
"""

from salesman_tutti.tutti import Tutti
from time import sleep
from salesman_system_configuration import SystemConfiguration
from salesman_search import SalesmanSearchApi
from sertl_analytics.constants.salesman_constants import REGION
from salesman_tutti.tutti_constants import PRSUBCAT, PRCAT
from salesman_nlp.salesman_spacy import SalesmanSpacy
from spacy import displacy

my_spacy = SalesmanSpacy()
doc = my_spacy.nlp('Das ist ein Satz')
doc = my_spacy.nlp(
    'Leder schwarz. Den Widerstand der Rückenlehne kann man noch einstellen. '
    'Untergestell hat leichte Kratzspuren. Leder ist aber wie neu.')
displacy.serve(doc, style='dep')
"""
Using the 'dep' visualizer
Serving on http://0.0.0.0:5000 ...
NOW: open http://localhost:5000/
"""
 def __init__(self):
     self._salesman_spacy = SalesmanSpacy(load_sm=True)
class Test4SalesmanSpacy:
    def __init__(self):
        self._salesman_spacy = SalesmanSpacy(load_sm=True)

    def run_test(self, print_token=False):
        test_case_dict = self.__get_test_case_dict__()
        tc_handler = MyTestCaseHandler('Testing "{}":'.format(
            self.__class__.__name__))
        api = SalesmanSearchApi('')
        for key, test_case_list in test_case_dict.items():
            for tc in test_case_list:
                doc = self._salesman_spacy.nlp(tc[0])
                expected = tc[1]
                self._salesman_spacy.print_entities_for_doc(doc)
                if print_token:
                    self._salesman_spacy.print_tokens_for_doc(doc)
                result = self._salesman_spacy.get_entity_list(doc)
                tc_handler.add_test_case(MyTestCase(key, tc, expected, result))
        tc_handler.print_result()

    def __get_test_case_dict__(self):
        return {
            'REPLACEMENT': [
                [
                    'Das ist ein Text mit GoreTex und goretex und Goretex und nochmals Gore-Tex',
                    'Goretex (MATERIAL)'
                ],
            ],
            'COMPANY': [
                [
                    'BMW und Apple sind beides tolle Firmen',
                    'Apple (COMPANY), BMW (COMPANY)'
                ],
            ],
            'PRODUCT': [
                [
                    'Die Serie 7 ist gut. Das beste an der Serie 7 ist der Preis',
                    'Serie 7 (PRODUCT)'
                ],
                [
                    'Vitra Aluminium Chair EA107 oder EA 108 oder MacBook',
                    'Aluminium (MATERIAL), EA 108 (PRODUCT), EA107 (PRODUCT), MacBook (PRODUCT), Vitra (COMPANY)'
                ],
                [
                    'Vitra Bürostuhl EA108 günstig',
                    'Bürostuhl (OBJECT), EA108 (PRODUCT), Vitra (COMPANY)'
                ],
            ],
            'UNKNOWN_ORG': [
                [
                    'Audi und Volvo bauen die sichersten Autos.',
                    'Audi (COMPANY), Volvo (COMPANY)'
                ],
                [
                    'Im Dow Jones sind u.a. Travelers Companies und Verizon enthalten',
                    'Dow Jones (LOC), Travelers Companies (COMPANY), Verizon (COMPANY)'
                ],
            ],
            'TEST': [
                [
                    'Winterschuhe Kinder, Lowa, Rufus III GTX, Gr. 37, Goretex Sommerhut, Strohhut',
                    'Dow Jones (LOC), Travelers Companies (COMPANY), Verizon (COMPANY)'
                ],
            ]
        }
    TC_MATCHER_IS_LIKE_NEW = 'TC_MATCHER_IS_LIKE_NEW'
    TC_MATCHER_SIZE = 'TC_MATCHER_SIZE'
    TC_MATCHER_NUMBER = 'TC_MATCHER_NUMBER'
    TC_MATCHER_ORIGINAL_PRICE = 'TC_MATCHER_ORIGINAL_PRICE'
    TC_MATCHER_IS_USED = 'TC_MATCHER_IS_USED'
    TC_MATCHER_IS_TOTAL_PRICE = 'TC_MATCHER_IS_TOTAL_PRICE'
    TC_MATCHER_SINGLE_PRICE = 'TC_MATCHER_SINGLE_PRICE'
    TC_MATCHER_COVER_AVAILABLE = 'TC_MATCHER_COVER_AVAILABLE'
    TC_MATCHER_AGE = 'TC_MATCHER_AGE'
    TC_MATCHER_USAGE = 'TC_MATCHER_USAGE'
    TC_MATCHER_WARRANTY = 'TC_MATCHER_WARRANTY'


tc = TC.TC_MATCHER_ORIGINAL_PRICE

spacy = SalesmanSpacy()

if tc == TC.TC_MATCHER_IS_NEW:
    matcher = TuttiMatcher4IsNew(spacy.nlp)
    matcher.run_test(spacy, False)
elif tc == TC.TC_MATCHER_IS_LIKE_NEW:
    matcher = TuttiMatcher4IsLikeNew(spacy.nlp)
    matcher.run_test(spacy, False)
elif tc == TC.TC_MATCHER_IS_USED:
    matcher = TuttiMatcher4IsUsed(spacy.nlp)
    matcher.run_test(spacy, False)
elif tc == TC.TC_MATCHER_SIZE:
    matcher = TuttiMatcher4Size(spacy.nlp)
    matcher.run_test(spacy, False)
elif tc == TC.TC_MATCHER_ORIGINAL_PRICE:
    matcher = TuttiMatcher4PriceOriginal(spacy.nlp)
Beispiel #7
0
 def __init__(self):
     self._salesman_spacy = SalesmanSpacy(load_sm=True)
     self._sys_config = SystemConfiguration()
     self._factory = SalesmanSaleFactory(self._sys_config,
                                         self._salesman_spacy)
 def __init__(self):
     self.sys_config = SystemConfiguration()
     self._spacy = SalesmanSpacy(entity_handler=self.sys_config.entity_handler, load_sm=self.sys_config.load_sm)
     self._sale_factory = SalesmanSaleFactory(self.sys_config, self._spacy)