gpt4 book ai didi

python-3.x - 按模式对文本进行分类

转载 作者:行者123 更新时间:2023-11-30 09:45:52 31 4
gpt4 key购买 nike

你能推荐我最好的方法吗:我有一个短语列表,例如[“免费送花”,“莫斯科送花”,“颜色+送货上门”,“送花+送货”,“订购鲜花+送货”、“颜色送货”]和图案-“鲜花送货”。我需要获取尽可能接近模式的短语列表。

您能给一些建议吗?

最佳答案

简单方法

暴力破解

有很多方法可以做到这一点,但最简单的方法是直接匹配:只需在输入短语中搜索字符串“flower Delivery”即可。但这是相当二元的,您可以修改此方法以使用二元组或词袋。

词袋

词袋意味着我们解析短语和模式,并得到一个列表或一组单词,即[“flower”,“delivery”]。您可以通过计算出一些相似性度量来对每个短语进行评分(即,模式中的单词集是否出现在短语中,然后对最接近匹配的短语进行排名:

bag_pattern = set()
for word in pattern:
set.add(word)

for phrase in phrases:
score = 0
for word in phrase:
if word in bag_pattern:
score += 1
# do something based on score

N 元语法

我们可能需要考虑位置 - 即“送花”比“送花”更相关。我们可以计算短语和模式的 N 元语法(通常是二元语法或三元语法,即 2 或 3 个单词组)。假设我们使用二元组:

"flower delivery Moscow" -> ["flower delivery", "delivery Moscow"

然后您可以应用某种评分来决定这场比赛的好坏。

文本预处理

一般来说,您需要进行一些文本预处理。您可能希望消除词袋方法中的停用词(“the”、“a”等),并且您可能希望将动词等规范化为其根形式。

机器学习

好吧,所以你的老板不喜欢简单有效的东西,并且强制要求你需要进行机器学习。这也行!

朴素贝叶斯

最简单的技术是查看单词的概率,然后将它们相乘。典型的例子是电子邮件的垃圾邮件检测。

该方法是获取一堆文本形式的电子邮件,并将它们分为两类:垃圾邮件和非垃圾邮件。然后,您检查所有电子邮件,对于您看到的每个唯一单词,您计算垃圾邮件和非垃圾邮件的出现次数。这为您提供了垃圾邮件中某个单词的概率。

想象您收到一封包含以下内容的电子邮件:

"Hello I am a Nigerian prince."

根据之前计算的概率,您可以查找每个单词的概率,将它们相乘,并获得电子邮件的分数(按单词数标准化)。 “尼日利亚人”和“王子”被包含在垃圾邮件中的概率非常高,因此这封电子邮件的得分非常高!

深度学习

以下链接介绍了使用深度学习技术的词袋和 n-gram:

https://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html

关于python-3.x - 按模式对文本进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52724518/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com