User Profile
liamca-msft
Joined 5 years ago
User Widgets
Recent Discussions
Re: Image recognition
Hi Frederick, Great question! There are multiple ways you can look at this and let me outline a few and you can hopefully help me drill down into what you are interested in. First with OCR, you can absolutely use this as an option and we have this built into Azure Cognitive Search (https://docs.microsoft.com/en-us/azure/search/cognitive-search-skill-ocr) where you can extract text from an image that then gets indexed. From this point, not only can you search the content, but you can also do things like find content that is textually similar. Although there are many ways you could do this, one of the easiest is to use is the moreLikeThis api call which will get Cognitive Search to find other similar documents (https://docs.microsoft.com/en-us/azure/search/search-more-like-this). As for other image similarities, sometimes when you are looking to compare images, it is not based on text but visual images. For example find pictures that look visually similar. For this, an easy way to approach this is to use the Vision Skill (https://docs.microsoft.com/en-us/azure/search/cognitive-search-skill-image-analysis) which allows an image to be analyzed and to extract interesting textual aspects such as "mountains" or "apple" which can be indexed into Cognitive Search. From this point you can use the search service to find other images that have similar aspects (such as find images that have mountains in them). I hope that helps as a start, but please let me know if you are looking for anything more specific. Liam2.1KViews0likes1CommentRe: When to use and how to get querying proficiency
Hi Pedro, let me start with Q1. You are correct that pushing content and doing batching will be the most optimal way of getting content into the search service quickly. Just as a side note, the S2 and higher is backed by premium storage which also allows indexing to happen faster. However, the added cost does not always warrant the increase perf. You might also be interested in this code that we have for optimizing indexing performance that helps understand optimal batch sizes. https://github.com/Azure-Samples/azure-search-dotnet-samples/tree/master/optimize-data-indexing In addition, please keep in mind that you can also parallelize uploads which can allow you to push data even fasters. However, if you do this it is important to keep track of throttling and back off exponentially if you start seeing this. The above sample helps walk through this as well. Hope that helps! Liam4.9KViews1like1CommentRe: Text for Health - languages availability
Hi @Eric, you might find this repo (https://github.com/liamca/covid19search) interesting as well as corresponding demo (https://covid19search.azurewebsites.net/). It leverages both Text Analytics for Health as well as Cognitive Search to effectively search and explore Covid research articles. We have found this to be useful not only to healthcare content, but also in cases where there are clinical notes that need to be analyzed and searched.1.5KViews0likes0CommentsRe: What value can ACS bring to a project
For case studies, you can find a lot of them here: https://customers.microsoft.com/en-us/search?sq=%22Azure%20Cognitive%20Search%22&ff=&p=0&so=story_publish_date%20desc I don't know if they go into enough architectural detail, but I hope they help as a start. Our Microsoft Account team is also very good at helping to define potential architectures for your specific needs, so I hope you might have one of these or maybe your company can start a conversation with Microsoft to get this started. From their our PM team can often get involved where needed to help with any unique aspects of the architecture. When you have individual questions, I also highly recommend Stackover flow with the azure-cognitive-search tag (https://stackoverflow.com/questions/tagged/azure-cognitive-search) as this is monitored by our engineering team. This however is not appropriate for discussions such as architecture, but does help with individual questions you might have.2KViews0likes0CommentsRe: Search integration with ETL/DW/Synapse(DL)
aowens-jmt that is a great example. You could definitely use LUIS to help here because you could break down the intent of this query into a search where project == XXXX. In this particular case, I don't think Semantic Search would help because if you sent a query of "give me a list of people working on project XXXX", the only term in this that would actually help find relevant content in the search index is XXXX. It would not know that the user wants to limit search to the field "project". It is not to say that you need to use LUIS, and you could certainly have you web app intercept this search query and rewrite it as a search query (search=*&$filter=project eq XXXX).2.2KViews0likes0CommentsRe: Cognative reading of barcodes
I believe the best way to do this would be to map the barcode that is in the search index into some textual value. For example, I believe that any barcode has a number associated with it. That is what I would store in the search index, rather than the image of the barcode. That way whenever the production like camera scans a barcode, this would be mapped to a barcode number and subsequently searched in cognitive search. You may know this already, but the Cognitive Services Vision API's (https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/) would likely help a lot with the mapping of these barcodes to the associated values.7.9KViews0likes0CommentsRe: Search integration with ETL/DW/Synapse(DL)
Natural Language (NLP) is a really broad area, so what I would suggest is to break down what is actually need by the user. For example, sometimes the goal is to be able to use NLP to ask questions and get answers. Or othertimes, it is to be able to let users enter a search query that is not a set of words, but more like a phrase and have the search understand it. For example, when I search "hot dog" it should know that I am not referring to "puppies", but rather food. For each of these cases, I highly recommend that you take a look at the semantic search capability we just introduced (https://docs.microsoft.com/en-us/azure/search/semantic-search-overview). In some cases, there are really advanced NLP cases. For example "find me all the homes in seattle that have 3 bedrooms and are less than $1m". This is advanced because you need to understand that some of the query ("3 bedrooms") need to be mapped to a filter query (bedrooms == 3). for this, you can do training of the users intent using LUIS (https://www.luis.ai/), but this requires a lot of training, and I would not likely suggest that you start here.2.2KViews0likes2CommentsRe: CS in eDiscovery
Dan, I agree that some of the advances in this space can really have a big impact on eDiscovery. One of the things that a lot of people don't realize is how this can also help from the "discovery" part of "ediscovery". For example, if you start to understand the content, you can then start doing more exploring of the content. For example to start seeing correlations between say one case and another. This allows people to move from only be able to search and find relevant documents, to be able to explore what exists in the content, or even to be able to ask questions and get answers that are embedded within the content.1.6KViews0likes0CommentsRe: Cognative reading of barcodes
Hi paul. Can you tell me more about what you want to do with the barcodes? For example, do you want to let a user scan a barcode and do a visual search to find a barcode that has been indexed that matches it? Or are you looking to extract the number associated with the barcode and let people type in the associated number to search and find this barcode?7.9KViews0likes1CommentRe: Search integration with ETL/DW/Synapse(DL)
Hi! Since you are staging the content into a DL, I suspect that might be the best place to go to connect cognitive search. In the event your DL is ADLS Gen 2, you might find the Indexer we have for this (https://docs.microsoft.com/en-us/azure/search/search-howto-index-azure-data-lake-storage) to be an easy way to bring the data in to the search service, at which point it is then searchable. As part of this ingestion, you could also potentially use some of the Cognitive Skills (https://docs.microsoft.com/en-us/azure/search/cognitive-search-concept-intro) to further enrich this content, in the event you wanted to do so.2.2KViews1like2CommentsRe: What value can ACS bring to a project
Hi @Carlos, thanks for considering ACS. One of the goals of ACS is to make it easy for developers to build an effective search application over your data. The important point to note about this is that it is a platform (PAAS) which means it will leverage API's that allow you to build a custom application to suit your needs. This gives you a lot of flexibility in what the application can do, but it does require the application to be created. In addition, from the "value" perspective, what we try to do is to bring in additional capabilities into search that otherwise would be hard (if not impossible) for a company to build. For example, the new semantic search capability (https://docs.microsoft.com/en-us/azure/search/semantic-search-overview) we introduced the knowledge of Bing to help do things such as answer questions based on your content and help understand the intent of a users query to find extremely relevant search results.2.1KViews1like3CommentsRe: SharePoint Online and Cognitive Search Integration
Hi michael, the first thing I want to make sure you are aware of is the new Indexer for SharePoint we introduced last week (https://docs.microsoft.com/azure/search/search-howto-index-sharepoint-online). I think you may find this to be an easy way to integrate this content into Cognitive Search. The nice part of both this indexer and the Logic Apps (assuming you are using a change trigger method) is that they use good practices to reduce the load on ingesting content from the tenant. Just as a side note, I put together a tutorial that uses Logic Apps that you might find useful here: https://github.com/liamca/Extending_SharePoint_Syntex_to_Cognitive_Search To ultimately answer your question, yes by using one of these techniques you would be able to build an application that would allow you to effectively search this content.7.6KViews1like0CommentsRe: Azure Cognitive Search and Microsoft Search in O365
In Azure Cognitive Search, we have a PUSH api (https://docs.microsoft.com/en-us/rest/api/searchservice/addupdate-or-delete-documents) that allows you to programatically upload content to the Cognitive Search service. This would allow you to create a system to take SOLR data and push it into the Search index. Another option, which likely would be easier is to to extract the SOLR data into a set of JSON documents, and place them in a location such as Azure Blob Storage and let our Indexer (think of it as like a crawler), ingest this JSON data into the search service (https://docs.microsoft.com/en-us/azure/search/search-blob-storage-integration).5.7KViews1like0CommentsRe: Azure Cognitive Search and Microsoft Search in O365
Hi Thomas, last week we introduced the SharePoint indexer for Azure Cognitive Search (https://docs.microsoft.com/azure/search/search-howto-index-sharepoint-online) that allows you to easily ingest content to make it searchable. In addition, we find that customers will often want to have cognitive search integrated into O365 and Power Apps are a great way to do this (https://docs.microsoft.com/en-us/azure/search/search-howto-powerapps). We continue to look at other integration points with the O365 team such as federated search.6KViews3likes1Comment