google-local-results-ai-parser 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/google-local-results-ai-parser.rb +27 -15
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: cca82d65c271c431ecff087ba09a5c85180097441df64b99b55fd017c03314ef
         | 
| 4 | 
            +
              data.tar.gz: c746ea73236cd49e6a983b03e8719a1eeb075607a8d4d08c2c6b1c3b99a0eb0d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 56cd8f0b6f19673a0fa87ed7007fe844d80b906ce2500ec5207872dfc5d5fecd4a8e27c3e504e46f7bab8d2f3bf369e3ae409e8df2a0bcf3aae9764df4a1611f
         | 
| 7 | 
            +
              data.tar.gz: '06988a8a22f7ea42dd840d117a9798fd4c808cc0b7327acb08772417db94c122b759196a126264cad9484bbfc53efab77635ded7ce1bb1c36908531a2c72cfe6'
         | 
| @@ -90,14 +90,14 @@ module GoogleLocalResultsAiParser | |
| 90 90 | 
             
                    duplicates = find_duplicates(label_order)
         | 
| 91 91 |  | 
| 92 92 | 
             
                    # Known clashes
         | 
| 93 | 
            +
                    results, label_order, duplicates = button_text_as_hours_confusion(results, label_order, duplicates)
         | 
| 94 | 
            +
                    results, label_order, duplicates = button_text_as_address_confusion(results, label_order, duplicates)
         | 
| 95 | 
            +
                    results, label_order, duplicates = button_text_as_service_options_confusion(results, label_order, duplicates)
         | 
| 93 96 | 
             
                    results, label_order, duplicates = service_options_as_type_confusion(results, label_order, duplicates)
         | 
| 94 97 | 
             
                    results, label_order, duplicates = description_as_hours_confusion(results, label_order, duplicates)
         | 
| 95 98 | 
             
                    results, label_order, duplicates = description_as_type_confusion(results, label_order, duplicates)
         | 
| 96 99 | 
             
                    results, label_order, duplicates = reviews_as_rating_confusion(results, label_order, duplicates)
         | 
| 97 100 | 
             
                    results, label_order, duplicates = reviews_as_price_confusion(results, label_order, duplicates)
         | 
| 98 | 
            -
                    results, label_order, duplicates = button_text_as_hours_confusion(results, label_order, duplicates)
         | 
| 99 | 
            -
                    results, label_order, duplicates = button_text_as_address_confusion(results, label_order, duplicates)
         | 
| 100 | 
            -
                    results, label_order, duplicates = button_text_as_service_options_confusion(results, label_order, duplicates)
         | 
| 101 101 | 
             
                    results, label_order, duplicates = service_options_as_description_or_type_confusion(results, label_order, duplicates)
         | 
| 102 102 |  | 
| 103 103 | 
             
                    # General clashes
         | 
| @@ -227,18 +227,30 @@ module GoogleLocalResultsAiParser | |
| 227 227 | 
             
                    end
         | 
| 228 228 | 
             
                  end
         | 
| 229 229 |  | 
| 230 | 
            -
                   | 
| 231 | 
            -
             | 
| 232 | 
            -
             | 
| 233 | 
            -
             | 
| 234 | 
            -
             | 
| 235 | 
            -
             | 
| 236 | 
            -
             | 
| 237 | 
            -
             | 
| 238 | 
            -
             | 
| 230 | 
            +
                  if hours_duplicate
         | 
| 231 | 
            +
                    # Delete the known button text directly
         | 
| 232 | 
            +
                    results.delete_at(hours_duplicate[-1])
         | 
| 233 | 
            +
                    
         | 
| 234 | 
            +
                    # Rearranging `label_order`
         | 
| 235 | 
            +
                    label_order.delete_at(hours_duplicate[-1])
         | 
| 236 | 
            +
                    
         | 
| 237 | 
            +
                    # Rearranging duplicates
         | 
| 238 | 
            +
                    last_item = duplicates[duplicates.index(hours_duplicate)][-1]
         | 
| 239 | 
            +
                    duplicates[duplicates.index(hours_duplicate)].delete(last_item)
         | 
| 239 240 |  | 
| 240 | 
            -
             | 
| 241 | 
            -
             | 
| 241 | 
            +
                    if (duplicate_arr = duplicates[duplicates.index(hours_duplicate)]) && duplicate_arr.size == 1
         | 
| 242 | 
            +
                      duplicates.delete(duplicate_arr)
         | 
| 243 | 
            +
                    end
         | 
| 244 | 
            +
                  else
         | 
| 245 | 
            +
                    known_error_indices = results.map.with_index {|result, result_index| result_index if known_errors.include?(result[:input])}.compact
         | 
| 246 | 
            +
             | 
| 247 | 
            +
                    known_error_indices.each do |index|
         | 
| 248 | 
            +
                      # Delete the known button text directly
         | 
| 249 | 
            +
                      results.delete_at(index)
         | 
| 250 | 
            +
             | 
| 251 | 
            +
                      # Rearranging `label_order`
         | 
| 252 | 
            +
                      label_order.delete_at(index)
         | 
| 253 | 
            +
                    end
         | 
| 242 254 | 
             
                  end
         | 
| 243 255 |  | 
| 244 256 | 
             
                  return results, label_order, duplicates
         | 
| @@ -441,7 +453,7 @@ module GoogleLocalResultsAiParser | |
| 441 453 | 
             
                # On-site services, Online appointments
         | 
| 442 454 | 
             
                # Fixes `On-site services`, `Online appointments`
         | 
| 443 455 | 
             
                def service_options_as_description_or_type_confusion(results, label_order, duplicates)
         | 
| 444 | 
            -
                  known_errors = ["On-site services", "On-site services not available", "Onsite services", "Onsite services not available", "Online appointments", "Online appointments not available"]
         | 
| 456 | 
            +
                  known_errors = ["On-site services", "On-site services not available", "Onsite services", "Onsite services not available", "Online appointments", "Online appointments not available", "Takeaway"]
         | 
| 445 457 | 
             
                  caught_results_indices = results.map.with_index {|result, index| index if known_errors.include?(result[:input])}.compact
         | 
| 446 458 | 
             
                  return results, label_order, duplicates if caught_results_indices == []
         | 
| 447 459 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: google-local-results-ai-parser
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.9
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Emirhan Akdeniz
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023-06- | 
| 11 | 
            +
            date: 2023-06-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: A gem to be used with serpapi/bert-base-local-results model to predict
         | 
| 14 14 | 
             
              different parts of Google Local Listings. This gem uses BERT model at https://huggingface.co/serpapi/bert-base-local-results
         |