我需要某种形式的句子分类程序的帮助。
读取文件并检查文件中的每个句子以定位任何“关键字”的程序。关键字在另一个文件中,其中写有单词。如果它找到一个关键字,它就会将该句子写入另一个文件。
到目前为止,我对输入文件的读取和分割成句子以及输出文件的编写很满意
您能否就程序如何读取第一个文件中的每个句子并将其与第二个文件中的单词进行比较以及它是否在句子中找到关键字写入第三个文件提供一些指导?
非常感谢!
我可以给出一个基于 PHP 的解决方案——
使用 strtok() 函数,将常用的标点符号(",'()/ etc) 定义为分词器/分类器。
形成包含预定义单词的数据字典的数组/集合。
使用 preg_match() 函数,对于完整的单词匹配,你可能想使用指定的结构来构建数组 as--> $variable = array ("/(\bword1\b)/", "/(\bword2\b)/ ”)。
对于上述功能的参考目的/规格,请搜索 php 文档 - http://www.php.net/
希望我能帮上忙。
干杯。
关键字是一组,我想。您需要快速访问它们,因此请使用HashSet
.
如果您的关键字应该只匹配并且只匹配您的句子中的精确对应项,请用任何空格(正则表达式)分割您的句子,\\s+
并尝试将句子的每个单词与关键字中的元素匹配。
您可以通过这种方式构建依赖关系图,因此您可以拥有一个 HashMap,其中关键字是键,值是引用该关键字的句子集。
最后,你可能会得到这样的结果:
[Keyword="StackOverflow"]
[Values=
"I like posting on StackOverflow.",
"StackOverflow is cool."
]
[Keyword="posting"]
[Values=
"I like posting on StackOverflow."
]
您可以使用扫描仪读取文件并直接提取单词。
您可以加载所有关键字以在 TreeSet 中进行比较,然后如果找到,则写入 FileWriter