【问题标题】:Categories Busineesses with Text analytics in Python使用 Python 进行文本分析的企业
【发布时间】:2018-04-06 01:57:48
【问题描述】:

我是 AI 新手,想进行以下练习。您能否建议使用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

即当我收到类似 AIArtificial Intelligence 之类的文本时,它必须将 AI 和 AI 识别为相同,并将两个关键字都放在 AI 类别下.

我遵循的当前方法是使用查找表,但我想使用 python 对上述输入应用 TEXT CLASSIFICATION 技术/业务,我可以隔离技术而不是使用查找表。

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

【问题讨论】:

  • 你可以训练多少数据?换句话说,你有很多数据吗?
  • 大约1000条记录

标签: python machine-learning artificial-intelligence text-mining text-analysis


【解决方案1】:

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

如果您是一个新手,流水线可能有点令人困惑,但基本上他们只是在传递到分类器之前按步骤处理数据。在这里,我将X转换为单词和字符令牌的ngram“矩阵”(a表),然后将其传递给分类器。

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']

【讨论】:

  • 谢谢jarad。你能帮我了解你所做的事情。 span>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 2012-01-26
  • 1970-01-01
  • 2015-04-09
  • 2014-12-06
相关资源
最近更新 更多