Semantic Reactor: A tool for experimenting with NLU models

Companies are using natural language understanding (NLU) to create digital personal assistants, customer service bots, and semantic search engines for reviews, forums and the news.

However, the perception that using NLU and machine learning is costly and time consuming prevents a lot of potential users from exploring its benefits.

To dispel some of the intimidation of using NLU, and to demonstrate how it can be easily used with pre-trained, generic models, we have released a tool, the Semantic Reactor, and open-sourced example code, The Mystery of the Three Bots.

The Semantic Reactor

The Semantic Reactor is a Google Sheets Add-On that allows the user to sort lines of text in a sheet using a variety of machine-learning models. It is released as a whitelisted experiment, so if you would like to check it out, fill out this application at the Google Cloud AI Workshop. Once approved, you’ll be emailed instructions on how to install it.

The tool offers ranking methods that determine how the list will be sorted. With the semantic similarity method, the lines more similar in meaning to the input will be ranked higher.



With the input-response method, the lines that are the most appropriate conversational responses are ranked higher.

Why use the Semantic Reactor?

There are a lot of interesting things you can do with the Semantic Reactor, but let’s look at the following two:
  • Writing dialogue for a bot that exists within a well-defined environment and has a clear purpose (like a customer service bot) using semantic similarity.
  • Searching within large collections of text, like from a message board. For that, we will use input-response.

Writing Dialogue for a Bot Using Semantic Similarity

For the sake of an example, let’s say you are writing dialogue for a bot that answers questions about a product, in this case, cookies.

If you’ve been running a cookie hotline for a while, you probably can list the most common cookie questions. With that data, you can create your cookie bot. Start by opening a Google Sheet and writing the common questions and answers (questions in the A column, answers in the B).

Here is the start of what that Sheet might look like. Make a copy of the Sheet, which will allow you to use the Semantic Reactor Add-on. Use the tool to experiment with new QA pairs and how each model reacts to them.

Here are a few queries to try, using the semantic similarity rank method:

Query: What are cookie ingredients?
Returns: What are cookies made of?

Query: Are cookies biscuits?
Returns: Are cookies also called biscuits?

Query: What should I serve with cookies?
Returns: What drinks go well with cookies?



Of course, that small list of responses won’t cover many of the questions people will ask your cookie bot. What the Reactor allows you to do is quickly add new QA pairs as you learn about what your users want to ask.

For example, maybe people are asking a lot about cookie calories.

You’d write the new question in column A, and the new answer in column B, and then test a few different phrasings with the Reactor. You might need to tweak the target response a few times to make sure it matches a wide variety of phrasings. You should also experiment with the three different models to see which one performs the best.

For instance, let’s say the new target question you want the model to match to is: “How many calories does a typical cookie have?”

That question might be phrased by users as:
  • Are cookies caloric?
  • A lot of calories in a cookie?
  • Will cookies wreck my diet?
  • Are cookies fattening?


The more you test with live users, the more you’ll find that they phrase their questions in ways you don’t expect. As with all things based on machine learning, constantly refreshing data, testing and improvement is all part of the process.

Searching Through Text Using Input-Response

Sometimes you can’t anticipate what users are going to ask, and sometimes you might be dealing with a lot of potential responses, maybe thousands. In cases like that, you should use the input-response ranking method. That means the model will examine the list of potential responses and then rank each one according to what it thinks is the most likely response.

Here is a Sheet containing a list of simple conversational responses. Using the input-response ranking method, try a few generic conversational openers like “Hello” or “How’s it going?”

Note that in input-response mode, the model is predicting the most likely conversational response to an input and not the most semantically similar response.

Note that “Hello,” in input-response mode, returns “Nice to meet you.” In semantic similarity mode, “Hello” returns what the model thinks is semantically closest to “Hello,” which is “What’s up?”

Now try your own! Add potential responses. Switch between the models and ranking methods to see how it changes the results (be sure to hit the “reload” button every time you add new responses).

Example Code

One of the models available on TensorFlow Hub is the Universal Sentence Encoder Lite. It’s only 1.6MB and is suitable for use within websites and on-device applications.

An open sourced sample game that uses the USE Lite is Mystery of the Three Bots on Github. It’s a simple demonstration that shows how you can use a small semantic ML model to drive conversations with game characters. The corpora the game uses were created and tested using the Semantic Reactor.

You can play a running version of the game here. You can experiment with the corpora of two of the characters, the Maid and the Butler, contained within this Sheet. Be sure to make a copy of the Sheet so you can edit and add new QA pairs.

Where To Get The Models Used Within The Semantic Reactor

All of the models used in the Semantic Reactor are published and available online.
  • Local – Minified TensorFlow.js version of the Universal Sentence Encoder.
  • Basic Online – Basic version of the Universal Sentence Encoder.
  • Multilingual Online – Universal Sentence Encoder trained on question/ answer pairs in 16 languages.

Final Thoughts

These language models are far from perfect. They use their training to give a best estimate on what to return based on the list of responses you gave it. Machine learning is about calculation, prediction, and training. Models can be improved over time with more data and tuning, and in turn, be made more accurate.

Also, because conversational models are trained on dialogue between people, and because people are biased, the models will display biases that exist in the data that they were trained on, sometimes in ways you can’t predict. For more on model bias, and more detail about how these models were trained, see the Semantic Experiences for Developers page.

By Ben Pietrzak, Steve Pucci, Aaron Cohen — Google AI  

Changing statuses of app and app engagement ads that do not serve

On April 17, 2020, app ads and app engagement ads that do not serve will have their statuses changed automatically from ENABLED to DISABLED. For each ad group in App campaigns, only the first created ad is ever eligible to serve, so we’re disabling other ads in the same ad group to prevent confusion. This means that you may see some changes in the number of report rows if your queries have a condition that includes ad_group_ad.status for the Google Ads API or AdGroupAdStatus for the AdWords API.

What do you need to do?
If you’re not interested in the disabled ads, you don’t need to take any action. Only beware that the number of report rows returned by your query may change. For example, if your queries have a condition to get only enabled ads, you may see fewer report rows.

If you still wish to see the performance data of the disabled ads, make sure your report queries also include the disabled ads. Note that as they don’t serve anymore, these ads won’t accrue any more performance stats beyond the above-mentioned date.

In case you need more information on reporting, follow the below links:
For the Google Ads API, For the AdWords API, As always, if you have any questions, feel free to reach out to us on the AdWords API and Google Ads API forum.

Resources to help Aussie businesses manage through COVID-19 uncertainty

Small businesses are the backbone of Australia. They power the economy, keep people in jobs, and support local communities. But right now, these businesses are facing some significant challenges as they respond to the recent devastating bushfires and now disruption caused by the COVID-19 pandemic.

 Today, Google Australia launched a new Google for Small Business (http://g.co/smallbiz-covid19) online hub to provide helpful resources to small and medium businesses as they navigate these challenging times for them, their employees and customers.

The resources are designed to help business owners communicate effectively with their customers and employees, and maintain business operations and continuity planning in response to fast changing external conditions.

It includes step-by-step advice and links so business owners can adjust their existing arrangements as needed - for example, in response to having to temporarily close shopfront operations or moving employees to remote working arrangements.

COVID-19 and the recent bushfires have created unprecedented challenges for Aussie businesses and we’re keen to make sure the best of Google’s business resources are available to help these businesses get through this period.

The new resource builds on steps we’ve already taken including making video conferencing and productivity tools available free of charge for customers working remotely and for educational purposes, and providing online tips to small businesses and all Australians through the existing Grow with Google digital skills training program.

A summary of the tips and resources are below (available at g.co/smallbiz-covid19):

Communicating with your customers 

  • If you have moved business operations to online, takeaway or delivery, edit your Business Profile on Google so customers know how to buy from you. 
  • If your business or one of your locations has temporarily closed, mark the location as temporarily closed on Google Maps and Search. 
  • Use Posts to tell customers on your Business Profile what is happening and if there are changes to how you are operating - for example, if you are now offering online sales or delivery or special offers. 
  • If you have a shopfront which is closed but you’re still taking phone calls, update your business phone number to your mobile phone, so you can answer business calls remotely. 
  • Set an email auto-reply to share your latest updates with customers - for example, if you are temporarily closed, or taking phone, online or delivery orders. 


Communicating with your employees 

  • Put contact information for your employees, vendors, and clients online in a system like Google Contacts so it’s accessible from any location. 
  • Make a business continuity plan, and share it with employees via an email address they can access it outside of the office. 
  • If you have more than one business location, provide local managers with the authority to take appropriate actions in your business continuity plan based on outbreak conditions at their location. 


Working remotely 

  • Help you and your team to effectively work from home with these tools and resources from Grow with Google. 
  • Collaborate with your co-workers using online tools and platforms - for example using a shared document, a quick conference call, or by creating an email list or a chat room
  • Make sure you’re able to access important documents from anywhere by uploading them to the Cloud through tools like Google Drive or downloading to your mobile phone or computer for offline access. 
  • If you’re using Chromebooks, ensure they have the right policies in place to access company resources from home and to keep devices and data secure. 


Modifying your advertising (if necessary) 

  • Edit your ads as needed to let customers know whether you're open for business and if you offer helpful services like expedited shipping. 
  • Pause campaigns if your product availability is impacted by supply chain issues or increased demand.  
  • If your business relies on customers from countries most affected by the virus, consider prioritising your ad budget to other locations

This is a challenging time for Aussie businesses and our wider community - we’ll continue to explore ways we can work together to provide help and support.

Posted by Richard Flanagan, Head of Small Business Marketing, Google Australia 

Please note: 
For the most timely information and guidance on COVID-19 for businesses, please refer to the relevant Australian Government resources; for economic assistance, to understand workplace obligations and for coronavirus information and support.

Keeping our network infrastructure strong amid COVID-19

Google's network supports products that people around the world rely on every day, like YouTube, Search, Maps and Gmail. It also connects Google Cloud customers to their employees and users. As the coronavirus pandemic spreads and more people move to working or learning from home, it’s natural to wonder whether the Google network can handle the load. The short answer is yes. 

We’ve designed our network to perform during times of high demand. The same systems we built to handle peaks like the Cyber Monday online shopping surge, or to stream the World Cup finals, support increased traffic as people turn to Google to find news, connect with others, and get work done during this pandemic. And while we’re seeing more usage for products like Hangouts Meet, and different usage patterns in products like YouTube, peak traffic levels are well within our ability to handle the load. 

Google’s network consists of a system of high-capacity fiber optic cables that encircle the globe, under both land and sea, connecting our data centers to each other, and to you. Traffic flows over our dedicated network, optimized for speed and reliability until we hand it off to more than 3,000 internet service providers (ISPs) in 200+ countries and territories for local delivery—the “last mile”—using hundreds of points of presence and thousands of edge locations around the world.

Handling traffic on Google’s infrastructure and bringing it close to people helps limit the burden on operators—whose networks have different levels of reserve capacity—to allow them to focus on delivering that last mile. Together, we work to provide the best possible experience for browsing, video-conferencing, streaming, making purchases online, and more to people around the world. We’re continuing to work with governments and network operators around the globe as we do our part to minimize stress on the system. As part of this, we recently announced that we are temporarily defaulting all videos on YouTube to standard definition.  

We also recognize the importance of Google services at a time like this and continue to add capacity to stay ahead of demand. Our dedicated global network deployment and operations team is increasing capacity wherever needed, and, in the event of a disruption, recovers service as quickly as possible. 

This may be a time of global uncertainty, but we're working hard to ensure the Google network is there for everyone, business or consumer, day and night.

Create pointers to any file or folder in Google Drive with shortcuts

What’s changing 

Last year, we announced a beta for shortcuts in Google Drive. This feature is now generally available and has started rolling out to all G Suite customers and users with personal Google Accounts. 

Shortcuts in Drive make it easier to organize content and point users to relevant information and files across various drives.

Who’s impacted 

Admins, end users, and developers

Why you’d use it 


Shortcuts are pointers to content that can be stored in another folder or drive, a shared drive, or an individual user's “My Drive.”

For example, Paul, a marketing manager, creates a “Marketing Strategy” document and shares it with the sales team. Greta, the sales manager, can now create a shortcut to the document in the “Sales” shared drive, enabling everyone on the sales team to quickly and easily access the file.

Additional details 


Shortcut visibility and sharing permissions 
Shortcuts are visible to anyone who has access to the folder or drive containing the shortcut. Even if someone can see the shortcut, however, they can only open it if they have the appropriate access to the original file or folder.

Simplifying how files and folders appear in multiple locations 
In order to create a consistent experience for managing and viewing reference files across Drive, we’ve changed the “Add to My Drive” option to “Add shortcut to Drive.”


Changes to Drive’s folder structure and sharing model starting September 30 
Starting September 30, 2020, it will no longer be possible to place a file in multiple folders in My Drive, including via the Drive API. Going forward, every file will live in a single location.

After September 30, 2020, all files already living in multiple locations in My Drive will gradually be migrated to shortcuts.

No admin or end user action is required. We recommend developers read more about this and other Drive API changes on the Cloud blog.

Getting started 




Rollout pace 

Drive Web



Drive Android/iOS

  • Gradual rollout starting on March 26, 2020. Requires app version 2.20.10 and up for Android and 4.2020.08 and up for iOS 


Drive File Stream

  • This feature is already available and requires app version 37.0 and up 


Backup and Sync

  • This feature is already available and requires app version 3.46 and up 


Availability 


  • Available to all G Suite customers and users with personal Google Accounts 


Resources 




Roadmap 


Exploring New Ways to Support Faculty Research



For the past 15 years, the Google Faculty Research Award Program has helped support world-class technical research in computer science, engineering, and related fields, funding over 2000 academics at ~400 Universities in 50+ countries since its inception. As Google Research continues to evolve, we continually explore new ways to improve our support of the broader research community, specifically on how to support new faculty while also strengthening our existing collaborations .

To achieve this goal, we are introducing two new programs aimed at diversifying our support across a larger community. Moving forward, these programs will replace the Faculty Research Award program, allowing us to better engage with, and support, up-and-coming researchers:

The Research Scholar Program supports early-career faculty (those who have received their doctorate within the past 7 years) who are doing impactful research in fields relevant to Google, and is intended to help to develop new collaborations and encourage long term relationships. This program will be open for applications in Fall 2020, and we encourage submissions from faculty at universities around the world.

We will also be piloting the Award for Inclusion Research Program, which will recognize and support research that addresses the needs of historically underrepresented populations. This Summer we will invite faculty—both directly and via their institutions—to submit their research proposals for consideration later this year, and we will notify award recipients by year's end.

These programs will complement our existing support of academic research around the world, including the Latin America Research Awards, the PhD Fellowship Program, the Visiting Researcher Program and research grant funding. To explore other ways we are supporting the research community, please visit this page. As always, we encourage faculty to review our publication database for overlapping research interests for collaboration opportunities, and apply to the above programs. We look forward to working with you!

Source: Google AI Blog


Beta Channel Update for Desktop

The beta channel has been updated to 81.0.4044.83 for Windows, Mac, and, Linux.


A full list of changes in this build is available in the log. Interested in switching release channels?  Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.



Prudhvikumar Bommana
Google Chrome

Dev Channel Update for Desktop

The Dev channel has been updated to 83.0.4093.3 for Windows, Mac, and Linux platforms.
A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.
Srinivas Sista Google Chrome

Run ARM apps on the Android Emulator

Posted by Michael Hazard

As part of the Android 11 developer preview we’ve released Android 11 system images, which are capable of executing ARM binaries with significantly improved performance. Previously, developers who were dependent on ARM libraries and could not build an x86 variant of their app either had to use system images with full ARM emulation, which are much slower than x86 system images when run on x86-based computers, or resort to physical devices. The new Android 11 system images are capable of translating ARM instructions to x86 without impacting the entire system. This allows the execution of ARM binaries for testing without the performance overhead of full ARM emulation.

The new Android 11 (Google APIs) x86 system image supports ARM ABIs, while the older Android Oreo system image does not

The new Android 11 (Google APIs) x86 system image supports ARM ABIs, while the older Android Oreo system image does not

Details

The significance of this may require a bit of context, especially if you build apps exclusively with Kotlin or the Java programming language. Unlike Kotlin or the Java programming language, both of which execute on the Android Runtime (ART), any C++ in your Android app compiles directly into machine instructions. This means that it needs to be compiled differently based on the architecture of the target device. Mobile phones tend to have ARM processors; consequently, many C++ dependencies you might add to your app, like a camera barcode scanner library, are only compatible with ARM processors. This is a problem if you develop on a computer with an x86-based processor, as it would prevent you from running your app.

Previously, if you wanted to get around this limitation and execute an app built for ARM on your x86 machine, you would have had to use an emulator system image with full ARM emulation. Due to the overhead of translating an entire system’s worth of ARM instructions to x86, emulator system images with full ARM emulation tend to run much slower than x86-based system images when run on x86 host machines. Additionally, emulator system images with full ARM emulation cannot take advantage of the hardware acceleration and CPU virtualization technologies provided by x86 processors.

The new ARM-compatible Android 11 system images allow the entire system to run x86 natively and take advantage of virtualization technologies as usual. When an app’s process requires an ARM binary, the binary is translated to x86 within that process exclusively. This allows the rest of the process to continue executing in x86, including the Android Runtime (ART), and other performance-critical libraries like libGLES and libvulkan. In addition to this, the translator avoids expensive memory access instrumentation and the associated performance hit by avoiding the execution of low-level hardware-specific libraries. These new emulator system images can be used both locally and on your own continuous integration infrastructure. This is possible thanks to collaboration with ARM Limited.

Going Forward

If you have previously chosen physical devices over the emulator due to the lack of performant ARM support, try out the Android 11 system images, which are now available alongside the Android 11 Developer Preview. These system images can be downloaded in Android Studio via either the SDK Manager or the Android Virtual Device Manager.

Using the Android Virtual Device Manager to create an AVD that runs Android 11

Using the Android Virtual Device Manager to create an AVD that runs Android 11

Once you get your app running on the emulator, consider adapting it for Chrome OS. Chrome OS also supports the execution of Android apps built for ARM on x86 laptops. Building for Chrome OS provides access to a substantial ecosystem of larger screen devices, allowing your application to reach even more users globally.

This technology should enable more developers to test with the Android Emulator. That said, we still recommend that developers publish both x86 and ARM ABI variants of their apps to achieve the best physical device performance and reach as many users as possible. Going forward, we plan to roll this technology out across a wider variety of API levels and ensure that it supports testing all use cases that a physical device would. Given that this is a new technology, please let us know of any problems via our Issue Tracker.

Note that the ARM to x86 translation technology enables the execution of intellectual property owned by Arm Limited. It will only be available on Google APIs and Play Store system images, and can only be used for application development and debug purposes on x86 desktop, laptop, customer on-premises servers, and customer-procured cloud-based environments. The technology should not be used in the provision of commercial hosted services.

Java is a registered trademark of Oracle and/or its affiliates.

How to pause your business online in Google Search

As the effects of the coronavirus grow, we've seen businesses around the world looking for ways to pause their activities online. With the outlook of coming back and being present for your customers, here's an overview of our recommendations of how to pause your business online and minimize impacts with Google Search. These recommendations are applicable to any business with an online presence, but particularly for those who have paused the selling of their products or services online. For more detailed information, also check our developer documentation.

Recommended: limit site functionality

If your situation is temporary and you plan to reopen your online business, we recommend keeping your site online and limiting the functionality. For example, you might mark items as out of stock, or restrict the cart and checkout process. This is the recommended approach since it minimizes any negative effects on your site's presence in Search. People can still find your products, read reviews, or add wishlists so they can purchase at a later time.

It's also a good practice to:

  • Disable the cart functionality: Disabling the cart functionality is the simplest approach, and doesn't change anything for your site's visibility in Search.
  • Tell your customers what's going on: Display a banner or popup div with appropriate information for your users, so that they're aware of the business's status. Mention any known and unusual delays, shipping times, pick-up or delivery options, etc. upfront, so that users continue with the right expectations. Make sure to follow our guidelines on popups and banners.
  • Update your structured data: If your site uses structured data (such as Products, Books, Events), make sure to adjust it appropriately (reflecting the current product availability, or changing events to cancelled). If your business has a physical storefront, update Local Business structured data to reflect current opening hours.
  • Check your Merchant Center feed: If you use Merchant Center, follow the best practices for the availability attribute.
  • Tell Google about your updates: To ask Google to recrawl a limited number of pages (for example, the homepage), use Search Console. For a larger number of pages (for example, all of your product pages), use sitemaps.

For more information, check our developers documentation.

Not recommended: disabling the whole website

As a last resort, you may decide to disable the whole website. This is an extreme measure that should only be taken for a very short period of time (a few days at most), as it will otherwise have significant effects on the website in Search, even when implemented properly. That’s why it’s highly recommended to only limit your site's functionality instead. Keep in mind that your customers may also want to find information about your products, your services, and your company, even if you're not selling anything right now.

If you decide that you need to do this (again, which we don't recommend), here are some options:

  • If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP result code instead of all content. Make sure to follow the best practices for disabling a site.
  • If you need to disable the site for a longer time, then provide an indexable homepage as a placeholder for users to find in Search by using the 200 HTTP status code.
  • If you quickly need to hide your site in Search while you consider the options, you can temporarily remove it from Search.

For more information, check our developers documentation.

Proceed with caution: To elaborate why we don't recommend disabling the whole website, here are some of the side effects:

  • Your customers won't know what's happening with your business if they can't find your business online at all.
  • Your customers can't find or read first-hand information about your business and its products & services. For example, reviews, specs, past orders, repair guides, or manuals won't be findable. Third-party information may not be as correct or comprehensive as what you can provide. This often also affects future purchase decisions.
  • Knowledge Panels may lose information, like contact phone numbers and your site's logo.
  • Search Console verification will fail, and you will lose all access to information about your business in Search. Aggregate reports in Search Console will lose data as pages are dropped from the index.
  • Ramping back up after a prolonged period of time will be significantly harder if your website needs to be reindexed first. Additionally, it's uncertain how long this would take, and whether the site would appear similarly in Search afterwards.

Other things to consider

Beyond the operation of your web site, there are other actions you might want to take to pause your online business in Google Search:

Also be sure to keep up with the latest by following updates on Twitter from Google Webmasters at @GoogleWMC and Google My Business at @GoogleMyBiz.

FAQs

What if I only close the site for a few weeks?

Completely closing a site even for just a few weeks can have negative consequences on Google's indexing of your site. We recommend limiting the site functionality instead. Keep in mind that users may also want to find information about your products, your services, and your company, even if you're currently not selling anything.

What if I want to exclude all non-essential products?

That's fine. Make sure that people can't buy the non-essential products by limiting the site functionality.

Can I ask Google to crawl less during this time?

Yes, you can limit crawling with Search Console, though it's not recommended for most cases. This may have some impact on the freshness of your results in Search. For example, it may take longer for Search to reflect that all of your products are currently not available. On the other hand, if Googlebot's crawling causes critical server resource issues, this is a valid approach. We recommend setting a reminder for yourself to reset the crawl rate once you start planning to go back in business.

How do I get a page indexed or updated quickly?

To ask Google to recrawl a limited number of pages (for example, the homepage), use Search Console. For a larger number of pages (for example, all of your product pages), use sitemaps.

What if I block a specific region from accessing my site?

Google generally crawls from the US, so if you block the US, Google Search generally won't be able to access your site at all. We don't recommend that you block an entire region from temporarily accessing your site; instead, we recommend limiting your site's functionality for that region.

Should I use the Removals Tool to remove out-of-stock products?

No. People won't be able to find first-hand information about your products on Search, and there might still be third-party information for the product that may be incorrect or incomplete. It's better to still allow that page, and mark it out of stock. That way people can still understand what's going on, even if they can't purchase the item. If you remove the product from Search, people don't know why it's not there.

--------

We realize that any business closure is a big and stressful step, and not everyone will know what to do. If you notice afterwards that you could have done something differently, everything's not lost: we try to make our systems robust so that your site will be back in Search as quickly as possible. Like you, we're hoping that this crisis finds an end as soon as possible. We hope that with this information, you're able to have your online business up & running quickly when that time comes. Should you run into any problems or questions along the way, please don't hesitate to use our public channels to get help.