简短介绍
我从一组PDF文件中提取了一堆文本。这些文本是文档的标题..
我的目标是根据出现的标题对标题进行分类。也就是说,如果标题包含Car
,则必须将其归类为automobile
。
我的目标示例
想象一下以下标题:
1)分布式网状网络
2)监控自备服务器机架系统
3)汽车侧板
4)基于位置的车辆消息系统
现在,上述标题必须归类为
第一个标题包含术语网络,因此归类为网络
第二个标题包含术语服务器,因此归类为网络
第3个标题包含术语汽车,因此归类为汽车
第4个标题包含术语“车辆”,因此归类为汽车
这就是我需要的。
我的作品
为了实现我的目标,我在每个类别的文本文件中创建了一个术语索引,并将其与标题匹配..如果它在文本文件中包含一个单词,则标题将被分类。
例如
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个难以找到的相关术语。
准确地说,手动构建术语索引是一个令人心碎的过程。
我的需要
我需要一种自动化的工作方式。自然语言处理技术能够做到这一点。 ?或者我有一个现成的图书馆?
答案 0 :(得分:1)
http://en.wikipedia.org/wiki/WordNet
WordNet是一个英语词汇数据库。它组 英语单词成同义词集合称为synsets,提供简短, 一般定义,并记录各种语义关系 在这些同义词集之间。目的是双重的:生产一个 字典和词库的组合更直观 可用,并支持自动文本分析和人工 情报应用。数据库和软件工具已经存在 在BSD风格许可下发布,可以下载和使用 自如。数据库也可以在线浏览。
WordNet:http://wordnet.princeton.edu/
答案 1 :(得分:0)
如果你还没有完成,我认为你应该看看Lucene。