AI & DATA

Fireside Chat with Roberto Pieraccini

event 27 ottobre 2023

face ROBERTO PIERACCINI

Ieri pomeriggio abbiamo tenuto il nostro Red Symposium, l'evento mensile di Extra Red in cui raccontiamo e discutiamo internamente di tecnologie, progetti e stato dell'arte del nostro mondo informatico. Con un po' di persone "in presenza" e un po' invece da casa in "smart working" è un appuntamento a cui siamo veramente affezionati.

In questa occasione abbiamo inaugurato una formula interessante, quella della fireside chat, con un ospite d'eccezione: Roberto Pieraccini, attualmente Chief Scientist in Uniphore e precedentemente Director of Engineering for the Natural Language Processing Team in Google, con una vastissima esperienza sul campo della speech recognition e del natural language understanding ed in generale su tutto quello che è il campo dell'intelligenza artificiale. Roberto è inoltre un divulgatore scientifico famoso e rispettato, con un sacco di pubblicazioni scientifiche e libri che potete trovare anche su Amazon (trovate maggiori informazioni su di lui a questo link).

Abbiamo fatto una bellissima chiacchierata sui temi dell'AI generativa, della sua evoluzione nella storia e delle principali differenze e motivazioni che esistono tra la situazione europea e quella statunitense in questo settore.

Il nostro Carlo Aliprandi, Head of Research and Innovation in Extra Red, ha intervistato Roberto, che da New York in video conferenza ha risposto in maniera superinteressante e con un sacco di aneddoti ;)

Al prossimo appuntamento!

An error occurred while processing the template.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 2:
Encountered ")", but was expecting one of:
    <STRING_LITERAL>
    <RAW_STRING>
    "false"
    "true"
    <INTEGER>
    <DECIMAL>
    "."
    "+"
    "-"
    "!"
    "["
    "("
    "{"
    <ID>
---end-message---

The failing expression:
==> entitiesListJson?eval  [in template "20097#20123#43230" at line 49, column 21]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign entities = entitiesListJson?eval  [in template "20097#20123#43230" at line 49, column 1]
----
1<#-- Articoli in evidenza ADT --> 
2<#assign portletBackground = "bg-red-white" /> 
3<#list portletPreferences?keys as key> 
4    <#if key=="portletBackground"> 
5        <#assign portletBackground=portletPreferences[key]?first /> 
6    </#if> 
7</#list> 
8 
9<#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") /> 
10<#assign categoryService = serviceLocator.findService("it.extrared.redweb.commons.service.CategoryService") /> 
11<#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
12<#assign dlFileEntryService = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService') /> 
13<#assign otherArticles = languageUtil.get(locale, "other-articles") /> 
14<#assign readMore = languageUtil.get(locale, "read-all") /> 
15 
16<#assign redSimilarJournalArticle = serviceLocator.findService("it.extrared.redweb.commons.service.SimilarJournalArticle") /> 
17<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
18<#assign dlAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")/> 
19 
20<#assign article = "" /> 
21<#assign urlTitle = "" /> 
22 
23<#assign dirtyUrlTitle = themeDisplay.getURLCurrent() /> 
24<#assign curPage = 1 /> 
25 
26<#if dirtyUrlTitle?contains("redirect")> 
27    <#assign namespace = "_" + paramUtil.getString(request, "p_p_id") /> 
28    <#assign currentUrl = "_" + paramUtil.getString(request,  namespace + "_redirect") /> 
29    <#assign urlTitle = currentUrl?split("/")?last /> 
30    <#assign curPage = paramUtil.getString(request,  namespace + "_cur")/> 
31<#elseif dirtyUrlTitle?contains("?wkrh___tabs1=properties")>  
32    <#assign last = themeDisplay.getURLCurrent()?split("/")?last /> 
33    <#assign urlTitle = last?substring(0, last?index_of('?wkrh___tabs1=properties')) /> 
34<#else>  
35    <#assign urlTitle = themeDisplay.getURLCurrent()?split("/")?last /> 
36</#if> 
37 
38<#attempt> 
39    <#assign article = journalArticleLocalService.getArticleByUrlTitle(groupId, urlTitle) /> 
40<#recover>   
41</#attempt> 
42 
43<#assign entitiesListJson = "" /> 
44 
45<#if article?? && article?has_content> 
46    <#assign entitiesListJson = redSimilarJournalArticle.getSimilarJournalArticlesWithConfig(portletPreferences, article.articleId, groupId, false, curPage?number) /> 
47</#if> 
48 
49<#assign entities = entitiesListJson?eval /> 
50 
51<#assign noResult = languageUtil.get(locale, "no-result") /> 
52 
53<#if entities?has_content && entities?size gt 0> 
54    <section class="container-fluid bg5percent"> 
55        <div class="swiper container "> 
56            <p class="mb-5 text-muted text-uppercase">${otherArticles}</p> 
57            <div class="swiper-wrapper align-items-center pt-lg-5 mb-lg-5"> 
58                <#list entities?keys as k> 
59                    <#assign entitiesGroup=entities[k] /> 
60                    <#if entitiesGroup?size gt 0> 
61                        <#list entitiesGroup as array> 
62                            <div class="swiper-slide"> 
63                                <#assign urlImage = "" /> 
64                                <#assign altImage = "" /> 
65                                <#if array["image"]?? && array["image"]?has_content> 
66                                    <#assign docVal=array["image"]?eval /> 
67                                    <#if docVal.url?? && docVal.url?has_content> 
68                                        <#assign urlImage = docVal.url /> 
69                                    </#if> 
70                                    <#assign fileEntryId = docVal.fileEntryId /> 
71                                </#if> 
72 
73                                <#if docVal.title?? && docVal.title?has_content> 
74                                    <#assign altImage = docVal.title /> 
75                                </#if> 
76 
77                                <#assign titolo = array["articleTitle"] /> 
78                                <#assign categories = array["categoriesString"] /> 
79                                <#assign displayPage = array["displayPage"] /> 
80                                <#assign assetEntryId = array["assetEntryId"] /> 
81                                <#assign assetEntry = assetEntryLocalService.getEntry(assetEntryId) /> 
82                                <#assign categoriesList = assetEntry.getCategories() /> 
83 
84                                <div class="col-lg-9 col-9 col-sm-9 p-0"> 
85                                	<@adaptive_media_image["img"] fileVersion=dlAppServiceUtil.getFileEntry(fileEntryId?number).getFileVersion() class="mb-4" width="100%" height="auto" alt="${altImage}"/> 
86                                		<#-- 
87                                    <img width="100%" class="mb-4" height="auto" src="${urlImage}" alt="${altImage}" title="${titolo}"> 
88                                  	--> 
89                                </div> 
90                                <div class="card-body pt-2"> 
91                                    <#if categoriesList?? && categoriesList?has_content> 
92                                        <div class="card-subtitle text-muted"> 
93                                            <#assign categoriesString = "" /> 
94                                            <#list categoriesList as c> 
95																							<#assign hasProperty = categoryService.hasCategoryProperty(c.getCategoryId(), "type") /> 
96																								<#if !hasProperty> 
97																									<#if !categoriesString?has_content> 
98																										<#assign categoriesString = c.getTitle(locale)?upper_case /> 
99																									<#else> 
100																										<#assign categoriesString = categoriesString + ", " + c.getTitle(locale)?upper_case /> 
101																									</#if> 
102																								</#if> 
103                                              <#-- 
104																							<#attempt> 
105                                                    <#assign typeProperty = assetCategoryPropertyLocalService.fetchCategoryProperty(c.categoryId?long, "type") /> 
106                                                <#recover> 
107                                                    <#if !categoriesString?has_content> 
108                                                        <#assign categoriesString = c.getTitle(locale)?upper_case /> 
109                                                    <#else> 
110                                                        <#assign categoriesString = categoriesString + ", " + c.getTitle(locale)?upper_case /> 
111                                                    </#if> 
112                                                </#attempt> 
113																									--> 
114                                            </#list> 
115 
116                                            ${categoriesString} 
117                                        </div> 
118                                    </#if> 
119                                    <a href="${displayPage}" target="_self" title="${titolo}"> 
120                                        <h3 class="m-0">${titolo}</h3> 
121                                    </a> 
122                                </div> 
123                            </div> 
124                        </#list> 
125                    <#else> 
126                        <div class="container"> 
127                            <h2 class="m-0">${noResult}</h2> 
128                        </div> 
129                    </#if> 
130                </#list> 
131            </div> 
132            <a data-aos="fade-right" class="pt-5 align-middle" style="display: block" href="/blog"> 
133                <i class="align-middle me-2 material-icons-outlined">explore</i> 
134                <span class="align-middle">${readMore?capitalize}</span> 
135            </a> 
136        </div> 
137    </section> 
138</#if>