package nlp
- Alphabetic
- Public
- All
Type Members
- case class SentimentAnalysisResult (sentenceMap: Map[String, nlp.SentimentLevel.Value]) extends Product with Serializable
Value Members
- object SentimentAnalyzer
- object TextReadabilityAnalyzer
Provides classes representing information units (structured and textual units) and meta information (like tf vectors and type mentions).
Provides classes representing information units (structured and textual units) and meta information (like tf vectors and type mentions).
Information units (implementing the trait InformationUnit) represent paragraphs in a given document, which can be narrative text (NaturalLanguageTaggedUnit) or structured fragments (CodeTaggedUnit). Each information unit exports a set of meta-information (implementing the MetaInformation trait), which are ready made semantic data for simple analyses. This version of StORMeD provides the following meta-information:
In the case a meta information is not provided for a unit, a AbsentMetaInformation object can be also provided.
Suppose you want to get all the types mentioned in a question. First, you retrieve all its information units:
scala> val questionUnits = question.units questionUnits: Seq[ch.usi.inf.reveal.parsing.units.InformationUnit] = ...
Instead of using the visitor to on all the HASTs, you can exploit the ready made data provided by the meta information.
For example, to get all the meta information for units, you can use flatMap
:
scala> import ch.usi.inf.reveal.parsing.units._ import ch.usi.inf.reveal.parsing.units._ scala> val questionMetaInfos = questionUnits.flatMap { _.metaInformation } questionMetaInfos: Seq[ch.usi.inf.reveal.parsing.units.MetaInformation] = List(...)
You need now to filter to get only the CodeTypesMetaInformation, and then you can get, for example, the mentioned qualified Types:
scala> val codeTypesMetaInfos = questionMetaInfos.filter { _.isInstanceOf[CodeTypesMetaInformation] }.asInstanceOf[Seq[CodeTypesMetaInformation]] codeTypesMetaInfos: Seq[ch.usi.inf.reveal.parsing.units.CodeTypesMetaInformation] = List(...) scala> val types = codeTypesMetaInfos.flatMap { _.qualifiedTypes }.distinct types: Seq[ch.usi.inf.reveal.parsing.model.java.ReferenceTypeNode] = List(...)