As i just know, simhash and minhash are available on this task. But all those algorithms have to traverse the whole text database which will be quite aweful. Is there any optimization or other algorithm that can accelebrate the task? All I come up with is slicing the text database into several parts and getting pairwise similarity parallelly. My text database has about 1 billion records.
How to detect the similar text on big data?
1.2k Views Asked by Leo Zhao At
1
There are 1 best solutions below
Related Questions in TEXT
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- How to increase quality of mathjax output?
- How to appropriately handle newlines and the escaping of them?
- How to store data with lots of subdata but keep easy and simple access in python
- Can I make this kind of radio button?
- I am findind it dificult to create a box containing text
- Replacing Text using Javascript
- How to set text inside a div using JavaScript and CSS
- How to get new text input after entering a password in a tab?
- How can I get my hero section to look like this?
- Find text and numbers Formatted: "Case: BE########" and format them, regardless of the number
- Auto style text in flutter
- Text analytics and Insights
- Combine an audio and a text file as one single file
- How to align side text and table horizontally in R-markdown
Related Questions in SIMILARITY
- Similar Questions but Different Response Set Up in Survey Data Sets
- Measures of similarity for time series data
- similarity between two numpy arrays based on shape but not distance
- How to detect if two sentences are simmilar, not in meaning, but in syllables/words?
- How can I compare the similarity between multiple sets?
- Similarity search within vector database records
- Langchain FAISS | Any solutions or alternatives for similarity search on vector DBs for slightly repetitive short words with numerics?
- I have plots of points that I extract from an image. How can I determine a similarity measure between two different plots?
- How to combine a column containing score value with knn score of rest of the columns
- Shared triples between two knowledge graphs
- record matching/similarity calculation for numbers and characters
- Dealing with Pearson Similarity returning 0 for users with equal item counts - Mahout
- VBA collect consecutive similar cells in the row
- Textual similarity between two tags in Nodejs
- Get similarity within a column based on another column
Related Questions in MINHASH
- ApproxSimilarityJoin from Spark Minhash model is not able to identify two identical rows
- MinHash Query Parser for Solr: "sim" param not working as expected & How to normalize "hash_score" result?
- Using DataSketch to find similarity between 3 audios using mfccs
- How to use Solr MinHashQParser
- One-hot encoding minHashed genomes
- Generate sparse vector for all the column values in spark dataframe
- Optimal way for calculating Weighted Jaccard index in Python
- How to choose Elastiknn LSH Jaccard similarity index parameters L and k ? In my case I have minhash size = 100, and jaccard Similarity = 0.8
- Questions about LSH (Locality-sensitive hashing) and minihashing implementation
- Compare list to every element in a pyspark column
- Transform a dataframe for the minHashLSH in spark
- Number of pairs in calculating Jaccard distance using PySpark are less than they should be
- Is the number of rows always 1 in each band in the Spark implementation of MinHashLSH
- Why does textreuse packge in R make LSH buckets way larger than the original minhashes?
- Why does my query using a MinHash analyzer fail to retrieve duplicates?
Related Questions in SIMHASH
- SimHash function details
- Check which string is approximately contained in the other string at scale
- Detect near duplicate document using simhash
- how to allot index number using SimhashIndex() to a document dataset?
- How to compare the similarity of documents with Simhash algorithm?
- Hamming distance (Simhash python) giving out unexpected value
- What more advantageous minhash over simhash?
- MongoDB support search Bitwise XOR and Bit Count?
- How to detect the similar text on big data?
- Is simhash function that reliable?
- SimHash implementation in R
- MinHashing vs SimHashing
- Choosing between SimHash and MinHash for a production system
- Pandas: matrix calculation on values
- python simhash doesn't work on ubuntu
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You must traverse the entire database once (1 billion records).
The benefit of minhash and simhash is that you don't have to individually compare every possible pair to see if they are similar (roughly 500 quadrillion possible pairs).
Splitting the database into multiple parts is not going to help; you will simply miss some similarities. Splitting is only sensible if the records fall naturally into groups that you know cannot have any similarities between them (for instance, if you have two very distinct types of record that are never similar to each other, you can treat them separately for similarity detection).
Both simhash and minhash can benefit from distributed computing. Generating hashes can be distributed as much as you like. Storage of hashes can be split with map/reduce if you like, though for simhash you probably won't need this as it's compact enough to fit in a fairly standard machine's main memory.
Simhash can only find similarity pairs that are very closely similar, and it often needs a fair bit of tuning to work really well. If you want to find looser similarities, use one of the minhash variants, which are more forgiving. I recommend checking out superminhash, in conjunction with LSH. Superminhash is fast generating hashes, but possibly more importantly it achieves better precision, so fewer hashes need to be stored. LSH groups the hashes into bands so that you don't compare individual hashes; you compare an entire band at a time. Both these techniques mean fewer queries are needed to find individual shared hashes (or bands, in the latter case), and LSH in particular means fewer results will need to be processed for each individual query. This should give you substantial speedup.