Category: Microsoft
Category Archives: Microsoft
Create Tab call in Teams call for MS Planner showing all Tasks, not just from referenced Planner
Hi all,
we are struggling with an issue POSTing to the “Add tab to channel” endpoint using Graph API.
The calls succeed, but the tab instead of showing tasks from the referenced Plan shows “My Tasks” and therefore all tasks assigned to the user looking at the tab. We have tried to find any reference of this behaviour, but were unable to find a solution. Any ideas? Body below:
POST /teams/{team-id}/channels/{channel-id}/tabs
{
“email address removed for privacy reasons”: “https://graph.microsoft.com/beta/appCatalogs/teamsApps/com.microsoft.teamspace.tab.planner”,
“entityId”: “tt.c_<channelId>_p_<planId>”,
“contentUrl”: “https://tasks.teams.microsoft.com/teamsui/{tid}/Home/PlannerFrame?page=7&auth_pvr=OrgId&auth_upn={userPrincipalName}&groupId={groupId}&planId=<planId>&channelId={channelId}&entityId={entityId}&tid={tid}&userObjectId={userObjectId}&subEntityId={subEntityId}&sessionId={sessionId}&theme={theme}&mkt={locale}&ringId={ringId}&PlannerRouteHint={tid}&tabVersion=20200228.1_s”,
“websiteUrl”: “https://tasks.office.com/b3f4f7c2-72ce-4192-aba4-d6c7719b5766/Home/PlanViews/<planId>?Type=PlanLink&Channel=TeamsTab”,
“removeUrl”: “https://tasks.teams.microsoft.com/teamsui/{tid}/Home/PlannerFrame?page=13&auth_pvr=OrgId&auth_upn={userPrincipalName}&groupId={groupId}&planId=<planId>&channelId={channelId}&entityId={entityId}&tid={tid}&userObjectId={userObjectId}&subEntityId={subEntityId}&sessionId={sessionId}&theme={theme}&mkt={locale}&ringId={ringId}&PlannerRouteHint={tid}&tabVersion=20200228.1_s”
}
<planId> and <channelId> are filled in with the actual plan and channel id.
Hi all,we are struggling with an issue POSTing to the “Add tab to channel” endpoint using Graph API.The calls succeed, but the tab instead of showing tasks from the referenced Plan shows “My Tasks” and therefore all tasks assigned to the user looking at the tab. We have tried to find any reference of this behaviour, but were unable to find a solution. Any ideas? Body below:POST /teams/{team-id}/channels/{channel-id}/tabs
{
“email address removed for privacy reasons”: “https://graph.microsoft.com/beta/appCatalogs/teamsApps/com.microsoft.teamspace.tab.planner”,
“entityId”: “tt.c_<channelId>_p_<planId>”,
“contentUrl”: “https://tasks.teams.microsoft.com/teamsui/{tid}/Home/PlannerFrame?page=7&auth_pvr=OrgId&auth_upn={userPrincipalName}&groupId={groupId}&planId=<planId>&channelId={channelId}&entityId={entityId}&tid={tid}&userObjectId={userObjectId}&subEntityId={subEntityId}&sessionId={sessionId}&theme={theme}&mkt={locale}&ringId={ringId}&PlannerRouteHint={tid}&tabVersion=20200228.1_s”,
“websiteUrl”: “https://tasks.office.com/b3f4f7c2-72ce-4192-aba4-d6c7719b5766/Home/PlanViews/<planId>?Type=PlanLink&Channel=TeamsTab”,
“removeUrl”: “https://tasks.teams.microsoft.com/teamsui/{tid}/Home/PlannerFrame?page=13&auth_pvr=OrgId&auth_upn={userPrincipalName}&groupId={groupId}&planId=<planId>&channelId={channelId}&entityId={entityId}&tid={tid}&userObjectId={userObjectId}&subEntityId={subEntityId}&sessionId={sessionId}&theme={theme}&mkt={locale}&ringId={ringId}&PlannerRouteHint={tid}&tabVersion=20200228.1_s”
} <planId> and <channelId> are filled in with the actual plan and channel id. Read More
Word squeezes the equation if text is added after it
Is there a way to add text after the equation without having the equation squeezed (e.g. boundaries of summation and integration are moved after the corresponding sign)?
Is there a way to add text after the equation without having the equation squeezed (e.g. boundaries of summation and integration are moved after the corresponding sign)? Read More
Reporting Mailbox Audit Configurations
A request came in for a PowerShell script to report mailbox audit configurations to check that the important new events are being generated by mailboxes. After diverting into the hellhole of Microsoft licensing, normal sanity was resumed and a PowerShell script written to do the job. The script generates a CSV file or Excel worksheet for tenant administrators to review. After that, it’s up to you.
https://office365itpros.com/2024/05/28/mailbox-audit-configuration-report/
A request came in for a PowerShell script to report mailbox audit configurations to check that the important new events are being generated by mailboxes. After diverting into the hellhole of Microsoft licensing, normal sanity was resumed and a PowerShell script written to do the job. The script generates a CSV file or Excel worksheet for tenant administrators to review. After that, it’s up to you.
https://office365itpros.com/2024/05/28/mailbox-audit-configuration-report/ Read More
Return list of values in a column if another column is not empty
Hello!
I am trying to create a list for “project allocations”. So I have a table with all or staff members in column A and in row 1 all our projects. In the cells in between, if a staff member is assigned to a projects there is a value for their time invest in this project, e.g.
In another sheet, I want to list all projects and underneath each project list all staff members that are assigned to this client, e.g. spend time on it, so where there is a value for them in the client column in sheet 1.
Long term I want to add more about functions etc., but I am already struggeling with the first one. I tried “filter” and also if project column is <>” ” but if it does anything at all it always just returns everyone in the staff list.
Does anyone have any idea what function would work best? Thank you!
Hello!I am trying to create a list for “project allocations”. So I have a table with all or staff members in column A and in row 1 all our projects. In the cells in between, if a staff member is assigned to a projects there is a value for their time invest in this project, e.g.In another sheet, I want to list all projects and underneath each project list all staff members that are assigned to this client, e.g. spend time on it, so where there is a value for them in the client column in sheet 1. Long term I want to add more about functions etc., but I am already struggeling with the first one. I tried “filter” and also if project column is <>” ” but if it does anything at all it always just returns everyone in the staff list. Does anyone have any idea what function would work best? Thank you! Read More
MVP Marthe Moengen’s Community and Career Story
We are delighted to share that Marthe Moengen, a Data Platform MVP from Norway, has been recognized as one of the Top 50 Women in Tech awardees in Norway. She is a community leader who helps data platform communities around the world, and as a woman community leader, she assists other women in developing their skills.
To celebrate her remarkable achievement, this blog post will feature her community activities, career history, and women empowerment story.
———-
Community activities and how to help community members
“Being a part of the data community is so inspiring, and I’m always striving to inspire others as well.
I love delving into topics like Microsoft Fabric, data modeling, and data governance, and I do my best to share my enthusiasm through various channels such as delivering presentations at conferences, penning articles for my blog, and orchestrating livestreams and podcasts. I have had the honor of speaking at PASS Data Community Summit, SQL Bits, Microsoft Fabric Community Conference, DataMinds Connect, and various Data Saturdays and SQL Saturdays during the last years. The best part of contributing to the community is the energy you get back and the fostering of engagement. My favorite moments are when someone approaches me after a presentation or reading my blog to share how it helped or inspired them.
Last year, I co-founded Fabric February with my partners in crime, Emilie Rønning and Cathrine Wilhelmsen. It is a data conference in the heart of Oslo where Fabric enthusiasts get together from all over the world. Our mission was simple: to foster collaboration, facilitate learning, and create invaluable networking opportunities within the Fabric community. All while enjoying snacks and having fun!
It resulted in an unforgettable three-day event that was completely sold out with more than 400 attendees. The response was overwhelming. Witnessing the energy and enthusiasm was truly amazing. Stay tuned for Fabric February 2025!
Career journey to Data Architect
My journey to becoming a data architect is not the most traditional one. My goal was not to be a data engineer, but a technical engineer in marine technology. I spent 5 years and countless hours learning about waves, ships, and constructions in the sea, and specialized in marine cybernetics. The kind of technology that enables underwater robots to be controlled from land, and ferries to run without a captain. Autonomous ships.
But when I was ready to write my master’s thesis, my problem wasn’t the technology, the ships, or access to a laboratory, but it was access to data. It turned out that if I were to build a machine learning algorithm to help my ship make good route decisions, I needed data. Easier said than done. There weren’t any particularly large amounts of data I could use, and the data I accessed was of poor quality.
Additionally, another problem arose. I didn’t know anything about the data. How was I supposed to feed it into the algorithm? What was good data quality? What format did I need?
That’s when I made a decision that has had a significant impact on my career. I understood that the key to changing the world with marine cybernetics was understanding data. So, I applied as a data analyst graduate at a Norwegian consulting company. When I went for the interview, they asked me, “What do you know about data then?” Then I had to answer truthfully. “Nothing. I know nothing! But I want to learn.” I practically crawled across the table to convince the interviewer that I can learn. Give me the chance, and I’ll show you!
And then something wild happened. I fell completely in love. With the field. After working with data and analytics for a few years, I realized that this is where I can make the biggest change. Not just within the maritime sector, but for all sectors. And the interest has given me fantastic opportunities. Now I work as a Data Architect at Sopra Steria, and travel around the world working to convince others that data – that’s the gold. It’s the way to drive value. It’s the way to change the world.
Empowering Women in Tech
Normalizing femininity with my bright pink jacket while being a savvy tech enthusiast is my mission, and I’m committed to bringing others along with me. Over the past two years, I’ve had the honor of mentoring some awesome women for their first presentations at conferences. I firmly believe in the ethos of “pulling as we climb.” Achieving personal goals feels incomplete if I can’t assist others in reaching similar heights or push the boundaries a bit further for those who follow in our footsteps.
As a part of this, I’ve founded a Women in Technology community right here in Oslo, Norway. It’s a space designed for women in and around Oslo who are passionate about technology and want to connect with like-minded individuals. Our goal is simple: to create a welcoming environment where we can come together semi-regularly to network, share experiences, and support each other.
In our community, we believe in the power of mentorship and lifting each other up. We’re all about pulling as we climb. That means networking, mentoring, helping each other out, cheering each other on, and celebrating each other’s achievements. It’s all about building each other up and creating a supportive network where everyone can thrive.
I was recently recognized as one of the top 50 women in tech in Norway. Being recognized among such an incredible group of women is truly humbling, but also gives me energy to keep pulling! I am doing my best to embrace my nickname “Beyoncé In Tech” while rocking my pink jacket, pushing the boundaries a tiny bit in the right direction every day.
Microsoft Tech Community – Latest Blogs –Read More
Why Am I Seeing QuickBooks Error 3180 on My Transactions?
I’m encountering QB Error 3180 while managing transactions. It’s disrupting my workflow and causing frustration. What could be causing this issue, and how can I resolve it quickly?
I’m encountering QB Error 3180 while managing transactions. It’s disrupting my workflow and causing frustration. What could be causing this issue, and how can I resolve it quickly? Read More
Something went wrong error pops up on the sharepoint videos in a Playlist
Hello Team,
We compiled several videos to form a playlist in Sharepoint list. However, when we select any particular videos from the listed playlist, receiving the mentioned error-
If we are retrying it, the videos are playing. This error occurs all of a sudden. Any approach to get rid of this or would like to know the cause of this issue.
This error occurs for all videos during first time selection
Hello Team, We compiled several videos to form a playlist in Sharepoint list. However, when we select any particular videos from the listed playlist, receiving the mentioned error- If we are retrying it, the videos are playing. This error occurs all of a sudden. Any approach to get rid of this or would like to know the cause of this issue.This error occurs for all videos during first time selection Read More
Some of the font type does not work on Windows 11 browser
My browser often show error like this Egyptian font. All web. I tried to changes many different browser but still got same problem. How to fix this?
My browser often show error like this Egyptian font. All web. I tried to changes many different browser but still got same problem. How to fix this? Read More
Find qty of products based on total value
a = 72,000
b = 68,500
c = 83,000
d = 99,900
x = Qty of a + Qty of b + Qty of c + Qty of d
a, b, c & d are constant, only ‘x’ value changes, I need to find the qty of a,b,c,d
a = 72,000b = 68,500c = 83,000d = 99,900 x = Qty of a + Qty of b + Qty of c + Qty of da, b, c & d are constant, only ‘x’ value changes, I need to find the qty of a,b,c,d Read More
SCOM 2022 and SCOM 2019
Hello All
I have just joined this forum after 48 hours of intensive struggling, I am trying to apply for a job that requires SCOM experience, so I tried to install it on my Windows server 2019 domain on my home lab, I found that setting up SCOMJ 2022 or 2019 is a complete nightmare, possibly I tried over 50 times to no avail, I consistently get the error message in the SCOM setup log of:
Error: :PopulateUserRoles: failed : Threw Exception.Type: System.Runtime.InteropServices.COMException, Exception Error Code: 0x80070539, Exception.Message: The security ID structure is invalid. (Exception from HRESULT: 0x80070539)
Error: :PopulateUserRoles: failed : Threw Exception.Type: System.ArgumentException, Exception Error Code: 0x80070057, Exception.Message: Value does not fall within the expected range.
Error: :StackTrace: at Microsoft.EnterpriseManagement.Interop.Security.Auth.AzAuthorizationStoreClass.Initialize(Int32 lFlags, String bstrPolicyURL, Object varReserved)
The SQL connection during setup is ok as the first DB OperationsDatabase is created but it gets deleted after that error due to a rollback.
Can anyone help me please as I am just about to give up on the SCOM and the job
Cheers
Hello AllI have just joined this forum after 48 hours of intensive struggling, I am trying to apply for a job that requires SCOM experience, so I tried to install it on my Windows server 2019 domain on my home lab, I found that setting up SCOMJ 2022 or 2019 is a complete nightmare, possibly I tried over 50 times to no avail, I consistently get the error message in the SCOM setup log of:Error: :PopulateUserRoles: failed : Threw Exception.Type: System.Runtime.InteropServices.COMException, Exception Error Code: 0x80070539, Exception.Message: The security ID structure is invalid. (Exception from HRESULT: 0x80070539) Error: :PopulateUserRoles: failed : Threw Exception.Type: System.ArgumentException, Exception Error Code: 0x80070057, Exception.Message: Value does not fall within the expected range.Error: :StackTrace: at Microsoft.EnterpriseManagement.Interop.Security.Auth.AzAuthorizationStoreClass.Initialize(Int32 lFlags, String bstrPolicyURL, Object varReserved) The SQL connection during setup is ok as the first DB OperationsDatabase is created but it gets deleted after that error due to a rollback.Can anyone help me please as I am just about to give up on the SCOM and the jobCheers Read More
Manage Dev Tunnels with Group Policies
Dev Tunnels is a tunneling service that can boost your productivity when testing and debugging web apps, webhooks, APIs, and more. You can also simply use Dev Tunnels to seamlessly share your work with colleagues, demo at conferences, or cross-device app testing. Whether you use Dev Tunnels through Visual Studio, VS Code, or the devtunnel CLI, it takes mere seconds to get started.
We’ve heard from organizations that IT Administrators want to control certain aspects of Dev Tunnels to achieve consistency or compliance across their organization. In response to this feedback, we’re thrilled to announce that Dev Tunnels now supports this level of control with Group Policy Administrative Templates (ADMX/ADML files)!
To configure and deploy these policies, you can use the Group Policy Editor. These policies apply to Dev Tunnels in Visual Studio, port forwarding built into Visual Studio Code, the Visual Studio Code Remote – Tunnels extension, and the devtunnel CLI. These policies will be available in Microsoft Intune in the future as well.
Prerequisites
Windows Server 2016, Windows Server 2019, Windows Server 2022, Windows 8.1, Windows 10, Windows 11
Active Directory
Access to Group Policy Editor
Policies supported
Disable anonymous tunnel access: Disallow anonymous tunnel access. Enabling this policy enforces users to select either private or organization for tunnel access. This means users cannot connect to an existing tunnel with anonymous access control, host an existing tunnel with anonymous access control, or add anonymous access to existing or new tunnels.
Disable Dev Tunnels: Disallow users from using the Dev Tunnels service. All commands, with few exceptions, should be denied access when this policy is enabled. Exceptions: unset, echo, ping, and user.
Allow only selected Microsoft Entra tenant IDs: Users must authenticate within the given tenant list to access Dev Tunnels. When enabling this policy, multiple tenant IDs can be added by using a semicolon or comma to separate each. All commands, with few exceptions, should be denied access when this policy is enabled, and the user’s tenant ID isn’t in the list of allowed tenant IDs. Exceptions: unset, echo, ping, and user. Follow the steps in this article to find your Microsoft Entra tenant ID.
Configure policies with Local Group Policy editor
For machines within a corporate network, the Group Policy editor can be used to deploy Dev Tunnel policies.
Download the Administrator Template files
Download the Administrator Template files (ADMX/ADML) for Dev Tunnels from the Microsoft Download Center.
Navigate to the C:WindowsPolicyDefinitions folder and add the TunnelsPolicies.admx file.
Navigate to the C:WindowsPolicyDefinitionsen-US folder and add the TunnelsPolicies.adml file.
Apply the policies using the Local Group Policy Editor
Open Command Prompt and run gpupdate /force to ensure the policy files are configured.
Open the Windows Local Group Policy Editor.
Navigate to Computer Configuration > Administrative Templates > Dev Tunnels.
Apply the desired policy changes.
Contact us
If you have any feedback, feature requests, questions, or you encounter an unexpected issue while working with the devtunnel CLI, reach out to us. We want to hear from you!
GitHub issues is a great way to connect with us. You can open a new issue or up-vote any existing issues using a :thumbs_up: reaction to:
Request a feature
Submit a bug
Provide feedback
If you’re an enterprise looking to adopt dev tunnels in your organization with specific questions on security, enterprise management or support, email us at tunnelsfeedback@microsoft.com.
Microsoft Tech Community – Latest Blogs –Read More
Exploring Generative AI: An Hands-on Course on Prompt Engineering for non-tech students – Part 1
Introduction
Generative Artificial Intelligence (AI) has transformed the digital landscape through “intent-based outcome specification,” a paradigm where users describe desired outcomes via detailed prompts instead of traditional commands. This course – targeting a non-developer audience – delved into the foundational principles of Generative AI and Large Language Models (LLMs), focusing on their core mechanisms and capabilities. Students learned and practiced effective prompting techniques, essential for navigating this powerful yet complex method. The course included the analysis and discussion of recent research on prompt engineering, keeping students abreast of the latest developments.
The structure of the course balanced theoretical understanding and practical application, with 30% dedicated to traditional lectures and 70% to hands-on workshops and collaborative group projects. Practical exercises using models like GPT allowed students to apply their theoretical knowledge in real-world scenarios. Group projects focused on specific application domains – including music, literature and cuisine – leading to presentations, peer reviews, and instructor feedback.
The course – comprising 20 hours of direct instruction – was conducted at the Fondazione Bruno Kessler (FBK) campuses in Povo. Instructors Antonio Bucchiarone and Nadia Mana guided the learning journey. Additionally, Carlotta Castelluccio from Microsoft conducted a seminar on Responsible AI, emphasizing ethical considerations in AI applications.
In this first part of the blog series, we are going to present the methodological framework and the tools used throughout the course. In the second part, we are going to cover the student projects’ main outcomes and key takeaways.
The Card Model Template and the Flow of Cards
One of the primary goals of the course was to provide a clear and comprehensive understanding of prompt engineering. This was achieved by introducing a structured framework known as the “Card Model” to define and organize generative AI tasks. In the context of this course, a card refers to a structured format or template used to define a specific task or objective for generating content or output using generative AI techniques.
The Card Model serves as a conceptual framework that outlines the structure, components, and relationships involved in generating content or output using generative AI techniques. It provides a high-level abstraction of the task, capturing its essential elements and defining their interactions. Here’s a simplified model of a generative AI task:
Objective: This is the overarching goal or purpose of the generative AI task, defining what needs to be achieved through the content generation process.
Input: Information provided to the generative AI technique to guide the content generation process. This includes:
Prompt: A starting point or stimulus to generate content, such as a partial sentence, a question, an instruction, or other forms of input.
Context: Additional information or constraints that provide context for the generation task, such as background knowledge, relevant data sources, or specific requirements.
Generative Model: The AI model responsible for generating content based on the input provided. Examples include pre-trained language models like OpenAI GPT-3.5Turbo, neural network architectures for text generation, or other generative AI systems.
Output: The generated content produced by the generative model in response to the input, including:
Generated Text: The actual output, which could be in the form of text, images, or other media.
Evaluation Metrics: Criteria used to assess the quality and relevance of the generated content, including measures of coherence, relevance, fluency, and other factors depending on the specific task requirements.
Feedback Loop: A mechanism for iteratively improving the generative AI model based on feedback from users or evaluators. This may involve refining the input prompts, adjusting model parameters, or incorporating additional training data to enhance performance.
The Card Model helps define the key components involved in the task and their relationships, facilitating the design, execution, and evaluation of generative AI tasks in various applications.
Cards Flow Model
The concept of flow was also introduced in the course to provide a formal representation of the relationships between different cards composing a generative AI task. This flow model helps in visualizing and understanding the sequential and conditional transitions between different stages of a generative AI task, ensuring a structured and systematic approach to designing, executing, and evaluating generative AI processes.
In more details, cards can be combined together to create complex workflows by defining specific transitions and dependencies between them. By linking these cards through directed edges, students can create intricate flows that mirror real-world applications. This pattern also helps students to break down complex tasks into smaller subtasks, described through detailed prompts and potentially addressed by different specialized models, generally leading to a more accurate final outcome.
For example, a card flow might begin with a card that generates an initial story prompt. The output of this card could then flow into a card that adds contextual details, which in turn flows into another card responsible for generating the story based on the enhanced prompt. Subsequent cards could be used to evaluate the generated content, refine the prompt based on evaluation metrics, and iterate the process.
To ensure a thorough understanding of these flows, students were asked to evaluate different paths within a flow. This involved analyzing how changes in one card could affect the overall output and exploring alternative pathways to achieve the desired outcome. Students were tasked with:
Mapping Out Flows: Students mapped out various flows, identifying all possible paths and transitions between cards.
Evaluating Paths: They evaluated each path to understand how different sequences and combinations of tasks impacted the final output.
Comparing Outcomes: Students compared outcomes from different paths to determine which flow produced the most coherent, relevant, and high-quality results.
Feedback and Iteration: They incorporated feedback into their flows, refining cards and transitions to optimize the generative process.
By engaging in these activities, students gained hands-on experience in managing complex generative AI tasks, learning to anticipate and handle the dependencies and contingencies that arise in practical applications. This exercise not only reinforced their understanding of prompt engineering but also highlighted the importance of structured planning and iterative improvement in generative AI projects.
The Azure AI Proxy Playground
Students learned to interact with OpenAI models through the GUI offered by the Azure AI Proxy Playground. The service is an open-source solution which provides a Playground-like experience to explore the Azure OpenAI chat completions using a time-bound event code with different models and parameters. It’s designed for educational scenarios (e.g., a course, a hackathon, or a workshop) where students might not have access to an Azure subscription enabled with Azure OpenAI service and/or are not familiar with the Azure ecosystem and how to provision and consume Azure AI resources.
By leveraging this solution, we were able to provide students with a simplified lab environment, where all the complexity related to the Cloud resources provisioning and model deployments was hidden to the final user and managed through a single Azure subscription, connected to the Proxy Playground. This was particularly helpful in the context of a course whose audience was non-technical and whose focus was learning to interact with large language models through prompt engineering techniques. For the sake of the course, we provisioned a gpt-3.5 turbo instance, so all the students’ interactions via the playground happened with that specific model.
Tool GUI and Card Model mapping
The Playground GUI is composed of several elements. Most of them can be directly mapped with the Card Model components, ensuring consistency between the theoretical concepts and the actual experimentations.
User prompt: free-form text field used to enter the user request to the model. It’s the prompt component of the input in the card model.
System message: free-form text field used to enter additional information to use in responses, data sources and/or tone and style specifications. It maps with the context component of the input in the card model.
Configuration: parameters to tune the degree of randomness of the responses. It also includes a dropdown menu to select the model to use as chat engine, what we call generative model in the card template.
Assistant response: in the chat session the user can read the model’s response, aka the generated text component of the output in the card model.
Summary
In this article, we covered the methodological framework and tools used in the Prompt Engineering course at Fondazione Bruno Kessler, to teach non-tech students to effectively interact with generative AI models. We explored the “Card Model” – a structured approach to define and organize generative AI tasks – and the concept of the “flow”, which further structures the relationships between tasks, aiding in the creation of complex workflows.
Microsoft Tech Community – Latest Blogs –Read More
Using Azure’s AI Language Service to Summarize and Extract Themes from Interview Transcripts
Imagine you’re a program evaluator or a qualitative researcher tasked with analyzing hundreds of interview transcripts. Each transcript is filled with valuable information, but the sheer volume and time-consuming nature of the task can be overwhelming. You find yourself buried in a sea of words, desperately seeking a way to extract meaningful insights efficiently. This blog is meant to walk you into a solution by using Azure’s AI Language Service.
Introduction
In the realm of program evaluations and qualitative research, interview transcripts hold the key to understanding participants’ perspectives and experiences. However, manually sifting through these transcripts can be an arduous and time-intensive process. This is where Azure AI/ML steps in, offering a game-changing solution that automates the production of summaries and extraction of themes from interview transcripts. We will explore how to leverage Azure AI/ML to support program evaluations and qualitative research.
The Challenge of Summarization
Traditionally, summarizing interview transcripts is a time-consuming task, requiring meticulous reading and the ability to identify core themes and statements. This manual process is not only labor-intensive but also prone to inconsistencies.
Azure AI/ML to the Rescue
Azure AI/ML services provide a suite of tools designed to tackle the challenge of summarization head-on. With services like Azure AI Language service and Azure OpenAI GPT-3, researchers can automate the summarization process. Additionally, Azure’s extractive summarization API offers a way to pinpoint key sentences that represent the most important information within a transcript.
How It Works
Summarization: Azure AI Language service can generate summaries of these transcripts. It uses advanced algorithms to identify and condense the most salient points into a coherent summary.
Theme Extraction: Alongside summarization, Azure AI services can extract key phrases and themes from the text. This is particularly useful for identifying recurring topics or important concepts within a series of interviews.
Refinement: Researchers can then review and refine these automated summaries and themes, ensuring they align with the research objectives and provide the necessary depth of insight.
What you need to get started.
Azure account with a subscription: To create one use the following link: Azure portal Want to know what azure subscription is? azure subscription
Azure blob storage: A storage account to store documents which need to be extracted. Learn more about azure blob storage: Azure blob storage docs
Understanding Azure’s AI Language Service
Azure AI Language Service is a managed cloud service that simplifies the development of natural language processing (NLP) applications. With minimal machine-learning expertise required, it allows users to:
Identify Key Terms and Phrases: Quickly extract significant words and expressions from text.
Analyze Sentiment: Determine the emotional tone behind words to understand the context better.
Summarize Text: Condense long documents into shorter, digestible summaries using both extractive and abstractive techniques.
Build Conversational Interfaces: Create intelligent chatbots and virtual assistants that can engage with users naturally.
What is document and conversation summarization?
Summarization is one of the features offered by Azure AI Language, a collection of machine learning and AI algorithms in the cloud for developing intelligent applications that involve written language.
Document summarization only accepts plain text blocks, and conversation summarization accepts various speech artifacts for the model to learn more.
Key features
There are the aspects of document summarization this API provides:
Extractive summarization: Produces a summary by extracting salient sentences within the document.
Multiple extracted sentences: These sentences collectively convey the main idea of the document. They’re original sentences extracted from the input document’s content.
Rank score: The rank score indicates how relevant a sentence is to a document’s main topic. Document summarization ranks extracted sentences, and you can determine whether they’re returned in the order they appear, or according to their rank.
Multiple returned sentences: Determine the maximum number of sentences to be returned. For example, if you request a three-sentence summary extractive summarization returns the three highest scored sentences.
Positional information: The start position and length of extracted sentences.
Abstractive summarization: Generates a summary that doesn’t use the same words as in the document but captures the main idea.
Summary texts: Abstractive summarization returns a summary for each contextual input range within the document. A long document can be segmented so multiple groups of summary texts can be returned with their contextual input range.
Contextual input range: The range within the input document used to generate the summary text.
Get started with summarization
To use summarization, you submit for analysis and handle the API output in your application. Analysis is performed as-is, with no added customization to the model used on your data.
Input requirements and service limits
Summarization takes text for analysis. For more information, see Data and service limits in the how-to guide.
Summarization works with various written languages. For more information, see language support.
Prerequisites
An Azure subscription – Create one for free.
Go to the Azure Portal
Navigate to Azure Portal and sign-in with credentials that have access or subscription to your resource.
From the Azure Portal landing page navigate to search button and search language service.
Let’s Provision Azure AI language Service
Search for Azure language
Create Azure AI language service
Select option 2 to feature to custom summarization and text analytics then click continue to create the resource
Under create Azure AI language page
Choose your subscription.
Choose or create a resource group.
Choose the region to deploy (use that is near to your geolocation).
Create the resource name (make it unique).
Choose your pricing tier
Create a storage account or select one if you have.
Check the box to acknowledge terms in Responsible AI notice
Then click next.
As for me I will leave network setting as default and click Review and Create.
Once deployed navigate to the resource and open it.
Let’s Navigate to Azure AI Language studio
Language Studio is a web-based platform that lets you try entity linking with text examples without an Azure account, and your own data when you sign up language studio quickstart.
Click the language studio on the service you have deployed successfully.
Select your preferred language, azure resource that we deployed, number of sentences you prefer in summary and specify your summary interest.
Upload your .txt file that contains your interview transcript.
Check the box to acknowledge and Run the model.
If everything goes well, and all your services are okay, and documents are collected you should get a response like this.
Congratulations, you have Summarized an interview transcript with Azure AI Language Model.
The document summarization API request is processed upon receipt of the request by creating a job for the API backend. If the job succeeded, the output of the API is returned. The output is available for retrieval in 24 hours. After this time, the output is purged. Due to multilingual and emoji support, the response might contain text offsets. See how to process offsets for more information.
For those interested in leveraging these powerful tools to enhance their research process, the web page outlines the necessary steps to get started, including creating an Azure AI language service, setting up Azure blob storage, and navigating the Azure AI Language studio.
If you’re ready to streamline your research and analysis of interview transcripts, get started with Azure AI/ML today and unlock the potential of automated summarization and theme extraction.
Read More
Azure Text Analysis client library for JavaScript
Azure Text Translation REST client library for JavaScript
Azure.AI.TextAnalytics Namespace
Code Samples
Azure Text Analytics client library samples for JavaScript
Azure Cognitive Services Text Analytics client library for .NET
Samples for Azure Text Analytics client library for Python
Microsoft Tech Community – Latest Blogs –Read More
How to Resolve QuickBooks Error 193 on Windows 10/11
I’m experiencing QuickBooks Error 193 on my Windows 10/11 system. This error prevents me from accessing my company file in multi-user mode. I’ve tried restarting my computer and reinstalling QB, but the issue persists. What steps can I take to resolve this error and get QB running smoothly again?
I’m experiencing QuickBooks Error 193 on my Windows 10/11 system. This error prevents me from accessing my company file in multi-user mode. I’ve tried restarting my computer and reinstalling QB, but the issue persists. What steps can I take to resolve this error and get QB running smoothly again? Read More
Virtual desktop app requires different regional settings
One of our azure virtual desktop applications requires sv-SE as the date time settings. We have tried setting “UserOverrideKey” beneath the registry key HKEY_USERS.DEFAULTControl PanelInternational to no avail.
Is it not possible to have another regional setting than the default one of the session host installation?
One of our azure virtual desktop applications requires sv-SE as the date time settings. We have tried setting “UserOverrideKey” beneath the registry key HKEY_USERS.DEFAULTControl PanelInternational to no avail. Is it not possible to have another regional setting than the default one of the session host installation? Read More
Folders or Channels [Sync]
Hello Bubble.
We are small company with about 30 employess. We use OneDrive for our project.
We are active in the sewer inspection industry.
Since we sometimes exchange small projects, we have the problem that when we do it via the “Main Channel”, the files/folders are synchronized for all workers. This is rather suboptimal. Hence my question.
Would you create a separate channel for each employee or a “project handover” channel and the employees’ sub-folders in it, with approvals only for the correct colleague?
The aim should be that when employee 1 uploads the project, it should not be synchronized with everyone, but only with the colleagues who either have the approval for this folder or channel.
Thank you in advance.
Hello Bubble. We are small company with about 30 employess. We use OneDrive for our project.We are active in the sewer inspection industry.Since we sometimes exchange small projects, we have the problem that when we do it via the “Main Channel”, the files/folders are synchronized for all workers. This is rather suboptimal. Hence my question.Would you create a separate channel for each employee or a “project handover” channel and the employees’ sub-folders in it, with approvals only for the correct colleague?The aim should be that when employee 1 uploads the project, it should not be synchronized with everyone, but only with the colleagues who either have the approval for this folder or channel.Thank you in advance. Read More
What are the Solutions of QuickBooks Script Error windows 10/11?
How can I fix a QuickBooks script error that keeps popping up when I try to open my company file? It’s causing significant disruptions to my workflow. Any troubleshooting steps or solutions would be greatly appreciated.
How can I fix a QuickBooks script error that keeps popping up when I try to open my company file? It’s causing significant disruptions to my workflow. Any troubleshooting steps or solutions would be greatly appreciated. Read More
Can QuickBooks Sync Manager Not Working Affect My Data?
I’m having issues with QuickBooks Sync Manager not working and I’m concerned about how it might affect my data. Can this problem lead to data loss or synchronization issues? What steps should I take to ensure my data remains intact and updated? Any advice would be greatly appreciated.
I’m having issues with QuickBooks Sync Manager not working and I’m concerned about how it might affect my data. Can this problem lead to data loss or synchronization issues? What steps should I take to ensure my data remains intact and updated? Any advice would be greatly appreciated. Read More
SMTP on Exchange Server 2016
An on-prem Exchange Server 2016 is setup to receive SMTP emails from some in-house applications. The intention is to re-configure the in-house applications to use a cloud service instead of the on-premises Exchange server. Is there a way I can get a report or check what SMTP activity the Exchange server is working with? Once I have this, I can identify apps that are talking to it and then re-configure those to use a cloud service.
An on-prem Exchange Server 2016 is setup to receive SMTP emails from some in-house applications. The intention is to re-configure the in-house applications to use a cloud service instead of the on-premises Exchange server. Is there a way I can get a report or check what SMTP activity the Exchange server is working with? Once I have this, I can identify apps that are talking to it and then re-configure those to use a cloud service. Read More
Troubleshooting Tips to Fix QuickBooks Error 557 After update?
I’m experiencing QuickBooks Error 557 while updating payroll. How can I fix this issue? I need detailed troubleshooting steps to resolve it as soon as possible.
I’m experiencing QuickBooks Error 557 while updating payroll. How can I fix this issue? I need detailed troubleshooting steps to resolve it as soon as possible. Read More