【发布时间】:2014-02-27 07:42:57
【问题描述】:
如何使用 wordnet 按单词的类别标记文本(java 作为接口)?
示例
考虑句子:
1) 计算机需要键盘、显示器、CPU 才能工作。
2)汽车使用齿轮和离合器。
现在我的目标是,例句必须标记为
- 第一句
计算机/电子
键盘/电子
CPU / 电子
- 第二句
汽车/机械
齿轮 / 机械
离合器 / 机械
“使用微芯片监控离合器和齿轮” -> 离合器/机械、齿轮/机械、微芯片/电子
“此处用于监测氢含量的软件”-> 软件/计算机、氢/化学 ..
我想在java中实现上面提到的目标,即按相关类别标记名词,例如技术,机械,电气等。
如何使用 wordnet 做到这一点。
我以前的作品
为了实现我的目标,我为每个类别在文本文件中创建了一个术语索引,并将其与标题相匹配。如果它在文本文件中包含一个单词,则标题被分类。
例如
Automobile.txt 拥有car , gear , wheel , clutch。 networking.txt有server,IP Address,TCP , RIP
这是算法:
String Classify (String title)
{
String area;
if (compareWordsFrom ("Automobile.txt",title) == true ) area = "Auto";
if (compareWordsFrom ("Netoworking.txt",title) == true ) area = "Networking";
if (compareWordsFrom ("metels.txt",title) == true ) area = "Metallurgy";
return area;
}
很难找到相关的词来建立索引。也就是说,汽车领域有1000个很难找到的相关术语。
确切地说,手动建立术语索引是一个令人心碎的过程
我已经使用了 Stanford NLP 、 Open NLP ,但是它们标记了 POS ,但不能满足需要。
我的需要
我需要一种自动化的工作方式。做自然语言处理技术能够做到这一点。 ?
有人建议使用wordnet库,但我怎么用它,因为它就像字典一样,但我想要..
机械 = {齿轮,涡轮,发动机 ....) 电子 = {microchip , RAM , ROM ,...)
有没有类似上述结构的单词数据库..
或者我有现成的库吗?
【问题讨论】:
-
你有标记句子的语料库来训练机器学习算法吗?您知道可供选择的完整标签集吗?同样在您的示例中,您在语义上标记名词,但在语法上其他所有内容,这是故意的吗?
-
@DanielMahler...我编辑了我的问题..再读一遍..它包含您查询的信息
标签: java machine-learning nlp classification wordnet