Database 我不知道';I don’我不知道哪个人工智能分支会解决我的问题

Database 我不知道';I don’我不知道哪个人工智能分支会解决我的问题,database,android-studio,artificial-intelligence,Database,Android Studio,Artificial Intelligence,如果我有一组单词,我想在它们之间找到一个模式,然后在一个长文本中寻找这个模式,那么我应该使用什么,机器学习,文本分析或模式识别?我会构建所有单词的n-gram from nltk import ngrams from collections import Counter words = ["aim", "aid", "bail", "bait"] def build_ngrams(words, from_size, to_size): word_ngrams = [] f

如果我有一组单词,我想在它们之间找到一个模式,然后在一个长文本中寻找这个模式,那么我应该使用什么,机器学习,文本分析或模式识别?

我会构建所有单词的n-gram

from nltk import ngrams
from collections import Counter

words = ["aim", "aid", "bail", "bait"]


def build_ngrams(words, from_size, to_size):
    word_ngrams = []

    for word in words:
        for ngram_size in range(from_size, to_size + 1):
            ng = ngrams(word, ngram_size)
            word_ngrams.extend(ng)

    return word_ngrams


# construct all bigrams and trigrams
word_ngrams = build_ngrams(words, 2, 3)

# find the most common n-grams
counter = Counter(word_ngrams)
print(counter.most_common(3))

这将为您提供最常见的模式,您可以在以后的搜索中使用这些模式。

这是一个非常模糊的问题。这完全取决于你要寻找的模式和文本类型。你能更具体地定义这个问题吗?也许,请举例说明你的意思,我认为这对得到答案会有很大帮助。。意思是有些英语单词中有相同的字母,比如aim,aid,bail,bait。。。等等,我不知道用什么来找到它们之间的模式,即字母ai。之后,每当我输入一个文本(例如一本书)时,它都会找到包含(ai)的所有单词,谢谢!!我试试看。顺便说一句,这是我第一次使用python语言,所以我可能需要一些时间来测试代码。再次感谢你的回答。最后一个问题,如果我想在android studio中编写类似的代码,可以吗?当然,编写自己的ngram函数非常简单。您只需在序列上迭代,创建所需大小为N的所有元组。然后你有一个列表中的所有元组,可以对它们进行频率计数以得到最常见的元组。现在我知道了!!谢谢!!