- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在研究一种基于神经网络的短文档分类方法,由于我正在使用的语料库通常在十个单词左右,因此标准统计文档分类方法的用途有限。因此,我正在尝试对训练中提供的匹配实现某种形式的自动同义词检测。更具体地说,我的问题是关于解决以下情况:
假设我有“涉及食物”的分类、“涉及领域”的分类和数据集如下:
"Eating Apples"(Food);"Eating Marbles"(Spheres); "Eating Oranges"(Food, Spheres);
"Throwing Baseballs(Spheres)";"Throwing Apples(Food)";"Throwing Balls(Spheres)";
"Spinning Apples"(Food);"Spinning Baseballs";
我正在寻找一种增量方法,可以实现以下联系:
Eating --> Food
Apples --> Food
Marbles --> Spheres
Oranges --> Food, Spheres
Throwing --> Spheres
Baseballs --> Spheres
Balls --> Spheres
Spinning --> Neutral
Involving --> Neutral
我确实意识到,在这种特定情况下,这些匹配可能有点可疑,但它说明了我遇到的问题。我的一般想法是,如果我增加一个与类别中的单词相对出现的单词,但在这种情况下,我最终会偶然将所有内容与“涉及”一词联系起来,然后我认为我会简单地减少出现在类别中的单词与多个同义词或非同义词结合使用,但这样我就会失去“吃”和“食物”之间的联系。有谁知道我如何组合一个算法,使我朝着上述方向前进?
最佳答案
有人向我解释了一种无监督的引导方法来做到这一点。
应用此方法有不同的方法和变体,但这里有一个简化的版本。
首先假设如果两个单词是同义词,那么在您的语料库中它们将出现在类似的设置中。 (吃葡萄、吃三明治等)
(在此变体中,我将使用同现作为设置)。
我们有两个列表,
首先播种其中一个列表,例如,我可能会在食品列表上写下“Apple”一词。
现在让计算机接管。
它首先会找到语料库中出现在 Apple 之前的所有单词,并按照出现次数最多的顺序对它们进行排序。
取出前两个(或者您想要的任意多个)并将它们添加到与食物同时出现的列表中。例如,也许“吃”和“好吃”是前两个。
现在,通过对列表中每个单词右侧出现的单词进行排名,使用该列表来查找接下来的两个 HitTest 门的食物单词。
继续此过程扩展每个列表,直到您对结果感到满意为止。
(您可能需要手动从列表中删除一些明显错误的内容。)
如果考虑到关键字的语法设置,此过程会非常有效。
Subj ate NounPhrase
NounPhrase are/is Moldy
The workers harvested the Apples.
subj verb Apples
That might imply harvested is an important verb for distinguishing foods.
Then look for other occurrences of subj harvested nounPhrase
您可以扩展此过程以将单词移入类别,而不是在每个步骤中移动单个类别。
几年前,犹他大学开发的一个系统使用了这种方法,该系统仅通过查看新闻文章就成功地编制了一份不错的武器词、受害者词和地点词列表。
一种有趣的方法,并且取得了良好的结果。
不是神经网络方法,而是一种有趣的方法。
犹他大学的系统称为 AutoSlog-TS,可以看到关于它的简短幻灯片 here演示接近尾声时。以及有关它的论文的链接 here
关于language-agnostic - 自动同义词检测方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370247/
在嵌入式系统编程的上下文中是否存在普遍差异? 最佳答案 这些不是正式的术语,所以这是相当主观的。 迁移意味着将您的代码库移动到另一个系统(无意返回)。这也可能意味着切换到另一个工具链或编程语言。 移植
听说任何递归算法都可以用栈来表示。最近,我一直在一个可用调用堆栈非常小的环境中编写程序。 我需要做一些深度递归,所以我想知道如何重新设计任何递归算法以使用显式堆栈。 例如,假设我有这样一个递归函数 f
这个问题与语言无关,但受到这些 c/c++ 问题的启发。 How to convert a single char into an int Char to int conversion in C 假设
我最接近汇编的是构建我自己的 Java 类库,它加载类文件并允许您创建、编译和反编译类。在努力完成这个项目时,我想知道 Java 虚拟机实际上是如何在 JIT 优化期间在运行时生成 native 机器
如标题所说的简单问题。我在 StackOverflow(和互联网)上看到了一些关于半字节用例的问题,但我不明白为什么我们需要使用半字节。我的意思是字节是计算中最小的内存单位,因此对它执行操作来操作它的
这真是一个详细的格式问题,但我每次都被它绊倒...... 对于多行条件表达式,逻辑运算符的首选位置是什么? 备选方案 1:每行末尾的逻辑运算符 if (value1 == comparision1 &
计算“2021-01-01 12:56:23.423 UTC”和“2001-01-01 00:00:00.000 UTC”之间的 SI 秒数” 为例。 最佳答案 C++20 可以用下面的语法来完成:
我正在读一本名为“干净的代码”的书,当作者试图讲述我们如何编写一个高效的函数时卡住了。他说,“为了确保我们的函数做”一件事, “我们需要确保我们函数中的语句都处于同一抽象级别”。那么作者究竟想通过抽象
我的网站上有一张相当大的图片(大约 200kb)。我没有计划在不久的将来改变它。我如何告诉浏览器缓存它? 最佳答案 设置正确的标题对您有很大帮助。 过期时间:2012 年 4 月 15 日星期四 20
一般来说,重构工具的优缺点是什么? 最佳答案 优势 如果工具对您有帮助,您更有可能进行重构。 一个工具更有可能在第一次正确地进行“重命名”类型重构。 一个工具可以让您在代码库上进行重构,而无需手动进行
当我第一次开始自学编程时,在完成教程后,我会觉得我仍然无法用语言做任何事情。所以,我环顾四周,想找点事情做。由于我刚刚学习了一些基础知识,因此查找、阅读和添加到一个开源项目中所涉及的工作量似乎是无法克
在我工作的公司,最近要求所有“高度可见”的 bool 逻辑必须以析取范式表示。 例如(尽管这个概念与语言无关), #if (defined(A) || defined( B )) || (define
我想知道我们如何在 mathematica 中设计一个魔方。这可能吗?我们如何使用它。我们如何决定立方体的 6 个面上的较小立方体的不同分隔。 最佳答案 您问的是如何定义数据结构。您的选择是任意的,只
对于具有系统托盘图标的应用程序的行为方式,是否有任何标准? 我最近编写了一个应用程序,它大部分时间都位于系统托盘中。我把它交给了一个 friend ,她的第一 react 是双击图标进入主窗口(工作正
一个商业可分发软件的文本长度和/或音频片段长度是多少才能通过合理使用的阈值并侵犯所包含作品的版权?归属是否可以免除开发者的侵权行为?一个例子是在启动屏幕上使用的小说中的引用。 最佳答案 不幸的是,没有
我是一名经验丰富的 C/C++/C#/Objective-C 桌面、Web 和移动程序员,我已经习惯于从头开始构建我的大部分软件。我已经使用 ASP.NET 从头开始构建了我的所有网站。对于我想测
我一直在阅读有关使用矩阵转换 Vector3 的内容,并且正在努力深入研究数学并自己编写代码而不是使用现有代码。无论出于何种原因,我的学校类(class)从未包括矩阵,所以我正在填补我的知识空白。谢天
所以我目前正在尝试掌握递归的概念,我理解我遇到的大部分问题,但我觉得它的使用似乎不适用于太多计算问题。不过,这只是一个新手的假设,所以我问,作为程序员,递归有很多实际用途吗?还有,用它可以解决哪些典型
我正在学习递归。我已经使用递归解决了一些其他问题,例如创建二叉树、汉诺塔等。所以,我明白什么是递归,但我发现自己很难规划和实现正确的递归解决方案。 是否有任何关于规划、思考或实现问题递归解决方案的一般
每次我需要移动到一台新机器,或者买一台笔记本电脑,或者通过不断的安装和卸载搞砸我的注册表时,我开始变得非常厌烦和厌倦设置我的所有开发工具。 这么新的计划。我听说有人虚拟化他们的开发环境,这听起来是个好
我是一名优秀的程序员,十分优秀!