gpt4 book ai didi

python - 类别 使用 Python 进行文本分析的企业

转载 作者:行者123 更新时间:2023-11-30 08:59:13 25 4
gpt4 key购买 nike

我是人工智能的新手,想要执行以下练习。您能否建议使用 python 实现它的方法:

场景 -我有一些公司的业务列表如下:

 1. AI
2. Artificial Intelligence
3. VR
4. Virtual reality
5. Mobile application
6. Desktop softwares

并希望将它们分类如下:

 Technology                 ---> Category
1. AI ---> Category Artificial Intelligence
2. Artificial Intelligence ---> Category Artificial Intelligence
3. VR ---> Category Virtual Reality
4. Virtual reality ---> Category Virtual Reality
5. Mobile application ---> Category Application
6. Desktop softwares ---> Category Application

即,当我收到AI人工智能之类的文本时,它必须将AI和人工智能识别为一个且相同,并将这两个关键字都放在人工智能类别下.

我当前采用的方法是使用查找表,但是,我想使用 python 对上述输入的技术/业务应用文本分类,这样我可以隔离技术而不是使用查找表。

请向我建议任何相关方法。

最佳答案

这是使用 sklearn 的一种方法。在过去的情况下,我会使用 LabelBinarizer()但它无法在管道中工作,因为它不再接受 X、y 作为输入。

如果您是新手,管道可能会有点令人困惑,但本质上它们只是在传递给分类器之前分步处理数据。在这里,我将 X 转换为单词和字符标记的 ngram“矩阵”(表格),然后将其传递给分类器。

import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.pipeline import Pipeline, FeatureUnion

X = np.array([['AI'],
['Artificial Intelligence'],
['VR'],
['Virtual Reality'],
['Mobile application'],
['Desktop softwares']])
y = np.array(['Artificial Intelligence', 'Artificial Intelligence',
'Virtual Reality', 'Virtual Reality', 'Application', 'Application'])

pipeline = Pipeline(steps=[
('union', FeatureUnion([
('word_vec', CountVectorizer(binary=True, analyzer='word', ngram_range=(1,2))),
('char_vec', CountVectorizer(analyzer='char', ngram_range=(2,5)))
])),
('lreg', LogisticRegression())
])

pipeline.fit(X.ravel(), y)
print(pipeline.predict(['web application', 'web app', 'dog', 'super intelligence']))

预测:

['Application' 'Application' 'Virtual Reality' 'Artificial Intelligence']

关于python - 类别 使用 Python 进行文本分析的企业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46924600/

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