c# - 人工智能,文本分类器

标签 c# winforms artificial-intelligence neural-network bayesian

<分区>

我是 AI 新手。我正在开发一个通过机器学习进行文本分类的应用程序。应用程序需要对 HTML 文档的不同部分进行分类。例如,大多数网页都有头部、菜单、侧边栏、页脚、主要内容等。我想使用文本分类器对 HTML 文档的这些部分进行分类,并识别页面上不同类型的表单。

  1. 如果有人能就此主题提供详细指导,那将非常有帮助。
  2. 类似应用的示例,也会很有帮助。

我正在寻找更多与代码和实现相关的技术建议。

我可以将标签分配给 html 标签属性,例如 class 或 id

<div class="menu-1">
<div id="entry">
<div id="content">
<div id="footer">
<div id="comment-12">
<div id="comment-title">

比如第一项:

TrainClassifier(label: "Menu", value: "menu-1", attribute: "class", position-in-string: "21%", tag: "div");

输入:

  1. "menu-1"(属性值)
  2. 列表项
  3. “类”(属性名)
  4. "21"(标签在字符串中的位置)
  5. “div”(标签名称)

输出

  1. “菜单”(分类为标签)

什么神经网络库,可以接受上述输入,并将它们分类到标签(即菜单)。

所有用户都无法创建正则表达式或 xpath,他们需要更简单的方法,因此重要的是要使软件智能化,用户可以突出显示他/她需要的 html 文档部分,使用 webbrowser 控件,并训练软件直到它可以自己工作。

但我不知道如何使用人工智能让软件训练,

我要找的AI,好像应该是能接受各种输入,然后据此分类,我已经说过了,对AI新手,了解不多。

如果我得到我提出的问题的答案,比如我应该使用什么库,以及如何实现,建议 Xpath 或 Regex 或其他方法的答案请不要回答,这将对我有所帮助,它经常发生你会得到所有的建议,但你需要的那个。

最佳答案

我建议你先研究简单的算法,容易理解的,我可以指点一些。

  1. 朴素贝叶斯(您会发现许多实现,但您可以自己实现,该算法实现简单但功能强大)。
  2. 最大熵(例如 SharpMaxEnt - 开源)。
  3. SVM(例如,用于 C# 端口的 LibSVM)。

    如果您想体验这些工作原理,请下载 WEKA 工具包:

    http://sourceforge.net/projects/weka/
    

    通常遵循的步骤通常如下:

    1. 确定尽可能多的属性/特征(以及一组标签)。
    2. 收集一组数据 { Label, Attribute1, A2, A3, ... }
    3. 使用特征选择算法(也可在 WEKA 工具包中使用)选择一组最小的重要属性
    4. 使用标准算法训练分类器
    5. 测试系统,直到您收到所需的准确性、召回率或其他参数。

    祝你好运!

关于c# - 人工智能,文本分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121047/

相关文章:

C# 如何在多个窗口中从 chrome 获取标签?

c# - 通过mysql导出Gridview数据

c# - 在 C# WinForms 中,我如何分配一个 labeltext 几秒钟然后再次删除它,而不中断其他代码的执行?

c - TicTacToe 的 Minimax 算法无法正常工作

c# - 简单数据绑定(bind)

c# - ASP.Net MVC 5 图片上传到文件夹

.net - UITypeEditor 和 IExtenderProvider

c# - 在 Release模式下没有获取当前工作目录?

java - Python 中的分层任务网络规划器

artificial-intelligence - 关于聚类方法的问题